/* ==========================================================================
   Olea Medical — Design system (premium médical, mobile-first)
   Palette : olivier (deep teal-green) + or + neutres chauds.
   ========================================================================== */

:root {
  --brand:        #1f6f5c;   /* olivier profond */
  --brand-dark:   #14493d;
  --brand-darker: #0d332b;
  --brand-soft:   #e8f1ed;
  --accent:       #c9a15a;   /* or */
  --accent-dark:  #a9843f;
  --tunisie:      #1f6f5c;   /* vert olivier (logo) */
  --turquie:      #b0873f;   /* or/bronze (logo) — harmonisé, alternative */
  --wa:           #25d366;
  --wa-dark:      #128c7e;
  --me:           #c9a15a;   /* Messenger recoloré en or (palette stricte vert + or) */

  --ink:          #17241f;
  --ink-soft:     #45564f;
  --muted:        #6b7a73;
  --line:         #e3e9e4;
  --line-soft:    #eef2ee;
  --bg:           #ffffff;
  --bg-soft:      #f6f8f5;
  --bg-warm:      #faf8f3;
  --white:        #ffffff;

  --radius:       14px;
  --radius-sm:    9px;
  --radius-lg:    22px;
  --shadow-sm:    0 1px 3px rgba(20,73,61,.08), 0 1px 2px rgba(20,73,61,.06);
  --shadow:       0 8px 30px rgba(20,73,61,.10);
  --shadow-lg:    0 20px 50px rgba(20,73,61,.16);

  --container:    1180px;
  --narrow:       760px;

  --ff-sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --ff-head: "Georgia", "Times New Roman", var(--ff-sans);

  --step-hero: clamp(2rem, 1.2rem + 3.6vw, 3.4rem);
  --step-h1:   clamp(1.8rem, 1.2rem + 2.6vw, 2.8rem);
  --step-h2:   clamp(1.4rem, 1.1rem + 1.4vw, 2rem);
  --step-h3:   clamp(1.12rem, 1rem + .5vw, 1.3rem);
}

/* ---- reset léger ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--ff-sans); color: var(--ink);
  background: var(--bg); line-height: 1.65; font-size: 1.02rem;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--brand-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { font-family: var(--ff-head); line-height: 1.2; color: var(--ink); font-weight: 700; }
p { margin: 0 0 1rem; }
ul { margin: 0 0 1rem; padding-left: 1.2rem; }

.container { width: min(100% - 2.4rem, var(--container)); margin-inline: auto; }
.container--narrow { max-width: var(--narrow); }
.container--article { display: grid; grid-template-columns: 1fr; gap: 2rem; width: min(100% - 2.4rem, var(--container)); margin-inline: auto; }

.skip-link { position: absolute; left: -999px; top: 0; background: var(--brand-dark); color:#fff; padding:.6rem 1rem; z-index: 200; }
.skip-link:focus { left: 8px; top: 8px; }

.muted { color: var(--muted); }
.small { font-size: .88rem; }
.section { padding: clamp(2.4rem, 1.5rem + 3vw, 4.5rem) 0; }
.section--soft { background: var(--bg-soft); }
.section--warm { background: var(--bg-warm); }
.section__title { font-size: var(--step-h2); margin: 0 0 .6rem; }
.section__title--sub { font-size: var(--step-h3); margin-top: 2rem; color: var(--brand-dark); }
.section__lead { color: var(--ink-soft); max-width: 62ch; margin: 0 0 1.8rem; font-size: 1.06rem; }

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .8rem 1.4rem; border-radius: 999px; font-weight: 600; font-size: .98rem;
  border: 1.5px solid transparent; cursor: pointer; transition: .18s ease;
  text-decoration: none; line-height: 1.1; text-align: center;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn--sm { padding: .55rem 1rem; font-size: .9rem; }
.btn--lg { padding: .95rem 1.7rem; font-size: 1.05rem; }
.btn--block { display: flex; width: 100%; margin-bottom: .6rem; }
.btn--accent { background: var(--accent); color: #2a2010; border-color: var(--accent); }
.btn--accent:hover { background: var(--accent-dark); border-color: var(--accent-dark); color:#241a0a; }
.btn--outline { background: transparent; color: var(--brand-dark); border-color: currentColor; }
.btn--outline:hover { background: var(--brand-soft); }
.btn--ghost { background: rgba(255,255,255,.14); color:#fff; border-color: rgba(255,255,255,.5); }
.btn--ghost:hover { background: rgba(255,255,255,.24); }
.btn--wa { background: var(--wa); color: #06301f; border-color: var(--wa); }
.btn--wa:hover { background: var(--wa-dark); color:#fff; }
.btn--me { background: var(--me); color:#1a1a1a; border-color: var(--me); }

/* ==========================================================================
   Header
   ========================================================================== */
.topbar { background: var(--brand-darker); color: #d9e5df; font-size: .85rem; }
.topbar__row { display: flex; align-items: center; justify-content: space-between; min-height: 40px; gap: 1rem; }
.topbar__msg { margin: 0; opacity: .85; }
.topbar__actions { display: flex; align-items: center; gap: 1rem; }
.topbar__link { color: #eaf2ee; display: inline-flex; gap:.35rem; align-items:center; }
.topbar__link:hover { color:#fff; }
.topbar__msg { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.lang-switch { position: relative; }
.lang-switch__btn { background: transparent; border: 1px solid rgba(255,255,255,.25); color:#eaf2ee; border-radius: 999px; padding:.25rem .7rem; cursor:pointer; font-size:.82rem; }
.lang-switch__menu { position:absolute; right:0; top: 120%; background:#fff; border:1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow); list-style:none; margin:0; padding:.3rem; min-width: 180px; display:none; z-index: 120; }
.lang-switch__menu.open { display:block; }
.lang-switch__menu a { display:block; padding:.5rem .7rem; border-radius: 6px; color: var(--ink); }
.lang-switch__menu a:hover { background: var(--bg-soft); text-decoration:none; }

.navbar { background: rgba(255,255,255,.96); backdrop-filter: saturate(140%) blur(8px); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 100; }
.site-header.is-stuck .navbar { box-shadow: var(--shadow-sm); }
.navbar__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 70px; }

.brand { display: inline-flex; }
.logo { display:inline-flex; align-items:center; gap:.6rem; color: var(--brand-dark); }
.logo:hover { text-decoration: none; }
.logo__mark { color: var(--brand); flex: none; }
.logo__name { font-family: var(--ff-head); font-size: 1.32rem; font-weight: 700; letter-spacing:.2px; }
.logo__name strong { color: var(--accent-dark); font-weight:700; }
.logo__text { display:flex; flex-direction: column; line-height: 1.05; }
.logo__sub { font-size:.66rem; letter-spacing:.16em; text-transform: uppercase; color: var(--muted); font-family: var(--ff-sans); }

.nav-toggle { display: inline-flex; flex-direction: column; gap: 5px; background: none; border: 0; padding: 10px; cursor: pointer; }
.nav-toggle span { width: 24px; height: 2px; background: var(--brand-dark); transition:.2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.mainnav__list { display: flex; align-items: center; gap: .3rem; list-style: none; margin: 0; padding: 0; }
.mainnav__link { display: inline-flex; align-items: center; gap:.35rem; padding: .6rem .7rem; border-radius: 8px; color: var(--ink); font-weight: 600; font-size: .96rem; }
.mainnav__link:hover { background: var(--brand-soft); color: var(--brand-dark); text-decoration:none; }
.caret { font-size:.7rem; opacity:.6; }
.pill { display:inline-block; font-size:.62rem; font-weight:700; text-transform: uppercase; letter-spacing:.05em; padding:.12rem .5rem; border-radius:999px; margin-left:.35rem; vertical-align: middle; }
.pill--primary { background: var(--brand-soft); color: var(--brand-dark); }
.pill--alt { background: #f6eede; color: #8a6a2f; }
.pill--guide { background: #f3ecd9; color: var(--accent-dark); }

/* Mega menu */
.has-mega { position: static; }
.mega { position: absolute; left: 0; right: 0; top: 100%; background:#fff; border-top: 1px solid var(--line); border-bottom:1px solid var(--line); box-shadow: var(--shadow); padding: 1.5rem 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s ease; }
.has-mega:hover .mega, .has-mega:focus-within .mega { opacity:1; visibility: visible; transform: none; }
.mega__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem 2rem; }
.mega__title { display:block; font-weight:700; color: var(--brand-dark); margin-bottom:.5rem; font-family: var(--ff-head); }
.mega__links { list-style:none; margin:0; padding:0; }
.mega__links li { margin-bottom:.28rem; }
.mega__links a { color: var(--ink-soft); font-size:.9rem; }
.mega__links a:hover { color: var(--brand-dark); }
.mega__more { color: var(--accent-dark) !important; font-weight:600; }

/* ==========================================================================
   Hero
   ========================================================================== */
.hero { background: radial-gradient(1200px 600px at 80% -10%, rgba(201,161,90,.18), transparent 60%), linear-gradient(160deg, var(--brand-darker), var(--brand-dark) 70%); color: #eaf3ef; }
.hero__inner { display: grid; grid-template-columns: 1fr; gap: 2rem; padding: clamp(2.5rem, 1.5rem + 5vw, 5rem) 0; }
.hero__eyebrow { text-transform: uppercase; letter-spacing:.18em; font-size:.76rem; color: var(--accent); margin:0 0 .8rem; font-weight:600; }
.hero__title { color:#fff; font-size: var(--step-hero); margin: 0 0 1rem; }
.hero__lead { color: #cfe0d8; font-size: 1.12rem; max-width: 60ch; margin-bottom: 1.6rem; }
.hero__actions { display:flex; flex-wrap: wrap; gap:.8rem; margin-bottom: 1.6rem; }
.hero__trust { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; color:#bfd4cb; font-size:.92rem; }

.quote-card { background:#fff; color: var(--ink); border-radius: var(--radius-lg); padding: 1.6rem; box-shadow: var(--shadow-lg); border: 1px solid rgba(255,255,255,.4); }
.quote-card__title { font-size: 1.35rem; margin:0 0 .5rem; }
.quote-card__text { color: var(--ink-soft); font-size:.95rem; margin-bottom: 1.1rem; }
.quote-card__note { font-size:.8rem; color: var(--muted); margin:.6rem 0 0; text-align:center; }
.quote-card__alt { font-size:.9rem; color: var(--ink-soft); margin:0; }
.quote-card hr { border:0; border-top:1px solid var(--line); margin: 1rem 0; }

/* Strip */
.strip { background: var(--brand-soft); }
.strip__row { display:grid; grid-template-columns: repeat(2, 1fr); gap:1rem; padding: 1.4rem 0; }
.strip__item { display:flex; flex-direction: column; }
.strip__item strong { color: var(--brand-dark); font-size:1.05rem; }
.strip__item span { color: var(--ink-soft); font-size:.85rem; }

/* ==========================================================================
   Destinations / cards
   ========================================================================== */
.dest-grid { display:grid; grid-template-columns: 1fr; gap: 1.4rem; }
.dest-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 1.6rem; background:#fff; box-shadow: var(--shadow-sm); position: relative; }
.dest-card h3 { font-size: var(--step-h3); margin:.6rem 0 .5rem; }
.dest-card p { color: var(--ink-soft); }
.dest-card--tunisie { border-top: 4px solid var(--tunisie); }
.dest-card--turquie { border-top: 4px solid var(--turquie); }
.link-arrow { font-weight:600; color: var(--brand-dark); }
.link-arrow:hover { color: var(--accent-dark); }

/* Spécialités */
.spec-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:1rem; }
.spec-grid--lg { grid-template-columns: repeat(2,1fr); }
.spec-tile { display:flex; flex-direction:column; gap:.25rem; padding:1.1rem; background:#fff; border:1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); transition:.16s; }
.spec-tile:hover { text-decoration:none; transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--brand-soft); }
.spec-tile__icon { width:40px; height:40px; border-radius:10px; background: var(--brand-soft); display:inline-block; position:relative; }
.spec-tile__icon::after { content:"✦"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color: var(--brand); }
.spec-tile__name { font-weight:700; color: var(--ink); font-family: var(--ff-head); }
.spec-tile__count { font-size:.8rem; color: var(--muted); }

/* Interventions */
.iv-grid { display:grid; grid-template-columns: 1fr; gap:1.1rem; }
.iv-card { padding:1.3rem; background:#fff; border:1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.iv-card__title { font-size:1.14rem; margin:0 0 .4rem; }
.iv-card__excerpt { color: var(--ink-soft); font-size:.94rem; margin-bottom:.8rem; }
.iv-card__links { display:flex; gap:1rem; font-size:.9rem; font-weight:600; }
.eyebrow-link { display:block; margin:.6rem 0 .2rem; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
.eyebrow-link a { color: rgba(255,255,255,.85); }

/* Q/A GEO */
.qa-list { display:grid; gap:1rem; }
.qa { background:#fff; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius: var(--radius-sm); padding:1.1rem 1.3rem; }
.qa__q { font-size:1.05rem; margin:0 0 .3rem; }
.qa__a { color: var(--ink-soft); margin:0; }

.note { background: var(--brand-soft); border-radius: var(--radius-sm); padding: .9rem 1.1rem; font-size:.92rem; color: var(--brand-dark); }
.note--price { border-left: 4px solid var(--accent); background: var(--bg-warm); color: var(--ink-soft); }

/* ==========================================================================
   Page hero (intérieur)
   ========================================================================== */
.page-hero { background: linear-gradient(160deg, var(--brand-dark), var(--brand)); color:#eaf3ef; padding: clamp(2rem,1.4rem+3vw,3.4rem) 0; }
.page-hero--turquie { background: linear-gradient(160deg, var(--brand-dark), var(--turquie)); }
.page-hero--guide { background: linear-gradient(160deg, var(--brand-darker), var(--brand-dark)); }
.page-hero__title { color:#fff; font-size: var(--step-h1); margin:.6rem 0; }
.page-hero__lead { color:#d3e3db; max-width: 64ch; font-size:1.06rem; }
.page-hero__actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.2rem; }
.page-hero__grid { display:grid; gap:1.5rem; }

/* Breadcrumb */
.breadcrumb { background: var(--bg-soft); border-bottom:1px solid var(--line); font-size:.85rem; }
.breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; gap:.3rem; margin:0; padding:.7rem 0; }
.breadcrumb li:not(:last-child)::after { content:"›"; margin-left:.4rem; color: var(--muted); }
.breadcrumb a { color: var(--ink-soft); }
.breadcrumb [aria-current] { color: var(--brand-dark); font-weight:600; }

/* ==========================================================================
   Prose / article
   ========================================================================== */
.prose { font-size: 1.04rem; color: var(--ink); }
.prose h2 { font-size: var(--step-h2); margin: 2.2rem 0 .8rem; padding-top:.4rem; }
.prose h3 { font-size: var(--step-h3); margin: 1.4rem 0 .5rem; }
.prose p, .prose li { color: #253630; }
.prose ul { padding-left: 1.2rem; }
.prose a { color: var(--brand-dark); text-decoration: underline; text-underline-offset: 2px; }

.check-list { list-style:none; padding:0; }
.check-list li { position:relative; padding-left:1.7rem; margin-bottom:.55rem; }
.check-list li::before { content:"✔"; position:absolute; left:0; color: var(--brand); font-weight:700; }
.check-list--plus li::before { content:"＋"; color: var(--accent-dark); }
.warn-list { list-style:none; padding:0; }
.warn-list li { position:relative; padding-left:1.7rem; margin-bottom:.55rem; color: var(--ink-soft); }
.warn-list li::before { content:"⚠"; position:absolute; left:0; color: var(--accent-dark); }

.tech { border:1px solid var(--line); border-radius: var(--radius-sm); padding:1rem 1.2rem; margin-bottom:.8rem; background:#fff; }
.tech__name { margin:0 0 .3rem; font-size:1.05rem; color: var(--brand-dark); }

.article-aside { }
.quote-card--sticky { position: static; }
.backlink { margin-top: 2rem; padding-top: 1rem; border-top:1px solid var(--line); }

/* ==========================================================================
   Cocons
   ========================================================================== */
.cocons { background: var(--bg-warm); border-top:1px solid var(--line); }
.cocons__grid { display:grid; grid-template-columns: 1fr; gap:1.2rem; }
.cocon-card { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:1.4rem; box-shadow: var(--shadow-sm); display:flex; flex-direction:column; }
.cocon-card__num { font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color: var(--accent-dark); font-weight:700; }
.cocon-card__tag { align-self:flex-start; font-size:.7rem; background: var(--brand-soft); color: var(--brand-dark); padding:.15rem .55rem; border-radius:999px; margin:.4rem 0; }
.cocon-card__title { font-size:1.1rem; margin:.3rem 0 .5rem; }
.cocon-card__summary { color: var(--ink-soft); font-size:.92rem; flex:1; }
.cocon-card__cta { margin-top:.8rem; font-weight:600; color: var(--brand-dark); }

/* CTA band */
.cta-band { background: linear-gradient(120deg, var(--brand-darker), var(--brand-dark)); color:#fff; }
.cta-band__inner { display:grid; gap:1.4rem; padding: clamp(2rem,1.4rem+2vw,3rem) 0; align-items:center; }
.cta-band__title { color:#fff; font-size: var(--step-h2); margin:0 0 .4rem; }
.cta-band__text { color:#cfe0d8; margin:0; max-width: 60ch; }
.cta-band__actions { display:flex; flex-wrap:wrap; gap:.8rem; }

/* FAQ */
.faq__list { display:grid; gap:.7rem; }
.faq__item { background:#fff; border:1px solid var(--line); border-radius: var(--radius-sm); overflow:hidden; }
.faq__item summary { cursor:pointer; padding:1rem 1.2rem; font-weight:600; color: var(--ink); list-style:none; position:relative; padding-right:2.5rem; }
.faq__item summary::-webkit-details-marker { display:none; }
.faq__item summary::after { content:"+"; position:absolute; right:1.1rem; top:50%; transform:translateY(-50%); color: var(--brand); font-size:1.3rem; }
.faq__item[open] summary::after { content:"–"; }
.faq__answer { padding: 0 1.2rem 1.1rem; color: var(--ink-soft); }

/* Steps (parcours) */
.steps { list-style:none; counter-reset: step; padding:0; margin:0; }
.step { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px dashed var(--line); }
.step__num { flex:none; width:38px; height:38px; border-radius:50%; background: var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.step__title { font-size:1.1rem; margin:0 0 .2rem; }
.step p { margin:0; color: var(--ink-soft); }

/* Callout */
.callout { background: var(--brand-soft); border-radius: var(--radius); padding:1.6rem; border:1px solid #d5e5de; }
.callout--success { background:#eaf7ef; border-color:#bfe6cd; }
.callout__title { font-size: var(--step-h3); margin:0 0 .5rem; }
.callout__actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }

/* Clusters / chips */
.cluster-grid { display:flex; flex-wrap:wrap; gap:.6rem; }
.cluster-chip { background:#fff; border:1px solid var(--line); border-radius:999px; padding:.4rem .9rem; font-size:.9rem; color: var(--ink-soft); }

/* ==========================================================================
   Devis form
   ========================================================================== */
.devis__grid { display:grid; grid-template-columns: 1fr; gap: 2rem; }
.devis-form { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:1.6rem; box-shadow: var(--shadow-sm); }
.field { margin-bottom:1rem; }
.field label { display:block; font-weight:600; font-size:.9rem; margin-bottom:.35rem; color: var(--ink); }
.field input, .field select, .field textarea { width:100%; padding:.7rem .85rem; border:1.5px solid var(--line); border-radius: var(--radius-sm); font: inherit; color: var(--ink); background:#fff; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.field-row { display:grid; grid-template-columns:1fr; gap:0 1rem; }
.checkbox { display:flex; gap:.6rem; align-items:flex-start; font-size:.9rem; color: var(--ink-soft); margin-bottom:1rem; }
.checkbox input { margin-top:.25rem; }
.reassure { list-style:none; padding:0; margin:1.2rem 0 0; }
.reassure li { padding:.35rem 0; color: var(--ink-soft); }

/* ==========================================================================
   Floating buttons
   ========================================================================== */
.floating { position: fixed; right: 14px; bottom: 14px; z-index: 90; display:flex; flex-direction:column; gap:.6rem; }
.floating__btn { width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; box-shadow: var(--shadow); transition:.18s; overflow:hidden; }
.floating__btn:hover { text-decoration:none; width:auto; padding:0 1.1rem; border-radius:999px; gap:.5rem; }
.floating__btn--wa { background: var(--wa); }
.floating__btn--me { background: var(--me); color:#1a1a1a; }
.floating__label { display:none; font-weight:600; white-space:nowrap; }
.floating__btn:hover .floating__label { display:inline; }

/* Footer */
.site-footer { background: var(--brand-darker); color:#c6d6cf; margin-top: 2rem; }
.footer__grid { display:grid; grid-template-columns: 1fr; gap: 2rem; padding: 3rem 0 2rem; }
.footer__logo .logo { color:#fff; }
.footer__logo .logo__name { color:#fff; }
.footer__logo .logo__sub { color:#8fa79d; }
.footer__logo .logo__mark { color: var(--accent); }
.footer__tagline { font-size:.9rem; color:#9fb3ab; margin:.9rem 0; max-width:40ch; }
.footer__social { display:flex; gap:.6rem; }
.chip { display:inline-block; padding:.4rem .9rem; border-radius:999px; font-size:.85rem; font-weight:600; }
.chip--wa { background: var(--wa); color:#06301f; }
.chip--me { background: var(--me); color:#1a1a1a; }
.footer__col h3 { color:#fff; font-size:1rem; margin:0 0 .8rem; font-family: var(--ff-sans); }
.footer__col ul { list-style:none; padding:0; margin:0; }
.footer__col li { margin-bottom:.45rem; }
.footer__col a { color:#c6d6cf; font-size:.92rem; }
.footer__col a:hover { color:#fff; }
.footer__medical { border-top:1px solid rgba(255,255,255,.1); padding-top:1.2rem; padding-bottom:1.2rem; }
.footer__medical p { font-size:.85rem; color:#9fb3ab; margin:0; }
.footer__bottom { background: #0a2620; }
.footer__bottom-row { display:flex; flex-direction:column; gap:.6rem; padding:1.1rem 0; font-size:.82rem; color:#8fa79d; }
.footer__legal { list-style:none; display:flex; flex-wrap:wrap; gap:1rem; padding:0; margin:0; }
.footer__legal a { color:#8fa79d; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 620px) {
  .strip__row { grid-template-columns: repeat(4,1fr); }
  .spec-grid { grid-template-columns: repeat(3,1fr); }
  .iv-grid { grid-template-columns: repeat(2,1fr); }
  .cocons__grid { grid-template-columns: repeat(3,1fr); }
  .field-row { grid-template-columns: 1fr 1fr; }
  .footer__bottom-row { flex-direction:row; justify-content:space-between; }
  .dest-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .hero__inner { grid-template-columns: 1.4fr .9fr; align-items:center; }
  .cta-band__inner { grid-template-columns: 1.6fr auto; }
  .spec-grid { grid-template-columns: repeat(4,1fr); }
  .spec-grid--lg { grid-template-columns: repeat(3,1fr); }
  .iv-grid { grid-template-columns: repeat(3,1fr); }
  .container--article { grid-template-columns: minmax(0,1fr) 320px; align-items:start; }
  .quote-card--sticky { position: sticky; top: 90px; }
  .devis__grid { grid-template-columns: 1.5fr 1fr; }
  .footer__grid { grid-template-columns: 1.5fr repeat(4, 1fr); }
  .page-hero__grid { grid-template-columns: 1fr; }
}

/* Desktop nav vs mobile */
@media (max-width: 979px) {
  .nav-toggle { display:inline-flex; }
  .mainnav { position: fixed; inset: 0 0 0 auto; width: min(88vw, 360px); background:#fff; transform: translateX(100%); transition: transform .22s ease; box-shadow: var(--shadow-lg); padding: 5rem 1.2rem 2rem; overflow-y:auto; z-index: 110; }
  .mainnav.open { transform:none; }
  body.nav-open { overflow:hidden; }
  .mainnav__list { flex-direction: column; align-items: stretch; gap:.15rem; }
  .mainnav__link { padding:.9rem .6rem; border-bottom:1px solid var(--line-soft); border-radius:0; }
  .mega { position: static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:.4rem 0 .8rem; display:none; }
  .has-mega.open .mega { display:block; }
  .mega__grid { grid-template-columns: 1fr; gap:1rem; }
  .mainnav__item--cta { margin-top:1rem; }
  .mainnav__item--cta .btn { width:100%; }
}
@media (min-width: 980px) {
  .nav-toggle { display:none; }
  .mainnav { display:block !important; }
}

@media (prefers-reduced-motion: reduce) { * { transition:none !important; scroll-behavior:auto; } }

/* RTL (arabe) */
[dir="rtl"] .check-list li, [dir="rtl"] .warn-list li { padding-left:0; padding-right:1.7rem; }
[dir="rtl"] .check-list li::before, [dir="rtl"] .warn-list li::before { left:auto; right:0; }
[dir="rtl"] .qa { border-left:0; border-right:4px solid var(--accent); }
[dir="rtl"] .floating { right:auto; left:14px; }

/* ============================ Chatbot ============================ */
.olea-chat { position:fixed; bottom:14px; left:14px; z-index:1000; }
[dir="rtl"] .olea-chat { left:auto; right:14px; }
.olea-chat__launcher { position:relative; width:56px; height:56px; border-radius:50%; border:0;
  background:var(--brand); color:#fff; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.22);
  display:flex; align-items:center; justify-content:center; transition:transform .15s, background .15s; }
.olea-chat__launcher:hover { transform:translateY(-2px); background:var(--brand-dark); }
.olea-chat.is-open .olea-chat__launcher { background:var(--brand-dark); }
.olea-chat__badge { position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 4px;
  border-radius:9px; background:var(--accent); color:#1a1a1a; font-size:.72rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; }
.olea-chat__panel { position:absolute; bottom:70px; left:0; width:340px; max-width:calc(100vw - 28px);
  height:460px; max-height:calc(100vh - 110px); background:var(--bg); border:1px solid var(--line);
  border-radius:16px; box-shadow:0 18px 50px rgba(0,0,0,.28); display:flex; flex-direction:column; overflow:hidden; }
[dir="rtl"] .olea-chat__panel { left:auto; right:0; }
.olea-chat__panel[hidden] { display:none; }
.olea-chat__head { display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding:.8rem 1rem; background:var(--brand); color:#fff; }
.olea-chat__title { font-weight:700; margin:0; font-size:.98rem; }
.olea-chat__subtitle { margin:.15rem 0 0; font-size:.76rem; opacity:.9; display:flex; align-items:center; gap:.35rem; }
.olea-chat__dot { width:8px; height:8px; border-radius:50%; background:#5fd07a; display:inline-block; }
.olea-chat__close { background:transparent; border:0; color:#fff; font-size:1.5rem; line-height:1; cursor:pointer; padding:0 .2rem; }
.olea-chat__body { flex:1; overflow-y:auto; padding:1rem; background:var(--bg-soft); display:flex; flex-direction:column; gap:.6rem; }
.olea-msg { display:flex; }
.olea-msg--bot { justify-content:flex-start; }
.olea-msg--user { justify-content:flex-end; }
.olea-msg__bubble { max-width:85%; padding:.6rem .8rem; border-radius:14px; font-size:.9rem; line-height:1.45; }
.olea-msg--bot .olea-msg__bubble { background:#fff; border:1px solid var(--line); border-bottom-left-radius:4px; color:var(--ink); }
[dir="rtl"] .olea-msg--bot .olea-msg__bubble { border-bottom-left-radius:14px; border-bottom-right-radius:4px; }
.olea-msg--user .olea-msg__bubble { background:var(--brand); color:#fff; border-bottom-right-radius:4px; }
[dir="rtl"] .olea-msg--user .olea-msg__bubble { border-bottom-right-radius:14px; border-bottom-left-radius:4px; }
.olea-msg__actions { display:flex; flex-wrap:wrap; gap:.4rem; margin:-.2rem 0 .2rem; }
.olea-act { font-size:.82rem; font-weight:600; padding:.45rem .7rem; border-radius:999px; text-decoration:none; }
.olea-act--wa { background:#25d366; color:#053d1e; }
.olea-act--devis { background:var(--accent); color:#1a1a1a; }
.olea-chips__label { font-size:.75rem; color:var(--muted,#6b746e); margin:.2rem 0; }
.olea-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.olea-chip { font-size:.82rem; background:#fff; border:1px solid var(--line); color:var(--brand-dark);
  border-radius:999px; padding:.4rem .7rem; cursor:pointer; transition:background .12s; }
.olea-chip:hover { background:var(--bg-soft); }
.olea-chat__form { display:flex; gap:.4rem; padding:.6rem; border-top:1px solid var(--line); background:var(--bg); }
.olea-chat__input { flex:1; border:1px solid var(--line); border-radius:999px; padding:.55rem .9rem; font:inherit; font-size:.9rem; }
.olea-chat__input:focus { outline:2px solid var(--brand); outline-offset:1px; }
.olea-chat__submit { width:40px; border:0; border-radius:50%; background:var(--brand); color:#fff; cursor:pointer; font-size:1rem; }
.olea-chat__disclaimer { margin:0; padding:.4rem .8rem .6rem; font-size:.68rem; color:var(--muted,#6b746e); background:var(--bg); text-align:center; }
@media (max-width:420px){ .olea-chat__panel { width:calc(100vw - 28px); height:70vh; } }

/* ==================== Hero enrichi + slider ==================== */
.hero { position:relative; overflow:hidden; }
.hero__bg { position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(60% 90% at 82% 15%, rgba(201,161,90,.20), transparent 60%),
    radial-gradient(70% 80% at 12% 90%, rgba(31,111,92,.18), transparent 55%),
    linear-gradient(135deg, #f3f7f4 0%, #eaf1ec 100%);
}
.hero__bg::after { content:""; position:absolute; inset:0; opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><path d='M60 18c14 9 21 19 21 31 0 14-9 26-21 31-12-5-21-17-21-31 0-12 7-22 21-31z' fill='none' stroke='%231f6f5c' stroke-opacity='0.06' stroke-width='2'/></svg>");
  background-size:180px 180px; }
:root:is([data-theme]) .hero__bg { }
.hero__inner { position:relative; z-index:1; }

.hero-slider { position:relative; }
.hero-slider__track { position:relative; }
.hero-slide { display:none; animation:heroFade .6s ease; }
.hero-slide.is-active { display:block; }
@keyframes heroFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.hero__title--alt { }
.hero-slider__dots { display:flex; gap:.5rem; margin-top:1.2rem; }
.hero-dot { width:26px; height:5px; border-radius:99px; border:0; background:rgba(20,73,61,.2); cursor:pointer; padding:0; transition:background .2s, width .2s; }
.hero-dot[aria-current="true"] { background:var(--brand); width:38px; }
.hero-slider__nav { position:absolute; top:38%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
  border:1px solid var(--line); background:rgba(255,255,255,.85); color:var(--brand-dark); font-size:1.5rem; line-height:1;
  cursor:pointer; display:none; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,.1); }
.hero-slider:hover .hero-slider__nav { display:flex; }
.hero-slider__nav--prev { left:-8px; }
.hero-slider__nav--next { right:-8px; }
[dir="rtl"] .hero-slider__nav--prev { left:auto; right:-8px; }
[dir="rtl"] .hero-slider__nav--next { right:auto; left:-8px; }
@media (max-width:979px){ .hero-slider__nav { display:none !important; } }
.quote-card { backdrop-filter:saturate(1.1); }

/* ==================== Icônes spécialités ==================== */
.spec-tile__icon { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px;
  border-radius:14px; background:linear-gradient(135deg, rgba(31,111,92,.12), rgba(201,161,90,.16));
  color:var(--brand); margin-bottom:.35rem; transition:transform .18s, background .18s; }
.spec-tile:hover .spec-tile__icon { transform:translateY(-2px) scale(1.05); background:linear-gradient(135deg, rgba(31,111,92,.2), rgba(201,161,90,.26)); }
.ico-svg { display:block; }

/* Touches esthétiques : accent en tête des cartes interventions */
.iv-card { position:relative; overflow:hidden; }
.iv-card::before { content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--brand), var(--accent)); opacity:0; transition:opacity .2s; }
.iv-card:hover::before { opacity:1; }
.dest-card { position:relative; overflow:hidden; }
.dest-card::after { content:""; position:absolute; right:-40px; bottom:-40px; width:150px; height:150px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,161,90,.18), transparent 70%); pointer-events:none; }
[dir="rtl"] .dest-card::after { right:auto; left:-40px; }

/* ==================== Bandeau cookies ==================== */
.cookie { position:fixed; left:0; right:0; bottom:0; z-index:1100; background:var(--brand-dark); color:#fff;
  box-shadow:0 -8px 30px rgba(0,0,0,.25); transform:translateY(110%); transition:transform .3s ease; }
.cookie.is-in { transform:translateY(0); }
.cookie__inner { display:flex; align-items:center; gap:1rem; padding:.9rem 0; flex-wrap:wrap; justify-content:space-between; }
.cookie__text { margin:0; font-size:.86rem; line-height:1.5; max-width:64ch; opacity:.95; }
.cookie__text a { color:#fff; text-decoration:underline; }
.cookie__actions { display:flex; gap:.5rem; flex-shrink:0; }
.cookie .btn--ghost { color:#fff; border:1px solid rgba(255,255,255,.4); background:transparent; }
@media (max-width:600px){ .cookie__actions { width:100%; } .cookie__actions .btn { flex:1; } }

@media (prefers-reduced-motion: reduce){ .hero-slide { animation:none; } .cookie { transition:none; } }

/* ==================== Encarts destinations (top bar) ==================== */
.topbar__row { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.dest-encarts { display:flex; gap:.5rem; }
.encart { display:inline-flex; align-items:center; gap:.5rem; padding:.28rem .7rem; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); color:#fff; text-decoration:none;
  transition:background .15s, transform .15s; line-height:1.1; }
.encart:hover { background:rgba(255,255,255,.24); text-decoration:none; transform:translateY(-1px); }
.encart__flag { font-size:1.05rem; }
.encart__text { display:flex; flex-direction:column; }
.encart__text strong { font-size:.86rem; font-weight:700; }
.encart__text span { font-size:.66rem; letter-spacing:.02em; opacity:.85; text-transform:uppercase; }
.encart--primary { box-shadow:inset 0 0 0 1px rgba(201,161,90,.5); }
.encart--primary .encart__text span { color:var(--accent); opacity:1; }
@media (max-width:600px){ .encart__text span { display:none; } .topbar__msg { display:none; } }

/* ==================== Hero avec photo ==================== */
.hero { color:#fff; }
.hero__bg {
  background:
    linear-gradient(100deg, rgba(13,51,43,.92) 0%, rgba(20,73,61,.78) 40%, rgba(20,73,61,.35) 100%),
    url("/assets/img/photos/consultation.webp") center/cover no-repeat;
}
.hero__bg::after { opacity:.25; }
.hero .hero__eyebrow { color:var(--accent); }
.hero .hero__title, .hero .hero__lead { color:#fff; }
.hero .hero__lead { opacity:.95; }
.hero .hero__trust { color:#fff; }
.hero .btn--outline { color:#fff; border-color:rgba(255,255,255,.65); }
.hero .btn--outline:hover { background:rgba(255,255,255,.14); }
.hero .quote-card { background:rgba(255,255,255,.97); color:var(--ink); }
[dir="rtl"] .hero__bg { background:
  linear-gradient(260deg, rgba(13,51,43,.92) 0%, rgba(20,73,61,.78) 40%, rgba(20,73,61,.35) 100%),
  url("/assets/img/photos/consultation.webp") center/cover no-repeat; }

/* Bandeau image esthétique */
.img-band { position:relative; min-height:300px; display:flex; align-items:center;
  background:linear-gradient(90deg, rgba(20,73,61,.86), rgba(20,73,61,.30)), url("/assets/img/photos/beaute.jpg") center/cover no-repeat;
  color:#fff; }
[dir="rtl"] .img-band { background:linear-gradient(270deg, rgba(20,73,61,.86), rgba(20,73,61,.30)), url("/assets/img/photos/beaute.jpg") center/cover no-repeat; }
.img-band__inner { max-width:620px; padding:3rem 0; }
.img-band h2 { color:#fff; }
.img-band p { opacity:.95; }

/* Photos sur les hero destination */
.page-hero--tunisie { background:
  linear-gradient(160deg, rgba(13,51,43,.90), rgba(20,73,61,.62)),
  url("/assets/img/photos/tunisie-alley.jpg") center/cover no-repeat; color:#fff; }
.page-hero--turquie { background:
  linear-gradient(160deg, rgba(13,51,43,.90), rgba(176,135,63,.68)),
  url("/assets/img/photos/turquie-3.jpg") center 30%/cover no-repeat; color:#fff; }
.page-hero--tunisie .page-hero__title, .page-hero--tunisie .page-hero__lead,
.page-hero--turquie .page-hero__title, .page-hero--turquie .page-hero__lead { color:#fff; }

/* Bénéfices / confiance (inspiré : cartes d'avantages) */
.benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.benefit { display:flex; gap:.9rem; align-items:flex-start; padding:1.3rem 1.4rem; background:var(--bg);
  border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); }
.benefit__ico { flex-shrink:0; width:44px; height:44px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--brand), var(--brand-dark)); color:#fff; box-shadow:0 6px 16px rgba(20,73,61,.25); }
.benefit__title { margin:.1rem 0 .3rem; font-size:1.05rem; }
.benefit__text { margin:0; color:var(--ink-soft); font-size:.94rem; }
@media (max-width:860px){ .benefits { grid-template-columns:1fr; } }

/* ==================== Blocs façon site de référence ==================== */
/* Badges du hero */
.hero__badges { list-style:none; display:flex; flex-wrap:wrap; gap:.6rem; margin:1.3rem 0 0; padding:0; }
.hero__badges li { font-size:.82rem; font-weight:600; color:#fff; padding:.4rem .85rem; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(201,161,90,.55); }

/* Philosophie : numéros */
.benefit__num { flex-shrink:0; font-family:var(--ff-head); font-size:1.5rem; font-weight:700; color:var(--accent-dark);
  width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--brand-soft); }

/* Cartes destination avec photo */
.dest-card--photo { color:#fff; background-size:cover; background-position:center; min-height:260px;
  display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; }
.dest-card--photo::after { display:none; }
.dest-card--photo h3, .dest-card--photo p { color:#fff; }
.dest-card--photo:hover { text-decoration:none; transform:translateY(-3px); }
.link-arrow--light { color:#fff; font-weight:600; }

/* Carrousel d'interventions */
.showcase { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px, 1fr); gap:1.1rem;
  overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:1rem; }
.showcase::-webkit-scrollbar { height:8px; } .showcase::-webkit-scrollbar-thumb { background:var(--line); border-radius:9px; }
.showcase-card { scroll-snap-align:start; background:var(--bg); border:1px solid var(--line); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.showcase-card__media { display:flex; align-items:center; justify-content:center; height:120px; color:#fff;
  background:linear-gradient(135deg, var(--brand), var(--brand-dark)); }
.showcase-card__ico { width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.16);
  display:flex; align-items:center; justify-content:center; }
.showcase-card__body { padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.4rem; }
.showcase-card__title { font-size:1.08rem; margin:0; }
.showcase-card__text { color:var(--ink-soft); font-size:.9rem; margin:0 0 .3rem; }

/* Split texte / média */
.split { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; }
.split__media { min-height:320px; border-radius:var(--radius-lg); background-size:cover; background-position:center; box-shadow:var(--shadow); }
.split__badges { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0 1.4rem; }
.statbadge { font-size:.85rem; font-weight:600; color:var(--brand-dark); background:var(--brand-soft);
  border:1px solid var(--line); padding:.45rem .9rem; border-radius:999px; }
[dir="rtl"] .split { direction:rtl; }
@media (max-width:860px){ .split { grid-template-columns:1fr; } .split__media { min-height:220px; order:-1; } }

/* Timeline 5 étapes */
.timeline { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; counter-reset:step; }
.timeline__step { position:relative; padding-top:.4rem; }
.timeline__num { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg, var(--brand), var(--brand-dark)); color:#fff; font-weight:700; font-family:var(--ff-head); margin-bottom:.6rem; }
.timeline__title { font-size:1rem; margin:0 0 .3rem; }
.timeline__text { font-size:.88rem; color:var(--ink-soft); margin:0; }
@media (max-width:860px){ .timeline { grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .timeline { grid-template-columns:1fr; } }

/* À découvrir également */
.explore-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.explore-link { display:block; padding:.9rem 1.1rem; background:var(--bg-soft); border:1px solid var(--line);
  border-radius:var(--radius); color:var(--brand-dark); font-weight:600; transition:background .15s, transform .15s; }
.explore-link:hover { background:var(--brand-soft); transform:translateX(3px); text-decoration:none; }
@media (max-width:760px){ .explore-grid { grid-template-columns:1fr; } }

/* Bloc « Parlons de votre projet » (contact + formulaire) */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
.contact-points { list-style:none; margin:1.2rem 0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.contact-points li { display:flex; align-items:center; gap:.6rem; color:var(--ink); }
.contact-points span { width:30px; height:30px; border-radius:50%; background:var(--brand-soft); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-cta { display:flex; flex-wrap:wrap; gap:.6rem; margin:.3rem 0 .8rem; }
.contact-grid__form { background:var(--bg); border:1px solid var(--line); border-radius:var(--radius-lg); padding:.4rem; box-shadow:var(--shadow-sm); }
@media (max-width:860px){ .contact-grid { grid-template-columns:1fr; } }

/* ==================== Encart destination : méga-panneau spécialités ==================== */
.encart-wrap { position: static; }
.encart__caret { font-size:.58rem; opacity:.7; margin-left:.05rem; }
.dest-encarts .encart[aria-expanded="true"] { background:rgba(255,255,255,.30); }
.dest-mega { position:absolute; left:0; right:0; top:100%; z-index:130;
  background:#fff; color:var(--ink); border-bottom:1px solid var(--line);
  box-shadow:var(--shadow-lg); opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s; }
.has-dest-mega:hover .dest-mega,
.has-dest-mega:focus-within .dest-mega,
.has-dest-mega.open .dest-mega { opacity:1; visibility:visible; transform:none; }
.dest-mega__inner { width:min(100% - 2.4rem, var(--container)); margin-inline:auto; padding:1.6rem 0 1.8rem; }
.dest-mega__eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; color:var(--accent-dark); margin:0 0 1.1rem; font-weight:700; }
.dest-mega__eyebrow strong { color:var(--brand-dark); }
.dest-mega__grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.3rem 1.6rem; }
.dest-mega__title { display:flex; align-items:center; gap:.5rem; font-weight:700; color:var(--brand-dark);
  font-family:var(--ff-head); margin-bottom:.55rem; font-size:.93rem; line-height:1.2; }
.dest-mega__title:hover { color:var(--accent-dark); text-decoration:none; }
.dest-mega__ico { width:30px; height:30px; border-radius:8px; flex:none; color:var(--brand);
  background:linear-gradient(135deg, rgba(31,111,92,.12), rgba(201,161,90,.18)); display:inline-flex; align-items:center; justify-content:center; }
.dest-mega__ico .ico-svg { width:17px; height:17px; }
.dest-mega__links { list-style:none; margin:0; padding:0; }
.dest-mega__links li { margin-bottom:.24rem; }
.dest-mega__links a { color:var(--ink-soft); font-size:.85rem; }
.dest-mega__links a:hover { color:var(--brand-dark); }
.dest-mega__more { color:var(--accent-dark) !important; font-weight:600; }
.dest-mega__all { margin-top:1.4rem; }
@media (min-width:980px) and (max-width:1180px){ .dest-mega__grid { grid-template-columns:repeat(4,1fr); } }
/* Dans le menu principal mobile (nav coulissante) : accordéon */
@media (max-width:979px){
  .dest-mega { position:static; z-index:auto; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; display:none; background:transparent; }
  .has-dest-mega.open .dest-mega { display:block; }
  .dest-mega__inner { width:auto; padding:.4rem 0 .8rem; }
  .dest-mega__eyebrow { margin-bottom:.6rem; }
  .dest-mega__grid { grid-template-columns:1fr; gap:.9rem; }
  .dest-mega__all { margin-top:1rem; }
}

/* ==================== Cartes intervention avec photo (carrousel raffiné) ==================== */
.showcase-card__media { position:relative; height:190px; background-size:cover; background-position:center;
  overflow:hidden; display:block; }
.showcase-card__media::before { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(13,51,43,0) 35%, rgba(13,51,43,.72) 100%); transition:background .25s; }
.showcase-card__media::after { display:none; }
.showcase-card__ico { position:absolute; top:.7rem; left:.7rem; width:40px; height:40px; z-index:2;
  background:rgba(255,255,255,.9); color:var(--brand); box-shadow:var(--shadow-sm); }
.showcase-card__tag { position:absolute; left:.8rem; bottom:.7rem; z-index:2; color:#fff; font-weight:700;
  font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; opacity:.92; }
.showcase-card { transition:transform .2s, box-shadow .2s; }
.showcase-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.showcase-card:hover .showcase-card__media { transform:none; }
.showcase-card:hover .showcase-card__media::before { background:linear-gradient(180deg, rgba(31,111,92,.15) 0%, rgba(13,51,43,.78) 100%); }
.showcase-card__media img, .showcase-card__zoom { transition:transform .4s ease; }
.showcase-card:hover .showcase-card__zoom { transform:scale(1.06); }
.showcase-card__zoom { position:absolute; inset:0; background-size:cover; background-position:center; }

/* ==================== Galerie ambiance (plus de photos) ==================== */
.gallery { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:1rem; }
.gallery__item { position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);
  background-size:cover; background-position:center; display:flex; align-items:flex-end; text-decoration:none; }
.gallery__item::before { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(13,51,43,0) 40%, rgba(13,51,43,.7) 100%); transition:background .25s; }
.gallery__item:hover::before { background:linear-gradient(180deg, rgba(31,111,92,.2) 0%, rgba(13,51,43,.78) 100%); }
.gallery__cap { position:relative; z-index:1; color:#fff; font-weight:700; padding:1rem 1.1rem; font-size:.98rem;
  text-shadow:0 1px 6px rgba(0,0,0,.4); }
.gallery__item--tall { grid-row:span 2; }
.gallery__item--wide { grid-column:span 2; }
.gallery__zoom { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s ease; }
.gallery__item:hover .gallery__zoom { transform:scale(1.05); }
@media (max-width:900px){ .gallery { grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; } .gallery__item--wide { grid-column:span 2; } }
@media (max-width:520px){ .gallery { grid-template-columns:1fr 1fr; grid-auto-rows:130px; } .gallery__item--wide, .gallery__item--tall { grid-column:auto; grid-row:auto; } }

/* Section eyebrow (petite étiquette au-dessus des titres) */
.section__eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; font-weight:700;
  color:var(--accent-dark); margin:0 0 .5rem; }
.section--soft .section__eyebrow { color:var(--accent-dark); }
