:root {
  --cb-rose: #C7A2A6;
  --cb-beige: #FFFDF8;
  --cb-bordeaux: #441515;
  --cb-or: #C6A76D;
}

.bureau-page {
  max-width: 100%;
  margin: 0 auto;
  padding: 40px 20px 80px;
  color: #2b2b2b;
  font-family: var(--font-main);
}

.bureau-hero { text-align: center; max-width: 100%; margin: 0 auto 50px; }
.bureau-hero__title { font-size: 1.88rem; letter-spacing: 2px; margin-bottom: 1rem; }
.bureau-hero__title--left { text-align: center; margin: 0 0 28px; max-width: none; }
.bureau-hero__intro { font-size: 1.06rem; line-height: 1.7; margin-bottom: 14px; }
.bureau-hero__intro--left { text-align: left; }

/* ---- Cartes hub ---- */
.bureau-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; margin-top: 40px; }
.bureau-card {
  display: block; text-decoration: none; color: inherit;
  background: #F3E4E1; padding: 40px 30px; text-align: center;
}
.bureau-card__title { font-size: 1.19rem; letter-spacing: 1px; margin-bottom: 16px;margin-top: 0px;}
.bureau-card__text { font-size: 1rem; line-height: 1.7; color: #555; margin-bottom: 20px; }
.linkContactUs{text-decoration: underline;font-weight: bold;}

/* CTA bouton — utilisé dans les cartes Bureau, ainsi qu'isolé via
   .bureau-cta-center. Définition locale : ce module ne doit dépendre
   d'aucune classe venue d'un autre module CSS. */
.bureau-card__cta {
  display: inline-block;
  padding: 12px 30px;
  border: 1px solid var(--cb-bordeaux);
  color: var(--cb-bordeaux);
  text-decoration: none;
  font-size: .94rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.bureau-card__cta:hover { background: var(--cb-bordeaux); color: var(--cb-beige); }

.bureau-cta-center { text-align: center; margin: 30px 0; }

/* ---- FAQ accordéon ---- */
/* ---- Table des matières FAQ (sous l'intro, ancres vers les chapitres) ---- */
.faq-toc {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 28px auto 0;
}
.faq-toc__link {
  padding: 7px 16px;
  border: 1px solid #d8cdc4;
  border-radius: 20px;
  font-size: .8rem;
  letter-spacing: .3px;
  color: var(--cb-bordeaux);
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.faq-toc__link:hover {
  background: var(--cb-bordeaux);
  color: var(--cb-beige);
  border-color: var(--cb-bordeaux);
}

/* Décale le point d'ancrage vers le bas, pour que le titre du chapitre ne
   se retrouve pas collé sous un éventuel header collant. */
.faq-accordion__chapter {
  scroll-margin-top: 100px;
}
.faq-accordion { max-width: 56.25rem; margin: 0 auto; }
.faq-accordion__chapter { font-size: 1.06rem; letter-spacing: 1px; margin: 46px 0 14px; color: var(--cb-bordeaux); }
.faq-item { border-bottom: 1px solid #e5d9cf; }
.faq-item__question {
  width: 100%; background: none; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 4px; font-family: inherit; font-size: 1rem; text-align: left; color: #2b2b2b;
}
.faq-item__icon { font-size: 1.25rem; color: var(--cb-or); transition: transform .25s ease; }
.faq-item.is-open .faq-item__icon { transform: rotate(45deg); }
.faq-item__answer { max-height: 0; overflow: hidden; transition: max-height .4s ease; padding: 0 4px; }
.faq-item.is-open .faq-item__answer { max-height: 1400px; padding-bottom: 14px; } /* large marge : certaines réponses (points CLÉCLÉ, marrainage VIC...) comptent plusieurs paragraphes */
.faq-item__answer p { font-size: 1rem; line-height: 1.7; color: #555; margin: 0 0 10px; }
.faq-item__answer p:last-child { margin-bottom: 0; }

/* ---- Livraisons & Retours (long contenu) ---- */
.livraisons-content { max-width: 100%; margin: 0 auto; font-size: 1rem; line-height: 1.8; }
.livraisons-content h2 { font-size: 1.06rem; letter-spacing: 1px; margin: 42px 0 14px; color: var(--cb-bordeaux); }
.livraisons-content p { margin-bottom: 16px; }
.livraisons-content a { color: var(--cb-bordeaux); }
.livraisons-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 1rem; }
.livraisons-table th, .livraisons-table td { border-bottom: 1px solid #e5d9cf; padding: 8px 10px; text-align: left; }
.livraisons-table th { width: 25%; font-weight: bold; }

/* ---- Assistant retour : mise en page 2 colonnes (contenu + image fixe) ---- */
.bureau-page--retour { max-width: 1100px; }

.retour-layout { display: flex; gap: 60px; align-items: flex-start; position: relative; }
.retour-layout__main { flex: 1.2; min-width: 0; }
.retour-layout__image { flex: 1; position: sticky; top: 110px; }
.retour-layout__image .maison-block__placeholder { height: 560px; }

.retour-step-badge {
  display: inline-block; background: var(--cb-bordeaux); color: var(--cb-beige);
  padding: 5px 16px; font-size: .88rem; letter-spacing: 1px; text-transform: uppercase;
  margin-bottom: 24px;
}

.retour-legal { font-size: .94rem; color: #888; margin: 16px 0; }
.retour-form { margin-top: 20px; }
.retour-order-ref { font-size: 1rem; color: #555; margin-bottom: 20px; line-height: 1.6; }
.retour-inline-link { display: inline-block; font-size: .94rem; color: var(--cb-bordeaux); margin-bottom: 16px; }

.retour-items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 26px; }
.retour-item {
  display: flex; align-items: center; gap: 14px;
  border: 1px solid #e5d9cf; padding: 16px; cursor: pointer; font-size: 1rem;
}
.retour-item__details { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.retour-item__name { font-size: 1rem; }
.retour-item__attr { color: #888; font-size: .94rem; }
.retour-item__qty { color: #888; font-size: .94rem; }
.retour-item__price { font-weight: bold; color: var(--cb-bordeaux); white-space: nowrap; }

.retour-radio { display: block; font-size: 1rem; margin: 20px 0 4px; }
.retour-help { font-size: .94rem; color: #888; margin: 0 0 16px 26px; }
.retour-taille-box { background: #F3E4E1; padding: 24px; margin: 26px 0; }
.retour-taille-box p { font-size: 1rem; line-height: 1.7; margin-bottom: 14px; }

.retour-photo-label { display: flex; align-items: center; gap: 8px; }
.retour-photo-icon { font-size: 1.12rem; }

.retour-recap { background: #F7EDE9; padding: 30px; font-size: 1rem; line-height: 1.8; margin-bottom: 26px; }
.retour-recap p { margin-bottom: 18px; }
.retour-recap__label { font-size: .88rem; letter-spacing: 1px; text-transform: uppercase; color: var(--cb-or); margin-bottom: 4px !important; }
.retour-recap__amount { font-size: 1.25rem; font-weight: bold; color: var(--cb-bordeaux); }
.retour-downloads { display: flex; gap: 16px; margin-top: 20px; flex-wrap: wrap; }
.retour-downloads a { text-decoration: none; }

.retour-howto { margin-top: 60px; max-width: 820px; margin-left: auto; margin-right: auto; }
.retour-howto h2 { text-align: center; font-size: 1.31rem; margin-bottom: 30px; }
.retour-howto h3 { font-size: 1.06rem; margin: 26px 0 8px; color: var(--cb-bordeaux); }
.retour-howto p { font-size: 1rem; line-height: 1.7; color: #555; margin-bottom: 10px; }

.retour-file-name { font-size: .94rem; color: #555; margin-top: 6px; }

/* ---- Formulaires partagés ---- */
.comptoir-form__row { margin-bottom: 18px; display: flex; flex-direction: column; gap: 6px; }
.comptoir-form label { font-size: .94rem; letter-spacing: 0.5px; text-transform: uppercase; color: #555; }
.comptoir-form input[type="text"], .comptoir-form input[type="email"], .comptoir-form input[type="file"],
.comptoir-form select, .comptoir-form textarea {
  border: 1px solid #d8cdc4; background: var(--cb-beige); padding: 12px 14px; font-size: 1rem; font-family: inherit; width: 100%;
}
.comptoir-form__submit {
  padding: 15px 30px; background: var(--cb-bordeaux); color: var(--cb-beige);
  border: none; font-size: 1rem; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; text-decoration: none; display: inline-block;
}
.comptoir-form__submit:hover { opacity: .9; }
.comptoir-errors { border: 1px solid #b23b3b; padding: 16px 20px; margin-bottom: 30px; background: #fdf3f3; }
.comptoir-errors ul { margin: 0; padding-left: 20px; font-size: 1rem; }

@media (max-width: 768px) {
  .bureau-cards { grid-template-columns: 1fr; }
  .retour-item { flex-direction: column; align-items: flex-start; }
  .retour-layout { flex-direction: column; }
  .retour-layout__image { position: static; order: -1; }
  .retour-layout__image .maison-block__placeholder { height: auto; }
}