/* Page Bon cadeau */
.bc { background: #fff; }
.bc-open { max-width: 64rem; margin: 0 auto; padding: calc(var(--nav-h, 80px) + clamp(40px, 8vh, 96px)) clamp(20px, 5vw, 3rem) clamp(28px, 5vh, 56px); }
.bc-open__title { font-family: var(--f-display); font-size: clamp(2.6rem, 1.6rem + 4vw, 5.4rem); line-height: 1; margin-top: .25em; }
.bc-open__lead { font-weight: 300; font-size: var(--t-lead, 1.15rem); line-height: 1.65; color: var(--grey-700); max-width: 40rem; margin-top: 1.2em; }
.bc-list { max-width: 72rem; margin: 0 auto; padding: 0 clamp(20px, 5vw, 3rem) clamp(48px, 8vh, 96px); }
.bc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.bc-card { display: flex; flex-direction: column; padding: clamp(22px, 2.2vw, 34px); background: var(--grey-100, #f3f3f2); }
.bc-card--free { background: #2b2b2b; color: #f3efea; }
.bc-card--free .bc-card__label, .bc-card--free .bc-card__val, .bc-card--free .bc-card__text { color: rgba(243, 239, 234, .75); }
.bc-card--free .btn--dark { background: #f3efea; color: #2b2b2b; }
.bc-card__label { font-family: var(--f-title); font-weight: 300; font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey-700); }
.bc-card__title { font-family: var(--f-title); font-weight: 400; font-size: clamp(1.15rem, 1rem + .4vw, 1.4rem); line-height: 1.25; margin-top: .5em; }
.bc-card__price { font-family: var(--f-display); font-size: clamp(2.2rem, 1.6rem + 1.4vw, 3rem); line-height: 1; margin: .45em 0 .5em; color: var(--mahogany); }
.bc-card--free .bc-card__price { color: #f3efea; font-size: clamp(1.8rem, 1.4rem + 1vw, 2.4rem); }
.bc-card__text { font-weight: 300; line-height: 1.6; flex: 1; }
.bc-card__val { font-family: var(--f-title); font-weight: 300; font-size: .82rem; letter-spacing: .04em; color: var(--grey-700); margin: 1.2em 0; padding-top: 1em; border-top: 1px solid rgba(0, 0, 0, .1); }
.bc-card--free .bc-card__val { border-top-color: rgba(243, 239, 234, .2); }
.bc-card__more { font-family: var(--f-title); font-size: .82rem; color: var(--grey-700); text-decoration: none; margin-top: 1em; align-self: flex-start; }
.bc-card__more:hover { color: var(--mahogany); }
.bc-how, .bc-faq { max-width: 64rem; margin: 0 auto; padding: 0 clamp(20px, 5vw, 3rem) clamp(48px, 8vh, 96px); }
.bc-how__title { font-family: var(--f-display); font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); line-height: 1.05; margin-bottom: .8em; }
.bc-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); }
.bc-steps li { border-top: 1px solid rgba(0, 0, 0, .15); padding-top: 1em; }
.bc-steps b { display: block; font-family: var(--f-display); font-size: 1.6rem; color: var(--mahogany); margin-bottom: .3em; font-weight: 400; }
.bc-steps span { font-weight: 300; line-height: 1.6; }
.bc-cgv { font-weight: 300; font-size: .86rem; color: var(--grey-700); margin-top: 1.6em; }
.bc-cgv a { color: var(--mahogany); }
@media (max-width: 767px) { .bc-steps { grid-template-columns: 1fr; } }

/* Visuel du bon en tête de page */
.bc-open { max-width: 76rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 72px); align-items: center; }
.bcv { margin: 0; }
.bcv__sheet { display: grid; grid-template-columns: 30% 1fr; aspect-ratio: 210 / 148; background: #f3efea; box-shadow: 0 30px 60px -30px rgba(43, 43, 43, .45), 0 2px 6px rgba(43, 43, 43, .08); transform: rotate(-2.5deg); container-type: inline-size; }
.bcv__side { background: #6b2a1f; color: #f3efea; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4cqi; padding: 4cqi; }
.bcv__logo { width: 96%; height: auto; aspect-ratio: 681 / 575; --logo-moon: #f3efea; --logo-text: #f3efea; }
.bcv__brand { font-family: var(--f-title); font-weight: 300; letter-spacing: .3em; font-size: 1.9cqi; text-transform: uppercase; text-align: center; line-height: 1.6; }
.bcv__main { display: flex; flex-direction: column; padding: 6cqi 6cqi 4.5cqi; min-width: 0; }
.bcv__kick { font-family: var(--f-title); font-weight: 300; letter-spacing: .3em; text-transform: uppercase; font-size: 1.9cqi; color: #7a716b; }
.bcv__title { font-family: var(--f-display); font-size: 6.6cqi; line-height: 1; margin: 1.6cqi 0 2.4cqi; }
.bcv__presta { font-family: var(--f-title); font-size: 3.1cqi; color: #6b2a1f; }
.bcv__row { display: grid; grid-template-columns: 26% 1fr; align-items: baseline; margin-top: 2cqi; font-size: 2.6cqi; }
.bcv__row i { font-style: normal; font-family: var(--f-title); font-weight: 300; letter-spacing: .12em; text-transform: uppercase; font-size: 1.7cqi; color: #7a716b; }
.bcv__row b { font-weight: 500; border-bottom: 1px solid rgba(43, 43, 43, .25); padding-bottom: .6cqi; }
.bcv__msg { font-style: italic; font-size: 2.4cqi; line-height: 1.5; margin-top: 2.6cqi; }
.bcv__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 2cqi; font-size: 1.6cqi; color: #7a716b; border-top: 1px solid rgba(43, 43, 43, .15); padding-top: 1.6cqi; }
.bcv__foot em { font-style: normal; color: #2b2b2b; }
.bcv__foot > span { line-height: 1.55; }
.bcv__foot b { font-family: var(--f-title); font-weight: 400; color: #2b2b2b; letter-spacing: .08em; font-size: 2cqi; white-space: nowrap; }
.bcv__cap { font-family: var(--f-title); font-weight: 300; font-size: .82rem; letter-spacing: .04em; color: var(--grey-700); text-align: center; margin-top: 1.6em; }
/* 5 cartes : le bon montant au choix prend deux colonnes pour ne pas laisser de trou */
@media (min-width: 1000px) { .bc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .bc-card--free { grid-column: span 2; } }
/* Montants au choix en pastilles */
.bc-amounts { list-style: none; padding: 0; margin: 0 0 1.2em; display: flex; flex-wrap: wrap; gap: 10px; }
.bc-amounts li { display: flex; flex-direction: column; justify-content: center; min-width: 5.2rem; padding: .7em 1.1em; border: 1px solid rgba(243, 239, 234, .35); font-family: var(--f-display); font-size: 1.5rem; line-height: 1; }
.bc-amounts small { font-family: var(--f-title); font-weight: 300; font-size: .72rem; letter-spacing: .04em; margin-top: .45em; color: rgba(243, 239, 234, .75); }
.bc-amounts li:nth-child(3) { border-color: #f3efea; }
.bc-open .kicker { padding-left: 0; }
/* Avis */
.bc-avis { max-width: 64rem; margin: 0 auto; padding: 0 clamp(20px, 5vw, 3rem) clamp(48px, 8vh, 96px); }
.bc-avis__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.bc-avis .quote { background: var(--grey-100, #f3f3f2); box-shadow: none; }
.bc-avis .quote blockquote p { font: inherit; }
@media (max-width: 860px) {
	.bc-open { grid-template-columns: 1fr; }
	.bc-open { padding-top: calc(var(--nav-h, 80px) + 24px); gap: 28px; }
	.bcv { max-width: 26rem; width: 92%; margin-inline: auto; }
	.bcv__cap { display: none; }
	.bcv__sheet { transform: rotate(-1.5deg); }
	.bc-avis__grid { grid-template-columns: 1fr; }
}
