/* =========================================================
   Corcoran St Barth · Page Honoraires / Fees
   Tout est préfixé .cs-fees : aucun impact sur le reste du site.
   La mise en page s'adapte à la largeur du conteneur
   (container queries), pas seulement à celle de l'écran.
   ========================================================= */

.cs-fees{
  --cs-ink:#1e2426; --cs-ink-2:#4a5256; --cs-muted:#8a9296; --cs-line:#e3e6e7;
  --cs-paper:#fff; --cs-soft:#f4f6f6; --cs-accent:#a9c4d2; --cs-accent-soft:#eef3f6; --cs-dark:#22282a;


  container-type:inline-size;
  background:var(--cs-paper); color:var(--cs-ink);
  font-family:var(--font-text); font-size:var(--fs-body); line-height:1.6;
}
.cs-fees *,.cs-fees *::before,.cs-fees *::after{box-sizing:border-box}
.cs-fees a{color:inherit}
.cs-fees a:focus-visible,.cs-fees summary:focus-visible{outline:2px solid #5b8fb0;outline-offset:3px}

.cs-fees__inner{max-width:var(--front-content-max-width);margin:0 auto;padding:0 var(--front-page-gutter)}

/* ---- En-tête de page ---- */
.cs-fees__crumb{font-size:var(--fs-small);color:var(--cs-muted);padding-top:18px}
.cs-fees__crumb a{text-decoration:none}
.cs-fees__crumb a:hover{text-decoration:underline;text-underline-offset:3px}
.cs-fees__crumb [aria-current]{color:var(--cs-ink);font-weight:var(--fw-medium)}
.cs-fees__head{padding:28px 0 36px;border-bottom:1px solid var(--cs-line);max-width:none}
.cs-fees__eyebrow{margin:0 0 12px;font-size:var(--fs-label);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--cs-ink-2)}
.cs-fees h1{margin:0;font-family:var(--font-display);font-size:var(--fs-display-xl);font-weight:var(--fw-regular);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.cs-fees__lead{margin:16px 0 0;max-width:640px;font-weight:var(--fw-regular);color:var(--cs-ink-2);font-family:var(--font-text);font-size:var(--fs-lead);line-height:var(--lh-text)}

/* ---- Cartes de tarifs ---- */
.cs-fees__grid{display:grid;grid-template-columns:1fr;gap:0;padding:8px 0 0}
.cs-fees__card{padding:32px 0;border-bottom:1px solid var(--cs-line);display:flex;flex-direction:column}
.cs-fees__kicker{margin:0;font-size:var(--fs-label);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--cs-ink-2)}
.cs-fees h2{margin:6px 0 0;font-family:var(--font-display);font-size:var(--fs-display-l);font-weight:var(--fw-regular);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.cs-fees__rates{list-style:none;margin:22px 0 0;padding:0}
.cs-fees__rates li{display:flex;align-items:baseline;gap:18px;padding:14px 0;border-top:1px solid var(--cs-line)}
.cs-fees__rates li:last-child{border-bottom:1px solid var(--cs-line)}
.cs-fees__pct{flex:none;min-width:108px;line-height:var(--lh-text);letter-spacing:var(--ls-display);white-space:nowrap;font-family:var(--font-text);font-weight:var(--fw-thin);font-variant-numeric:tabular-nums lining-nums;font-size:var(--fs-num-display)}
.cs-fees__what{font-size:var(--fs-body);line-height:1.45;color:var(--cs-ink-2)}
.cs-fees__what b{display:block;font-weight:var(--fw-medium);color:var(--cs-ink);font-size:var(--fs-body)}
.cs-fees__payer{align-self:flex-start;margin:18px 0 0;padding:6px 14px;border:1px solid var(--cs-ink);border-radius:999px;font-size:var(--fs-small);letter-spacing:var(--ls-button)}
.cs-fees__text{margin:18px 0 0;font-size:var(--fs-body);color:var(--cs-ink-2)}
.cs-fees__incl{margin:18px 0 0;padding:0;list-style:none;font-size:var(--fs-body)}
.cs-fees__incl-title{margin:20px 0 0;font-size:var(--fs-label);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--cs-ink-2)}
.cs-fees__incl li{position:relative;padding:5px 0 5px 22px;color:var(--cs-ink)}
.cs-fees__incl li::before{content:"";position:absolute;left:2px;top:13px;width:10px;height:5px;border-left:1.5px solid var(--cs-ink);border-bottom:1.5px solid var(--cs-ink);transform:rotate(-45deg)}
.cs-fees__flag{margin:20px 0 0;padding:12px 16px;background:var(--cs-accent-soft);border-radius:4px;font-size:var(--fs-body)}
.cs-fees__flag b{font-weight:var(--fw-semibold)}

/* ---- Bande voyageurs ---- */
.cs-fees__guests{margin:48px 0 0;background:var(--cs-accent-soft);border-radius:6px;padding:32px 24px;display:grid;gap:20px}
.cs-fees__zero{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.cs-fees__zero strong{line-height:var(--lh-text);letter-spacing:var(--ls-display);font-weight:var(--fw-thin);font-family:var(--font-text);font-variant-numeric:tabular-nums lining-nums;font-size:var(--fs-num-display)}
.cs-fees__zero span{font-weight:var(--fw-regular);line-height:var(--lh-text);font-family:var(--font-text);font-size:var(--fs-body)}
.cs-fees__guests h2{font-size:var(--fs-display-l)}
.cs-fees__guests p{margin:10px 0 0;font-size:var(--fs-body);color:var(--cs-ink-2)}

/* ---- Réseau Corcoran ---- */
.cs-fees__network{margin:56px 0 0;display:grid;gap:28px}
.cs-fees__net-head p:not(.cs-fees__kicker){margin:14px 0 0;max-width:560px;font-size:var(--fs-label);color:var(--cs-ink-2)}
.cs-fees__net-label{margin:0 0 4px;font-size:var(--fs-label);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--cs-ink-2)}
.cs-fees__net-label + .cs-fees__facts{margin-bottom:28px}
.cs-fees__net-rows .cs-fees__facts:last-child{margin-bottom:0}
.cs-fees__facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px;border-top:1px solid var(--cs-line)}
.cs-fees__facts li{padding:16px 0;border-bottom:1px solid var(--cs-line)}
.cs-fees__facts b{display:block;line-height:var(--lh-text);letter-spacing:var(--ls-display);font-family:var(--font-text);font-weight:var(--fw-thin);font-variant-numeric:tabular-nums lining-nums;font-size:var(--fs-num-display)}
.cs-fees__facts span{display:block;margin-top:6px;font-size:var(--fs-small);line-height:1.4;color:var(--cs-ink-2)}

/* ---- Questions fréquentes ---- */
.cs-fees__faq{margin:56px 0 0}
.cs-fees__faq > h2{margin-bottom:14px}
.cs-fees__faq details{border-top:1px solid var(--cs-line)}
.cs-fees__faq details:last-of-type{border-bottom:1px solid var(--cs-line)}
.cs-fees__faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-family:var(--font-display);font-size:var(--fs-display-m);font-weight:var(--fw-regular);line-height:var(--lh-display)}
.cs-fees__faq summary::-webkit-details-marker{display:none}
.cs-fees__faq summary::after{content:"+";flex:none;font-family:var(--font-display);font-size:var(--fs-display-m);font-weight:var(--fw-regular);line-height:var(--lh-display);color:var(--cs-ink-2);transition:transform .2s}
.cs-fees__faq details[open] summary::after{transform:rotate(45deg)}
.cs-fees__faq details p{margin:0;padding:0 0 20px;max-width:760px;font-size:var(--fs-body);color:var(--cs-ink-2)}

/* ---- Appel à l'action ---- */
.cs-fees__cta{margin:56px 0 0;background:var(--cs-dark);color:#fff;border-radius:6px;padding:36px 24px;display:flex;flex-direction:column;gap:20px}
.cs-fees__cta h2{margin:0;color:#fff;font-size:var(--fs-display-l)}
.cs-fees__cta p{margin:8px 0 0;font-size:var(--fs-body);color:#c9cfd1}
.cs-fees__actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
.cs-fees__btn{display:inline-block;background:var(--cs-accent);color:#fff;text-decoration:none;padding:15px 28px;font-size:var(--fs-small);letter-spacing:var(--ls-button);border-radius:2px;font-family:var(--font-text);font-weight:var(--fw-medium);text-transform:uppercase}
.cs-fees__btn:hover{filter:brightness(.95)}
.cs-fees__tel{color:#fff;font-size:var(--fs-body);text-underline-offset:4px}

.cs-fees__cta{margin-bottom:56px}

/* ================= Tablette ================= */
@container (min-width:700px){
  .cs-fees h1{font-size:var(--fs-display-xl)}
  .cs-fees__facts{gap:0 32px}
  .cs-fees__facts b{font-size:var(--fs-num-display);font-family:var(--font-text);font-weight:var(--fw-thin);font-variant-numeric:tabular-nums lining-nums}
  .cs-fees__facts span{font-size:var(--fs-body)}
  .cs-fees__guests{grid-template-columns:auto 1fr;gap:12px 48px;padding:40px}
  .cs-fees__guests > div:first-child{grid-row:span 2}
  .cs-fees__cta{flex-direction:row;align-items:center;justify-content:space-between;padding:44px 40px}
}

/* ================= Ordinateur ================= */
@container (min-width:1080px){
  .cs-fees__crumb{padding-top:34px}
  .cs-fees__head{padding:30px 0 48px}
  .cs-fees h1{font-size:var(--fs-display-xl)}
  .cs-fees__lead{font-size:var(--fs-lead);font-family:var(--font-text);line-height:1.6}
  .cs-fees__grid{grid-template-columns:repeat(3,1fr);gap:0 56px;padding-top:0}
  .cs-fees__card{padding:44px 0 48px;border-bottom:0}
  .cs-fees__card + .cs-fees__card{position:relative}
  .cs-fees__card + .cs-fees__card::before{content:"";position:absolute;left:-28px;top:44px;bottom:48px;border-left:1px solid var(--cs-line)}
  .cs-fees__guests{margin-top:24px;padding:48px 56px}
  .cs-fees__zero strong{font-size:var(--fs-num-display);font-family:var(--font-text);font-weight:var(--fw-thin);font-variant-numeric:tabular-nums lining-nums}
  .cs-fees__network{margin-top:72px;grid-template-columns:1fr 2fr;gap:0 56px;align-items:start}
  .cs-fees__facts b{font-size:var(--fs-num-display);font-family:var(--font-text);font-weight:var(--fw-thin);font-variant-numeric:tabular-nums lining-nums}
  .cs-fees__faq{margin-top:72px;display:grid;grid-template-columns:1fr 2fr;gap:0 56px;align-items:start}
  .cs-fees__faq > h2{margin:18px 0 0}
  .cs-fees__faq > div{grid-column:2}
  .cs-fees__cta{margin-top:72px;padding:52px 56px}
  .cs-fees__cta h2{font-size:var(--fs-display-l)}
}

/* Keep anchored cards visible beneath the fixed site navigation. */
.cs-fees__card{scroll-margin-top:110px}
