/* Campy Yallaa V9 — unified customer-facing SaaS design layer.
 * Business rules remain in Campy Core. This file is intentionally presentational.
 */
:root{
  --cy9-forest:#103b2b;--cy9-forest-2:#0b2d21;--cy9-green:#2f6d4f;--cy9-mint:#eaf4ec;
  --cy9-orange:#ff7a2f;--cy9-orange-2:#e9611b;--cy9-cream:#f6f3ea;--cy9-bg:#f8faf8;
  --cy9-white:#fff;--cy9-text:#183126;--cy9-muted:#66776f;--cy9-line:#dfe8e2;
  --cy9-shadow:0 18px 60px rgba(16,59,43,.10);--cy9-shadow-soft:0 10px 34px rgba(16,59,43,.07);
  --cy9-radius:22px;--cy9-radius-sm:14px;--cy9-max:1240px;
}
body.campy-v9-public{background:var(--cy9-bg);color:var(--cy9-text);font-feature-settings:"kern" 1,"liga" 1}
body.campy-v9-public #cy-content{overflow:clip}
body.campy-v9-public .cy-container{max-width:var(--cy9-max)}
body.campy-v9-public h1,body.campy-v9-public h2,body.campy-v9-public h3{letter-spacing:-.035em;color:var(--cy9-forest-2)}
body.campy-v9-public p{color:var(--cy9-muted)}
/* 29/09/2026 : bug trouvé en audit — la règle générale ci-dessus (titres en vert
   foncé, pensée pour du texte sur fond clair) a une spécificité CSS plus forte
   que .campy-v8-hero h1/p (blanc) du hero Elementor de l'accueil, donc le vert
   foncé gagnait même sur la photo sombre du hero — titre et sous-titre presque
   illisibles. On rétablit le blanc explicitement pour ce hero précis. */
body.campy-v9-public .campy-v8-hero h1,body.campy-v9-public .campy-v8-hero h2{color:#fff!important}
body.campy-v9-public .campy-v8-hero p{color:rgba(255,255,255,.88)!important}
/* 29/09/2026 : même bug, même cause, autre bloc Elementor — le bandeau CTA
   "Prêt pour la prochaine aventure ?" (.campy-v8-cta) est aussi en fond sombre
   et perdait sa couleur blanche face à la règle générale h1/h2/h3 ci-dessus. */
body.campy-v9-public .campy-v8-cta h2{color:#fff!important}
.cy-v9-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;line-height:1;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.cy-v9-kicker--dark{color:var(--cy9-green)}
.cy-v9-btn{min-height:48px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:850;text-decoration:none;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.cy-v9-btn:hover{transform:translateY(-2px)}
.cy-v9-btn--primary{background:var(--cy9-orange);color:#fff;box-shadow:0 12px 28px rgba(255,122,47,.25)}
.cy-v9-btn--primary:hover{background:var(--cy9-orange-2);color:#fff}
.cy-v9-btn--secondary{background:var(--cy9-forest);color:#fff}
.cy-v9-btn--glass{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(12px)}
.cy-v9-text-link{font-weight:850;color:var(--cy9-forest);text-decoration:none}

/* Header */
/* 29/09/2026 : bug trouvé en vérifiant l'espacement mobile — brand.css réserve
   `body.cyh-body{padding-top:var(--cyh-h,88px)}` pour compenser un header en
   position:fixed (qui sort du flux). Ici .cyh passe en position:sticky, qui
   reste DANS le flux et réserve déjà sa propre place : ce padding-top devenait
   redondant et ajoutait ~89px de vide entre la barre d'admin et le header sur
   toutes les pages (plus gênant sur petit écran). On l'annule pour ce thème. */
body.campy-v9-public.cyh-body{padding-top:0}
body.campy-v9-public .cyh{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.90);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,59,43,.07);transition:box-shadow .2s ease,background .2s ease}
body.campy-v9-public .cyh.is-scrolled{box-shadow:0 10px 35px rgba(16,59,43,.09);background:rgba(255,255,255,.97)}
body.campy-v9-public .cyh__bar{max-width:1320px;min-height:76px;padding-left:22px;padding-right:22px}
/* 29/09/2026 : bug trouvé — le padding/min-height ci-dessus est appliqué sans
   condition, il écrase donc aussi le padding plus compact (8px) et l'absence
   de min-height que brand.css réservait au mobile (<700px), et pousse trop
   d'air autour du logo/burger/panier sur téléphone. On rétablit un espacement
   resserré sous 700px, cohérent avec le reste du header mobile. */
@media(max-width:700px){
  body.campy-v9-public .cyh__bar{min-height:0;padding-left:10px;padding-right:8px}
}
body.campy-v9-public .cyh__brand img{width:54px;height:54px;object-fit:contain}
body.campy-v9-public .cyh__nav ul{gap:3px}
body.campy-v9-public .cyh__nav a{padding:10px 12px;border-radius:999px;font-size:.88rem;font-weight:760;color:#385248}
body.campy-v9-public .cyh__nav a:hover,body.campy-v9-public .cyh__nav a.is-current{background:#eef5ef;color:var(--cy9-forest)}
body.campy-v9-public .cyh__cta{background:var(--cy9-forest);border-radius:999px;padding:12px 18px;box-shadow:none}
body.campy-v9-public .cyh__account{border-radius:999px;background:#f3f7f4;border:1px solid var(--cy9-line)}

/* Home hero */
.cy-v9-hero{position:relative;min-height:690px;background-image:var(--cy-v9-hero);background-size:cover;background-position:center;isolation:isolate}
.cy-v9-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.cy-v9-hero__overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,30,21,.91) 0%,rgba(8,39,27,.78) 45%,rgba(8,39,27,.24) 75%,rgba(8,39,27,.14) 100%),linear-gradient(0deg,rgba(5,26,18,.45),transparent 55%)}
.cy-v9-hero__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.72fr);gap:64px;align-items:center;min-height:690px;padding-top:70px!important;padding-bottom:70px!important}
.cy-v9-hero__copy{max-width:720px}
.cy-v9-hero__copy h1{font-size:clamp(3.1rem,6.2vw,6.4rem);line-height:.92;letter-spacing:-.065em;color:#fff;margin:0 0 24px;max-width:760px}
.cy-v9-hero__copy h1 em{font-style:normal;color:#ff9a62}
.cy-v9-hero__copy>p{max-width:680px;font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.83);margin:0 0 26px}
.cy-v9-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.cy-v9-trust{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.cy-v9-trust span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.17);border-radius:999px;color:rgba(255,255,255,.88);font-size:.78rem;font-weight:740;background:rgba(255,255,255,.07)}.cy-v9-trust svg{width:14px;height:14px;color:#b7e2c4}
.cy-v9-hero__panel{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.72);border-radius:28px;padding:27px;box-shadow:0 30px 90px rgba(0,0,0,.25);backdrop-filter:blur(18px)}
.cy-v9-panel__head>span{font-size:.67rem;font-weight:900;letter-spacing:.13em;color:var(--cy9-green)}
.cy-v9-panel__head h2{font-size:2rem;margin:7px 0 7px}.cy-v9-panel__head p{font-size:.9rem;margin:0 0 18px}
.cy-v9-panel__foot{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--cy9-line);font-size:.72rem;font-weight:780;color:#6e7d75}
.cy-v9-hero__panel .cy-discovery-search{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;background:transparent!important;padding:0!important;box-shadow:none!important;border:0!important}
.cy-v9-hero__panel .cy-discovery-search label{background:#f7f9f7;border:1px solid var(--cy9-line);border-radius:14px;padding:10px 12px}
.cy-v9-hero__panel .cy-discovery-search button{min-height:52px;border-radius:14px;background:var(--cy9-orange)}

/* Journey */
.cy-v9-journey-section{position:relative;margin-top:-30px;z-index:4}
.cy-v9-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--cy9-line);border-radius:22px;box-shadow:var(--cy9-shadow);overflow:hidden}
.cy-v9-journey a{display:flex;gap:13px;align-items:center;padding:20px 22px;text-decoration:none;border-right:1px solid var(--cy9-line);transition:background .18s ease}.cy-v9-journey a:last-child{border-right:0}.cy-v9-journey a:hover{background:#f5f9f6}.cy-v9-journey b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:var(--cy9-mint);color:var(--cy9-green);font-size:.75rem}.cy-v9-journey strong{display:block;color:var(--cy9-text);font-size:.9rem}.cy-v9-journey small{display:block;color:var(--cy9-muted);font-size:.72rem;margin-top:2px}

/* Sections */
.cy-v9-section{padding-top:92px!important;padding-bottom:92px!important}.cy-v9-section--surface{background:#fff}.cy-v9-section-head{margin-bottom:34px}.cy-v9-section-head--center{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.cy-v9-section-head--split{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.cy-v9-section-head h2{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.02;margin:0 0 10px}.cy-v9-section-head p{margin:0;font-size:1rem}

/* Existing V7.2 category/product/pack renderers styled as V9 */
body.campy-v9-public .cy-v72-categories{gap:14px}.cy-v72-category{border-radius:20px!important;overflow:hidden!important;box-shadow:none!important;border:1px solid var(--cy9-line)!important;background:#fff!important}.cy-v72-category img{aspect-ratio:1/1;object-fit:cover;transition:transform .25s ease}.cy-v72-category:hover img{transform:scale(1.035)}.cy-v72-category span{font-weight:850!important}
body.campy-v9-public .cy-v72-products,body.campy-v9-public .cy-v72-packs{gap:18px}.cy-v72-product,.cy-v72-pack{border:1px solid var(--cy9-line)!important;border-radius:20px!important;box-shadow:none!important;background:#fff!important;overflow:hidden}.cy-v72-product:hover,.cy-v72-pack:hover{transform:translateY(-4px);box-shadow:var(--cy9-shadow-soft)!important}.cy-v72-product__media img,.cy-v72-pack__media img{aspect-ratio:4/3;object-fit:cover}.cy-v72-product__body,.cy-v72-pack__body{padding:18px!important}.cy-v72-product__body>span,.cy-v72-pack__body>span{font-size:.68rem!important;letter-spacing:.1em!important;color:var(--cy9-green)!important;font-weight:850!important}.cy-v72-product__body h3,.cy-v72-pack__body h3{font-size:1.14rem!important}.cy-v72-product__cta{font-weight:820!important;color:var(--cy9-forest)!important}

/* Concierge block */
.cy-v9-concierge{padding:92px 0;background:var(--cy9-forest-2);color:#fff}.cy-v9-concierge__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.cy-v9-concierge__media img{width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:28px;box-shadow:0 28px 70px rgba(0,0,0,.25)}.cy-v9-concierge__copy h2{font-size:clamp(2.2rem,4.4vw,4.1rem);line-height:1;color:#fff}.cy-v9-concierge__copy p{color:rgba(255,255,255,.73);font-size:1.04rem;line-height:1.75}.cy-v9-feature-list{display:grid;gap:8px;margin:24px 0}.cy-v9-feature-list span{display:flex;gap:12px;align-items:center;color:#fff;font-weight:760}.cy-v9-feature-list b{display:grid;place-items:center;width:34px;height:34px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:11px;font-size:.7rem;color:#bfe1c8}

/* Lifecycle */
.cy-v9-lifecycle{padding:95px 0;background:linear-gradient(150deg,#123e2d,#0a2b20);color:#fff}.cy-v9-lifecycle .cy-v9-section-head h2{color:#fff}.cy-v9-lifecycle .cy-v9-section-head p{color:rgba(255,255,255,.68)}.cy-v9-lifecycle__steps{list-style:none;margin:45px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}.cy-v9-lifecycle__steps:before{content:"";position:absolute;top:27px;left:7%;right:7%;height:1px;background:rgba(255,255,255,.16)}.cy-v9-lifecycle__steps li{position:relative;padding:0 14px;text-align:center}.cy-v9-lifecycle__steps li>b{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;margin:0 auto 17px;border-radius:18px;background:#1d523c;border:1px solid rgba(255,255,255,.15);color:#bfe1c8;font-size:.7rem}.cy-v9-lifecycle__steps li span{text-transform:uppercase;letter-spacing:.09em;font-size:.62rem;font-weight:900;color:#9bc8aa}.cy-v9-lifecycle__steps h3{color:#fff;font-size:1rem;margin:6px 0}.cy-v9-lifecycle__steps p{font-size:.78rem;color:rgba(255,255,255,.62);line-height:1.55;margin:0}

/* Story */
.cy-v9-story{padding-top:95px!important;padding-bottom:95px!important}.cy-v9-story__card{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--cy9-line);border-radius:28px;overflow:hidden;box-shadow:var(--cy9-shadow-soft)}.cy-v9-story__media img{width:100%;height:100%;min-height:520px;object-fit:cover}.cy-v9-story__copy{padding:55px}.cy-v9-story__copy h2{font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.03}.cy-v9-story__copy ul{padding:0;list-style:none;margin:25px 0;display:grid;gap:10px}.cy-v9-story__copy li{position:relative;padding-left:28px;font-weight:730;color:#385148}.cy-v9-story__copy li:before{content:"✓";position:absolute;left:0;color:var(--cy9-green);font-weight:900}
.cy-v9-final{position:relative;min-height:470px;display:grid;place-items:center;background-image:var(--cy-v9-final);background-size:cover;background-position:center;isolation:isolate}.cy-v9-final__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,39,27,.9),rgba(8,39,27,.55));z-index:-1}.cy-v9-final__inner{text-align:center;max-width:770px}.cy-v9-final h2{font-size:clamp(2.7rem,5vw,4.7rem);color:#fff}.cy-v9-final p{color:rgba(255,255,255,.75);font-size:1.04rem}.cy-v9-final .cy-v9-hero__actions{justify-content:center}

/* Search component */
.cy-v9-search-surface{margin:26px 0 20px;background:#fff;border:1px solid var(--cy9-line);border-radius:20px;padding:12px;box-shadow:var(--cy9-shadow-soft)}
body.campy-v9-public .cy-discovery-search{border:0;box-shadow:none}.cy-discovery-search label span{font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#76877f}.cy-discovery-search input,.cy-discovery-search select{font-weight:760;color:var(--cy9-text)}.cy-discovery-search .cy-search-submit{background:var(--cy9-orange)!important;border-radius:14px!important;box-shadow:0 8px 20px rgba(255,122,47,.2)}

/* Catalog */
.cy-v9-catalog{padding-top:55px!important;padding-bottom:95px!important}.cy-v9-catalog__hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:end;padding:42px 0 20px}.cy-v9-catalog__copy h1{font-size:clamp(2.8rem,5.2vw,5rem);line-height:.95;margin:0 0 13px}.cy-v9-catalog__copy>p{font-size:1.02rem;margin:0}.cy-v9-catalog__context{background:var(--cy9-forest);color:#fff;border-radius:20px;padding:22px;box-shadow:var(--cy9-shadow-soft)}.cy-v9-catalog__context>*{display:block}.cy-v9-context-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#bfe1c8}.cy-v9-catalog__context strong{font-size:1.1rem;margin:7px 0 3px}.cy-v9-catalog__context small{color:rgba(255,255,255,.65)}.cy-v9-catalog__context a{margin-top:15px;color:#fff;font-size:.82rem;font-weight:850;text-decoration:none}.cy-v9-catalog__toolbar{background:#fff;border:1px solid var(--cy9-line);border-radius:18px;margin-bottom:15px;overflow:hidden}.cy-v9-catalog__toolbar .cy-filter-bar{padding:10px;border:0}.cy-v9-catalog__toolbar .cy-advanced-filters{border-top:1px solid var(--cy9-line);padding:16px}.cy-v9-results-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 16px}.cy-v9-results-head p{margin:0;color:var(--cy9-text);font-weight:850}.cy-v9-results-head div>span{font-size:.78rem;color:var(--cy9-muted)}.cy-v9-availability-chip{padding:8px 11px;background:#eaf5ec;border:1px solid #cfe4d5;border-radius:999px;color:#246144;font-size:.74rem;font-weight:850}
body.campy-v9-public .cy-product-grid{gap:20px}.cy-product-card{background:#fff!important;border:1px solid var(--cy9-line)!important;border-radius:20px!important;box-shadow:none!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.cy-product-card:hover{transform:translateY(-4px);box-shadow:var(--cy9-shadow-soft)!important}.cy-product-image{background:#f2f5f2}.cy-product-image>a img{aspect-ratio:4/3;object-fit:cover}.cy-product-tag{background:rgba(16,59,43,.88)!important;color:#fff!important;border:0!important}.cy-product-title{padding:16px 17px 0!important;align-items:flex-start!important}.cy-product-title h3{font-size:1.06rem!important;margin:0!important}.cy-product-title>span{background:#f1f6f2;border-radius:999px;padding:5px 8px;font-size:.68rem}.cy-product-caption,.cy-product-price,.cy-product-deposit{margin-left:17px!important;margin-right:17px!important}.cy-product-caption.is-available{color:#297247!important;font-weight:850}.cy-product-price strong{font-size:1.08rem}.cy-product-deposit{padding-bottom:15px!important;font-size:.72rem!important}.cy-favorite{border-radius:999px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 4px 14px rgba(0,0,0,.08)}

/* Product detail */
.cy-v9-product{padding-top:52px!important;padding-bottom:90px!important}.cy-v9-product__head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:28px}.cy-v9-product__head h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:.95;margin:0 0 13px}.cy-v9-product__meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--cy9-muted);font-size:.83rem;font-weight:720}.cy-v9-product__meta span{display:flex;align-items:center;gap:6px}.cy-v9-product__meta svg{width:16px;height:16px}.cy-v9-product__layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:34px;align-items:start}.cy-v9-product__gallery,.cy-v9-product__cover{background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--cy9-line);box-shadow:var(--cy9-shadow-soft)}.cy-v9-product__facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 42px}.cy-v9-product__facts>div{padding:17px;background:#fff;border:1px solid var(--cy9-line);border-radius:16px;min-height:104px}.cy-v9-product__facts span,.cy-v9-product__facts small{display:block;color:var(--cy9-muted);font-size:.7rem}.cy-v9-product__facts strong{display:block;color:var(--cy9-text);font-size:.98rem;margin:6px 0 2px}.cy-v9-product__intro{padding:10px 0 35px}.cy-v9-product__intro h2{font-size:2.25rem}.cy-v9-detail-section{padding:31px 0;border-top:1px solid var(--cy9-line)}.cy-v9-detail-section__head{display:flex;align-items:center;gap:12px;margin-bottom:17px}.cy-v9-detail-section__head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--cy9-mint);font-size:.65rem;font-weight:900;color:var(--cy9-green)}.cy-v9-detail-section h2{margin:0;font-size:1.45rem}.cy-v9-faq-grid{display:grid;gap:8px}.cy-v9-faq-grid details{background:#fff;border:1px solid var(--cy9-line);border-radius:14px;padding:15px 17px}.cy-v9-faq-grid summary{font-weight:820;cursor:pointer}.cy-v9-booking-panel{position:sticky;top:98px;background:#fff;border:1px solid var(--cy9-line);border-radius:24px;padding:22px;box-shadow:var(--cy9-shadow)}.cy-v9-booking-panel__head{padding-bottom:17px;margin-bottom:15px;border-bottom:1px solid var(--cy9-line)}.cy-v9-booking-panel__head>span{font-size:.64rem;letter-spacing:.12em;font-weight:900;color:var(--cy9-green)}.cy-v9-booking-panel__head h2{font-size:1.55rem;margin:5px 0}.cy-v9-booking-panel__head p{font-size:.82rem;margin:0}.cy-v9-booking-trust{display:grid;gap:7px;padding:15px 0;margin-top:10px;border-top:1px solid var(--cy9-line);font-size:.73rem;color:#4e655a;font-weight:760}.cy-v9-related{padding-bottom:90px!important}

/* Public app / transaction surfaces */
.cy-v9-transaction-page{padding:50px 18px 95px;background:linear-gradient(180deg,#f2f6f3,#f8faf8 400px)}.cy-v9-transaction-shell{max-width:1180px;margin:0 auto}.cy-v9-transaction-page .cy-customer{max-width:1180px;margin:0 auto}.cy-v9-transaction-page .cy-steps--saas{background:#fff;border:1px solid var(--cy9-line);border-radius:20px;padding:13px;box-shadow:var(--cy9-shadow-soft)}.cy-v9-transaction-page .cy-cart2-head,.cy-v9-transaction-page .cy-co-head{padding:30px 0 20px}.cy-v9-transaction-page .cy-cart2-head h1,.cy-v9-transaction-page .cy-co-head h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95}.cy-v9-transaction-page .cy-cart2-card,.cy-v9-transaction-page .cy-co-section,.cy-v9-transaction-page .cy-order-summary,.cy-v9-transaction-page .cy-panel{border-radius:20px!important;border-color:var(--cy9-line)!important;box-shadow:var(--cy9-shadow-soft)!important}.cy-v9-transaction-page input,.cy-v9-transaction-page select,.cy-v9-transaction-page textarea{border-radius:12px!important}.cy-v9-transaction-page .cy-btn--primary,.cy-v9-transaction-page button[type=submit]{border-radius:14px!important;background:var(--cy9-orange)!important}
.cy-v9-app-page{padding:42px 0 95px;background:linear-gradient(180deg,#f2f6f3,#f8faf8 450px)}.cy-v9-app-page .cy-v6-concierge__shell,.cy-v9-app-page .cy-pack-builder,.cy-v9-app-page .cy-adventure__shell{max-width:1180px;margin-left:auto;margin-right:auto}.cy-v9-app-page .cy-v6-concierge__intro,.cy-v9-app-page .cy-pack-builder__hero,.cy-v9-app-page .cy-adventure__hero{border-radius:26px!important;overflow:hidden}.cy-v9-app-page .cy-v6-concierge__workspace,.cy-v9-app-page .cy-pack-builder__layout,.cy-v9-app-page .cy-adventure__layout{border-radius:22px!important}.cy-v9-app-page .cy-v6-concierge__submit,.cy-v9-app-page .cy-btn--primary{background:var(--cy9-orange)!important;border-radius:14px!important}

/* Client account / My Campy rendered by Core */
body.campy-v9-public .cy-acct-app{background:var(--cy9-bg)!important}.cy-acct .cy-acct-card,.cy-cc .cy-cc-card,.cy-cc-focus,.cy-cc-quick{border-radius:20px!important;border-color:var(--cy9-line)!important;box-shadow:var(--cy9-shadow-soft)!important}.cy-acct-btn,.cy-cc a.cy-acct-btn{border-radius:12px!important}.cy-acct-eyebrow{color:var(--cy9-green)!important}.cy-acct h1,.cy-cc h1{letter-spacing:-.04em!important}

/* Content pages */
.cy-v9-content-page{padding-top:55px!important;padding-bottom:95px!important}.cy-v9-page-hero{max-width:850px;padding:25px 0 28px}.cy-v9-page-hero h1{font-size:clamp(2.7rem,5vw,4.8rem)}.cy-v9-page-image{border-radius:26px;overflow:hidden;box-shadow:var(--cy9-shadow-soft);margin-bottom:32px}.cy-v9-page-content{max-width:920px}.cy-v9-page-content>p{font-size:1.02rem;line-height:1.75}.cy-v9-page-content h2{font-size:2rem;margin-top:35px}.cy-v9-page-content form,.cy-v9-page-content .cy-panel{background:#fff;border:1px solid var(--cy9-line);border-radius:20px;padding:24px;box-shadow:var(--cy9-shadow-soft)}

/* Error */
.cy-v9-error{min-height:640px;display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:60px;padding-top:80px!important;padding-bottom:80px!important}.cy-v9-error__code{font-size:clamp(7rem,18vw,14rem);font-weight:950;letter-spacing:-.09em;color:#dce9df;line-height:.8}.cy-v9-error__copy h1{font-size:clamp(2.7rem,5vw,4.8rem)}.cy-v9-error__copy p{max-width:620px;font-size:1.03rem}.cy-v9-error__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

/* Footer */
body.campy-v9-public .cyf{background:#08291e}.cyf__cta{background:#103b2b!important}.cyf__wrap{max-width:1240px!important}.cyf__grid{gap:44px!important}.cyf h3{color:#fff!important}.cy-bottom-nav a.is-current{color:var(--cy9-orange)!important}

/* Focus */
body.campy-v9-public :focus-visible{outline:3px solid rgba(255,122,47,.45);outline-offset:3px}

@media(max-width:1080px){
  .cy-v9-hero__inner{grid-template-columns:1fr;gap:32px;padding-top:60px!important;padding-bottom:80px!important}.cy-v9-hero__copy{max-width:800px}.cy-v9-hero__panel{max-width:650px;width:100%}.cy-v9-concierge__grid,.cy-v9-story__card{grid-template-columns:1fr}.cy-v9-story__media img{min-height:390px}.cy-v9-lifecycle__steps{grid-template-columns:repeat(3,1fr);gap:25px}.cy-v9-lifecycle__steps:before{display:none}
  /* 29/09/2026 : demande de Mounir — le formulaire de réservation doit rester
     à côté de l'image (2 colonnes) sur les petits laptops/tablettes, pas
     seulement au-delà de 1080px. On ne réduit que la largeur de la colonne
     réservation ; l'empilement complet est repoussé à 820px (vrai mobile).
     Réappliqué le 29/09 après écrasement par l'installation V10.8. */
  .cy-v9-product__layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px}
  .cy-v9-product__facts{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .cy-v9-hero{min-height:0}.cy-v9-hero__inner{min-height:0;padding-top:50px!important}.cy-v9-hero__copy h1{font-size:clamp(2.9rem,12vw,4.6rem)}.cy-v9-journey{grid-template-columns:repeat(2,1fr)}.cy-v9-journey a:nth-child(2){border-right:0}.cy-v9-journey a:nth-child(-n+2){border-bottom:1px solid var(--cy9-line)}.cy-v9-section{padding-top:70px!important;padding-bottom:70px!important}.cy-v9-section-head--split{display:block}.cy-v9-section-head--split>a{display:inline-flex;margin-top:14px}.cy-v9-catalog__hero{grid-template-columns:1fr}.cy-v9-catalog__context{max-width:none}.cy-v9-results-head{align-items:flex-start}.cy-v9-lifecycle__steps{grid-template-columns:1fr 1fr}.cy-v9-story__copy{padding:35px}.cy-v9-error{grid-template-columns:1fr;gap:25px;min-height:520px}.cy-v9-error__code{font-size:8rem}.cy-v9-product__head{display:block}.cy-v9-product__head .cy-favorite{margin-top:15px}
  /* 29/09/2026 : empilement réel (image puis formulaire) seulement à partir
     d'ici — vrai mobile, pas les laptops/tablettes. */
  .cy-v9-product__layout{grid-template-columns:1fr}.cy-v9-booking-panel{position:relative;top:auto}.cy-v9-product__facts{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .cy-v9-hero__inner{padding:38px 18px 64px!important}.cy-v9-hero__copy h1{font-size:2.8rem}.cy-v9-hero__copy>p{font-size:.96rem}.cy-v9-hero__panel{padding:20px;border-radius:20px}.cy-v9-panel__foot{display:grid}.cy-v9-journey-section{margin-top:-22px}.cy-v9-journey{grid-template-columns:1fr}.cy-v9-journey a{border-right:0!important;border-bottom:1px solid var(--cy9-line)!important;padding:14px 16px}.cy-v9-journey a:last-child{border-bottom:0!important}.cy-v9-section{padding-top:58px!important;padding-bottom:58px!important}.cy-v9-section-head h2{font-size:2.25rem}.cy-v9-concierge{padding:58px 0}.cy-v9-concierge__grid{gap:30px}.cy-v9-concierge__copy h2{font-size:2.4rem}.cy-v9-lifecycle{padding:58px 0}.cy-v9-lifecycle__steps{grid-template-columns:1fr}.cy-v9-lifecycle__steps li{display:grid;grid-template-columns:54px 1fr;text-align:left;gap:14px;padding:0}.cy-v9-lifecycle__steps li>b{margin:0}.cy-v9-story__copy{padding:27px 22px}.cy-v9-story__media img{min-height:260px}.cy-v9-product__facts{grid-template-columns:1fr 1fr}.cy-v9-product__head h1{font-size:2.8rem}.cy-v9-catalog__copy h1{font-size:3rem}.cy-v9-search-surface{padding:8px}.cy-v9-results-head{display:block}.cy-v9-availability-chip{display:inline-flex;margin-top:10px}.cy-v9-transaction-page{padding-left:10px;padding-right:10px}.cy-v9-final{min-height:410px}.cy-v9-error{padding-top:40px!important}.cy-v9-error__actions .cy-v9-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.cy-v9-hero__video{display:none}.cy-v9-btn:hover,.cy-product-card:hover,.cy-v72-product:hover,.cy-v72-pack:hover{transform:none}}

/* V9.0.1 — booking widget visibility/fallback on native product pages. */
.cy-v9-booking-missing{padding:18px;border:1px solid rgba(171,59,38,.22);border-radius:14px;background:#fff5f1;color:#7e2d20}
.cy-v9-booking-missing strong{display:block;margin-bottom:6px;font-weight:800}
.cy-v9-booking-missing p{margin:0;color:inherit;opacity:.88}
.cy-v9-booking-panel .cy-booking{display:block!important;visibility:visible!important;opacity:1!important}
