/* ORTENEO Skin Science — Design System */
:root{
  color-scheme: light only;
  --navy:#00102A; --navy2:#00142F; --navy3:#061B3D;
  --white:#FFFFFF; --off:#F8F8F7; --soft:#FAFAF9;
  --border:#E5E5E5; --border2:#ECECEC;
  --gold:#D4B06A; --gold2:#DEBD7F;
  --btn-text-dark:#07152F;
  --text-dark:#12172A; --text-mut:#5B6270;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;color:var(--text-dark);background:var(--white);font-weight:400;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;}
img{max-width:100%;height:auto;display:block;}
/* Consistent small gap between the "DA" currency symbol and the
   number, site-wide (product prices, kit cards, cart, checkout —
   every wc_price() output), instead of fixing it card by card. */
.woocommerce-Price-currencySymbol{margin-right:3px;}
.container{max-width:1240px;margin:0 auto;padding:0 32px;}
a{color:inherit;text-decoration:none;}
a:visited{color:inherit;}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:.25s ease;white-space:nowrap;border:none;border-radius:0;}
.btn-gold{background:var(--gold);color:var(--btn-text-dark);border:1px solid var(--gold);}
.btn-gold:hover{background:var(--gold2);border-color:var(--gold2);}
.btn-outline-dark{background:transparent;border:1px solid rgba(255,255,255,.75);color:#fff;}
.btn-outline-dark:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-line{background:transparent;border:1px solid var(--navy);color:var(--navy);border-radius:0;}
.btn-line:hover{background:var(--navy);color:#fff;}
.icon{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:9999;}
.skip-link:focus{left:10px;top:10px;}

/* ===== TOP BAR ===== */
.topbar{background:var(--navy);color:#dfe3ea;font-size:10.5px;letter-spacing:.06em;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:34px;flex-wrap:wrap;}
.topbar-left{display:flex;gap:14px;align-items:center;text-transform:uppercase;flex-wrap:wrap;}
.topbar-left span.sep{color:var(--gold);opacity:.6;}
.topbar-left span.gold{color:var(--gold2);}
.topbar-right{display:flex;align-items:center;gap:22px;text-transform:uppercase;color:#c7cede;}
.lang-switcher{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.04em;}
.lang-switcher a{color:#9aa2b5;}
.lang-switcher a.is-active{color:var(--gold);font-weight:600;}
.lang-switcher .sep{color:#4a5266;}
.topbar-right a:hover{color:var(--gold2);}

/* ===== MAIN NAV ===== */
.mainnav{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:50;}
.mainnav .container{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:1340px;gap:20px;}
.logo{font-family:'Cormorant Garamond',serif;font-size:26px;letter-spacing:.16em;color:#fff;font-weight:500;}
.logo small{display:block;font-family:'Jost',sans-serif;font-size:8.5px;letter-spacing:.32em;color:var(--gold);font-weight:500;margin-top:2px;}
/* Custom logo image (Personnaliser → Identité du site) — was uploaded in a
   dark colour, invisible against the dark navy header background. Forces
   it to render pure white in the header only, matching the rest of the
   nav; nothing else about the logo/header is changed. */
.mainnav .logo img{filter:brightness(0) invert(1);}
.navlinks{display:flex;gap:24px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#c7cede;list-style:none;white-space:nowrap;}

/* ===== MEGA MENU (V3.0) ===== */
.navlinks__item{position:relative;display:inline-flex;}
.mega-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--border2);box-shadow:0 16px 40px rgba(0,0,0,.12);padding:22px 26px;min-width:260px;opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60;}
.navlinks__item:hover .mega-panel,
.navlinks__item.is-open .mega-panel{opacity:1;visibility:visible;transform:translate(-50%,0);}
.mega-panel__grid{display:flex;flex-direction:column;gap:2px;}
.mega-panel__grid a{color:var(--navy);font-size:12px;letter-spacing:.02em;text-transform:none;padding:8px 10px;white-space:nowrap;transition:color .15s,background .15s;}
.mega-panel__grid a:hover{color:var(--gold);background:var(--soft);}
@media (max-width:900px){
  .mega-panel{position:static;transform:none;box-shadow:none;border:none;background:transparent;padding:4px 0 4px 14px;display:none;min-width:0;}
  .navlinks__item.is-open .mega-panel{display:block;opacity:1;visibility:visible;}
  .navlinks__item{flex-direction:column;align-items:flex-start;width:100%;}
  .mega-panel__grid a{color:inherit;font-size:11px;}
}

.navlinks li{list-style:none;position:relative;}
.navlinks a{position:relative;padding:6px 0;display:inline-block;}
.navlinks a:hover, .navlinks a.active, .navlinks .current-menu-item > a{color:var(--gold2);}
.navlinks .sub-menu{list-style:none;position:absolute;top:100%;left:0;background:var(--navy);border:1px solid rgba(255,255,255,.1);min-width:220px;padding:8px 0;display:none;z-index:60;}
.navlinks li:hover > .sub-menu{display:block;}
.navlinks .sub-menu a{display:block;padding:10px 18px;white-space:nowrap;}
.navicons{display:flex;gap:14px;color:#dfe3ea;align-items:center;flex-shrink:0;}
.icon-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:inherit;position:relative;min-width:44px;min-height:44px;}
.nav-cart__count{position:absolute;top:-6px;right:-8px;background:var(--gold);color:var(--navy);font-size:10px;font-weight:700;line-height:1;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.nav-cta{padding:10px 18px;font-size:10px;}
.navlinks a.navlinks-cta{display:none;}

/* Search bar — hidden by default, slides open under the main nav */
.nav-search-form{max-height:0;overflow:hidden;background:var(--navy2);transition:max-height .25s ease;}
.nav-search-form.open{max-height:80px;}
.nav-search-inner{display:flex;align-items:center;gap:12px;padding:16px 32px;}
.nav-search-inner input{flex:1;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.3);color:#fff;font-family:'Jost',sans-serif;font-size:14px;padding:8px 2px;}
.nav-search-inner input::placeholder{color:#8b93a6;}
.nav-search-inner input:focus{outline:none;border-color:var(--gold);}
.nav-search-inner button{background:none;border:none;color:#dfe3ea;cursor:pointer;display:flex;}
.nav-search-toggle[aria-expanded="true"]{color:var(--gold2);}
.navicons .icon{width:19px;height:19px;}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;}

/* ===== PAGE HERO (interior pages) ===== */
.page-hero{background:radial-gradient(ellipse at 30% 20%, #071e42 0%, var(--navy) 55%);color:#fff;padding:64px 0;text-align:center;}
.page-hero .eyebrow{display:block;margin-bottom:14px;}
.page-hero h1{font-size:38px;font-weight:500;margin-bottom:14px;}
.page-hero p{color:#e2e5ee;max-width:560px;margin:0 auto;font-size:14.5px;line-height:1.7;}
.breadcrumb{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#8b93a6;margin-bottom:18px;}
.breadcrumb a{color:#c7cede;}
.breadcrumb a:hover{color:var(--gold2);}

/* ===== HERO (homepage) =====
   Desktop/tablet: real photo fills the whole section, text overlaid on the
   dark gap in the photo.
   Mobile: the photo becomes a short banner on its own, text sits BELOW it
   on a solid navy panel — overlaying text on a busy cropped photo on a
   narrow screen reads cluttered, so we don't force it there. */
.hero{position:relative;overflow:hidden;background:var(--navy);}

/* ===== HERO SLIDER (V3.0) ===== */
.hero--slider{min-height:600px;}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease;pointer-events:none;}
.hero-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;}
.hero-arrow:hover{background:rgba(255,255,255,.25);}
.hero-arrow svg{width:18px;height:18px;}
.hero-arrow--prev{left:20px;}
.hero-arrow--next{right:20px;}
.hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px;}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s;}
.hero-dot.is-active{background:var(--gold2);transform:scale(1.3);}
@media (max-width:600px){
  .hero-arrow{width:34px;height:34px;}
  .hero-arrow--prev{left:8px;}
  .hero-arrow--next{right:8px;}
}
[dir="rtl"] .hero-arrow--prev{left:auto;right:20px;transform:translateY(-50%) rotate(180deg);}
[dir="rtl"] .hero-arrow--next{right:auto;left:20px;transform:translateY(-50%) rotate(180deg);}

.hero-photo{position:absolute;inset:0;background-color:var(--navy);background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:0;}
.hero-photo::before{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 46% 100% at center, rgba(0,10,28,.78) 0%, rgba(0,10,28,.55) 45%, rgba(0,10,28,.15) 72%, rgba(0,10,28,0) 90%);
}
.hero-grid{display:block;width:100%;min-height:600px;position:relative;z-index:2;}
.hero-copy{position:absolute;left:35%;top:50%;transform:translate(-50%,-50%);width:400px;max-width:78vw;text-align:center;z-index:2;}
.hero-copy .eyebrow{display:block;margin-bottom:20px;}
.hero-h1{color:#fff;font-size:32px;line-height:1.22;font-weight:500;margin-bottom:18px;text-shadow:0 2px 18px rgba(0,10,30,.55);}
.hero-h1 em{font-style:italic;color:var(--gold2);}
.hero-sub{color:#dfe3ea;font-size:14.5px;line-height:1.7;max-width:400px;margin:0 auto 32px;text-shadow:0 1px 10px rgba(0,10,30,.5);}
.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* ===== TRUST BAR ===== */
.trustbar{display:grid;grid-template-columns:repeat(4,1fr);}
.trust-col{padding:40px 24px;text-align:center;border-left:1px solid var(--border2);display:flex;flex-direction:column;align-items:center;}
.trust-col:first-child{border-left:none;}
.trust-icon{width:40px;height:40px;color:var(--gold);margin:0 auto 17px;display:block;flex-shrink:0;}
.trust-col h3{font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;margin-bottom:11px;color:var(--navy);}
.trust-col p{font-size:10px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.03em;font-weight:400;}

/* ===== SECTIONS ===== */
.section{padding:88px 0;}
.section.tight{padding:56px 0;}
.sec-head{text-align:center;max-width:560px;margin:0 auto 52px;}
.sec-head h2{font-size:34px;font-weight:500;letter-spacing:.01em;margin-bottom:14px;}
.sec-head p{color:var(--text-mut);font-size:14.5px;line-height:1.7;}
.sec-head.light h2{color:#fff;} .sec-head.light p{color:#dde1ea;}

/* ===== Spacing rhythm pass — tablet bridge =====
   Phones (≤600px) end up at .section:48px / .tight:40px, desktop
   (≥1025px) at 58px/40px (see the two blocks further down). The
   601–1024px band (tablets, small laptop windows) had no rule of
   its own, so it silently fell back to this file's original
   88px/56px — nearly double both neighbours, which read as an
   oversized gap exactly where the eye is comparing it against
   phone and desktop. Bridging it here only affects that band;
   the already-tuned 48/40 and 58/40 values are untouched. */
@media (min-width:601px) and (max-width:1024px){
  .section{padding:54px 0;}
  .section.tight{padding:40px 0;}
  .sec-head{margin-bottom:44px;}
}

/* ===== SKIN CONCERN CARDS ===== */
.concern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;}

/* ===== DIAGNOSIS → PROTOCOL TEASER (compact) ===== */
.diag-teaser{background:var(--soft);padding-top:36px;padding-bottom:36px;}
.diag-teaser__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;}
.diag-teaser__copy h2{font-size:26px;font-weight:500;line-height:1.3;margin:12px 0 14px;}
.diag-teaser__copy p{font-size:13.5px;color:var(--text-mut);line-height:1.7;margin-bottom:22px;max-width:420px;}
.diag-teaser__steps{display:flex;flex-direction:column;gap:0;}
.diag-teaser__step{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-top:1px solid var(--border2);}
.diag-teaser__step:last-child{border-bottom:1px solid var(--border2);}
.diag-teaser__step .num{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold);flex-shrink:0;width:30px;}
.diag-teaser__step h5{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;}
.diag-teaser__step p{font-size:12px;color:var(--text-mut);}
@media (max-width:900px){
  .diag-teaser__inner{grid-template-columns:1fr;gap:28px;}
}
.concern-card{border:1px solid var(--border);background:#fff;transition:.3s ease;display:flex;flex-direction:column;height:100%;}
.concern-card:hover{box-shadow:0 18px 36px rgba(0,16,42,.10);transform:translateY(-3px);border-color:#d8d8d6;}
.concern-card:hover .concern-img::after{opacity:.85;}
.concern-img{aspect-ratio:1/1;flex-shrink:0;position:relative;overflow:hidden;}
.concern-img img{width:100%;height:100%;object-fit:cover;position:relative;z-index:0;}
.concern-img::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.35) 0%, transparent 45%),radial-gradient(circle at 75% 80%, rgba(0,0,0,.18) 0%, transparent 55%);}
.concern-img::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(0,16,42,0) 55%, rgba(0,16,42,.22) 100%);opacity:.6;transition:opacity .3s ease;}
.concern-img .icon{position:absolute;bottom:14px;right:14px;z-index:2;color:#fff;background:rgba(0,16,42,.5);backdrop-filter:blur(2px);border-radius:50%;padding:9px;width:34px;height:34px;stroke-width:1.3;}
/* Per-photo crop framing — each source photo has its subject (the
   cheek/feature that illustrates the concern) at a different spot,
   so a single shared object-position would cut someone off. Tuned per
   image so the relevant detail (pigmented cheek, blemished cheek, the
   dropper + skin, the hand/fine-lines) stays in frame at the square
   card ratio, on both mobile and desktop. */
.concern-img.c1 img{object-position:78% 38%;}   /* hyperpigmentation — freckled cheek is right-of-frame */
.concern-img.c2 img{object-position:68% 32%;}   /* imperfections — blemished cheek is right-of-frame */
.concern-img.c3 img{object-position:42% 28%;}   /* hydration — keeps dropper + cheek droplet together */
.concern-img.c4 img{object-position:58% 32%;}   /* age — keeps eyes, fine lines and hand in frame */
.concern-img.c5 img{object-position:60% 30%;}   /* sensitivity — keeps redness + soothing cream in frame */
.concern-img.c6 img{object-position:55% 32%;}   /* sun protection — keeps face + SPF cream application in frame */
.c1{background:radial-gradient(circle at 30% 25%,#f0ddc4,#e7d3bd 35%,#c99f78 70%,#a97c54 100%);}
.c2{background:radial-gradient(circle at 30% 25%,#e8e0d2,#dcd2c2 35%,#b6a58c 70%,#8f7c62 100%);}
.c3{background:radial-gradient(circle at 30% 25%,#f5eee0,#eee5d6 35%,#d4bfa0 70%,#b39b76 100%);}
.c4{background:radial-gradient(circle at 30% 25%,#e6dcc9,#e0d6c6 35%,#ac9779 70%,#83694c 100%);}
.c5{background:radial-gradient(circle at 30% 25%,#f3ddd7,#eccfc9 35%,#d1a49b 70%,#b17b72 100%);}
.c6{background:radial-gradient(circle at 30% 25%,#f7f0dd,#f2e9d8 35%,#e0c791 70%,#c2a468 100%);}
.concern-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.concern-body h2,.concern-body h3{font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;line-height:1.4;color:var(--navy);overflow-wrap:break-word;hyphens:auto;}
.concern-body p{font-size:12.5px;color:var(--text-mut);line-height:1.65;margin-bottom:18px;}
.concern-body .cta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:3px;transition:.2s;margin-top:auto;align-self:flex-start;}
.concern-card:hover .cta{color:var(--gold);}

/* ===== INGREDIENT LIBRARY (page /ingredients/) ===== */
.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:900px){.ingredient-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.ingredient-grid{grid-template-columns:1fr;}}
.ingredient-card{border:1px solid var(--border);background:#fff;padding:22px;transition:.3s ease;}
.ingredient-card:hover{box-shadow:0 18px 36px rgba(0,16,42,.10);transform:translateY(-3px);border-color:#d8d8d6;}
.ingredient-card h3{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:8px;}
.ingredient-card>p{font-size:12.5px;color:var(--text-mut);line-height:1.65;margin-bottom:14px;}
.ingredient-card__systems{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.ingredient-card__system-pill{font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--navy);background:var(--soft);border:1px solid var(--border);padding:4px 9px;border-radius:20px;transition:.2s;}
.ingredient-card__system-pill:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.ingredient-card__products{font-size:11.5px;color:var(--text-mut);}
.ingredient-card__products strong{color:var(--navy);}

/* ===== ARTICLE > RELATED SYSTEM CALLOUT (single.php) ===== */
.article-related-system{display:none !important;}
.orteneo-article-cta{margin-top:42px;padding:30px 32px;background:linear-gradient(135deg,#f7f4ed 0%,#fff 100%);border:1px solid rgba(212,176,106,.5);border-left:3px solid var(--gold);text-align:left;}
.orteneo-article-cta__label{display:block;margin-bottom:9px;font-family:'Jost',sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--gold);}
.single-article .orteneo-article-cta h2{margin:0 0 10px;font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:500;line-height:1.2;color:var(--navy);}
.single-article .entry-content .orteneo-article-cta p{margin:0 0 19px;font-family:'Jost',sans-serif;font-size:13.5px;line-height:1.7;color:var(--text-mut);}
.orteneo-article-cta .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;}
@media (max-width:600px){
  .orteneo-article-cta{margin-top:34px;padding:23px 20px;}
  .single-article .orteneo-article-cta h2{font-size:24px;}
  .orteneo-article-cta .btn{width:100%;box-sizing:border-box;text-align:center;}
}

.diag-result-precaution p{font-size:12.5px;color:var(--text-mut);line-height:1.6;font-style:italic;}

/* ===== Diagnostic result — email capture ===== */
.diag-result-email{text-align:center;max-width:380px;margin:0 auto 28px;}
.diag-result-email .eyebrow{display:block;margin-bottom:10px;}
.diag-result-email > p{font-size:12.5px;color:var(--text-mut);line-height:1.6;margin-bottom:16px;}
.diag-email-form{display:flex;gap:10px;}
.diag-email-form__input{flex:1;min-width:0;border:1px solid var(--border2);padding:12px 14px;font-family:'Jost',sans-serif;font-size:13.5px;color:var(--text-dark);background:#fff;}
.diag-email-form__input:focus{outline:none;border-color:var(--gold);}
.diag-email-form__submit{flex-shrink:0;padding:12px 20px;justify-content:center;}
.diag-email-form__feedback{font-size:12.5px;line-height:1.6;margin-top:4px;}
.diag-email-form__feedback.is-success{color:#2f6b40;}
.diag-email-form__feedback.is-error{color:#8a2f2f;}
@media (max-width:480px){
  .diag-email-form{flex-direction:column;}
}

/* ===== ORTENEO Technology™ section (homepage + Science & Conseils) ===== */
.orteneo-technology{background:#f7f6f2;}
.technology-intro{max-width:780px;margin:0 auto 48px;text-align:center;}
.technology-intro>.eyebrow,.science-feature>.eyebrow{display:block;margin-bottom:18px;font-size:12px;font-weight:600;}
.technology-statement{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,31px);color:var(--navy);}
.technology-framework{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);}
.technology-step{padding:36px;text-align:center;background:#fff;}
.technology-step+.technology-step{border-left:1px solid var(--border);}
.technology-number{display:block;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:12px;}
.technology-step h3{font-size:17px;letter-spacing:.08em;}
.technology-step p{font-size:12px;color:var(--text-mut);line-height:1.7;}
.technology-actions{text-align:center;margin-top:26px;}
.science-feature{text-align:center;}
.science-tech-framework{margin-top:30px;}
@media(max-width:680px){.technology-framework{grid-template-columns:1fr;}.technology-step+.technology-step{border-left:0;border-top:1px solid var(--border);}}

/* ===== Evidence framework grid (resultats + science-conseils) ===== */
.evidence-list-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.evidence-list-card{border:1px solid var(--border);background:#fff;padding:24px;}
.evidence-list-card h3{font-size:15px;margin-bottom:8px;}
.evidence-list-card p{font-size:11.5px;line-height:1.7;color:var(--text-mut);}
@media(max-width:900px){.evidence-list-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.evidence-list-grid{grid-template-columns:1fr;}}

/* ===== Search results page (search.php) + generic empty state ===== */
.orteneo-search-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.orteneo-search-card{border:1px solid var(--border);padding:24px;background:#fff;}
.orteneo-search-card h2{font-size:20px;margin:8px 0;}
.orteneo-search-card p{font-size:12px;line-height:1.7;color:var(--text-mut);}
.orteneo-empty-state{max-width:720px;margin:0 auto;text-align:center;border:1px solid var(--border);padding:42px;}
.orteneo-empty-state form{display:flex;gap:10px;margin:24px auto;max-width:520px;}
.orteneo-empty-state input{flex:1;padding:13px;border:1px solid var(--border);}
.orteneo-empty-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}
@media(max-width:900px){.orteneo-search-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.orteneo-search-grid{grid-template-columns:1fr;}.orteneo-empty-state form{flex-direction:column;}}

/* ===== WooCommerce star rating — rendu autonome, sans police d'icônes
   externe (corrige un conflit CSS externe qui transformait la lettre
   "s" du texte en glyphe étoile). Utilise des caractères Unicode
   universels (★ ☆), aucune dépendance de police. ===== */
.star-rating{overflow:hidden;position:relative;height:1.1em;line-height:1.1em;width:5.4em;font-size:14px;font-family:sans-serif !important;}
.star-rating::before{content:"\2606\2606\2606\2606\2606";color:#d8d5cc;position:absolute;top:0;left:0;letter-spacing:1px;}
.star-rating span{overflow:hidden;position:absolute;top:0;left:0;padding-top:1.6em;height:0;}
.star-rating span::before{content:"\2605\2605\2605\2605\2605";color:var(--gold);position:absolute;top:0;left:0;letter-spacing:1px;}

/* ===== "À quoi s'attendre" box (page-system.php) ===== */
.sys-results-box{max-width:720px;margin:0 auto;padding:28px 32px;border:1px solid var(--border);background:#fff;}
.sys-results-box p{font-size:14px;color:var(--text-mut);line-height:1.7;}
.sys-results-factors{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;}
.sys-results-factors strong{color:var(--navy);}

/* ===== SYSTEM COMPARISON TABLE (page /comparer-systemes/) ===== */
.sys-compare-table{border:1px solid var(--border);background:#fff;}
.sys-compare-row{display:grid;grid-template-columns:160px repeat(4,1fr);border-bottom:1px solid var(--border);}
.sys-compare-row:last-child{border-bottom:none;}
.sys-compare-row--head{background:var(--navy);color:#fff;}
.sys-compare-cell{padding:16px 14px;font-size:12.5px;color:var(--text-mut);line-height:1.55;}
.sys-compare-cell--label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);background:var(--soft);display:flex;align-items:center;}
.sys-compare-row--head .sys-compare-cell{color:#fff;}
.sys-compare-row--head .sys-compare-cell h3{font-size:14px;margin-bottom:2px;}
.sys-compare-row--head .sys-compare-cell .subt{font-size:10.5px;color:var(--gold);text-transform:uppercase;letter-spacing:.03em;}
.sys-compare-cell--muted{font-size:11.5px;font-style:italic;}
.sys-compare-row--cta .sys-compare-cell{padding:18px 10px;}
.sys-compare-row--cta .btn{font-size:11px;padding:9px 12px;width:100%;text-align:center;}
@media (max-width:900px){
  .sys-compare-row{grid-template-columns:110px repeat(4,minmax(140px,1fr));overflow-x:auto;}
  .sys-compare-table{overflow-x:auto;}
}

/* ===== DIAGNOSTIC ENGINE V1.0 (page /diagnostic/) ===== */
.diag-app{max-width:760px;margin:0 auto;}

/* Progress indicator — 5 stages */
.diag-progress{display:flex;align-items:center;justify-content:center;max-width:520px;margin:0 auto;}
.diag-step-dot{display:flex;align-items:center;flex:1;}
.diag-step-dot:last-child{flex:0;}
.diag-step-dot .dot{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-mut);background:#fff;flex-shrink:0;transition:.25s;}
.diag-step-dot .line{flex:1;height:1px;background:var(--border);margin:0 4px;transition:.25s;}
.diag-step-dot.current .dot{border-color:var(--gold);background:var(--navy);color:#fff;}
.diag-step-dot.done .dot{border-color:var(--gold);background:var(--gold);color:var(--navy);}
.diag-step-dot.done .line{background:var(--gold);}
.diag-stage-label{text-align:center;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:16px 0 44px;}

/* Screens */
.diag-screen{display:none;}
.diag-screen.active{display:block;animation:diagFade .3s ease;}
@keyframes diagFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* Intro */
.diag-intro{text-align:center;background:var(--navy);padding:56px 40px;}
.diag-intro h2{color:#fff;font-size:28px;font-weight:500;margin:14px 0 16px;}
.diag-intro > p{color:#dde1ea;font-size:14px;line-height:1.7;max-width:460px;margin:0 auto 24px;}
.diag-trust-row{display:flex;justify-content:center;gap:26px;font-size:11.5px;color:#dbe0ea;margin-bottom:30px;flex-wrap:wrap;}

/* Question heading */
.diag-q-title{font-size:24px;font-weight:500;text-align:center;margin-bottom:8px;}
.diag-q-sub{text-align:center;color:var(--text-mut);font-size:13.5px;margin-bottom:32px;}

/* Q1 — icon cards */
.diag-opts--icons{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.diag-opt-card{border:1px solid var(--border);background:#fff;padding:26px 12px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:.2s;font-family:'Jost',sans-serif;font-size:13px;color:var(--text-dark);}
.diag-opt-card .icon{width:28px;height:28px;color:var(--gold);}
.diag-opt-card:hover{border-color:var(--gold);}
.diag-opt-card.selected{border-color:var(--gold);background:#fbf6ec;}

/* Q2 — reuse concern-card, sized down for the quiz context */
.diag-concern-grid{gap:16px;}
.diag-concern-card{cursor:pointer;width:100%;text-align:left;}
.diag-concern-card .concern-img{aspect-ratio:16/10;}
.diag-concern-card .concern-body{padding:14px 16px;}
.diag-concern-card .concern-body h3{font-size:12px;margin-bottom:0;}
.diag-concern-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);}

/* Q3 — wide text buttons */
.diag-opts--wide{display:flex;flex-direction:column;gap:12px;max-width:480px;margin:0 auto 28px;}
.diag-opt-wide{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);background:#fff;padding:18px 24px;font-family:'Jost',sans-serif;font-size:14px;color:var(--text-dark);cursor:pointer;transition:.2s;text-align:left;}
.diag-opt-wide .arrow{color:var(--gold);opacity:0;transition:.2s;}
.diag-opt-wide:hover{border-color:var(--gold);}
.diag-opt-wide:hover .arrow{opacity:1;}
.diag-opt-wide.selected{border-color:var(--gold);background:#fbf6ec;}

/* Q2B — Secondary Concern multi-select (V2.0 Phase 2). Reuses
   .diag-opt-wide's existing look; only adds a check mark and a
   visually quieter "Aucune" variant. */
.diag-opt-multi .check{opacity:0;color:var(--gold);font-weight:600;transition:opacity .15s ease;}
.diag-opt-multi.selected .check{opacity:1;}

.diag-opt-multi--none.selected{background:var(--soft); border-color:var(--border);}

/* Q4a/Q4b — pills */
.diag-opts--pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:28px;}
.diag-opt-pill{border:1px solid var(--border);background:#fff;padding:12px 24px;border-radius:30px;font-family:'Jost',sans-serif;font-size:13px;color:var(--text-dark);cursor:pointer;transition:.2s;}
.diag-opt-pill:hover{border-color:var(--gold);}
.diag-opt-pill.selected{border-color:var(--gold);background:var(--gold);color:var(--navy);font-weight:600;}
.diag-next{display:block;margin:0 auto;}
.diag-next:disabled{opacity:.35;cursor:not-allowed;}

/* Calcul (transition) */
.diag-calc{text-align:center;padding:80px 20px;}
.diag-spinner{display:inline-block;width:42px;height:42px;border:2px solid var(--border2);border-top-color:var(--gold);border-radius:50%;animation:diagSpin .8s linear infinite;margin-bottom:22px;}
@keyframes diagSpin{to{transform:rotate(360deg);}}
.diag-calc p{color:var(--text-mut);font-size:14px;}

/* Result */
.diag-result{text-align:center;background:var(--soft);border:1px solid var(--border2);padding:48px 40px;}
.diag-result h2{font-size:22px;font-weight:500;margin:10px 0 6px;}
.diag-result-profile{font-size:14px;color:var(--text-mut);margin-bottom:28px;}
.diag-result-lowconf{font-size:13.5px;color:var(--text-mut);font-style:italic;line-height:1.7;max-width:440px;margin:0 auto 24px;}
.diag-result-divider{width:60px;height:1px;background:var(--border);margin:0 auto 28px;}
.diag-result-system{font-size:28px;font-weight:600;letter-spacing:.02em;color:var(--navy);margin:10px 0 14px;}
.diag-result-reason{font-size:14px;color:var(--text-mut);line-height:1.7;max-width:480px;margin:0 auto 30px;}
.diag-result-steps{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:34px;}

/* V2.0 Phase 3 — AM/PM protocol + product cards */
.diag-result-protocol{display:flex;flex-direction:column;gap:18px;margin:14px 0 30px;}
.diag-result-protocol-period{display:flex;flex-direction:column;align-items:center;gap:10px;}
.diag-result-protocol-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.diag-result-products{display:grid;grid-template-columns:1fr;gap:12px;max-width:480px;margin:14px auto 30px;text-align:left;}
@media (min-width:600px){ .diag-result-products{grid-template-columns:1fr 1fr;} }
.diag-product-card{border:1px solid var(--border2);background:#fff;padding:16px 18px;}
.diag-product-card__step{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.diag-product-card h5{font-size:14px;font-weight:600;color:var(--navy);margin:6px 0 4px;}
.diag-product-card p{font-size:12.5px;color:var(--text-mut);line-height:1.6;margin:0;}

/* V2.0 — Support System: deliberately smaller/quieter than the Primary
   result above it (h4 not h3, no step pills) — this is a secondary
   recommendation, never a second equal "system", per the architecture
   rule against merging two systems into one presentation. */
.diag-result-support{margin-top:6px;}
.diag-result-support-system{font-size:19px;font-weight:600;letter-spacing:.02em;color:var(--navy);margin:8px 0 10px;}
.diag-result-support-reason{font-size:13.5px;color:var(--text-mut);line-height:1.7;max-width:440px;margin:0 auto 30px;}

.diag-result-support-products__label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mut);margin-bottom:10px;}
.diag-support-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px;}
.diag-support-tag{border:1px solid var(--border2);background:#fff;padding:6px 14px;font-size:12px;color:var(--navy);}
.diag-step-pill{border:1px solid var(--gold);color:var(--navy);font-size:11px;letter-spacing:.08em;font-weight:600;padding:9px 18px;background:#fff;}
.diag-step-arrow{color:var(--gold);}
.diag-result-actions{display:flex;flex-direction:column;align-items:center;gap:16px;}
.diag-restart{background:none;border:none;color:var(--text-mut);font-size:12px;text-decoration:underline;cursor:pointer;}
.diag-restart:hover{color:var(--navy);}

@media (max-width:600px){
  .diag-opts--icons{grid-template-columns:repeat(2,1fr);}
  .diag-concern-grid{grid-template-columns:repeat(2,1fr);}
  .diag-intro{padding:40px 22px;}
  .diag-result{padding:36px 22px;}
  .diag-trust-row{gap:16px;font-size:10.5px;}
  .diag-q-title{font-size:20px;}
}

/* ===== TREATMENT SYSTEMS ===== */
.systems{background:var(--off);}
.sys-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.sys-card{background:#fff;border:1px solid var(--border2);overflow:hidden;}
.sys-top{position:relative;display:block;height:auto;padding:0;overflow:hidden;background:#f3f1ed;}
.sys-media{display:block;width:100%;}
.sys-media img{display:block;width:100%;height:auto;aspect-ratio:1609/977;object-fit:cover;}
.sys-top.lav{background:linear-gradient(160deg,#efe9f4,#d8cbe6);}
.sys-top.aqua{background:linear-gradient(160deg,#e7f2f3,#c3dfe2);}
.sys-top.beige{background:linear-gradient(160deg,#f4ecdf,#e2cfab);}
.sys-top.green{background:linear-gradient(160deg,#eaf1e6,#c9dcbd);}
.sys-bottle{width:26px;border-radius:2px 2px 6px 6px;background:rgba(0,16,42,.82);}
.sys-bottle.h1{height:100px;}.sys-bottle.h2{height:130px;}.sys-bottle.h3{height:90px;}.sys-bottle.h4{height:115px;}
.sys-body{padding:22px 20px 24px;}
.sys-body h3{font-size:14.5px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;}
.sys-body .subt{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);font-size:15px;margin:4px 0 10px;}
.sys-body .desc{font-size:11.5px;color:var(--text-mut);margin-bottom:14px;}
.sys-step-badge{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--navy);background:var(--soft);border:1px solid var(--border2);padding:5px 12px;margin-bottom:12px;cursor:pointer;transition:.2s;}
.sys-step-badge:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.sys-step-badge--hero{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#fff;margin:14px 0 10px;}
.sys-prods{font-size:10.5px;color:#8a8f9a;line-height:1.8;margin-bottom:18px;border-top:1px solid var(--border2);padding-top:12px;}
.sys-cta{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--navy);}
.systems-foot{text-align:center;margin-top:40px;}

/* ===== TREATMENT SYSTEM DETAIL PAGE (Template V1.0) ===== */
.sys-promise{font-size:15px;color:#dfe3ea;font-style:italic;font-family:'Cormorant Garamond',serif;max-width:560px;margin:14px auto 0;line-height:1.6;}

/* 02 — Pourquoi ce protocole */
.sys-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sys-why-card{background:#fff;border:1px solid var(--border2);padding:28px 24px;}
.sys-why-card h5{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px;}
.sys-why-card p{font-size:14.5px;color:var(--text-mut);line-height:1.75;}

/* 03 — Le protocole (detailed steps) */
.sys-protocol-steps{display:flex;align-items:stretch;justify-content:center;gap:0;flex-wrap:wrap;}
.sys-protocol-step{flex:1;min-width:180px;max-width:230px;background:#fff;border:1px solid var(--border2);padding:26px 20px;text-align:center;}
.sys-protocol-step .num{display:block;font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:20px;margin-bottom:8px;}
.sys-protocol-step .tag{display:inline-block;font-size:10px;letter-spacing:.08em;background:var(--navy);color:#fff;padding:4px 10px;margin-bottom:12px;}
.sys-protocol-step h4{font-size:13.5px;font-weight:700;margin-bottom:8px;line-height:1.35;}
.sys-protocol-step p{font-size:12px;color:var(--text-mut);line-height:1.6;}
.sys-protocol-arrow{align-self:center;color:var(--gold);font-size:20px;padding:0 10px;}

/* 04 — Produits du système */
.sys-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sys-product-card{border:1px solid var(--border2);padding:0 0 24px;}
.sys-product-step{display:flex;align-items:center;gap:8px;padding:14px 20px 0;}
.sys-product-step .num{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:18px;}
.sys-product-step .tag{font-size:10px;letter-spacing:.08em;background:var(--navy);color:#fff;padding:3px 9px;}
.sys-product-visual{height:280px;display:flex;align-items:flex-end;justify-content:center;padding:14px;overflow:hidden;}
.sys-product-visual img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.sys-product-card h4{font-size:14px;font-weight:700;margin:18px 20px 6px;}
.sys-product-function{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 20px 10px;}
.sys-product-active{font-size:12px;color:var(--text-dark);margin:0 20px 10px;line-height:1.6;}
.sys-product-card p{font-size:12.5px;color:var(--text-mut);line-height:1.65;margin:0 20px;}

/* 05 — Comment l'utiliser */
.sys-routine-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:640px;margin:0 auto;}
.sys-routine-card{background:#fff;border:1px solid var(--border2);padding:28px 26px;}
.sys-routine-card .eyebrow{display:block;margin-bottom:16px;}
.sys-routine-card ol{padding-left:20px;}
.sys-routine-card li{font-size:13.5px;color:var(--text-dark);line-height:2;}

/* 06 — Les actifs */
.sys-actives-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sys-active-card{text-align:center;padding:10px;}
.sys-active-card h5{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:600;color:var(--navy);margin-bottom:10px;}
.sys-active-card p{font-size:13px;color:var(--text-mut);line-height:1.7;}
.sys-actives-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;}
.sys-actives-accordion summary::-webkit-details-marker{display:none;}
.sys-actives-accordion summary h2{margin:0;}
.sys-actives-chevron{width:20px;height:20px;color:var(--gold);transition:transform .25s ease;flex-shrink:0;}
.sys-actives-accordion[open] .sys-actives-chevron{transform:rotate(180deg);}
.sys-actives-accordion .sys-actives-grid{margin-top:32px;}

/* 07 — À qui s'adresse */
.sys-forwhom-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:640px;margin:48px auto 28px;}
.sys-forwhom-grid h5{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);font-weight:700;margin-bottom:12px;}
.sys-forwhom-grid ul{padding-left:18px;}
.sys-forwhom-grid li{font-size:14px;color:var(--text-mut);line-height:1.9;}
.sys-forwhom-note{max-width:640px;margin:0 auto 12px;font-size:13.5px;color:var(--text-mut);line-height:1.75;text-align:center;}
.sys-forwhom-note strong{color:var(--text-dark);}
.sys-forwhom-consult{color:#8a7550;}

/* 09 — FAQ */
.sys-faq-list{max-width:680px;margin:0 auto;}
.sys-faq-item{border-bottom:1px solid var(--border2);padding:18px 4px;}
.sys-faq-item summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--text-dark);list-style:none;position:relative;padding-right:26px;}
.sys-faq-item summary::-webkit-details-marker{display:none;}
.sys-faq-item summary::after{content:"+";position:absolute;right:0;top:0;color:var(--gold);font-size:18px;}
.sys-faq-item[open] summary::after{content:"−";}
.sys-faq-item p{font-size:13px;color:var(--text-mut);line-height:1.7;margin-top:12px;}

@media (max-width:900px){
  .sys-why-grid, .sys-product-grid, .sys-actives-grid{grid-template-columns:1fr;}
  .sys-routine-grid, .sys-forwhom-grid, .sys-results-grid{grid-template-columns:1fr;gap:20px;}
  .sys-protocol-steps{flex-direction:column;align-items:center;}
  .sys-protocol-arrow{transform:rotate(90deg);padding:6px 0;}
  .sys-protocol-step{max-width:280px;width:100%;}
}

/* ===== RESULTS — page dédiée /resultats/ (page-resultats.php) ===== */
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.test-card{border:1px solid var(--border2);background:#fff;}
.test-body{padding:24px 22px;}
.test-avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold2);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:600;letter-spacing:.02em;margin-bottom:16px;}
.test-avatar--photo{object-fit:cover;background:var(--soft);}
.stars{color:var(--gold);font-size:12px;letter-spacing:2px;margin-bottom:10px;}
.test-body p.quote{font-size:12.5px;color:var(--text-dark);line-height:1.65;margin-bottom:14px;font-style:italic;}
.test-meta{font-size:10.5px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--border2);padding-top:12px;line-height:1.8;}
.test-meta strong{color:var(--text-dark);}
.results-demo-flag{text-align:center;font-size:10.5px;color:var(--text-mut);letter-spacing:.04em;margin:-6px 0 28px;font-style:italic;}

/* ===== RESULTS — single-slide carousel (homepage) ===== */
.results-slider{position:relative;max-width:640px;margin:0 auto;}

.results-slider__track{position:relative;min-height:230px;}
.results-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease;pointer-events:none;}
.results-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;}
.results-slide__card{border:1px solid var(--border2);background:#fff;padding:44px 32px 28px;text-align:center;position:relative;}
.results-slide__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--soft);position:absolute;top:-32px;left:50%;transform:translateX(-50%);border:3px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.1);}
.results-slide__avatar--initials{display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold2);font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;}
.results-slide__stars{color:var(--gold);font-size:14px;letter-spacing:3px;margin-bottom:16px;}
.results-slide__quote{font-size:15px;color:var(--text-dark);line-height:1.75;font-style:italic;max-width:440px;margin-left:auto;margin-right:auto;}
.results-slide__meta{font-size:11px;color:var(--text-mut);text-transform:uppercase;letter-spacing:.05em;}
.results-slide__meta strong{color:var(--navy);}
.results-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--border2);color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.06);z-index:2;}
.results-arrow:hover{border-color:var(--gold);background:var(--soft);}
.results-arrow svg{width:16px;height:16px;}
.results-arrow--prev{left:-19px;}
.results-arrow--next{right:-19px;}
.results-dots{display:flex;justify-content:center;gap:8px;margin-top:24px;}
.results-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s;}
.results-dot.is-active{background:var(--gold);transform:scale(1.3);}
@media (max-width:600px){
  .results-arrow{display:none;}
  .results-slide__card{padding:48px 20px 26px;}
}

/* ===== SCIENCE & CONSEILS ===== */
.conseils-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--border2);}
.conseil-item{padding:32px 22px;border-left:1px solid var(--border2);text-align:center;}
.conseil-item:first-child{border-left:none;}
.conseil-item .icon{color:var(--gold);margin-bottom:16px;}
.conseil-item h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;}
.conseil-item p{font-size:11px;color:var(--text-mut);}

/* ===== REASSURANCE ===== */
.reassure{background:var(--soft);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);}
.reassure .container{display:grid;grid-template-columns:repeat(4,1fr);}
.reassure--inline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;padding-top:32px;border-top:1px solid var(--border2);border-bottom:none;background:none;}
.reassure-col{display:flex;align-items:center;gap:12px;padding:24px 20px;border-left:1px solid var(--border2);}
.reassure-col:first-child{border-left:none;}
.reassure-col .icon{color:var(--gold);flex-shrink:0;width:22px;height:22px;}
.reassure-col h5{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;}
.reassure-col p{font-size:10.5px;color:var(--text-mut);}

/* ===== FINAL CTA ===== */
.finalcta{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
.finalcta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 15% 30%, rgba(201,167,106,.4) 0, transparent 60%),radial-gradient(1px 1px at 45% 70%, rgba(201,167,106,.3) 0, transparent 60%),radial-gradient(1px 1px at 75% 25%, rgba(201,167,106,.35) 0, transparent 60%),radial-gradient(1px 1px at 85% 80%, rgba(201,167,106,.25) 0, transparent 60%);}
.finalcta .container{display:grid;grid-template-columns:1.3fr 0.7fr;align-items:center;gap:40px;padding:90px 32px;position:relative;z-index:1;}
.finalcta h2{font-size:38px;font-weight:500;line-height:1.2;}
.finalcta h2 em{font-style:italic;color:var(--gold2);}
.finalcta p{color:#dde1ea;font-size:14px;line-height:1.7;margin-top:18px;max-width:480px;}
.finalcta-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.finalcta-actions .btn{width:100%;justify-content:center;}

/* ===== FOOTER ===== */
footer{background:var(--navy);color:#c7cede;padding-top:56px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 0.85fr 0.85fr 0.85fr 0.85fr 1.05fr;gap:26px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-brand .logo{margin-bottom:14px;}
.footer-brand p{font-size:13.5px;line-height:1.75;color:#ffffff !important;max-width:230px;}
.footer-brand .eyebrow{display:block;margin:14px 0 8px;}
.social{display:flex;gap:12px;margin-top:20px;}
.social a{width:32px;height:32px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#dfe3ea;transition:.2s;}
.social a svg{width:15px;height:15px;}
.social a:hover{border-color:var(--gold);color:var(--gold);}
.fcol h5{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:18px;font-weight:600;}
.fcol a, .fcol li{display:block;font-size:12.5px;color:#aeb4c6;margin-bottom:12px;list-style:none;}
.fcol a:hover{color:var(--gold2);}
.fcol-link--featured{color:var(--gold) !important;font-weight:600;}
.fcol-link--featured:hover{color:var(--gold2) !important;}
/* Accordion heading/button — on desktop this looks and behaves exactly
   like the old static <h5>; the interactive accordion behavior below
   only takes effect within the mobile media query. */
.fcol-heading{margin:0;}
.fcol-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:none;padding:0;margin-bottom:18px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-weight:600;cursor:default;text-align:left;}
.fcol-chevron{display:none;}
.newsletter p{font-size:14px;color:#ffffff !important;font-weight:600;letter-spacing:.01em;margin-bottom:16px;line-height:1.6;}

.footer-newsletter-standalone p{font-size:13px;color:#ffffff !important;font-weight:600;line-height:1.6;margin-bottom:14px;}
.footer-newsletter-standalone .nl-unsub{font-size:10.5px;color:#9aa3b5 !important;font-weight:400;margin-top:8px;margin-bottom:0;}
.footer-brand .logo{color:#ffffff !important;}

.footer-newsletter-standalone--bottom{max-width:420px;margin:34px auto 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);text-align:center;}
.footer-newsletter-standalone--bottom .nl-unsub{margin-top:8px;}
.nl-unsub{font-size:11px;color:#c7cede;margin-top:10px;}
.nl-form{display:flex;border:1px solid rgba(255,255,255,.2);}
.nl-form input{flex:1;background:transparent;border:none;padding:12px 14px;color:#fff;font-size:12px;font-family:'Jost',sans-serif;min-height:44px;}
.nl-form input::placeholder{color:#7a8298;}
.nl-form button{background:var(--gold);color:var(--navy);border:none;padding:0 18px;min-height:44px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer;}
.nl-form button:hover{background:var(--gold2);}
.footer-bottom{padding:26px 0;text-align:center;font-size:11px;color:#7a8298;letter-spacing:.03em;}

/* ===== GENERIC / DETAIL PAGE LAYOUTS ===== */
.detail-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.detail-visual{height:420px;border-radius:2px;position:relative;overflow:hidden;}
.detail-visual img{width:100%;height:100%;object-fit:cover;display:block;}
/* Same per-photo framing logic as the homepage concern cards — keeps
   the relevant detail (pigmented cheek, blemished cheek, dropper,
   hand/fine-lines) in view at this box's wider, shorter ratio. */
.detail-visual.c1 img{object-position:70% 32%;}
.detail-visual.c2 img{object-position:62% 28%;}
.detail-visual.c3 img{object-position:40% 22%;}
.detail-visual.c4 img{object-position:55% 26%;}
.detail-visual.c5 img{object-position:58% 24%;}
.detail-visual.c6 img{object-position:52% 28%;}
/* On phones the box is full-width and single-column (see
   .detail-wrap mobile override below), so the same 420px height used
   for the narrow desktop half now crops away much more of the photo
   relative to its width — felt "too tightly cropped". Taller ratio
   on phones shows visibly more of each photo; positions loosened
   toward center since there's more vertical room to work with. */
@media (max-width:600px){
  .detail-visual{height:auto;aspect-ratio:4/5;}
  .detail-visual.c1 img{object-position:65% 30%;}
  .detail-visual.c2 img{object-position:58% 25%;}
  .detail-visual.c3 img{object-position:45% 20%;}
  .detail-visual.c4 img{object-position:50% 22%;}
  .detail-visual.c5 img{object-position:52% 20%;}
  .detail-visual.c6 img{object-position:48% 24%;}
}
.detail-copy h2{font-size:28px;font-weight:500;margin-bottom:16px;}
.detail-copy p{color:var(--text-mut);font-size:14px;line-height:1.75;margin-bottom:24px;}
.detail-actions{display:flex;gap:14px;flex-wrap:wrap;}
.related-band{background:var(--off);text-align:center;}
.related-band .sys-grid{max-width:420px;margin:0 auto;}

.simple-page .container{max-width:820px;padding-top:64px;padding-bottom:88px;}
.simple-page h2{font-size:24px;margin:28px 0 12px;}
.simple-page p{color:var(--text-mut);line-height:1.8;margin-bottom:14px;font-size:14.5px;}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.contact-info .item{display:flex;gap:14px;margin-bottom:26px;}
.contact-info .icon{color:var(--gold);flex-shrink:0;}
.contact-info h2{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;}
.contact-info p{font-size:13px;color:var(--text-mut);}
.contact-form label{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mut);margin-bottom:6px;}
.contact-form input, .contact-form textarea{width:100%;border:1px solid var(--border);padding:13px 14px;font-family:'Jost',sans-serif;font-size:13px;margin-bottom:18px;background:var(--soft);}
.contact-form input:focus, .contact-form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);}
.contact-form__success{text-align:center;padding:48px 24px;border:1px solid var(--border2);background:var(--soft);}
.contact-form__success svg{width:44px;height:44px;color:var(--gold);margin-bottom:16px;}
.contact-form__success h2{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--navy);margin-bottom:10px;}
.contact-form__success p{font-size:13.5px;color:var(--text-mut);line-height:1.7;max-width:340px;margin:0 auto;}
.contact-form__error{background:#fdecea;border:1px solid #f2b8b5;color:#9a2f2a;font-size:13px;padding:12px 16px;margin-bottom:18px;}

/* ===== BLOG (Science & Conseils articles) ===== */
.post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.post-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border2);background:#fff;overflow:hidden;}
.post-card .thumb{width:100%;height:auto;aspect-ratio:4/3;background:linear-gradient(135deg,#e5ded0,#c6b492);overflow:hidden;}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.post-card .body{padding:18px 20px 20px;flex:1;min-height:168px;display:flex;flex-direction:column;box-sizing:border-box;}
.post-card .body::before{content:'CONSEIL EXPERT';display:block;margin:0 0 8px;font-family:'Jost',sans-serif;font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--gold);}
.post-card h3{font-family:'Jost',sans-serif;font-size:15px;font-weight:600;line-height:1.45;color:var(--navy);margin:0 0 9px;}
.post-card p{font-family:'Jost',sans-serif;font-size:12.5px;color:var(--text-mut);line-height:1.6;margin:0 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.post-card .body::after{content:'Lire l’article →';display:block;margin-top:auto;font-family:'Jost',sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--gold);}
.science-education-head{position:relative;max-width:none;width:100%;}
.science-all-articles-link{position:absolute;right:0;bottom:2px;display:inline-flex;align-items:center;min-height:38px;padding:0 0 5px;border-bottom:1px solid var(--gold);font-family:'Jost',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--navy);}
.science-all-articles-link:hover{color:var(--gold2);}
@media (max-width:700px){
  .science-all-articles-link{position:static;justify-content:center;margin:18px auto 0;width:max-content;}
}
.single-article .container{max-width:760px;padding:64px 32px;}
.single-article h1{font-size:32px;margin-bottom:18px;}
.single-article .entry-content p{margin-bottom:16px;line-height:1.8;color:var(--text-dark);font-size:15px;}

/* ===== RESPONSIVE ===== */
@media (max-width:1100px){
  /* Top utility bar: fixed 34px height + long text overflows/overlaps below desktop
     widths — give it auto height and let it wrap safely from tablet down. */
  .topbar .container{height:auto;flex-wrap:wrap;justify-content:center;padding:8px 16px;row-gap:2px;}
  .topbar-left{justify-content:center;text-align:center;flex-wrap:wrap;gap:6px 10px;width:100%;}
  .topbar-left span.sep{display:none;}
  .topbar-right{display:flex;justify-content:center;width:100%;margin-top:2px;}
  .topbar-utility-links{display:none;}

  /* Hero on mobile/tablet: text overlaid ON the photo (matches reference),
     not split below it. A wide landscape photo cropped for a narrow screen
     can show any part behind the text, so the scrim here is much stronger
     and covers the full photo (not just a center vignette) to guarantee
     the text stays legible regardless of what's behind it. */
  .hero-photo{position:absolute;inset:0;height:auto;background-position:38% center;}
  .hero-photo::before{
    background:
      linear-gradient(180deg, rgba(0,10,28,.55) 0%, rgba(0,10,28,.72) 45%, rgba(0,10,28,.6) 100%);
  }
  .hero-grid{min-height:560px;display:flex;align-items:center;justify-content:center;}
  .hero-copy{position:static;left:auto;top:auto;transform:none;width:100%;max-width:350px;margin:0 auto;padding:40px 28px;}
  .hero-h1{font-size:26px;}
  .concern-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sys-grid{grid-template-columns:repeat(2,1fr);}
  .reassure--inline{grid-template-columns:repeat(2,1fr);}
  .trustbar{grid-template-columns:repeat(2,1fr);}
  .trust-col{border-top:1px solid var(--border2);}
  .trust-col:nth-child(1),.trust-col:nth-child(2){border-top:none;}
  .trust-col:nth-child(2n+1){border-left:none;}
  .trust-col:nth-child(2n){border-left:1px solid var(--border2);}
  .results-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .finalcta .container{grid-template-columns:1fr;}
  .detail-wrap{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .post-list{grid-template-columns:1fr 1fr;}
  .quiz-opts{grid-template-columns:1fr;}
}
/* Header/nav needs to switch to the hamburger earlier than the rest of
   the site's 1100px breakpoint — with the icons + CTA button added, the
   full desktop nav only fits from ~1300px up, and 1100-1300px is a very
   common laptop range, so this gets its own wider breakpoint. */
@media (max-width:1300px){
  .navlinks{position:absolute;top:76px;left:0;right:0;background:var(--navy);flex-direction:column;gap:0;padding:10px 32px 20px;display:none;max-height:80vh;overflow-y:auto;}
  .navlinks.open{display:flex;}
  .navlinks a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .navlinks .sub-menu{position:static;display:block;background:rgba(255,255,255,.03);border:none;padding:0 0 0 14px;min-width:0;}
  .navlinks .sub-menu a{padding:10px 0;}
  .menu-toggle{display:block;}
  .nav-cta{display:none;}
  .navlinks a.navlinks-cta{display:flex;justify-content:center;margin-top:16px;}
  .nav-search-inner{padding:14px 20px;}
}
@media (max-width:1100px){
  .post-list{grid-template-columns:1fr;}
}

/* ===== MOBILE (phones) — fixes for consistency ===== */
html,body{overflow-x:hidden;max-width:100%;}

@media (max-width:600px){
  .mainnav .container{padding:0 16px;}
  .mainnav .logo,
  .mainnav .logo:link,
  .mainnav .logo:visited{color:#fff !important;opacity:1;}
  .mainnav .logo small{color:var(--gold) !important;}
  .mainnav .logo img{filter:brightness(0) invert(1) !important;opacity:1;}
  .container{padding:0 20px;}

  /* Hero on phones — back to the ORIGINAL photo directly (no separate
     composite file with added navy padding). Padding was exactly what
     kept creating a flat, image-less tail below the text — with the
     real photo alone at a height tuned to the image's own content,
     there is no padding to create a seam: every pixel of the hero is
     the actual photo, text overlaid throughout, nothing added below. */
  .hero-grid{display:flex;align-items:center;justify-content:center;position:relative;z-index:2;min-height:420px;}
  .hero-photo{position:absolute;inset:0;background-size:cover;background-position:left center;background-repeat:no-repeat;}
  .hero-photo::before{
    background:radial-gradient(ellipse 90% 95% at 50% 50%, rgba(0,10,28,.7) 0%, rgba(0,10,28,.5) 45%, rgba(0,10,28,.3) 70%, rgba(0,10,28,.15) 100%);
  }
  .hero{min-height:0;}
  .hero-copy{
    position:relative;left:auto;top:auto;transform:none;
    width:100%;max-width:310px;margin:0 auto;
    padding:20px 24px;
    text-align:center;
  }
  .hero-copy .eyebrow{text-align:center;margin-bottom:10px;}
  .hero-h1{margin-bottom:10px;}
  .hero-sub{margin:0 auto 16px;text-align:center;}
  .hero-actions{justify-content:center;gap:10px;}
  .hero-h1{font-size:22px;line-height:1.24;}
  .hero-sub{font-size:12.5px;}
  .page-hero h1{font-size:28px;}

  /* Footer: 2-column grid was cramping/cutting off text — stack to one column.
     Vertical rhythm tightened ~30% vs desktop (padding/gaps below), and the
     4 link columns become accordions — closed by default, one tap to open,
     so the footer doesn't turn into an endless scroll on a phone. */
  footer{padding-top:36px;}
  .footer-grid{grid-template-columns:1fr;gap:8px;padding-bottom:32px;}
  .fcol a, .fcol li{margin-bottom:0;}
  .fcol[data-accordion]{border-top:1px solid rgba(255,255,255,.08);}
  .fcol[data-accordion]:last-of-type{border-bottom:1px solid rgba(255,255,255,.08);}
  .fcol-toggle{cursor:pointer;min-height:44px;margin-bottom:0;padding:13px 0;}
  .fcol-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
  .fcol-chevron{display:block;width:16px;height:16px;flex-shrink:0;color:#aeb4c6;transition:transform .25s ease;}
  .fcol-toggle[aria-expanded="true"] .fcol-chevron{transform:rotate(180deg);color:var(--gold);}
  .fcol-panel{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .fcol-panel.is-open{max-height:440px;padding-bottom:14px;}
  .fcol-panel a{min-height:44px;display:flex;align-items:center;margin-bottom:0;}
  .newsletter{padding-top:22px;}

  /* Newsletter box sat 34px below the accordion block, itself further
     pushed down by its own 26px top padding + a second border line —
     on top of the accordion's own bottom border, that stacked into a
     tall empty gap between two thin lines with nothing in it. One
     divider is enough; tightened to a normal, single section gap. */
  .footer-newsletter-standalone--bottom{
    margin-top:20px;
    padding-top:0;
    border-top:none;
  }

  /* Diagnostic steps: vertical list on phones, icon+index beside the text, arrows hidden (redundant once stacked) */
  .diag-steps{flex-direction:column;align-items:flex-start;gap:26px;max-width:100%;}
  .diag-step{width:100%;max-width:100%;text-align:left;padding:0;display:flex;gap:16px;align-items:flex-start;}
  .diag-icon-circle{margin:0;flex-shrink:0;width:52px;height:52px;}
  .diag-icon-circle .icon{width:22px;height:22px;}
  .diag-step-index{display:none;}
  .diag-arrow{display:none;}
  .diag-step-text{flex:1;}

  /* Science & Conseils: 5 cards leave an orphan in a 2-col grid — stack on small phones */
  .conseils-grid{grid-template-columns:1fr;}
  .conseil-item{border-left:none;border-top:1px solid var(--border2);}
  .conseil-item:first-child{border-top:none;}

  /* Skin concern cards: keep 2 columns but tighten spacing for narrow phones */
  .concern-grid{gap:14px;}
  .concern-body{padding:16px 14px 18px;}
  .concern-body h2,.concern-body h3{font-size:12.5px;}

  .sys-grid{gap:14px;}
  .reassure-col{padding:18px 14px;}
  .finalcta h2{font-size:28px;}
  .trust-col{padding:28px 16px;}
  .trust-icon{width:34px;height:34px;margin-bottom:16px;}
  .trust-col h3{margin-bottom:8px;}

  /* Section headings: were unchanged on mobile (30-38px), too large/heavy on a phone.
     Header-to-content gap also tightened in step with the smaller .section
     padding below (48px), so the header doesn't float with disproportionately
     more air under it than the section has around it. */
  .sec-head{margin-bottom:36px;}
  .sec-head h2{font-size:24px;}
  .sec-head p{font-size:13.5px;}
  .diagnostic h2{font-size:24px;}
  .diagnostic > .container > p{font-size:13.5px;}
  .protocol-copy h2{font-size:22px;}
  .science-left h2{font-size:22px;}
  .section{padding:48px 0;}
  .section.tight{padding:40px 0;}
  .diagnostic{padding:56px 0;}
  .quiz-wrap{padding:26px 20px;}
  .quiz-opts{grid-template-columns:1fr;}
}

/* ============================================================
   ORTENEO — DESKTOP UX/UI REFINEMENT V1.5.2
   Split into two thresholds on purpose:
   - 1025px for newsletter / section spacing / diagnostic steps —
     these have zero interaction with the tablet (≤1100px) rules,
     so a lower, more realistic "desktop window" threshold is
     safe (catches small laptop windows / 110-125% browser zoom,
     which was the actual bug in V1.5.1's single 1101px cutoff).
   - 1101px for the Hero specifically — the hero switches its
     ENTIRE layout mode at max-width:1100px (position:static,
     stacked) vs the desktop absolute-overlay mode. Applying the
     hero tweaks below 1101 would fight that tablet layout, so
     this one piece must stay above it.
   ============================================================ */
@media (min-width:1025px){

  /* 1) Footer newsletter — now styled universally in the base
     rule above (applies on mobile too, per request), nothing
     desktop-specific needed here anymore. */

  /* 3) Section-to-section vertical rhythm — reduce the combined
     176px (88+88) gap at every .section boundary to a tighter,
     still-generous 136px (68+68); same proportionally for the
     "tight" variant (Science & Conseils). Content, order and
     backgrounds are untouched — padding only. */
  .section{ padding:68px 0; }
  .section.tight{ padding:46px 0; }


  /* 4) "Comprendre votre peau. Trouver votre protocole." — the
     content was centered in a narrow 920px column inside a much
     wider navy block, reading as "a small box in a big navy
     space". Widen the two elements that were capping it so the
     04-step timeline and the intro paragraph actually relate to
     the full width of the section. Background, gold accents,
     copy and CTA are untouched. */
  .diagnostic > .container > p{
    max-width:640px;
  }
  .diag-steps{
    max-width:1120px;
    gap:32px;
  }
}

/* Hero refinement — kept at min-width:1101px specifically (see
   note above): the hero's layout mode itself switches at
   max-width:1100px, so this must start strictly above that. */
@media (min-width:1101px){
  .hero-copy{
    width:440px;
    max-width:32vw;
    left:8%;
    right:auto;
    top:50%;
    transform:translateY(-50%);
    text-align:left;
  }
  .hero-copy .eyebrow,
  .hero-h1,
  .hero-sub{
    text-align:left;
  }
  .hero-h1{
    font-size:40px;
    line-height:1.22;
  }
  .hero-sub{
    font-size:15.5px;
    max-width:440px;
    margin-left:0;
    margin-right:0;
  }
  .hero-actions{
    justify-content:flex-start;
  }
}

/* ===== CORRECT LAUNCH HERO — split composition 2026-09-05 =====
   Desktop: copy occupies the empty left field while the real packshot stays clear on the right.
   Mobile: preserve the product side of the source image instead of cropping it away. */
@media (min-width:1101px){
  .hero--slider .hero-photo{background-position:center center;}
  .hero--slider .hero-photo::before{background:linear-gradient(90deg,rgba(0,10,28,.66) 0%,rgba(0,10,28,.42) 32%,rgba(0,10,28,.10) 54%,rgba(0,10,28,0) 72%);}
  .hero--slider .hero-grid{max-width:none;margin:0;}
  .hero--slider .hero-copy{left:6vw !important;right:auto !important;top:50%;transform:translateY(-50%) !important;width:31vw !important;max-width:430px !important;text-align:left !important;}
  .hero--slider .hero-copy .eyebrow,.hero--slider .hero-h1,.hero--slider .hero-sub{text-align:left !important;}
  .hero--slider .hero-sub{margin-left:0 !important;margin-right:0 !important;max-width:420px;}
  .hero--slider .hero-actions{justify-content:flex-start !important;}
}
@media (max-width:1100px){
  .hero--slider .hero-photo{background-position:62% center;}
}
@media (max-width:600px){
  .hero--slider .hero-grid{min-height:560px;align-items:flex-end;}
  .hero--slider .hero-photo{background-position:68% center;}
  .hero--slider .hero-photo::before{background:linear-gradient(180deg,rgba(0,10,28,.12) 0%,rgba(0,10,28,.22) 34%,rgba(0,10,28,.72) 70%,rgba(0,10,28,.82) 100%);}
  .hero--slider .hero-copy{max-width:360px;padding:28px 24px 34px;}
}

/* ============================================================
   ORTENEO — MY ACCOUNT V1.0
   Fully namespaced under .orteneo-account — no global selectors
   (body, section, .container, h1, button, a) are touched here.
   V1.5.2 and every rule above this block is untouched.
   ============================================================ */

.orteneo-account__auth{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:820px;margin:0 auto;}
.orteneo-account__auth-col{border:1px solid var(--border2);padding:36px 32px;background:#fff;}
.orteneo-account__auth-col--alt{background:var(--soft);}
.orteneo-account__auth-col h2{font-size:20px;font-weight:500;margin-bottom:20px;}
.orteneo-account__form{display:flex;flex-direction:column;gap:16px;}
.orteneo-account__form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-mut);letter-spacing:.03em;}
.orteneo-account__form input{border:1px solid var(--border2);padding:11px 14px;font-family:'Jost',sans-serif;font-size:14px;color:var(--text-dark);background:#fff;}
.orteneo-account__form input:focus{outline:none;border-color:var(--gold);}
.orteneo-account__form input:disabled{background:var(--soft);color:var(--text-mut);}
.orteneo-account__form button{margin-top:6px;align-self:flex-start;}
.orteneo-account__link{font-size:12.5px;color:var(--text-mut);text-decoration:underline;margin-top:4px;}
.orteneo-account__link-row{margin-top:16px;}
.orteneo-account__error{background:#fbeaea;border:1px solid #e3b6b6;color:#8a2f2f;padding:10px 14px;font-size:13px;margin-bottom:16px;}
.orteneo-account__success{background:#eaf6ee;border:1px solid #b6e3c2;color:#2f6b40;padding:10px 14px;font-size:13px;margin-bottom:16px;}
.orteneo-account__guest-note{text-align:center;max-width:520px;margin:28px auto 0;font-size:12.5px;color:var(--text-mut);line-height:1.7;}

.orteneo-account__layout{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:start;}
.orteneo-account__nav{display:flex;flex-direction:column;border:1px solid var(--border2);background:#fff;}
.orteneo-account__nav a{padding:13px 18px;font-size:12.5px;letter-spacing:.03em;color:var(--text-dark);border-bottom:1px solid var(--border2);}
.orteneo-account__nav a:last-of-type{border-bottom:none;}
.orteneo-account__nav a.is-active{background:var(--navy);color:#fff;font-weight:600;}
.orteneo-account__nav a:hover:not(.is-active){background:var(--soft);}
.orteneo-account__logout{color:#8a2f2f !important;text-align:left;background:none;border:none;border-top:2px solid var(--border2) !important;cursor:pointer;font-family:inherit;}

.orteneo-account__content{border:1px solid var(--border2);background:#fff;padding:36px 40px;min-height:320px;}
.orteneo-account__content h2{font-size:22px;font-weight:500;margin-bottom:18px;}
.orteneo-account__muted{color:var(--text-mut);font-size:13.5px;line-height:1.7;margin-bottom:20px;}

.orteneo-account__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.orteneo-account__card{border:1px solid var(--border2);padding:26px;background:var(--soft);}
.orteneo-account__card h3{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px;}
.orteneo-account__card p{font-size:13.5px;color:var(--text-dark);margin-bottom:14px;line-height:1.6;}
.orteneo-account__card p.orteneo-account__muted{margin-bottom:16px;}

.orteneo-account__form--wide{max-width:480px;}
.orteneo-account__form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* Desktop — every card in the grid is forced to the exact same height,
   and its button pinned at a fixed distance from the card's bottom
   edge. Two cards side by side then always place their buttons at the
   identical Y coordinate — guaranteed by fixed arithmetic, not by
   trusting Flexbox/Grid stretch behaviour to line up on its own. */
@media (min-width:901px){
  .orteneo-account__card{position:relative;height:230px;padding-bottom:78px;}
  .orteneo-account__card .btn{position:absolute;left:26px;bottom:26px;margin:0;}
}

@media (max-width:900px){
  .orteneo-account__auth{grid-template-columns:1fr;max-width:480px;}
  .orteneo-account__layout{grid-template-columns:1fr;}
  /* Equal-width nav cells: CSS Grid gives every cell the SAME column
     width across every row, unlike flex-wrap (previous approach) where
     each row measured its own items independently and the vertical
     divider line drifted from row to row. */
  .orteneo-account__nav{display:grid;grid-template-columns:1fr 1fr;}
  .orteneo-account__nav a{border-bottom:1px solid var(--border2);border-right:1px solid var(--border2);text-align:center;padding:14px 10px;}
  .orteneo-account__nav a:nth-child(2n){border-right:none;}
  .orteneo-account__nav a:nth-last-child(-n+2){border-bottom:none;}
  .orteneo-account__logout{border-top:none !important;}
  .orteneo-account__grid{grid-template-columns:1fr;}
  .orteneo-account__form-row{grid-template-columns:1fr;}
  .orteneo-account__content{padding:26px 22px;}
}

/* ============================================================
   ORTENEO — UX/CRO REFINEMENT V1.0 — Typography (Desktop only)
   Moderate size increase for body/nav/card text that read as too
   small on desktop specifically (1025px+, matches V1.5.1's
   established desktop-only threshold). Mobile sizes untouched.
   ============================================================ */
@media (min-width:1025px){
  .navlinks{font-size:12px;}
  .concern-body p{font-size:13.5px;}
  .sys-body .desc{font-size:12.5px;}
  .sys-prods{font-size:11.5px;}
  .trust-col p{font-size:11px;}
  .footer-brand p{font-size:13.5px;}
  .fcol a, .fcol li{font-size:13.5px;}
}

/* ============================================================
   ORTENEO — UX/CRO REFINEMENT V1.0 — Section spacing (Desktop)
   Slightly tighter than V1.5.1's 68px (which itself already
   reduced the original 88px) — a further moderate pass per this
   round's explicit request. Mobile untouched (still 56px).
   ============================================================ */
@media (min-width:1025px){
  .section{ padding:58px 0; }
  .section.tight{ padding:40px 0; }
}

/* ============================================================
   ORTENEO — UX/CRO REFINEMENT V1.0 — Treatment System cards:
   whole card clickable (image + title + description), not just
   the "DÉCOUVRIR" link — reduces friction to open a system.
   The visible DÉCOUVRIR button remains as a secondary, explicit
   CTA inside the same clickable area (no nested-link conflict,
   see JS-free technique: an invisible full-card <a> stacked
   behind the content via z-index, with the real CTA raised above
   it and pointer-events re-enabled so it stays independently
   clickable/hoverable).
   ============================================================ */
.sys-card{position:relative;}
.sys-card__overlay-link{position:absolute;inset:0;z-index:1;}
.sys-card__overlay-link:hover ~ .sys-body .sys-cta,
.sys-card:hover .sys-cta{text-decoration-color:var(--gold);}
.sys-cta{position:relative;z-index:2;}

/* ============================================================
   ORTENEO — Treatment System Page Enhancement V2.0
   New sections added to page-system.php, following the approved
   reference layout logic (not copied verbatim): hero trust row,
   protocol step visuals, checklist, composition badges, results
   showcase with an honestly-labeled photo placeholder.
   ============================================================ */
.sys-trust-row{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:18px;font-size:12px;color:#dbe0ea;}
.sys-trust-row span{white-space:nowrap;}


.sys-protocol-step{position:relative;padding-top:0;}
.sys-protocol-step__visual{width:100%;height:90px;display:flex;align-items:flex-end;justify-content:center;padding:12px;margin-bottom:14px;}
.sys-protocol-step__visual .sys-bottle{height:60px;}

.sys-kit-card{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:36px;padding:26px 32px;background:var(--navy);color:#fff;}
.sys-kit-info{flex:1;min-width:220px;}
.sys-kit-badge{display:inline-block;background:var(--gold);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 10px;margin-bottom:10px;}
.sys-kit-info h3{font-size:18px;margin-bottom:4px;color:#fff;}
.sys-kit-info p{font-size:12.5px;color:rgba(255,255,255,.72);}
.sys-kit-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.sys-kit-price__old{font-size:14px;color:rgba(255,255,255,.55);text-decoration:line-through;}
.sys-kit-price__new{font-size:19px;font-weight:700;font-family:'Jost',sans-serif;font-variant-numeric:tabular-nums;color:var(--gold);line-height:1.1;}
.sys-kit-price__new .woocommerce-Price-currencySymbol{margin-right:3px;}
.sys-kit-cta{white-space:nowrap;}
@media (max-width:640px){.sys-kit-card{flex-direction:column;align-items:stretch;text-align:left;}.sys-kit-price{align-items:flex-start;}.sys-kit-cta{align-self:center;width:auto;max-width:100%;padding-left:28px;padding-right:28px;text-align:center;justify-content:center;}}
.sys-composition-row{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 32px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border2);font-size:12.5px;color:var(--text-mut);}
.sys-composition-row span{white-space:nowrap;}

.sys-finalcta.has-visual{background-color:var(--navy);}
.sys-finalcta.has-visual .btn-outline-dark{border-color:rgba(255,255,255,.6);}

/* ============================================================
   ORTENEO — Treatment System HERO V2 — side-by-side, real product
   imagery prominent on the right (not a plain color block).
   Matches the approved reference's proportions and hierarchy.
   ============================================================ */
.sys-hero-v2{background:radial-gradient(ellipse at 15% 20%,#071e42 0%,var(--navy) 60%);color:#fff;padding:56px 0;overflow:hidden;}
.sys-hero-v2__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.sys-hero-v2__copy .breadcrumb{color:#8b93a6;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.sys-hero-v2__copy .eyebrow{color:var(--gold);}
.sys-hero-v2__copy h1{font-size:38px;color:#fff;margin:10px 0 16px;line-height:1.15;}
.sys-hero-v2__copy .sys-promise{color:#dbe0ea;font-size:14.5px;line-height:1.7;max-width:440px;margin-bottom:18px;}
.sys-hero-v2__copy .sys-step-badge--hero{margin-bottom:20px;}
.sys-trust-row--left{justify-content:flex-start;margin-bottom:26px;}
.sys-hero-v2__visual{height:420px;border-radius:10px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:14px;padding:30px;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);}
.sys-hero-v2__visual .sys-bottle{height:70%;}

@media (max-width:900px){
  .sys-hero-v2{padding:40px 0;}
  .sys-hero-v2__grid{grid-template-columns:1fr;gap:28px;}
  .sys-hero-v2__copy h1{font-size:28px;}
  .sys-hero-v2__visual{height:300px;border-radius:8px;}
}

/* ============================================================
   ORTENEO — Product Page V1.0
   WooCommerce single-product.php override styling. Scoped under
   .orteneo-product / .orteneo-upsell, no global selectors touched.
   ============================================================ */
.orteneo-product{padding:40px 0 60px;}
.orteneo-product__crumb{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mut);margin-bottom:24px;}
.orteneo-product__crumb a{color:var(--text-mut);}

.orteneo-product__layout{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;margin-bottom:48px;}
.orteneo-product__gallery{position:relative;}
.orteneo-product__promo-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--gold);color:#07152F;font-size:11px;font-weight:700;letter-spacing:.04em;padding:8px 16px;border-radius:100px;}
.orteneo-product__gallery-main{background:var(--soft);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.orteneo-product__gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;}
.orteneo-product__gallery-thumb{aspect-ratio:1/1;background:var(--soft);border:1px solid var(--border2);cursor:pointer;overflow:hidden;transition:border-color .15s;}
.orteneo-product__gallery-thumb img{width:100%;height:100%;object-fit:contain;}
.orteneo-product__gallery-thumb.is-active{border-color:var(--gold);border-width:2px;}
.orteneo-product__gallery-main{cursor:grab;touch-action:pan-y;user-select:none;}
.orteneo-product__gallery-main:active{cursor:grabbing;}
.orteneo-product__gallery-thumb:first-child{border-color:var(--gold);}
.orteneo-product__gallery-main img{width:100%;height:100%;object-fit:contain;}
.orteneo-product__gallery-placeholder{width:100%;height:100%;background:linear-gradient(150deg,#e8e6df,#c9c6ba);}
.orteneo-product__gallery-placeholder--neutral{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--soft);color:var(--text-mut);}
.orteneo-product__gallery-placeholder--neutral svg{width:44px;height:44px;opacity:.5;}
.orteneo-product__gallery-placeholder--neutral span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.orteneo-upsell__card-visual-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--soft);}
.orteneo-upsell__card-visual-placeholder svg{width:28px;height:28px;color:var(--text-mut);opacity:.5;}

.orteneo-product__buybox .eyebrow{color:var(--gold);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;}
.orteneo-product__buybox h1{font-size:30px;margin:8px 0 12px;}
.orteneo-product__short-desc{font-size:14px;color:var(--text-mut);line-height:1.7;margin-bottom:16px;}
.orteneo-product__facts{border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);margin-bottom:20px;padding:16px 0;display:flex;flex-direction:column;gap:12px;}
.orteneo-product__fact{display:flex;flex-direction:column;gap:2px;}
.orteneo-product__fact-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);}
.orteneo-product__fact-value{font-size:13px;color:var(--text-dark);line-height:1.55;}
.orteneo-product__reviews{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-mut);margin-bottom:18px;}
.orteneo-product__reviews .star-rating{font-size:17px;}
.star-rating span::before,.orteneo-product__reviews .star-rating span::before{color:var(--gold);}
.star-rating::before,.orteneo-product__reviews .star-rating::before{color:var(--border);}

.orteneo-product__price{border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);padding:20px 0;margin-bottom:22px;font-size:26px;font-weight:600;color:var(--navy);}
.orteneo-product__price del{color:var(--text-mut);font-size:16px;font-weight:400;margin-right:10px;}
.orteneo-product__price ins{text-decoration:none;}
.orteneo-product__savings{display:block;font-size:12.5px;color:#b8860b;font-weight:600;margin-top:6px;}

.orteneo-product__cart{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.orteneo-product__qty{display:flex;align-items:center;gap:8px;}
.orteneo-product__qty label{font-size:11px;color:var(--text-mut);}
.orteneo-product__qty input{width:56px;padding:10px;border:1px solid var(--border2);text-align:center;}
.orteneo-product__addcart{flex:1;text-align:center;}
.orteneo-product__buynow{display:block;text-align:center;width:100%;margin-bottom:20px;}

.orteneo-product__trust{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-mut);}

.orteneo-product__description{max-width:760px;margin:0 auto 56px;padding-top:32px;border-top:1px solid var(--border2);}
.orteneo-product__description h2{font-size:20px;margin-bottom:14px;}
.orteneo-product__description p{font-size:14px;color:var(--text-mut);line-height:1.75;}

.orteneo-upsell{border-top:1px solid var(--border2);padding-top:40px;margin-bottom:48px;}
.orteneo-upsell h2{font-size:22px;margin-bottom:4px;}
.orteneo-upsell__sub{font-size:13px;color:var(--text-mut);margin-bottom:24px;}
.orteneo-upsell__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.orteneo-upsell__card{border:1px solid var(--border2);padding:18px;text-align:left;min-width:0;}
.orteneo-upsell__card-visual{display:block;aspect-ratio:1/1;background:var(--soft);margin-bottom:12px;}
.orteneo-upsell__card-visual img{width:100%;height:100%;object-fit:contain;}
.orteneo-upsell__step{display:inline-block;font-size:9.5px;letter-spacing:.06em;background:var(--navy);color:#fff;padding:3px 8px;margin-bottom:8px;}
.orteneo-upsell__card h4{font-size:13px;font-weight:600;margin-bottom:8px;line-height:1.4;}
.orteneo-upsell__price{font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:12px;}
.orteneo-upsell__card .btn{width:100%;text-align:center;justify-content:center;font-size:10.5px;padding:10px;white-space:normal;}
.orteneo-upsell__bundle{background:var(--navy);color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;}
.orteneo-upsell__bundle h4{color:#fff;}
.orteneo-upsell__bundle-badge{display:inline-block;background:var(--gold);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 10px;margin-bottom:10px;align-self:flex-start;}
.orteneo-upsell__bundle-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:14px;min-width:0;}
.orteneo-upsell__bundle-price__old,
.orteneo-upsell__bundle-price__new{min-width:0;overflow-wrap:break-word;}
.orteneo-upsell__bundle-price__old{font-size:14px;color:rgba(255,255,255,.55);text-decoration:line-through;}
.orteneo-upsell__bundle-price__new{font-size:19px;font-weight:700;font-family:'Jost',sans-serif;font-variant-numeric:tabular-nums;color:var(--gold);line-height:1.1;}
.orteneo-upsell__bundle-price__new .woocommerce-Price-currencySymbol{margin-right:3px;}

/* Wide variant — full-width banner below the "Complétez votre
   protocole" grid rather than squeezed into one of its narrow
   columns (which made the card tall/cramped on a 2-column mobile
   grid and pushed the price row past the card's edge). */
.orteneo-upsell__bundle--wide{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:28px 32px;}
.orteneo-upsell__bundle-copy{flex:1;min-width:220px;}
.orteneo-upsell__bundle-copy h4{font-size:18px;margin-bottom:6px;}
.orteneo-upsell__bundle-copy p{margin-bottom:0;max-width:480px;font-size:14.5px !important;color:#fff !important;line-height:1.7;}
.orteneo-upsell__bundle-action{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:200px;}
.orteneo-upsell__bundle-action .orteneo-upsell__bundle-price{margin-bottom:0;flex-direction:column;align-items:flex-end;gap:2px;}
.orteneo-upsell__bundle-action .btn{width:100%;white-space:normal;}
@media (max-width:600px){
  .orteneo-upsell__bundle--wide{flex-direction:column;align-items:stretch;padding:22px;}
  .orteneo-upsell__bundle-action{align-items:flex-start;width:100%;}
  .orteneo-upsell__bundle-action .orteneo-upsell__bundle-price{align-items:flex-start;}
}

/* Upsell selector — checkbox picker with live tiered-discount total,
   shared component used on both the product page and the system page. */
.orteneo-upsell-selector{margin-top:24px;border-top:1px solid var(--border2);padding-top:20px;}
.orteneo-upsell-selector__grid{display:flex;flex-direction:column;gap:8px;}
.orteneo-upsell-selector__item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border2);cursor:pointer;transition:border-color .15s;}
.orteneo-upsell-selector__item:has(input:checked){border-color:var(--gold);background:var(--soft);}
.orteneo-upsell-selector__item input{width:16px;height:16px;flex:none;accent-color:var(--gold);}
.orteneo-upsell-selector__item img{width:42px;height:42px;object-fit:cover;flex:none;border:1px solid var(--border2);}
.orteneo-upsell-selector__item-name{flex:1;font-size:13px;}
.orteneo-upsell-selector__item-price{font-size:12.5px;color:var(--text-mut);white-space:nowrap;}
.orteneo-upsell-selector__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--soft);border:1px solid var(--border2);padding:14px 16px;margin:14px 0;}
.orteneo-upsell-selector__summary-count{font-size:12px;color:var(--text-mut);}
.orteneo-upsell-selector__summary-discount{font-size:12px;font-weight:700;color:var(--gold);}
.orteneo-upsell-selector__summary-total{font-size:19px;font-weight:700;font-family:'Jost',sans-serif;font-variant-numeric:tabular-nums;}
.orteneo-upsell-selector__submit{width:100%;}
.orteneo-upsell-selector__submit:disabled{opacity:.4;cursor:not-allowed;}
.sys-upsell-picker{margin-top:36px;padding-top:28px;border-top:1px solid var(--border2);}
.sys-upsell-picker h3{font-size:19px;margin-bottom:4px;}
.sys-upsell-picker > p{font-size:12.5px;color:var(--text-mut);margin-bottom:16px;}
.orteneo-upsell__bundle h4{font-size:14px;margin-bottom:8px;}
.orteneo-upsell__bundle p{font-size:12px;color:#c7cede;margin-bottom:14px;line-height:1.6;}
.orteneo-upsell__bundle .btn{width:100%;text-align:center;justify-content:center;font-size:10.5px;white-space:normal;}

.orteneo-product__trustbar{border-top:1px solid var(--border2);padding-top:32px;}

@media (max-width:900px){
  .orteneo-product__layout{grid-template-columns:1fr;gap:28px;}
  .orteneo-upsell__grid{grid-template-columns:1fr 1fr;}
  .orteneo-product__buybox h1{font-size:24px;}
  /* True edge-to-edge gallery on mobile, independent of the
     container's padding at any breakpoint — matches the large,
     full-width product photo treatment used as a reference. */
  .orteneo-product__gallery{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;}
}

/* Treatment System page — real product links added to protocol/product cards */
.sys-protocol-step__link{display:inline-block;margin-top:10px;font-size:11px;color:var(--gold);text-decoration:underline;}
.sys-product-price{font-size:14px;font-weight:600;color:var(--navy);margin:10px 0;}

/* ---------- WooCommerce cart & checkout — never styled by the theme
   before, left to WooCommerce's bare default markup, which doesn't
   collapse to one column on mobile and left the review-order column
   so narrow that browsers force-broke long words character by
   character. ---------- */
.woocommerce-cart .simple-page,
.woocommerce-checkout .simple-page{padding-top:8px;padding-bottom:60px;}

/* Checkout: two columns side by side on desktop, stacked on mobile —
   was never responsive before, so the order-review column had almost
   no room on a phone. */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:36px;}
@media (min-width:900px){
  .woocommerce-checkout .col2-set{grid-template-columns:1.1fr .9fr;}
}
.woocommerce-checkout .col-1,.woocommerce-checkout .col-2{width:100%;float:none;}
.woocommerce-checkout .form-row{margin-bottom:14px;}
.woocommerce-checkout .form-row label{display:block;font-size:12.5px;color:var(--text-mut);margin-bottom:6px;}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea{width:100%;padding:11px 12px;border:1px solid var(--border2);font-size:14px;background:#fff;}

/* Cart page + checkout order-review — same table styling for both. */
.woocommerce-cart table.shop_table,
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;table-layout:auto;}
.woocommerce-cart table.shop_table th,
.woocommerce-checkout-review-order-table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mut);padding:10px 8px;border-bottom:1px solid var(--border2);}
.woocommerce-cart table.shop_table td,
.woocommerce-checkout-review-order-table td{padding:14px 8px;border-bottom:1px solid var(--border2);font-size:13.5px;vertical-align:middle;overflow-wrap:break-word;word-break:normal;}
.woocommerce-cart table.shop_table td.product-name,
.woocommerce-checkout-review-order-table td.product-name{max-width:0;width:100%;}
.woocommerce-cart table.shop_table td.product-thumbnail{width:64px;}
.woocommerce-cart table.shop_table td.product-thumbnail img{width:56px;height:56px;object-fit:cover;}
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-checkout-review-order-table td.product-total{white-space:nowrap;text-align:right;font-weight:600;}
.woocommerce-cart table.shop_table td.product-quantity .qty{width:56px;padding:6px;border:1px solid var(--border2);text-align:center;}

/* Remove (×) link — WooCommerce always renders it, it just had no
   visible styling before. */
.woocommerce-cart table.shop_table a.remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#a33 !important;font-size:18px;line-height:1;text-decoration:none;border:1px solid #e5c3c3;}
.woocommerce-cart table.shop_table a.remove:hover{background:#a33;color:#fff !important;}

.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .order-total td{font-weight:700;}
.woocommerce-checkout-review-order-table dl{margin:0;font-size:11.5px;color:var(--text-mut);}
.woocommerce-checkout-review-order-table dl dt{float:left;clear:left;margin-right:4px;}

@media (max-width:768px){
  .woocommerce-cart table.shop_table thead{display:none;}
  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr{display:block;width:100%;}
  .woocommerce-cart table.shop_table tr{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0;max-width:100%;}
  .woocommerce-cart table.shop_table td{border:none;padding:0;max-width:100%;box-sizing:border-box;}
  .woocommerce-cart table.shop_table td.product-remove{order:1;}
  .woocommerce-cart table.shop_table td.product-thumbnail{order:2;}
  .woocommerce-cart table.shop_table td.product-name{order:3;flex:1;min-width:0;overflow-wrap:break-word;}
  .woocommerce-cart table.shop_table td.product-price{display:none;}
  .woocommerce-cart table.shop_table td.product-quantity{order:4;}
  .woocommerce-cart table.shop_table td.product-subtotal{order:5;width:100%;max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:left;border-top:1px solid var(--border2);padding-top:8px;margin-top:4px;}
}

/* ---------- WooCommerce Cart BLOCK (Gutenberg) ----------
   WooCommerce 11 defaults new/regenerated Cart pages to the block-based
   cart (wp-block-woocommerce-cart / wc-block-cart-*), not the legacy
   [woocommerce_cart] shortcode table the rules above target — that's
   why those never applied. Different markup entirely, needs its own
   rules. Confirmed by the "Kit: Réduction kit -20%" line actually
   showing (that's our own woocommerce_get_item_data filter output,
   rendered here as .wc-block-components-product-metadata). */
.wp-block-woocommerce-cart{overflow-x:hidden;max-width:100%;}
.wc-block-cart-items{width:100%;}
.wc-block-cart-item{width:100%;box-sizing:border-box;}
.wc-block-components-product-price,
.wc-block-components-sale-badge,
.wc-block-cart-item__total,
.wc-block-cart-item__prices{white-space:normal !important;overflow-wrap:break-word;max-width:100%;}
.wc-block-components-product-metadata{font-size:11.5px;color:var(--text-mut);}
.wc-block-components-product-name{overflow-wrap:break-word;}

@media (max-width:768px){
  /* Force the row onto its own block instead of the table-cell layout
     WooCommerce's default block CSS uses above ~480px, which is what
     was squeezing the price cell off the edge of the screen. */
  .wc-block-cart-items__header{display:none;}
  .wc-block-cart-items,
  .wc-block-cart-items__row,
  .wc-block-cart-item{display:block !important;width:100% !important;}
  .wc-block-cart-item{border-bottom:1px solid var(--border2);padding:14px 0;}
  .wc-block-cart-item__image{display:inline-block;width:64px;vertical-align:top;}
  .wc-block-cart-item__product{display:inline-block;width:calc(100% - 76px);vertical-align:top;padding-left:12px;box-sizing:border-box;}
  .wc-block-cart-item__prices,
  .wc-block-cart-item__total{display:block;width:100%;text-align:left;margin-top:8px;font-weight:600;}
  .wc-block-cart-item__quantity{display:block;margin-top:10px;}
}

/* ---------- Checkout: email is optional (COD store) — hide the field
   visually on both classic and block checkout. Best-effort selectors
   for both markups; the email itself is never actually required
   server-side either way (see checkout-hooks.php), this is purely
   cosmetic so the customer isn't asked for something we don't need. */
#billing_email_field,
.wc-block-checkout__email-address,
.wc-block-components-address-form__email,
.wc-block-checkout__contact-fields .wc-block-components-text-input:has(input#email),
.wc-block-checkout__contact-fields .wc-block-components-text-input:has(input[name="email"]){
  display:none !important;
}

/* ===== NOS PRODUITS (homepage) ===== */
.home-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}

/* ===== QUICK PILLS (post-Hero shortcuts) ===== */
.quick-pills{background:#fff;border-bottom:1px solid var(--border2);padding:16px 0;}
.quick-pills__track{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.quick-pills__track::-webkit-scrollbar{display:none;}
@media (min-width:1200px){.quick-pills__track{width:100%;justify-content:center !important;overflow-x:visible;box-sizing:border-box;}}
.quick-pill{flex:0 0 auto;padding:9px 20px;border:1px solid var(--gold);border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);white-space:nowrap;background:#fff;transition:background .15s,color .15s;}
.quick-pill:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.quick-pill--gold{background:#fff;color:var(--navy);border-color:var(--gold);}
.quick-pill--gold:hover{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ===== HEADER + HERO contrast reinforcement ===== */
.mainnav .logo,
.mainnav .logo:link,
.mainnav .logo:visited{
  color:#fff !important;
  opacity:1;
  font-weight:600;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.mainnav .logo small{color:var(--gold) !important;opacity:1;text-shadow:none;}
.hero-actions .btn-outline-dark{
  color:#fff !important;
  border-color:rgba(255,255,255,.88);
  background:rgba(0,16,42,.42);
  font-weight:600;
  text-shadow:0 1px 1px rgba(0,0,0,.35);
}
.hero-actions .btn-outline-dark:hover{background:rgba(0,16,42,.68);border-color:#fff;}

/* ===== CONSEILS D'EXPERTS teaser ===== */
.home-articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.home-article-card{display:block;background:#fff;border:1px solid var(--border2);overflow:hidden;transition:.2s;}
.home-article-card:hover{border-color:var(--gold);box-shadow:0 8px 24px rgba(0,0,0,.06);}
.home-article-card__visual{aspect-ratio:4/3;background:var(--soft);overflow:hidden;}
.home-article-card__visual img{width:100%;height:100%;object-fit:cover;}
.home-article-card__placeholder{width:100%;height:100%;background:linear-gradient(150deg,#e8e6df,#c9c6ba);}
.home-article-card__cat{display:block;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin:16px 20px 6px;}
.home-article-card h4{font-size:14px;font-weight:600;color:var(--navy);line-height:1.4;margin:0 20px 12px;}
.home-article-card .cta{display:block;font-size:11px;color:var(--gold);font-weight:600;margin:0 20px 18px;}
@media (max-width:900px){
  .home-articles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
}
@media (max-width:600px){
  .home-articles-grid{grid-template-columns:1fr;gap:18px;}
}

/* ===== NOS PRODUITS — slider (éditorial, une seule rangée, cartes plus grandes) ===== */
.sec-head--split{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;text-align:left;max-width:none;margin:0 0 32px;}
.sec-head--split .sec-head__link{flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:3px;white-space:nowrap;}
.sec-head--split h2{margin-bottom:6px;}
.sec-head--split p{margin:0;}
.home-products-slider{position:relative;display:flex;align-items:center;gap:14px;}
.home-products-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.home-products-track::-webkit-scrollbar{display:none;}
.home-products-track .home-product-card{flex:0 0 auto;width:300px;scroll-snap-align:start;padding:24px;}
.hps-arrow{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--border2);color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.hps-arrow:hover{background:var(--soft);border-color:var(--gold);}
.hps-arrow svg{width:18px;height:18px;}
.hps-progress{height:1px;background:var(--border2);margin-top:20px;position:relative;}
.hps-progress__bar{position:absolute;top:0;left:0;height:1px;background:var(--gold);width:25%;transition:transform .3s ease,width .3s ease;}
@media (max-width:600px){
  .sec-head--split{flex-direction:column;align-items:flex-start;gap:10px;}
  .hps-arrow,.hps-progress{display:none;}
  /* Vertical 2×4 grid, no swipe — everything visible while scrolling
     the page normally, same principle as the desktop grid below (all
     8 curated products shown, nothing hidden behind a gesture). Matches
     this site's own convention for content-rich card grids (concern
     cards, ingredient cards): 2 columns on phones, description
     dropped to keep each card legible at that width, price/name/CTA
     kept since those are what actually drive the click. */
  .home-products-slider{display:block;}
  .home-products-track{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    overflow:visible;
    padding-bottom:0;
  }
  .home-products-track .home-product-card{width:auto;padding:12px;}
  .home-products-track .home-product-card p{display:none;}
  .home-products-track .home-product-card h4{font-size:12px;}
  .home-products-track .home-product-card__price ins{font-size:13px;}
  .home-products-track .home-product-card__price del{font-size:10px;}
}

/* ===== NOS PRODUITS — desktop: full grid, no slider =====
   The PHP always pulls a fixed, curated set of 8 products (2 per
   system × 4 systems — see front-page.php), never a variable count,
   so desktop has enough width to lay all 8 out at once with nothing
   hidden behind a drag gesture. Swiping stays mobile-only, where it's
   the expected interaction; desktop gets the plain, complete 4×2
   grid the section's own original comments describe. DOM and PHP are
   untouched — this only repoints the existing flex-slider CSS to
   grid at this width, and hides the now-unnecessary arrows/progress. */
@media (min-width:1025px){
  .home-products-slider{display:block;}
  .home-products-track{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    overflow:visible;
    padding-bottom:0;
  }
  .home-products-track .home-product-card{width:auto;}
  .hps-arrow,.hps-progress{display:none;}
}
.results-soon{text-align:center;max-width:560px;margin:0 auto;padding:40px 0;}
.results-soon .eyebrow{display:block;margin-bottom:14px;}
.results-soon h2{font-size:24px;font-weight:500;line-height:1.4;color:var(--text-mut);}
.home-product-card{display:block;background:#fff;border:1px solid var(--border2);padding:16px;transition:.2s;}
.home-product-card:hover{border-color:var(--gold);box-shadow:0 8px 24px rgba(0,0,0,.06);}
.home-product-card .cta{display:inline-block;transition:transform .2s ease;}
.home-product-card:hover .cta{transform:translateX(3px);}
.home-product-card__visual{aspect-ratio:1/1;background:var(--soft);margin-bottom:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.home-product-card__badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--navy);color:var(--gold);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:2px;font-weight:600;}
/* Discount badge — top-right corner of the image, mirroring the "Au cœur
   du système" badge on the left. Only rendered when the product is
   genuinely on sale (see front-page.php), so it never shows a "-0%". */
.home-product-card__discount{position:absolute;top:10px;right:10px;z-index:2;background:var(--gold);color:var(--btn-text-dark);font-size:10.5px;letter-spacing:.03em;padding:5px 9px;border-radius:2px;font-weight:700;}
.home-product-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.home-product-card:hover .home-product-card__visual img{transform:scale(1.03);}
.home-product-card__placeholder{width:100%;height:100%;background:linear-gradient(150deg,#e8e6df,#c9c6ba);}
.home-product-card__system{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:4px;}
.home-product-card h4{font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:4px;line-height:1.35;}
.home-product-card__system{font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:6px;}
.home-product-card__step{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mut);font-weight:600;margin-bottom:4px;}
.home-product-card__step-num{color:var(--navy);}
.home-product-card__step-sep{margin:0 3px;color:var(--border2);}
.home-product-card p{font-size:11.5px;color:var(--text-mut);line-height:1.5;margin-bottom:8px;}

/* Price — was plain WooCommerce output (both old/new price same size,
   same weight, browser-default underline on <ins>): unreadable at a
   glance and inconsistent with the old/new price treatment already
   used elsewhere on the site (kit cards, upsell bundles). Same
   language applied here: struck-through price small and muted,
   current price bold and gold, on one baseline with a clear gap. */
.home-product-card__price{
	display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;
	margin-bottom:8px;font-family:'Jost',sans-serif;
}
.home-product-card__price del{
	font-size:11.5px;font-weight:400;color:var(--text-mut);opacity:.7;
	text-decoration:line-through;
}
.home-product-card__price ins{
	font-size:15px;font-weight:700;color:var(--gold);
	text-decoration:none;font-variant-numeric:tabular-nums;
}
.home-product-card__price > .amount{
	font-size:14px;font-weight:700;color:var(--navy);
	font-variant-numeric:tabular-nums;
}
.home-product-card .cta{font-size:11px;color:var(--gold);font-weight:600;}

/* ===== PourquoI ORTENEO — compact variant ===== */
.why-orteneo--compact{padding-top:44px;padding-bottom:44px;}
.sec-head--tight{margin-bottom:28px;}
.trustbar--compact .trust-col{padding:8px 16px;}
.trustbar--compact .trust-icon{width:24px;height:24px;margin-bottom:8px;}
.trustbar--compact h4{font-size:12.5px;margin-bottom:4px;}
.trustbar--compact p{font-size:11px;}

@media (max-width:900px){
  .home-products-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .home-products-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .home-product-card{padding:10px;}
  .home-product-card--desktop-only{display:none;}
}

/* ===== FAQ accordion ===== */
.faq-accordion{border-top:1px solid var(--border2);}
.faq-item{border-bottom:1px solid var(--border2);}
.faq-item__q{padding:18px 4px;font-size:14px;font-weight:600;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item__q::-webkit-details-marker{display:none;}
.faq-item__q::after{content:'+';font-size:20px;color:var(--gold);font-weight:400;flex-shrink:0;margin-left:12px;}
.faq-item[open] .faq-item__q::after{content:'−';}
.faq-item__a{padding:0 4px 20px;font-size:13.5px;line-height:1.8;color:var(--text-mut);}

/* ===== Product page — "Pour qui & précautions" accordion ===== */
.orteneo-product__accordion{border-top:1px solid var(--border2);margin-bottom:18px;}
.orteneo-product__accordion summary{padding:14px 2px;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.orteneo-product__accordion summary::-webkit-details-marker{display:none;}
.orteneo-product__accordion summary::after{content:'+';font-size:16px;color:var(--gold);font-weight:400;}
.orteneo-product__accordion[open] summary::after{content:'−';}
.orteneo-product__accordion-body{padding:0 2px 16px;font-size:12.5px;line-height:1.75;color:var(--text-mut);}
.orteneo-product__accordion-body p{margin-bottom:8px;}
.orteneo-product__accordion-body strong{color:var(--navy);}

/* ===== v3.9.7 — Global typography polish v2 (Boutique, Produit, Systems) =====
   Site-wide safety net: WooCommerce's own default markup (shop archive,
   single product tabs/description, price display) doesn't always
   inherit the theme's brand fonts/spacing cleanly on every element —
   this makes sure it always does, everywhere, without touching any
   layout/structure. Headings use the serif brand font, body text uses
   Jost with a more generous, clearly professional size and line-height.
   ⚠️ v3.9.7 FIX: v3.9.5's blanket ".woocommerce *" rule broke the star
   rating icons (garbled boxes instead of ★) — WooCommerce renders them
   via a bundled icon font on .star-rating::before, which the wildcard
   selector was silently overriding. .star-rating (and its ::before
   pseudo-elements) are now explicitly excluded from every rule below. */
.woocommerce *:not(.star-rating):not(.star-rating *),
.orteneo-systems *:not(.star-rating):not(.star-rating *),
.products *:not(.star-rating):not(.star-rating *),
.product *:not(.star-rating):not(.star-rating *){
	font-family:'Jost', sans-serif;
}
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.orteneo-systems h1, .orteneo-systems h2, .orteneo-systems h3,
.products h1, .products h2, .products h3,
.product h1, .product h2, .product h3{
	font-family:'Cormorant Garamond', serif;
}
.woocommerce p, .products p, .product p,
.orteneo-systems p,
.woocommerce-product-details__short-description p,
.woocommerce-Tabs-panel p{
	line-height:1.8; font-size:15px; color:var(--text-mut);
}
.woocommerce .price, .products .price, .product .price{
	font-family:'Jost', sans-serif; font-weight:500; font-size:17px; letter-spacing:.01em; color:var(--navy);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.product_title{
	font-family:'Cormorant Garamond', serif;
	font-weight:500; letter-spacing:.01em; line-height:1.3; font-size:19px;
}
.woocommerce-tabs ul.tabs li a{ font-size:13px; letter-spacing:.04em; }
.woocommerce-Tabs-panel{ font-size:15px; line-height:1.8; }
.star-rating{ font-family:'star' !important; }
.star-rating::before,
.star-rating span::before{ font-family:'star' !important; }

/* ===== Boutique (archive WooCommerce) — habillage complet =====
   Jusqu'ici cette page utilisait le rendu par défaut de WooCommerce
   (titre, badge promo, boutons "Ajouter au panier", tri, pagination)
   sans aucune adaptation visuelle — d'où des boutons gris standards
   qui ne suivaient pas la charte navy/gold. Tout ce qui suit cible
   uniquement les classes CSS natives et stables de WooCommerce
   (aucun template PHP touché, donc aucun risque sur le comportement
   du tri/de la pagination/des filtres). */

.woocommerce-products-header__title.page-title{
	font-family:'Cormorant Garamond', serif; font-weight:500;
	font-size:34px; color:var(--navy); text-align:center;
	max-width:1240px; margin:0 auto; padding:44px 32px 8px;
}

.woocommerce-result-count{
	color:var(--text-mut); font-size:13px; letter-spacing:.02em;
}
.woocommerce-ordering select{
	border:1.5px solid var(--border2); border-radius:0; background:#fff;
	color:var(--navy); font-family:'Jost', sans-serif; font-size:12.5px;
	letter-spacing:.04em; padding:10px 34px 10px 14px; cursor:pointer;
	appearance:none; -webkit-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2300102A' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 14px center;
}
.woocommerce-ordering select:focus{ outline:none; border-color:var(--gold); }

.woocommerce .container > .woocommerce-notices-wrapper + *,
.woocommerce-result-count,
.woocommerce-ordering{ margin-bottom:18px; }

/* Cartes produit */
ul.products{ display:grid !important; grid-template-columns:repeat(2, 1fr); gap:20px; list-style:none; margin:0 !important; padding:0 !important; }
@media (min-width:700px){ ul.products{ grid-template-columns:repeat(3, 1fr); gap:26px; } }
@media (min-width:1024px){ ul.products{ grid-template-columns:repeat(4, 1fr); gap:28px; } }

ul.products li.product{
	background:#fff; border:1px solid var(--border2); border-radius:2px;
	padding:0 0 20px; position:relative; float:none !important; width:auto !important;
	transition:box-shadow .25s ease, border-color .25s ease; text-align:center;
}
ul.products li.product:hover{ box-shadow:0 10px 28px rgba(0,16,42,.08); border-color:#e3ddce; }
ul.products li.product a{ text-decoration:none; }
ul.products li.product img{ width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; margin-bottom:16px; }
ul.products li.product .woocommerce-loop-product__title{ padding:0 16px; margin-bottom:8px; }
ul.products li.product .price{ padding:0 16px; display:block; margin-bottom:14px; }
ul.products li.product .price del{ color:#a7abb8; opacity:.55; font-size:13px; margin-right:6px; }
ul.products li.product .price ins{ text-decoration:none; }
ul.products li.product .star-rating{ margin:0 16px 8px; font-size:13px; }

/* Badge promo — garde le texte existant (filtré côté PHP), recolore
   uniquement pour suivre la charte gold/navy au lieu du vert olive
   générique. */
ul.products li.product .onsale,
ul.products li.product span.onsale{
	background:var(--navy) !important; color:#fff !important;
	font-family:'Jost', sans-serif; font-size:10.5px; letter-spacing:.08em;
	text-transform:uppercase; font-weight:500;
	min-height:0; min-width:0; border-radius:2px; padding:6px 12px;
	top:14px; left:14px; right:auto; line-height:1;
}

/* Bouton "Ajouter au panier" — même traitement que .btn-gold utilisé
   partout ailleurs sur le site, au lieu du bouton gris par défaut de
   WooCommerce. */
ul.products li.product a.button,
ul.products li.product a.add_to_cart_button,
ul.products li.product a.added_to_cart{
	display:block; margin:0 16px; width:calc(100% - 32px);
	background:var(--gold) !important; color:var(--btn-text-dark) !important;
	border:1px solid var(--gold) !important; border-radius:0;
	font-family:'Jost', sans-serif; font-size:11.5px; letter-spacing:.1em;
	text-transform:uppercase; font-weight:500; text-align:center;
	padding:13px 14px; transition:.2s ease; box-shadow:none;
}
ul.products li.product a.button:hover,
ul.products li.product a.add_to_cart_button:hover{
	background:var(--gold2) !important; border-color:var(--gold2) !important;
}
ul.products li.product a.added_to_cart{
	background:transparent !important; color:var(--navy) !important;
	border:1px solid var(--navy) !important; margin-top:8px;
}

nav.woocommerce-pagination ul{ border:none !important; display:flex; gap:8px; justify-content:center; margin-top:32px; }
nav.woocommerce-pagination ul li{ border:none !important; }
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span{
	border:1px solid var(--border2) !important; border-radius:0 !important;
	color:var(--navy) !important; font-family:'Jost', sans-serif; font-size:12.5px;
	min-width:38px; height:38px; display:flex; align-items:center; justify-content:center;
	padding:0 !important;
}
nav.woocommerce-pagination ul li a:hover,
nav.woocommerce-pagination ul li span.current{
	background:var(--navy) !important; color:#fff !important; border-color:var(--navy) !important;
}

/* Widgets de filtre / recherche (sidebar boutique) — habillage
   générique via les classes standards WordPress/WooCommerce, quel
   que soit le plugin de filtre utilisé. */
.widget-title, .widget_search h3, .widget h3{
	font-family:'Cormorant Garamond', serif; font-size:18px; color:var(--navy);
	text-transform:none; letter-spacing:0; margin-bottom:14px;
}
.widget_search .search-field, .widget_product_search .search-field, input[type="search"]{
	width:100%; border:1.5px solid var(--border2); border-radius:0;
	padding:12px 14px; font-family:'Jost', sans-serif; font-size:14px;
}
.widget_search .search-field:focus, .widget_product_search .search-field:focus, input[type="search"]:focus{
	outline:none; border-color:var(--gold);
}

/* ===== Carte "Adresse de livraison" — page Merci + Mes commandes =====
   Rendue par core (checkout-hooks.php, woocommerce_order_details_after_order_table),
   même langage visuel que les cartes de la page Finaliser ma commande. */
.orteneo-order-address{
	background:#fff; border:1px solid #ece5d8; border-radius:12px;
	padding:24px; margin:24px 0; box-shadow:0 2px 12px rgba(0,16,42,.04);
}
.orteneo-order-address__title{
	font-size:13px; text-transform:uppercase; letter-spacing:.12em;
	color:var(--navy); font-weight:600; margin-bottom:16px;
	padding-bottom:12px; border-bottom:1px solid #f0ece0;
	font-family:'Jost', sans-serif;
}
.orteneo-order-address__grid{ display:grid; gap:14px; }
@media (min-width:600px){ .orteneo-order-address__grid{ grid-template-columns:1fr 1fr; } }
.orteneo-order-address__grid span{
	display:block; font-size:11px; text-transform:uppercase; letter-spacing:.06em;
	color:#8a8578; margin-bottom:4px; font-weight:500;
}
.orteneo-order-address__grid strong{
	font-weight:500; color:var(--navy); font-size:14.5px;
}

/* Product page — "Fait partie du [SYSTEM]" badge above the title.
   Reuses .eyebrow (already gold/uppercase/premium) as a link instead
   of plain text — minimal, no new visual language introduced. */
.orteneo-product__system-badge{
	display:inline-block; text-decoration:none;
	border-bottom:1px solid transparent; padding-bottom:2px;
	transition:border-color .18s ease, color .18s ease;
}
.orteneo-product__system-badge:hover{
	border-bottom-color:var(--gold); color:var(--gold2);
}

/* ===== Accessibility: respect prefers-reduced-motion (section 41) =====
   Global override — disables/shortens all transitions and animations
   for users who have requested reduced motion at the OS level. Applies
   safely to every existing rule (hero slider, hover effects, diagnostic
   quiz fade/spin) without touching any individual declaration. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ---------- ORTENEO product reviews styling (2026-09-01) ----------
   Restyles WooCommerce's default reviews/avis section on the product
   page to match the site's navy/gold identity. Purely additive CSS —
   no HTML structure changed, no WooCommerce/comment logic touched. */
#reviews{max-width:640px;margin:2rem 0;padding-top:1.5rem;border-top:1px solid var(--border);}
#reviews .woocommerce-Reviews-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--navy);margin-bottom:1rem;}
#reviews .commentlist{list-style:none;margin:0;padding:0;}
#reviews .commentlist .comment_container{display:flex;gap:.9rem;padding:1.1rem 0;border-bottom:1px solid var(--border2);}
#reviews .commentlist img{border-radius:50%;flex-shrink:0;}
#reviews .comment-text{flex:1;}
#reviews .star-rating{color:var(--gold);font-size:.95rem;margin-bottom:.3rem;}
#reviews .comment-text .meta{font-size:.85rem;color:var(--text-mut);margin-bottom:.3rem;}
#reviews .description p{margin:0;color:var(--text-dark);line-height:1.55;}
#reviews .woocommerce-noreviews{color:var(--text-mut);}

#review_form_wrapper{margin-top:1.75rem;}
#review_form #respond{background:var(--off);border:1px solid var(--border);border-radius:6px;padding:1.5rem;}
#review_form #reply-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--navy);display:block;margin-bottom:1rem;}
.comment-form-rating label{display:block;font-size:.9rem;color:var(--text-dark);margin-bottom:.4rem;}
.comment-form-rating select{border:1px solid var(--border);border-radius:4px;padding:.5rem .6rem;font-family:'Jost',sans-serif;background:var(--white);color:var(--text-dark);margin-bottom:1rem;}
.comment-form-comment label,.comment-form-author label,.comment-form-email label{display:block;font-size:.9rem;color:var(--text-dark);margin-bottom:.35rem;}
#review_form textarea,#review_form input[type="text"],#review_form input[type="email"]{width:100%;border:1px solid var(--border);border-radius:4px;padding:.6rem .7rem;font-family:'Jost',sans-serif;color:var(--text-dark);background:var(--white);margin-bottom:1rem;box-sizing:border-box;}
#review_form textarea{min-height:110px;resize:vertical;}
#review_form .required{color:var(--gold);}
#review_form p.form-submit{margin:0;}
#review_form #submit{background:var(--gold);color:var(--btn-text-dark);border:1px solid var(--gold);border-radius:4px;padding:.65rem 1.6rem;font-family:'Jost',sans-serif;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;}
#review_form #submit:hover{background:var(--gold2);border-color:var(--gold2);}

/* ---------- ORTENEO reviews polish batch 2 (2026-09-01) ---------- */
.woocommerce-review__verified{display:inline-block;font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:#0a6b3e;background:#e8f5ee;border-radius:20px;padding:.15rem .55rem;margin-left:.4rem;text-transform:uppercase;}

.orteneo-review-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--navy);color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.4rem;flex-shrink:0;}

.orteneo-rating-breakdown{margin:0 0 1.25rem;max-width:320px;}
.orteneo-rating-breakdown__row{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--text-mut);margin-bottom:.3rem;}
.orteneo-rating-breakdown__label{width:4.2rem;flex-shrink:0;}
.orteneo-rating-breakdown__track{flex:1;height:6px;background:var(--border2);border-radius:3px;overflow:hidden;}
.orteneo-rating-breakdown__fill{display:block;height:100%;background:var(--gold);}
.orteneo-rating-breakdown__count{width:1.4rem;text-align:right;flex-shrink:0;}

@media (max-width: 480px){
	.orteneo-review-avatar{font-size:1.1rem;}
	#reviews .commentlist .comment_container{gap:.65rem;align-items:flex-start;}
}

.orteneo-review-title{display:block;font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--navy);margin-bottom:.3rem;}
.comment-form-review-title label{display:block;font-size:.9rem;color:var(--text-dark);margin-bottom:.35rem;}
#review_form input#orteneo_review_title{width:100%;border:1px solid var(--border);border-radius:4px;padding:.6rem .7rem;font-family:'Jost',sans-serif;color:var(--text-dark);background:var(--white);margin-bottom:1rem;box-sizing:border-box;}
.orteneo-review-title{display:block;font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--navy);margin-bottom:.3rem;}
.comment-form-review-title label{display:block;font-size:.9rem;color:var(--text-dark);margin-bottom:.35rem;}
#review_form input#orteneo_review_title{width:100%;border:1px solid var(--border);border-radius:4px;padding:.6rem .7rem;font-family:'Jost',sans-serif;color:var(--text-dark);background:var(--white);margin-bottom:1rem;box-sizing:border-box;}


/* ---------- ORTENEO reviews: Amazon/Shein-style redesign (2026-09-01) ---------- */
#reviews .commentlist .comment_container{display:block;padding:1rem 0;border:none;}
#reviews .commentlist .comment-text{display:block;}
#reviews .orteneo-review-avatar{width:28px !important;height:28px !important;font-size:.75rem;display:inline-flex;vertical-align:middle;margin-right:.5rem;}
#reviews p.meta{margin:0 0 .3rem;font-size:.92rem;}
#reviews .woocommerce-review__author{font-size:.95rem;}
#reviews .woocommerce-review__verified{margin-left:.5rem;text-transform:none;}
#reviews .woocommerce-review__dash{display:none;}
#reviews .woocommerce-review__published-date{display:block;color:var(--text-mut);font-size:.82rem;margin-top:.15rem;}
#reviews .star-rating{margin:.15rem 0 .5rem;}

/* ---------- ORTENEO reviews: exact Amazon-order restructure (2026-09-01) ---------- */
#reviews .orteneo-review-name{margin:0 0 .25rem;}
#reviews .orteneo-review-name .woocommerce-review__author{font-size:1rem;font-weight:600;color:var(--text-dark);}
#reviews .star-rating{display:inline-block;margin:0 .4rem 0 0;vertical-align:middle;}
#reviews .woocommerce-review__verified{font-size:.8rem;font-weight:600;color:var(--gold2);text-transform:none;vertical-align:middle;}
#reviews .orteneo-review-title{display:block;font-family:'Jost',sans-serif;font-weight:700;font-size:1rem;color:var(--text-dark);margin-top:.5rem;}
#reviews .orteneo-review-date{display:block;color:var(--text-mut);font-size:.82rem;margin:.15rem 0 .6rem;}

/* ---------- ORTENEO reviews: clean flat rebuild (2026-09-01) ---------- */
#reviews .orteneo-review-flat{padding:1rem 0;border:none;display:block;}
#reviews .orteneo-review-line1{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:0 0 .4rem;}
#reviews .orteneo-review-line1 .woocommerce-review__author{font-size:1rem;font-weight:600;color:var(--text-dark);}
#reviews .orteneo-review-line1 .star-rating{display:inline-block;margin:0;}
#reviews .orteneo-review-line1 .woocommerce-review__verified{font-size:.78rem;font-weight:600;color:#0a6b3e;background:#e8f5ee;border-radius:20px;padding:.1rem .5rem;text-transform:none;}

/* ---------- ORTENEO: styling extended to all legal\/policy text pages (2026-09-02) ---------- */
.page-id-3 .entry-content, .page-id-3 article, .page-id-32 .entry-content, .page-id-32 article, .page-id-33 .entry-content, .page-id-33 article, .page-id-34 .entry-content, .page-id-34 article, .page-id-35 .entry-content, .page-id-35 article, .page-id-36 .entry-content, .page-id-36 article, .page-id-54 .entry-content, .page-id-54 article, .page-id-442 .entry-content, .page-id-442 article {max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem;}
/* h1 color rule removed 2026-09-02 -- was overriding page-hero title, making it invisible on navy background */
.page-id-3 .entry-content h2, .page-id-32 .entry-content h2, .page-id-33 .entry-content h2, .page-id-34 .entry-content h2, .page-id-35 .entry-content h2, .page-id-36 .entry-content h2, .page-id-54 .entry-content h2, .page-id-442 .entry-content h2 {font-family:'Cormorant Garamond',serif;color:var(--gold2);font-size:1.5rem;margin:2.2rem 0 .8rem;padding-bottom:.4rem;border-bottom:1px solid var(--border2);}
.page-id-3 .entry-content h2:first-of-type, .page-id-32 .entry-content h2:first-of-type, .page-id-33 .entry-content h2:first-of-type, .page-id-34 .entry-content h2:first-of-type, .page-id-35 .entry-content h2:first-of-type, .page-id-36 .entry-content h2:first-of-type, .page-id-54 .entry-content h2:first-of-type, .page-id-442 .entry-content h2:first-of-type {margin-top:0;}
.page-id-3 .entry-content p, .page-id-32 .entry-content p, .page-id-33 .entry-content p, .page-id-34 .entry-content p, .page-id-35 .entry-content p, .page-id-36 .entry-content p, .page-id-54 .entry-content p, .page-id-442 .entry-content p {color:var(--text-dark);line-height:1.7;margin-bottom:1rem;}
.page-id-3 .entry-content strong, .page-id-32 .entry-content strong, .page-id-33 .entry-content strong, .page-id-34 .entry-content strong, .page-id-35 .entry-content strong, .page-id-36 .entry-content strong, .page-id-54 .entry-content strong, .page-id-442 .entry-content strong {color:var(--navy);}
.page-id-3 .entry-content a, .page-id-32 .entry-content a, .page-id-33 .entry-content a, .page-id-34 .entry-content a, .page-id-35 .entry-content a, .page-id-36 .entry-content a, .page-id-54 .entry-content a, .page-id-442 .entry-content a {color:var(--gold2);text-decoration:underline;}
.page-id-3 .entry-content em, .page-id-32 .entry-content em, .page-id-33 .entry-content em, .page-id-34 .entry-content em, .page-id-35 .entry-content em, .page-id-36 .entry-content em, .page-id-54 .entry-content em, .page-id-442 .entry-content em {color:var(--text-mut);font-style:italic;}

/* ---------- ORTENEO: visible gold accent on ALL legal pages, even without H2s (2026-09-02) ---------- */
.page-id-3 .page-hero h1, .page-id-32 .page-hero h1, .page-id-33 .page-hero h1, .page-id-34 .page-hero h1, .page-id-35 .page-hero h1, .page-id-36 .page-hero h1, .page-id-54 .page-hero h1, .page-id-442 .page-hero h1 {position:relative;padding-bottom:.6rem;}
.page-id-3 .page-hero h1::after, .page-id-32 .page-hero h1::after, .page-id-33 .page-hero h1::after, .page-id-34 .page-hero h1::after, .page-id-35 .page-hero h1::after, .page-id-36 .page-hero h1::after, .page-id-54 .page-hero h1::after, .page-id-442 .page-hero h1::after {content:'';display:block;width:64px;height:3px;background:var(--gold2);margin-top:.7rem;}

/* ---------- ORTENEO: gold card styling for list items (2026-09-02) ---------- */
.page-id-3 .entry-content ul, .page-id-32 .entry-content ul, .page-id-33 .entry-content ul, .page-id-34 .entry-content ul, .page-id-35 .entry-content ul, .page-id-36 .entry-content ul, .page-id-54 .entry-content ul, .page-id-442 .entry-content ul {list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.7rem;}
.page-id-3 .entry-content li, .page-id-32 .entry-content li, .page-id-33 .entry-content li, .page-id-34 .entry-content li, .page-id-35 .entry-content li, .page-id-36 .entry-content li, .page-id-54 .entry-content li, .page-id-442 .entry-content li {background:var(--off);border:1px solid var(--border2);border-left:3px solid var(--gold2);border-radius:6px;padding:.9rem 1.1rem;line-height:1.65;color:var(--text-dark);}
.page-id-3 .entry-content li strong, .page-id-32 .entry-content li strong, .page-id-33 .entry-content li strong, .page-id-34 .entry-content li strong, .page-id-35 .entry-content li strong, .page-id-36 .entry-content li strong, .page-id-54 .entry-content li strong, .page-id-442 .entry-content li strong {color:var(--gold2);}

.page-id-3 .orteneo-note-box, .page-id-32 .orteneo-note-box, .page-id-33 .orteneo-note-box, .page-id-34 .orteneo-note-box, .page-id-35 .orteneo-note-box, .page-id-36 .orteneo-note-box, .page-id-54 .orteneo-note-box, .page-id-442 .orteneo-note-box {background:var(--off);border:1px solid var(--border2);border-left:3px solid var(--gold2);border-radius:6px;padding:.9rem 1.1rem;margin-top:1.2rem;}
.page-id-3 .orteneo-note-box p, .page-id-32 .orteneo-note-box p, .page-id-33 .orteneo-note-box p, .page-id-34 .orteneo-note-box p, .page-id-35 .orteneo-note-box p, .page-id-36 .orteneo-note-box p, .page-id-54 .orteneo-note-box p, .page-id-442 .orteneo-note-box p {margin:0 0 .7rem;}
.page-id-3 .orteneo-note-box p, .page-id-32 .orteneo-note-box p, .page-id-33 .orteneo-note-box p, .page-id-34 .orteneo-note-box p, .page-id-35 .orteneo-note-box p, .page-id-36 .orteneo-note-box p, .page-id-54 .orteneo-note-box p, .page-id-442 .orteneo-note-box p:last-child{margin-bottom:0;}

/* ---------- ORTENEO: gold accent for ingredient pills/library page (2026-09-02) ---------- */
.ingredient-card__system-pill{color:var(--gold2) !important;border-color:var(--gold2) !important;}
.ingredient-card__system-pill:hover{color:var(--btn-text-dark) !important;}
.ingredient-card{border-top:3px solid var(--gold2);}

/* ---------- ORTENEO: gold box styling for Science & Conseils hub ONLY (page-id-27) -- these classes are also used on front-page.php and page-resultats.php, so scoped strictly here (2026-09-02) ---------- */
.page-id-27 .conseil-item{border:1px solid var(--border2);border-top:3px solid var(--gold2);border-left:1px solid var(--border2) !important;border-radius:6px;background:var(--off);}
.page-id-27 .conseil-item:first-child{border-left:1px solid var(--border2) !important;}
.page-id-27 .conseil-item h4{color:var(--navy);}

.page-id-27 .evidence-list-card{background:var(--off);border:1px solid var(--border2);border-left:3px solid var(--gold2);border-radius:6px;}
.page-id-27 .evidence-list-card h3{color:var(--navy);}

.page-id-27 .technology-step{background:var(--off);border:1px solid var(--border2);border-top:3px solid var(--gold2);border-radius:6px;}
.page-id-27 .technology-step+.technology-step{border-left:1px solid var(--border2) !important;}

/* ---------- ORTENEO: gold box styling for Resultats page ONLY (page-id-26) -- .evidence-list-card is shared with page-science-conseils.php (already scoped there to page-id-27), so scoped strictly here too (2026-09-02) ---------- */
.page-id-26 .evidence-list-card{background:var(--off);border:1px solid var(--border2);border-left:3px solid var(--gold2);border-radius:6px;}
.page-id-26 .evidence-list-card h3{color:var(--navy);}

.page-id-26 .test-card{background:var(--off);border:1px solid var(--border2);border-top:3px solid var(--gold2);border-radius:6px;}
.page-id-26 .test-card .stars{color:var(--gold2);}

.page-id-26 .orteneo-empty-state{background:var(--off);border:1px dashed var(--border2);border-radius:6px;padding:1.5rem;}

/* ---------- ORTENEO: mobile card layout for comparaison-systemes (2026-09-02) ---------- */
.sys-compare-mobile{display:none;}
@media (max-width:768px){
  .sys-compare-table{display:none;}
  .sys-compare-mobile{display:flex;flex-direction:column;gap:18px;}
}
.sys-compare-mobile-card{background:#fff;border:1px solid var(--border2);border-top:3px solid var(--gold2);border-radius:8px;padding:20px 18px;}
.sys-compare-mobile-card__head{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border2);}
.sys-compare-mobile-card__head h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--navy);margin:0 0 4px;}
.sys-compare-mobile-card__head .subt{font-size:.8rem;color:var(--text-mut);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;}
.sys-compare-mobile-card__facts{margin:0 0 16px;}
.sys-compare-mobile-card__facts dt{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--gold2);margin-top:10px;}
.sys-compare-mobile-card__facts dt:first-child{margin-top:0;}
.sys-compare-mobile-card__facts dd{margin:2px 0 0;color:var(--text-dark);line-height:1.5;font-size:.92rem;}
.sys-compare-mobile-card__facts dd.muted{font-style:italic;color:var(--text-mut);font-size:.85rem;}
.sys-compare-mobile-card .btn{width:100%;text-align:center;}

.fcol-cta{margin-top:14px;}
.fcol-cta .btn{display:inline-block;padding:9px 18px;font-size:13px;}

.fcol-cta a.btn-gold{color:var(--btn-text-dark) !important;}
.fcol-cta a.btn-gold:hover{color:var(--btn-text-dark) !important;}

.orteneo-verified-badge{color:#0b5d46 !important;}

.orteneo-reviews-paginated ol.commentlist li.orteneo-review-card:nth-child(n+7){display:none;}
.orteneo-reviews-paginated.is-expanded ol.commentlist li.orteneo-review-card:nth-child(n+7){display:list-item;}
@media(min-width:900px){
  .orteneo-reviews-paginated ol.commentlist{grid-template-columns:repeat(3,1fr);}
}
@media(min-width:600px) and (max-width:899px){
  .orteneo-reviews-paginated ol.commentlist{grid-template-columns:repeat(2,1fr);}
}

.orteneo-reviews-load-more{margin-top:20px;margin-bottom:24px;}
.woocommerce-verification-required{margin-top:20px;}

@media(min-width:900px){
  #orteneo-home-reviews ol.commentlist{grid-template-columns:repeat(3,1fr);}
}
@media(min-width:600px) and (max-width:899px){
  #orteneo-home-reviews ol.commentlist{grid-template-columns:repeat(2,1fr);}
}


/* ---------------------------------------------------------------
   Cartes preoccupations en icone seule (page d'accueil).
   Ajoute le 2026-09-05 : les photos de peau ont ete retirees de
   l'accueil au profit des icones SVG deja definies dans
   orteneo_concerns(). Les photos restent sur /solutions-peau/,
   le diagnostic et les pages de chaque preoccupation, ou la
   grille garde son rendu d'origine.
   --------------------------------------------------------------- */
.concern-grid--iconic .concern-img{
	aspect-ratio:auto;
	height:132px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-bottom:1px solid rgba(0,16,42,.06);
}
.concern-grid--iconic .concern-img .icon{
	position:static;
	width:44px;
	height:44px;
	inset:auto;
	background:none;
	border-radius:0;
	padding:0;
	box-shadow:none;
	stroke-width:1.25;
	color:#00102a;
	opacity:.9;
	transition:transform .35s ease,color .35s ease;
}
.concern-grid--iconic .concern-card:hover .concern-img .icon{
	transform:translateY(-3px);
	color:#D4B06A;
}
@media (max-width:900px){
	.concern-grid--iconic .concern-img{height:104px}
	.concern-grid--iconic .concern-img .icon{width:36px;height:36px}
}

/* CORRECT launch commerce — premium bundle panel 2026-09-05 */
.correct-launch{background:#fff;border-top:1px solid rgba(25,25,25,.08);border-bottom:1px solid rgba(25,25,25,.08)}
.correct-launch__head{max-width:850px;margin-bottom:34px}
.correct-launch__head h2{margin:10px 0 12px;line-height:1.08}
.correct-launch__head p{max-width:720px;margin:0;color:var(--text-mut)}
.correct-launch__bundle{position:relative;min-height:390px;padding:30px 36px 22px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:linear-gradient(90deg,rgba(0,16,42,.96) 0%,rgba(0,16,42,.88) 35%,rgba(0,16,42,.28) 54%,rgba(0,16,42,.08) 100%),url('../img/systems/hero-correct-scene.webp') center/cover no-repeat;color:#fff;margin-bottom:38px}
.correct-launch__bundle-copy{position:relative;z-index:2;max-width:390px}
.correct-launch__badge{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-size:19px;font-weight:800;line-height:1;padding:12px 16px;margin-bottom:18px}
.correct-launch__bundle h3{font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1.04;font-weight:500;margin:0 0 10px;color:#fff}
.correct-launch__bundle-copy>p{font-size:14px;line-height:1.45;color:#e7eaf0;max-width:370px;margin:0 0 20px}
.correct-launch__bundle-prices{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:18px}
.correct-launch__bundle-prices del{font-size:19px;color:#aeb7c8;text-decoration-thickness:1px}
.correct-launch__bundle-prices strong{font-size:38px;line-height:1;color:var(--gold);letter-spacing:.01em}
.correct-launch__bundle-cta{min-width:280px;max-width:340px;justify-content:center;padding-top:13px;padding-bottom:13px}
.correct-launch__bundle-trust{position:relative;z-index:2;display:flex;gap:26px;flex-wrap:wrap;padding-top:17px;margin-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:11px;color:#eef1f6}
.correct-launch__bundle-trust span{position:relative;padding-left:17px}
.correct-launch__bundle-trust span::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700}
.correct-launch__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.correct-launch__step{display:block;color:inherit;text-decoration:none;border-top:1px solid rgba(25,25,25,.12);padding-top:16px}
.correct-launch__visual{aspect-ratio:1/1;background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:16px}
.correct-launch__visual img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.correct-launch__step:hover .correct-launch__visual img{transform:scale(1.025)}
.correct-launch__meta{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--gold);margin-bottom:8px}
.correct-launch__meta span{color:var(--text-mut);font-weight:600}
.correct-launch__step h3{font-size:18px;line-height:1.25;margin:0 0 8px}
.correct-launch__price{font-weight:700;margin-bottom:8px}
.correct-launch__step .cta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:3px}
/* Desktop CORRECT campaign artwork — mobile rules below remain authoritative and untouched. */
@media(min-width:761px){
  .correct-launch__bundle{display:block;min-height:0;height:auto;aspect-ratio:1688/785;padding:0;background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000bf9c81f4bd45d441020ffecc.png');background-size:100% auto;background-position:center bottom;background-repeat:no-repeat;color:#fff;margin-bottom:38px}
  .correct-launch__bundle-copy{position:absolute;inset:0;z-index:2;max-width:none;width:100%;height:100%;pointer-events:none}
  .correct-launch__badge,.correct-launch__bundle h3,.correct-launch__bundle-copy>p,.correct-launch__bundle-prices,.correct-launch__bundle-trust{display:none!important}
  .correct-launch__bundle-cta{position:absolute;left:4.6%;top:62.8%;width:34%;height:10%;min-width:0;max-width:none;margin:0;padding:0;border:0;background:transparent!important;color:transparent!important;font-size:0!important;box-shadow:none!important;pointer-events:auto}
  .correct-launch__bundle-cta:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
}
@media(max-width:760px){
  .correct-launch__head{margin-bottom:26px}
  .correct-launch__bundle{position:relative;display:block;min-height:0;height:auto;aspect-ratio:2/3;padding:0;background:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000207081f49876b9d3a81f264a.png') center/100% 100% no-repeat;background-color:var(--navy);margin-bottom:34px}
  .correct-launch__bundle-copy{position:absolute;inset:0;z-index:2;max-width:none;width:100%;height:100%;pointer-events:none}
  .correct-launch__badge,
  .correct-launch__bundle h3,
  .correct-launch__bundle-copy>p,
  .correct-launch__bundle-prices,
  .correct-launch__bundle-trust{display:none!important}
  .correct-launch__bundle-cta{position:absolute;left:8.6%;top:36.5%;width:57.7%;height:5.8%;min-width:0;max-width:none;margin:0;padding:0;border:0;background:transparent!important;color:transparent!important;font-size:0!important;box-shadow:none!important;pointer-events:auto}
  .correct-launch__bundle-cta:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
  .correct-launch__steps{grid-template-columns:1fr;gap:34px}
  .correct-launch__step{padding-top:24px}
  .correct-launch__visual{aspect-ratio:4/3}
}
/* ORTENEO HERO DESKTOP LEFT FIX 2026-09-05 */
@media (min-width:901px){
  .hero--slider .hero-copy{
    position:absolute!important;
    left:6%!important;
    right:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:32vw!important;
    max-width:430px!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  .hero--slider .hero-copy .eyebrow,.hero--slider .hero-h1,.hero--slider .hero-sub{text-align:left!important;}
  .hero--slider .hero-sub{margin-left:0!important;margin-right:0!important;max-width:420px!important;}
  .hero--slider .hero-actions{justify-content:flex-start!important;}
  .hero--slider .hero-photo::before{background:linear-gradient(90deg,rgba(0,10,28,.70) 0%,rgba(0,10,28,.50) 28%,rgba(0,10,28,.12) 55%,rgba(0,10,28,0) 72%)!important;}
}
@media (min-width:1200px){
  .hero--slider .hero-copy{left:7%!important;width:34vw!important;max-width:470px!important;}
}

/* CORRECT hero desktop — approved integrated artwork 510. Mobile remains untouched below. */
@media (min-width:901px){
  .hero--slider .hero-grid{position:relative!important;display:block!important;aspect-ratio:1688/932!important;min-height:0!important;height:auto!important;}
  .hero--slider .hero-photo{inset:0!important;height:100%!important;background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000b2bc81f490f12b6df497bd6a.png')!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;}
  .hero--slider .hero-photo::before,.hero--slider .hero-photo::after{content:none!important;display:none!important;background:none!important;}
  .hero--slider .hero-copy{position:absolute!important;inset:0!important;z-index:3!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;pointer-events:none!important;}
  .hero--slider .hero-copy>.eyebrow,.hero--slider .hero-h1,.hero--slider .hero-sub{display:none!important;}
  .hero--slider .hero-actions{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;margin:0!important;pointer-events:none!important;}
  .hero--slider .hero-actions .btn{position:absolute!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:transparent!important;font-size:0!important;pointer-events:auto!important;box-shadow:none!important;}
  .hero--slider .hero-actions .btn:first-child{left:5.7%!important;top:51.6%!important;width:31.2%!important;height:7.8%!important;}
  .hero--slider .hero-actions .btn:last-child{left:5.7%!important;top:61.0%!important;width:31.2%!important;height:7.8%!important;}
  .hero--slider .hero-actions .btn:focus-visible{outline:3px solid var(--gold)!important;outline-offset:2px!important;}
}

/* CORRECT hero — mobile image framing only. Desktop (901px+) is untouched. */
@media (max-width:900px){
  .hero--slider .hero-photo{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#07152a;
  }
}
@media (max-width:600px){
  /* Mobile CORRECT hero: use the exact approved Media Library reference. Desktop is untouched. */
  .hero--slider,
  .hero--slider .hero-slide.is-active,
  .hero--slider .hero-grid{min-height:0!important;height:auto!important;}
  .hero--slider .hero-slide.is-active{position:relative!important;background:#f2ece5!important;overflow:hidden!important;}
  .hero--slider .hero-grid{position:relative!important;display:block!important;aspect-ratio:941/1672!important;}
  .hero--slider .hero-photo{
    inset:0!important;
    height:100%!important;
    background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000713482109c5fd5aee2330d08.png')!important;
    background-size:100% 100%!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
  }
  .hero--slider .hero-photo::before,
  .hero--slider .hero-photo::after{content:none!important;display:none!important;background:none!important;}
  .hero--slider .hero-copy{position:absolute!important;inset:0!important;z-index:3!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;pointer-events:none!important;}
  .hero--slider .hero-copy>.eyebrow,
  .hero--slider .hero-h1,
  .hero--slider .hero-sub{display:none!important;}
  /* Invisible links are pixel-aligned to the two buttons already printed in the reference image. */
  .hero--slider .hero-actions{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;margin:0!important;pointer-events:none!important;}
  .hero--slider .hero-actions .btn{position:absolute!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:transparent!important;font-size:0!important;pointer-events:auto!important;}
  /* Exact hotspots measured from the 941x1672 mobile reference image. */
  .hero--slider .hero-actions .btn:first-child{left:17.8%!important;top:35.4%!important;width:64.5%!important;height:5.6%!important;}
  .hero--slider .hero-actions .btn:last-child{left:21.8%!important;top:41.8%!important;width:56.8%!important;height:5.2%!important;}
  .hero--slider .hero-actions .btn:focus-visible{outline:3px solid var(--navy)!important;outline-offset:2px!important;}
}

/* ORTENEO CORRECT HERO POLISH 2026-09-05 */
.sys-hero-v2--system-polish{padding:64px 0 70px;background:radial-gradient(ellipse at 18% 22%,#08254b 0%,#001b3c 38%,var(--navy) 72%);}
.sys-hero-v2--system-polish .sys-hero-v2__grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:58px;align-items:stretch;}
.sys-hero-v2--system-polish .sys-hero-v2__copy{display:flex;flex-direction:column;justify-content:center;padding:12px 0 8px;}
.sys-hero-v2--system-polish .sys-hero-v2__copy .breadcrumb{margin-bottom:25px;color:rgba(255,255,255,.54);}
.sys-hero-v2--system-polish .sys-hero-v2__copy .eyebrow{font-size:13px;letter-spacing:.22em;font-weight:600;margin-bottom:8px;}
.sys-hero-v2--system-polish .sys-hero-v2__copy h1{font-size:clamp(44px,4vw,62px);line-height:1.02;margin:5px 0 20px;letter-spacing:-.02em;}
.sys-hero-v2--system-polish .sys-hero-v2__copy h1:after{content:"";display:block;width:58px;height:2px;background:var(--gold);margin-top:24px;}
.sys-hero-v2--system-polish .sys-hero-v2__copy .sys-promise{font-size:17px;line-height:1.85;max-width:520px;color:rgba(255,255,255,.82);margin-bottom:23px;}
.sys-hero-v2--system-polish .sys-step-badge--hero{align-self:flex-start;padding:12px 22px;border-color:rgba(255,255,255,.4);letter-spacing:.11em;margin-bottom:27px;}
.sys-hero-v2--system-polish .sys-trust-row--left{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 28px;max-width:540px;}
.sys-hero-v2--system-polish .sys-trust-row--left span{position:relative;padding-top:37px;font-size:13px;white-space:nowrap;color:rgba(255,255,255,.9);}
.sys-hero-v2--system-polish .sys-trust-row--left span:before{content:"";position:absolute;top:0;left:0;width:27px;height:27px;border:1px solid var(--gold);border-radius:50%;}
.sys-hero-v2--system-polish .sys-trust-row--left span:after{content:"✓";position:absolute;top:4px;left:7px;color:var(--gold);font-size:14px;font-weight:700;}
.sys-hero-v2--system-polish .sys-trust-row--left span{font-size:0;}
.sys-hero-v2--system-polish .sys-trust-row--left span:nth-child(1):after{content:"✓"}.sys-hero-v2--system-polish .sys-trust-row--left span:nth-child(1):before{}
.sys-hero-v2--system-polish .sys-trust-row--left span:nth-child(1){font-size:13px}.sys-hero-v2--system-polish .sys-trust-row--left span:nth-child(2){font-size:13px}.sys-hero-v2--system-polish .sys-trust-row--left span:nth-child(3){font-size:13px}
.sys-hero-v2--system-polish .btn-gold{align-self:flex-start;min-width:330px;padding:17px 28px;text-align:center;letter-spacing:.12em;box-shadow:0 10px 30px rgba(0,0,0,.18);}
.sys-hero-v2--system-polish .sys-hero-v2__visual{height:auto;min-height:515px;border-radius:18px;padding:0;box-shadow:0 24px 65px rgba(0,0,0,.30);border:1px solid rgba(212,176,106,.25);background-position:center!important;background-size:cover!important;overflow:hidden;}
@media (max-width:900px){
 .sys-hero-v2--system-polish{padding:42px 0 48px;}
 .sys-hero-v2--system-polish .sys-hero-v2__grid{grid-template-columns:1fr;gap:34px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy{padding:0;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy .breadcrumb{margin-bottom:20px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy h1{font-size:40px;margin-bottom:18px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy h1:after{margin-top:18px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy .sys-promise{font-size:16px;line-height:1.75;}
 .sys-hero-v2--system-polish .sys-trust-row--left{grid-template-columns:repeat(3,1fr);gap:8px;}
 .sys-hero-v2--system-polish .sys-trust-row--left span{white-space:normal;font-size:12px;line-height:1.35;}
 .sys-hero-v2--system-polish .btn-gold{width:100%;min-width:0;}
 .sys-hero-v2--system-polish .sys-hero-v2__visual{min-height:0;height:auto;aspect-ratio:1.16/1;border-radius:14px;background-size:cover!important;}
}
@media (max-width:520px){
 .sys-hero-v2--system-polish{padding:34px 0 42px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy h1{font-size:36px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy .sys-promise{font-size:15px;}
 .sys-hero-v2--system-polish .sys-step-badge--hero{padding:11px 16px;}
 .sys-hero-v2--system-polish .sys-trust-row--left{gap:6px;margin-bottom:24px;}
 .sys-hero-v2--system-polish .sys-trust-row--left span{font-size:11px;padding-top:34px;}
 .sys-hero-v2--system-polish .sys-hero-v2__visual{aspect-ratio:1.14/1;}
}
/* CORRECT REFERENCE BUTTONS 2026-09-05 */
.sys-hero-v2--system-polish .sys-step-badge--hero{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid rgba(255,255,255,.58);border-radius:0;background:rgba(255,255,255,.025);color:#fff;font-size:12px;font-weight:600;line-height:1;letter-spacing:.16em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);transition:background .2s,border-color .2s,color .2s;}
.sys-hero-v2--system-polish .sys-step-badge--hero:hover{background:rgba(255,255,255,.07);border-color:var(--gold);color:#fff;}
.sys-hero-v2--system-polish .btn.btn-gold{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:390px;min-height:68px;padding:0 66px 0 34px;border:1px solid #e0bd72;border-radius:5px;background:linear-gradient(90deg,#d8ae5d 0%,#e7c879 50%,#d9ae5b 100%);color:#071b37;font-size:13px;font-weight:700;line-height:1;letter-spacing:.17em;text-transform:uppercase;box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .18s,box-shadow .18s,filter .18s;}
.sys-hero-v2--system-polish .btn.btn-gold:after{content:"→";position:absolute;right:30px;top:50%;transform:translateY(-52%);font-size:25px;font-weight:400;letter-spacing:0;}
.sys-hero-v2--system-polish .btn.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.035);box-shadow:0 16px 34px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.3);}
@media(max-width:900px){.sys-hero-v2--system-polish .sys-step-badge--hero{min-height:49px;padding:0 22px}.sys-hero-v2--system-polish .btn.btn-gold{width:100%;min-width:0;min-height:66px;padding-left:24px;padding-right:58px}.sys-hero-v2--system-polish .btn.btn-gold:after{right:24px}}
/* SYSTEM HERO REFERENCE MATCH V2 2026-09-05 */
.sys-hero-v2--system-polish{background:#f4efe6!important;padding:34px 0 48px!important;color:#fff;}
.sys-hero-v2--system-polish .sys-hero-v2__grid{background:#001a3b;border:1px solid rgba(212,176,106,.28);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:0;align-items:stretch;box-shadow:0 24px 70px rgba(4,22,49,.16);max-width:1240px;padding:0!important;}
.sys-hero-v2--system-polish .sys-hero-v2__copy{padding:58px 54px 54px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 18%,rgba(18,56,104,.52),transparent 40%),linear-gradient(145deg,#06224b 0%,#001a3b 58%,#00142f 100%);min-width:0;}
.sys-hero-v2--system-polish .sys-hero-v2__copy .breadcrumb{margin:0 0 24px;color:rgba(255,255,255,.48);font-size:10px;letter-spacing:.12em;}
.sys-hero-v2--system-polish .sys-hero-v2__copy .eyebrow{font-size:12px;letter-spacing:.24em;font-weight:600;color:#d8b563;margin-bottom:8px;}
.sys-hero-v2--system-polish .sys-hero-v2__copy h1{font-size:clamp(43px,3.7vw,60px);line-height:1.02;letter-spacing:-.025em;margin:4px 0 18px;color:#fff;}
.sys-hero-v2--system-polish .sys-hero-v2__copy h1:after{content:"";display:block;width:54px;height:2px;background:#d4b06a;margin-top:20px;}
.sys-hero-v2--system-polish .sys-hero-v2__copy .sys-promise{max-width:500px;font-size:16px;line-height:1.78;color:rgba(255,255,255,.8);margin:0 0 21px;}
.sys-hero-v2--system-polish .sys-step-badge--hero{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;margin:0 0 25px;border:1px solid rgba(255,255,255,.5);border-radius:2px;background:transparent;color:#fff;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;}
.sys-hero-v2--system-polish .sys-trust-row--left{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:500px;margin:0 0 27px;}
.sys-hero-v2--system-polish .sys-trust-row--left span{position:relative;padding-top:33px;color:rgba(255,255,255,.88);font-size:11.5px;line-height:1.3;white-space:normal;}
.sys-hero-v2--system-polish .sys-trust-row--left span:before{content:"";position:absolute;left:0;top:0;width:25px;height:25px;border:1px solid #d4b06a;border-radius:50%;}
.sys-hero-v2--system-polish .sys-trust-row--left span:after{content:"✓";position:absolute;left:6px;top:3px;font-size:13px;color:#d4b06a;font-weight:700;}
.sys-hero-v2--system-polish .btn.btn-gold{align-self:flex-start;position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:365px;min-height:62px;padding:0 62px 0 30px;border:1px solid #e2c276;border-radius:4px;background:linear-gradient(90deg,#d4ac5d 0%,#e6c777 52%,#d5ad5c 100%);color:#081c38;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 28px rgba(0,0,0,.22);}
.sys-hero-v2--system-polish .btn.btn-gold:after{content:"→";position:absolute;right:26px;top:50%;transform:translateY(-52%);font-size:22px;font-weight:400;}
.sys-hero-v2--system-polish .sys-hero-v2__visual{height:auto!important;min-height:560px!important;border-radius:0!important;border:0!important;box-shadow:none!important;padding:0!important;background-size:cover!important;background-position:center!important;}
@media(max-width:900px){
 .sys-hero-v2--system-polish{padding:18px 0 32px!important;background:#f4efe6!important;}
 .sys-hero-v2--system-polish .sys-hero-v2__grid{grid-template-columns:1fr;border-radius:16px;overflow:hidden;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy{padding:34px 28px 32px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy h1{font-size:38px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy .sys-promise{font-size:15px;line-height:1.7;}
 .sys-hero-v2--system-polish .sys-trust-row--left{grid-template-columns:repeat(3,1fr);gap:6px;}
 .sys-hero-v2--system-polish .btn.btn-gold{width:100%;min-width:0;min-height:60px;padding-left:20px;padding-right:52px;}
 .sys-hero-v2--system-polish .sys-hero-v2__visual{min-height:0!important;aspect-ratio:1.16/1!important;}
}
@media(max-width:520px){
 .sys-hero-v2--system-polish .sys-hero-v2__copy{padding:30px 22px 26px;}
 .sys-hero-v2--system-polish .sys-hero-v2__copy h1{font-size:35px;}
 .sys-hero-v2--system-polish .sys-step-badge--hero{min-height:44px;padding:0 15px;font-size:10px;}
 .sys-hero-v2--system-polish .sys-trust-row--left span{font-size:10.5px;padding-top:31px;}
 .sys-hero-v2--system-polish .sys-hero-v2__visual{aspect-ratio:1.08/1!important;}
}
/* CORRECT REFERENCE FINAL V5 2026-09-05 */
.correct-ref-hero{background:#fff;padding:18px 0 34px}.correct-ref-desktop{display:block}.correct-ref-mobile{display:none}
.correct-ref-desktop__card{position:relative;display:grid;grid-template-columns:42% 58%;min-height:640px;overflow:hidden;background:#001a36}
.correct-ref-desktop__copy{position:relative;z-index:3;padding:44px 42px 118px;color:#fff;background:linear-gradient(90deg,#001a36 0%,#001a36 76%,rgba(0,26,54,.9) 90%,rgba(0,26,54,.25) 100%)}
.correct-ref-badge{display:inline-flex;align-items:center;justify-content:center;background:#e2b85f;color:#071a34;font-weight:800;font-size:28px;min-width:112px;height:64px;margin-bottom:22px}.correct-ref-desktop h1,.correct-ref-mobile h1{font-family:'Cormorant Garamond',serif;font-weight:500;color:#fff;line-height:.96;margin:0 0 18px}.correct-ref-desktop h1{font-size:60px}.correct-ref-desktop p,.correct-ref-mobile p{color:#fff;margin:0 0 20px;line-height:1.42}.correct-ref-desktop p{font-size:19px}.correct-ref-price{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:22px}.correct-ref-price del{color:rgba(255,255,255,.65);font-size:24px;margin-bottom:6px}.correct-ref-price strong{color:#e2b85f;font-size:52px;line-height:1;letter-spacing:.02em}.correct-ref-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#e2b85f;color:#081b35!important;text-decoration:none!important;text-transform:uppercase;font-weight:800;letter-spacing:.08em;min-height:72px;padding:0 30px;width:min(100%,520px);font-size:14px}.correct-ref-cta b{font-size:32px;font-weight:400;line-height:1}.correct-ref-trust{position:absolute;left:42px;bottom:28px;right:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.correct-ref-trust>div{display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;line-height:1.25}.correct-ref-trust .ico{font-size:30px;line-height:1;color:#fff}.correct-ref-desktop__visual{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000701081f49942b338201ece6b.png');background-size:cover;background-position:center;min-height:640px}.correct-ref-desktop__footer{position:absolute;right:0;bottom:0;width:58%;z-index:4;padding:13px 20px 15px;text-align:center;background:rgba(239,229,213,.92);color:#13213a}.correct-ref-desktop__footer strong,.correct-ref-desktop__footer span{display:block;text-transform:uppercase}.correct-ref-desktop__footer strong{font-size:12px;letter-spacing:.2em;margin-bottom:6px}.correct-ref-desktop__footer span{font-size:10px;letter-spacing:.14em}
@media(max-width:900px){.correct-ref-hero{padding:0;background:#fff}.correct-ref-desktop{display:none!important}.correct-ref-mobile{display:block;background:#001a36}.correct-ref-mobile__top{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38%;min-height:530px;background:linear-gradient(90deg,#001a36 0%,#001a36 68%,#0d263e 100%)}.correct-ref-mobile__main{padding:38px 22px 26px}.correct-ref-mobile__main .correct-ref-badge{min-width:92px;height:58px;font-size:28px;margin-bottom:22px}.correct-ref-mobile h1{font-size:46px;max-width:280px}.correct-ref-mobile p{font-size:17px;max-width:270px}.correct-ref-mobile .correct-ref-price del{font-size:21px}.correct-ref-mobile .correct-ref-price strong{font-size:46px}.correct-ref-mobile .correct-ref-cta{width:calc(100vw - 44px);min-height:70px;padding:0 24px;font-size:12px;position:absolute;left:22px;bottom:22px;z-index:5}.correct-ref-mobile__trust{border-left:1px solid rgba(255,255,255,.35);margin:88px 16px 96px 0;padding-left:18px;display:flex;flex-direction:column;justify-content:center;gap:34px}.correct-ref-mobile__trust>div{display:flex;align-items:center;gap:10px;color:#fff;font-size:13px;line-height:1.25}.correct-ref-mobile__trust .ico{font-size:29px;line-height:1}.correct-ref-mobile__visual{height:590px;background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000701081f49942b338201ece6b.png');background-size:cover;background-position:center 62%}.correct-ref-mobile__footer{background:#efe5d5;text-align:center;color:#12213a;padding:18px 16px 22px}.correct-ref-mobile__footer strong,.correct-ref-mobile__footer span{display:block;text-transform:uppercase}.correct-ref-mobile__footer strong{font-size:14px;line-height:1.35;letter-spacing:.18em;margin-bottom:9px}.correct-ref-mobile__footer span{font-size:10px;letter-spacing:.12em}}
@media(max-width:520px){.correct-ref-mobile__top{grid-template-columns:minmax(0,1fr) 36%;min-height:520px}.correct-ref-mobile__main{padding:32px 18px 24px}.correct-ref-mobile h1{font-size:42px}.correct-ref-mobile p{font-size:16px}.correct-ref-mobile__trust{padding-left:14px;margin-right:10px;gap:28px}.correct-ref-mobile__trust>div{font-size:12px}.correct-ref-mobile .correct-ref-cta{left:18px;width:calc(100vw - 36px);bottom:20px}.correct-ref-mobile__visual{height:540px;background-position:center 58%}}/* CORRECT MOBILE FIX V6 2026-09-05 */
/* CORRECT MOBILE FIX V6 2026-09-05 */
@media(max-width:700px){
 .sys-correct-ref{padding:0;background:#fff;}
 .sys-correct-ref .container{width:100%;max-width:none;padding:0;}
 .sys-correct-ref__card{display:block;background:#001f3d;overflow:hidden;}
 .sys-correct-ref__top{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 37%;column-gap:16px;padding:44px 33px 38px;min-height:0;background:#001f3d;color:#fff;}
 .sys-correct-ref__copy{display:block;min-width:0;padding:0;}
 .sys-correct-ref__badge{display:flex;width:168px;height:106px;align-items:center;justify-content:center;margin:0 0 44px;background:#e5ba5c;color:#071b38;font-size:50px;line-height:1;font-weight:800;}
 .sys-correct-ref__copy h1{margin:0 0 36px;font-family:'Cormorant Garamond',serif;font-size:66px;line-height:1.08;font-weight:500;letter-spacing:-.02em;color:#fff;}
 .sys-correct-ref__desc{margin:0 0 26px;font-size:25px;line-height:1.42;color:#fff;}
 .sys-correct-ref__price{margin:0 0 28px;}
 .sys-correct-ref__price del{display:block;margin-bottom:10px;font-size:31px;line-height:1;color:rgba(255,255,255,.58);text-decoration-thickness:2px;}
 .sys-correct-ref__price strong{display:block;font-size:58px;line-height:.98;color:#e5ba5c;letter-spacing:.01em;white-space:nowrap;}
 .sys-correct-ref__trust{position:relative;align-self:start;margin-top:103px;padding:154px 0 0 26px;border-left:1px solid rgba(255,255,255,.42);display:flex;flex-direction:column;gap:55px;}
 .sys-correct-ref__trust-item{display:flex;align-items:center;gap:14px;color:#fff;font-size:17px;line-height:1.35;}
 .sys-correct-ref__trust-item svg{display:block;width:39px;height:39px;flex:0 0 39px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
 .sys-correct-ref__cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;width:100%;height:130px;margin-top:0;padding:0 44px;background:#e5ba5c;color:#071b38!important;text-decoration:none!important;font-size:19px;font-weight:800;line-height:1.25;letter-spacing:.10em;text-transform:uppercase;}
 .sys-correct-ref__cta b{font-size:52px;font-weight:300;line-height:1;}
 .sys-correct-ref__visual{display:block;width:100%;height:auto;aspect-ratio:941/920;background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000775c81f4a0bcd00bc8eb8a58.png')!important;background-size:cover!important;background-position:center 62%!important;background-repeat:no-repeat!important;}
 .sys-correct-ref__footer{padding:38px 24px 34px;background:#efe5d3;text-align:center;color:#10223d;}
 .sys-correct-ref__footer strong{display:block;margin-bottom:22px;font-size:20px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;}
 .sys-correct-ref__footer span{font-size:14px;letter-spacing:.16em;text-transform:uppercase;}
}
@media(max-width:430px){
 .sys-correct-ref__top{grid-template-columns:minmax(0,1fr) 36%;padding:36px 22px 30px;column-gap:12px;}
 .sys-correct-ref__badge{width:132px;height:82px;margin-bottom:34px;font-size:40px;}
 .sys-correct-ref__copy h1{font-size:51px;margin-bottom:27px;}
 .sys-correct-ref__desc{font-size:19px;margin-bottom:22px;}
 .sys-correct-ref__price del{font-size:25px}.sys-correct-ref__price strong{font-size:48px;}
 .sys-correct-ref__trust{margin-top:86px;padding:126px 0 0 16px;gap:42px;}
 .sys-correct-ref__trust-item{gap:9px;font-size:14px;}
 .sys-correct-ref__trust-item svg{width:31px;height:31px;flex-basis:31px;}
 .sys-correct-ref__cta{height:104px;padding:0 28px;font-size:15px;}.sys-correct-ref__cta b{font-size:42px;}
 .sys-correct-ref__visual{aspect-ratio:941/940;background-position:center 62%!important;}
 .sys-correct-ref__footer{padding:30px 18px 28px}.sys-correct-ref__footer strong{font-size:17px;margin-bottom:17px}.sys-correct-ref__footer span{font-size:11px;}
}

/* CORRECT MOBILE ART 537 2026-09-05 */
.correct-ref-mobile--art{display:none;position:relative;width:100%;background:#001f3d;line-height:0}.correct-ref-mobile--art img{display:block;width:100%;height:auto;margin:0}.correct-ref-mobile--art .correct-ref-mobile__hotspot{position:absolute;z-index:3;left:8.5%;top:35.8%;width:58%;height:6.2%;display:block}
@media(max-width:700px){.correct-ref-desktop{display:none!important}.correct-ref-mobile--art{display:block!important}.correct-ref-hero{padding:0!important;background:#fff!important}.correct-ref-hero>.container{width:100%!important;max-width:none!important;padding:0!important}}


/* SYSTEM MOBILE ART 536 534 2026-09-05 */
.sys-mobile-art{display:none;position:relative;width:100%;line-height:0;background:#fff}.sys-mobile-art img{display:block;width:100%;height:auto;margin:0}.sys-mobile-art__hotspot{position:absolute;z-index:4;left:8%;top:25.9%;width:58%;height:6.4%;display:block}
@media(max-width:700px){body.page-template-page-system .sys-mobile-art{display:block!important}body.page-template-page-system .sys-mobile-art + .sys-hero-v2{display:none!important}}


/* SYSTEM DESKTOP FULL ART 2026-09-05 */
.sys-desktop-art{display:block;position:relative;width:100%;line-height:0;background:#fff}.sys-desktop-art img{display:block;width:100%;height:auto}.sys-desktop-art__hotspot{position:absolute;z-index:4;left:4.8%;top:67.5%;width:29%;height:8.8%;display:block}.sys-mobile-art{display:none}.sys-desktop-art+ .sys-hero-v2{display:none}
@media(max-width:700px){.sys-desktop-art{display:none!important}.sys-mobile-art{display:block}.sys-mobile-art+ .sys-hero-v2{display:none!important}}


/* FIX DUPLICATE DESKTOP HERO */
@media(min-width:701px){.sys-desktop-art + .sys-mobile-art + .sys-hero-v2{display:none!important}.sys-desktop-art + .sys-hero-v2{display:none!important}}
\n
\n

/* ORTENEO SCIENTIFIC CONCERN ICONS SAFE 2026-09-05 */
.concern-grid--iconic .concern-img{position:relative;min-height:150px;overflow:hidden}
.concern-grid--iconic .concern-img .icon{display:none}
.concern-grid--iconic .concern-img:before{content:'';position:absolute;left:50%;top:50%;width:96px;height:96px;transform:translate(-50%,-50%);border:1px solid rgba(0,16,42,.08);border-radius:50%}
.concern-grid--iconic .concern-img:after{content:'';position:absolute;left:50%;top:50%;width:54px;height:54px;transform:translate(-50%,-50%);background-repeat:no-repeat;background-position:center;background-size:contain}
.concern-grid--iconic .concern-card:nth-child(1) .concern-img:after{background-image:url('../img/icons/concern-taches.svg')}
.concern-grid--iconic .concern-card:nth-child(2) .concern-img:after{background-image:url('../img/icons/concern-imperfections.svg')}
.concern-grid--iconic .concern-card:nth-child(3) .concern-img:after{background-image:url('../img/icons/concern-hydration.svg')}
.concern-grid--iconic .concern-card:nth-child(4) .concern-img:after{background-image:url('../img/icons/concern-age.svg')}
@media(max-width:760px){.concern-grid--iconic .concern-img{min-height:126px}.concern-grid--iconic .concern-img:before{width:82px;height:82px}.concern-grid--iconic .concern-img:after{width:46px;height:46px}}\n/* ORTENEO CONCERN ICON POLISH 2026-09-05 */\n.concern-grid--iconic .concern-img:before{width:98px!important;height:98px!important;border-color:rgba(0,16,42,.055)!important}\n.concern-grid--iconic .concern-img:after{width:66px!important;height:66px!important;border-color:rgba(212,176,106,.14)!important}\n.concern-grid--iconic .concern-science-icon{width:44px!important;height:44px!important}\n@media(max-width:760px){.concern-grid--iconic .concern-img:before{width:80px!important;height:80px!important}.concern-grid--iconic .concern-img:after{width:54px!important;height:54px!important}.concern-grid--iconic .concern-science-icon{width:40px!important;height:40px!important}}\n
/* ORTENEO CONCERN MOCKUP FINAL 2026-09-05 */
.concern-grid--iconic .concern-card{border:1px solid rgba(0,16,42,.12);background:#fff}
.concern-grid--iconic .concern-img{min-height:142px}
.concern-grid--iconic .concern-img:before{width:104px!important;height:104px!important;border-color:rgba(0,16,42,.09)!important}
.concern-grid--iconic .concern-img:after{width:52px!important;height:52px!important}
.concern-grid--iconic .concern-body{padding-bottom:28px}
.concern-grid--iconic .concern-link{display:inline-block;border-bottom:1px solid #D4B06A;padding-bottom:5px}
@media(max-width:760px){.concern-grid--iconic .concern-img{min-height:132px}.concern-grid--iconic .concern-img:before{width:86px!important;height:86px!important}.concern-grid--iconic .concern-img:after{width:46px!important;height:46px!important}.concern-grid--iconic .concern-body{padding-bottom:22px}}

/* ORTENEO CONCERN MOBILE COMPACT 2026-09-05 */
@media(max-width:760px){
.concern-grid--iconic .concern-img{min-height:112px!important}
.concern-grid--iconic .concern-img:before{width:72px!important;height:72px!important}
.concern-grid--iconic .concern-img:after{width:46px!important;height:46px!important}
.concern-grid--iconic .concern-card{min-height:0!important}
.concern-grid--iconic .concern-card__body,.concern-grid--iconic .concern-body{padding-top:18px!important;padding-bottom:18px!important}
}

/* ORTENEO SCIENTIFIC MICRO-VISUALS 2026-09-05 */
.concern-grid--iconic .concern-img{position:relative;overflow:hidden;min-height:154px!important;background:#f2eadf!important}
.concern-grid--iconic .concern-img:before{display:none!important}
.concern-grid--iconic .concern-img:after{content:''!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;transform:none!important;background-repeat:no-repeat!important;background-position:center!important;background-size:cover!important;border:0!important}
.concern-grid--iconic .concern-card:nth-child(1) .concern-img:after{background-image:url('../img/concerns/orteneo-concern-taches.svg?v=202609052131')!important}
.concern-grid--iconic .concern-card:nth-child(2) .concern-img:after{background-image:url('../img/concerns/orteneo-concern-imperfections.svg?v=202609052131')!important}
.concern-grid--iconic .concern-card:nth-child(3) .concern-img:after{background-image:url('../img/concerns/orteneo-concern-hydration.svg?v=202609052131')!important}
.concern-grid--iconic .concern-card:nth-child(4) .concern-img:after{background-image:url('../img/concerns/orteneo-concern-age.svg?v=202609052131')!important}
@media(max-width:760px){.concern-grid--iconic .concern-img{min-height:136px!important}.concern-grid--iconic .concern-card__body,.concern-grid--iconic .concern-body{padding-top:18px!important;padding-bottom:20px!important}}

/* ORTENEO CONCERN FINAL MEDIA 2026-09-05 */
.concern-grid--iconic .concern-img{background-image:none!important;background-color:#f4efe7!important;overflow:hidden!important}
.concern-grid--iconic .concern-img:before,.concern-grid--iconic .concern-img:after,.concern-grid--iconic .concern-img .icon{display:none!important}
.concern-grid--iconic .concern-card:nth-child(1) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_000000002afc81f49a91ba6716b7702f.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.concern-grid--iconic .concern-card:nth-child(2) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_0000000073748210906d3fd0a33fef95.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.concern-grid--iconic .concern-card:nth-child(3) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000393882438f4f9c7ebfbac4d7.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.concern-grid--iconic .concern-card:nth-child(4) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000b09c81f48c6181af2a6cffba.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
@media(min-width:761px){.concern-grid--iconic .concern-img{min-height:230px!important}}
@media(max-width:760px){
.concern-grid--iconic .concern-img{min-height:250px!important;background-size:cover!important;background-position:center top!important}
.concern-grid--iconic .concern-card:nth-child(1) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000cc2c8210bafa69359d6e7537.png')!important}
.concern-grid--iconic .concern-card:nth-child(2) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000912481f4a666ef1842aced7f.png')!important}
.concern-grid--iconic .concern-card:nth-child(3) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000a6788243b6e682648847435a.png')!important}
.concern-grid--iconic .concern-card:nth-child(4) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_000000000c6481f4b34438d51ace41f4.png')!important}
.concern-grid--iconic .concern-card:nth-child(4) .concern-img{background-position:center 36%!important}
}

/* ORTENEO CONCERN IMAGE-ONLY FIX 2026-09-05 */
.concern-grid--iconic .concern-img{overflow:hidden!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.concern-grid--iconic .concern-img img,.concern-grid--iconic .concern-img picture,.concern-grid--iconic .concern-img:before,.concern-grid--iconic .concern-img:after{display:none!important;content:none!important}
@media(max-width:760px){.concern-grid--iconic .concern-img{height:auto!important;min-height:0!important;aspect-ratio:1145/1374!important;background-size:cover!important;background-position:center center!important}.concern-grid--iconic .concern-card:nth-child(4) .concern-img{aspect-ratio:1312/1199!important}}
\n/* ORTENEO CONCERN FULL ART CARDS FINAL */\n.concern-grid--art .concern-card--art{display:block!important;padding:0!important;min-height:0!important;height:auto!important;border:0!important;background:transparent!important;overflow:hidden!important}.concern-grid--art .concern-card--art picture,.concern-grid--art .concern-card--art img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important}\n
/* ORTENEO MOBILE CONCERN GRID POLISH 2026-09-05 */
@media(max-width:760px){#solutions .concern-grid--art{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}#solutions .concern-card--art{display:block!important;width:100%!important;min-width:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}#solutions .concern-card--art picture{display:block!important;width:100%!important}#solutions .concern-card--art img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;border-radius:0!important}#solutions .container{overflow:visible!important}#solutions{padding-bottom:56px!important}}

/* ORTENEO MOBILE CONCERN CARD HEIGHT FIX 2026-09-05 */
.concern-grid--mobile-icons{display:none;}
@media(max-width:760px){#solutions .concern-grid--art{display:none!important}#solutions .concern-grid--mobile-icons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}#solutions .concern-grid--mobile-icons .concern-img{display:flex!important}#solutions .concern-grid--mobile-icons .concern-img .icon{display:block!important}#solutions .concern-grid--mobile-icons .concern-body{display:block!important}}
@media (max-width:760px){
  .concern-grid--art .concern-art-card{display:block!important;height:auto!important;min-height:0!important;overflow:hidden!important;background:#fff!important;}
  .concern-grid--art .concern-art-card picture{display:block!important;width:100%!important;}
  .concern-grid--art .concern-art-card img{display:block!important;width:100%!important;height:auto!important;max-width:none!important;}
  .concern-grid--art .concern-art-card:nth-child(4){background:#fff!important;}
  .concern-grid--art .concern-art-card:nth-child(4) img{width:100%!important;height:auto!important;object-fit:contain!important;}
}

/* ORTENEO MOBILE CONCERN VISUALS 2026-09-06 — mobile only */
@media (max-width:760px){
  #solutions .concern-grid--mobile-icons .concern-img{
    aspect-ratio:1.32/1!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  #solutions .concern-grid--mobile-icons .concern-img .icon{display:none!important;}
  #solutions .concern-grid--mobile-icons .concern-card:nth-child(1) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_0000000012f881f4aa0eb038d39fcb93.png')!important;}
  #solutions .concern-grid--mobile-icons .concern-card:nth-child(2) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000be1081f48b6e1c3a86ea8245.png')!important;}
  #solutions .concern-grid--mobile-icons .concern-card:nth-child(3) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_0000000045888210b6922c5b92b97f76.png')!important;}
  #solutions .concern-grid--mobile-icons .concern-card:nth-child(4) .concern-img{background-image:url('https://orteneo.com/wp-content/uploads/2026/09/file_00000000cfb08243bdf78398f0f6800f.png')!important;}
}

/* ORTENEO MOBILE CONCERN TYPOGRAPHY + ROW ALIGNMENT 2026-09-05 */
@media(max-width:760px){
  #solutions .concern-grid--mobile-icons{align-items:stretch!important;}
  #solutions .concern-grid--mobile-icons .concern-card{display:grid!important;grid-template-rows:auto 1fr!important;height:100%!important;}
  #solutions .concern-grid--mobile-icons .concern-img{aspect-ratio:1.32/1!important;overflow:hidden!important;}
  #solutions .concern-grid--mobile-icons .concern-body{display:grid!important;grid-template-rows:minmax(3.2em,auto) minmax(5.4em,auto) auto!important;align-content:start!important;padding:20px 18px 18px!important;height:100%!important;}
  #solutions .concern-grid--mobile-icons .concern-body h3{font-size:20px!important;line-height:1.2!important;margin:0!important;}
  #solutions .concern-grid--mobile-icons .concern-body p{font-size:16px!important;line-height:1.55!important;margin:12px 0 0!important;}
  #solutions .concern-grid--mobile-icons .concern-body .cta{font-size:15px!important;line-height:1.2!important;margin-top:18px!important;align-self:end!important;}
}

/* ORTENEO MOBILE CONCERNS — typography aligned with site system */
@media (max-width:760px){
 #solutions .concern-grid--mobile-icons .concern-body{padding:18px 16px 20px!important;}
 #solutions .concern-grid--mobile-icons .concern-body h3{font-family:'Cormorant Garamond',serif!important;font-size:18px!important;line-height:1.18!important;letter-spacing:.02em!important;font-weight:500!important;margin:0 0 12px!important;min-height:44px!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}
 #solutions .concern-grid--mobile-icons .concern-body p{font-family:'Jost',sans-serif!important;font-size:14px!important;line-height:1.55!important;font-weight:400!important;color:#69707a!important;margin:0 0 16px!important;min-height:66px!important;}
 #solutions .concern-grid--mobile-icons .concern-body .cta{font-family:'Jost',sans-serif!important;font-size:12px!important;line-height:1.2!important;font-weight:600!important;letter-spacing:.08em!important;white-space:nowrap!important;}
}

/* ORTENEO MOBILE CONCERNS — clean containment reset 2026-09-05 */
@media (max-width:760px){
 #solutions .concern-grid--mobile-icons{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px 12px!important;align-items:stretch!important;width:100%!important;}
 #solutions .concern-grid--mobile-icons .concern-card{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;overflow:hidden!important;box-sizing:border-box!important;}
 #solutions .concern-grid--mobile-icons .concern-img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1.45/1!important;min-width:0!important;overflow:hidden!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;flex:none!important;}
 #solutions .concern-grid--mobile-icons .concern-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:16px 14px 18px!important;overflow:hidden!important;}
 #solutions .concern-grid--mobile-icons .concern-body h3{font-family:'Cormorant Garamond',serif!important;font-size:17px!important;line-height:1.2!important;letter-spacing:.01em!important;font-weight:500!important;margin:0 0 10px!important;min-height:42px!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:none!important;}
 #solutions .concern-grid--mobile-icons .concern-body p{font-family:'Jost',sans-serif!important;font-size:13px!important;line-height:1.5!important;font-weight:400!important;margin:0 0 14px!important;min-height:78px!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;}
 #solutions .concern-grid--mobile-icons .concern-body .cta{font-family:'Jost',sans-serif!important;font-size:11px!important;line-height:1.2!important;font-weight:600!important;letter-spacing:.07em!important;margin-top:auto!important;align-self:flex-start!important;max-width:100%!important;white-space:nowrap!important;}
}

/* ORTENEO MOBILE CONCERNS — show full uploaded visuals 2026-09-05 */
@media (max-width:760px){
 #solutions .concern-grid--mobile-icons .concern-img{
   aspect-ratio:1/1!important;
   background-size:contain!important;
   background-position:center center!important;
   background-repeat:no-repeat!important;
   background-color:#fff!important;
 }
}
\n/* MOBILE CONCERN IMAGE FIT — natural fill, phone only 2026-09-05 */\n@media (max-width:760px){\n #solutions .concern-grid--mobile-icons .concern-img{\n   background-size:cover!important;\n   background-position:center center!important;\n   background-repeat:no-repeat!important;\n   background-color:transparent!important;\n }\n}\n
/* ORTENEO MOBILE CONCERNS — exact uploaded image ratio, no crop/no side bars */
@media (max-width:760px){
  #solutions .concern-grid--mobile-icons .concern-img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1146 / 1372!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:transparent!important;
  }
}

/* MOBILE CONCERNS — real img elements, phone only 2026-09-05 */
@media(max-width:760px){
#solutions .concern-grid--mobile-icons .concern-img--real{display:block!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important;background:none!important;overflow:hidden!important;}
#solutions .concern-grid--mobile-icons .concern-img--real:before,#solutions .concern-grid--mobile-icons .concern-img--real:after{display:none!important;content:none!important;}
#solutions .concern-grid--mobile-icons .concern-img--real img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;margin:0!important;}
}

/* ORTENEO MOBILE CONCERNS — FINAL CLEAN RULESET 2026-09-05 */
@media (max-width:760px){
  #solutions .concern-grid--art{display:none!important;}
  #solutions .concern-grid--mobile-icons{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 12px!important;
    align-items:stretch!important;
    width:100%!important;
  }
  #solutions .concern-grid--mobile-icons .concern-card{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#fff!important;
  }
  #solutions .concern-grid--mobile-icons .concern-img.concern-img--real{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:none!important;
  }
  #solutions .concern-grid--mobile-icons .concern-img.concern-img--real:before,
  #solutions .concern-grid--mobile-icons .concern-img.concern-img--real:after{display:none!important;content:none!important;}
  #solutions .concern-grid--mobile-icons .concern-img.concern-img--real img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:unset!important;
    margin:0!important;
    padding:0!important;
  }
  #solutions .concern-grid--mobile-icons .concern-body{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-width:0!important;
    padding:16px 14px 18px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #solutions .concern-grid--mobile-icons .concern-body h3{
    font-family:'Cormorant Garamond',serif!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:500!important;
    letter-spacing:.01em!important;
    margin:0 0 10px!important;
    min-height:42px!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  #solutions .concern-grid--mobile-icons .concern-body p{
    font-family:'Jost',sans-serif!important;
    font-size:13px!important;
    line-height:1.5!important;
    font-weight:400!important;
    margin:0 0 14px!important;
    min-height:78px!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  #solutions .concern-grid--mobile-icons .concern-body .cta{
    font-family:'Jost',sans-serif!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:600!important;
    letter-spacing:.07em!important;
    margin-top:auto!important;
    align-self:flex-start!important;
    white-space:nowrap!important;
  }
}
/* ORTENEO CORRECT LAUNCH — MOBILE COMPACT PRODUCT CARDS 2026-09-06 */
@media (max-width:760px){
  .correct-launch__steps{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }
  .correct-launch__step{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(118px,.88fr);
    grid-template-rows:auto auto auto 1fr;
    column-gap:12px;
    min-height:190px;
    padding:20px 0 20px 20px;
    border-top:1px solid rgba(25,25,25,.10);
    background:#fbfaf7;
    overflow:hidden;
  }
  .correct-launch__visual{
    grid-column:2;
    grid-row:1 / 5;
    align-self:stretch;
    width:100%;
    height:100%;
    min-height:150px;
    aspect-ratio:auto;
    margin:0;
    background:transparent;
    overflow:hidden;
  }
  .correct-launch__visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  .correct-launch__meta{
    grid-column:1;
    grid-row:1;
    align-self:start;
    margin:1px 0 13px;
    font-size:11px;
    line-height:1.2;
    letter-spacing:.13em;
  }
  .correct-launch__step h3{
    grid-column:1;
    grid-row:2;
    align-self:start;
    margin:0 0 12px;
    font-size:20px;
    line-height:1.08;
  }
  .correct-launch__price{
    grid-column:1;
    grid-row:3;
    align-self:start;
    margin:0 0 16px;
    font-size:18px;
    line-height:1.1;
  }
  .correct-launch__step .cta{
    grid-column:1;
    grid-row:4;
    align-self:end;
    justify-self:start;
    font-size:10px;
    line-height:1.2;
    letter-spacing:.07em;
    white-space:nowrap;
  }
  .correct-launch__step:hover .correct-launch__visual img{transform:none}
}
@media (max-width:390px){
  .correct-launch__step{
    grid-template-columns:minmax(0,1.08fr) minmax(108px,.92fr);
    min-height:182px;
    padding-left:16px;
    column-gap:8px;
  }
  .correct-launch__step h3{font-size:18px}
  .correct-launch__price{font-size:17px}
  .correct-launch__step .cta{font-size:9px;letter-spacing:.055em}
}
/* ORTENEO HOME ARTICLES — MOBILE EDITORIAL HIERARCHY 2026-09-06 */
.home-articles-all-mobile{display:none}
@media (max-width:600px){
  .home-articles-grid{display:grid;grid-template-columns:1fr;gap:14px}
  .home-article-card{border:1px solid var(--border2);box-shadow:none;background:#fff}
  .home-article-card:first-child{display:block}
  .home-article-card:first-child .home-article-card__visual{aspect-ratio:16/10}
  .home-article-card:first-child .home-article-card__cat{margin:14px 16px 5px}
  .home-article-card:first-child h4{font-size:18px;line-height:1.25;margin:0 16px 10px}
  .home-article-card:first-child .cta{margin:0 16px 16px}
  .home-article-card:not(:first-child){
    display:grid;
    grid-template-columns:40% 60%;
    grid-template-rows:auto auto 1fr;
    min-height:150px;
    overflow:hidden;
  }
  .home-article-card:not(:first-child) .home-article-card__visual{
    grid-column:1;grid-row:1 / 4;aspect-ratio:auto;height:100%;min-height:150px;margin:0;
  }
  .home-article-card:not(:first-child) .home-article-card__cat{
    grid-column:2;grid-row:1;margin:16px 16px 5px;font-size:9px;align-self:end;
  }
  .home-article-card:not(:first-child) h4{
    grid-column:2;grid-row:2;font-size:15px;line-height:1.22;margin:0 16px 9px;
  }
  .home-article-card:not(:first-child) .cta{
    grid-column:2;grid-row:3;align-self:start;margin:0 16px 14px;font-size:10px;
  }
  .home-articles-all-mobile{display:block;margin-top:18px}
  .home-articles-all-mobile .sec-head__link{
    display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;
    border:1px solid var(--gold);padding:12px 16px;color:var(--navy);font-size:11px;
    font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  }
}
/* ORTENEO HOME ARTICLES — DESKTOP IMAGE BALANCE 2026-09-06 */
@media (min-width:901px){
  .home-article-card__visual{aspect-ratio:4/3}
  .home-article-card__visual picture{display:block;width:100%;height:100%}
  .home-article-card__visual picture img{width:100%;height:100%;object-fit:cover}
  .home-article-card:nth-child(1) .home-article-card__visual img{object-position:52% 42%}
  .home-article-card:nth-child(2) .home-article-card__visual img{object-position:55% 50%}
  .home-article-card:nth-child(3) .home-article-card__visual img{object-position:50% 52%}
}
/* ORTENEO HOME ARTICLES — SHOW ARCHIVE CTA ON DESKTOP 2026-09-06 */
@media (min-width:601px){
 .home-articles-all-mobile{display:flex;justify-content:center;margin-top:32px}
 .home-articles-all-mobile .sec-head__link{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:46px;padding:12px 24px;border:1px solid var(--navy);color:var(--navy);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
}

/* ORTENEO TREATMENT SYSTEMS — MOBILE COMPACT CARDS 2026-09-06
   Phone only. Desktop/tablet and every other homepage section stay untouched. */
@media (max-width:600px){
  #systems .sys-grid{gap:14px!important;align-items:stretch!important;}
  #systems .sys-card{display:flex!important;flex-direction:column!important;height:100%!important;}
  #systems .sys-top{flex:0 0 auto!important;}
  #systems .sys-media img{width:100%!important;height:auto!important;aspect-ratio:1609/977!important;object-fit:cover!important;}
  #systems .sys-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;padding:14px 12px 16px!important;}
  #systems .sys-body h3{font-size:13px!important;line-height:1.18!important;letter-spacing:.015em!important;margin:0 0 4px!important;}
  #systems .sys-body .subt{font-size:13px!important;line-height:1.2!important;margin:0 0 10px!important;}
  #systems .sys-step-badge{align-self:flex-start!important;display:inline-flex!important;align-items:center!important;min-height:0!important;margin:0 0 16px!important;padding:6px 9px!important;border:0!important;border-radius:999px!important;background:#f2f2f1!important;color:var(--navy)!important;font-size:8.5px!important;line-height:1.15!important;letter-spacing:.045em!important;white-space:nowrap!important;}
  #systems .sys-cta{align-self:flex-start!important;margin-top:auto!important;padding-bottom:3px!important;border-bottom:1px solid var(--gold)!important;font-size:0!important;line-height:1.2!important;white-space:nowrap!important;}
  #systems .sys-cta::before{content:'DÉCOUVRIR →';font-family:'Jost',sans-serif;font-size:9.5px;font-weight:600;line-height:1.2;letter-spacing:.07em;}
}

/* ORTENEO TREATMENT SYSTEMS — DESKTOP REFINEMENT 2026-09-06
   Desktop only. Keep 2x2 grid/images; refine white body, badge and CTA alignment. */
@media (min-width:901px){
  #systems .sys-card{display:flex;flex-direction:column;height:100%;}
  #systems .sys-top{flex:0 0 auto;}
  #systems .sys-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:126px;padding:20px 22px 18px;}
  #systems .sys-body h3{margin:0 0 5px;line-height:1.15;}
  #systems .sys-body .subt{margin:0 0 16px;line-height:1.25;}
  #systems .sys-step-badge{align-self:flex-start;display:inline-flex;align-items:center;min-height:0;margin-top:auto;margin-bottom:0;padding:6px 9px;white-space:nowrap;}
  #systems .sys-cta{align-self:flex-end;margin-top:-25px;padding-bottom:3px;border-bottom:1px solid var(--gold);font-size:0;line-height:1.2;white-space:nowrap;}
  #systems .sys-cta::before{content:'DÉCOUVRIR →';font-family:'Jost',sans-serif;font-size:10px;font-weight:600;line-height:1.2;letter-spacing:.075em;}
}

/* ORTENEO SOLUTIONS HUB — SCOPED RESPONSIVE LAYOUT 2026-09-06 */
@media (min-width:901px){
  .solutions-hub .solutions-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
  .solutions-hub .concern-body{padding:20px 22px 18px;}
  .solutions-hub .concern-body h2{font-size:18px;line-height:1.28;margin:0 0 10px;hyphens:none;overflow-wrap:normal;word-break:normal;}
  .solutions-hub .concern-body p{font-size:13.5px;line-height:1.6;margin-bottom:14px;}
}
@media (max-width:600px){
  .solutions-hub .solutions-hub__grid{display:grid !important;grid-template-columns:1fr !important;gap:14px !important;}
  .solutions-hub .concern-card{display:grid !important;grid-template-columns:38% 62% !important;grid-template-rows:1fr;min-height:176px;height:auto !important;overflow:hidden;transform:none !important;}
  .solutions-hub .concern-img{grid-column:1;grid-row:1;height:100% !important;min-height:176px;aspect-ratio:auto !important;}
  .solutions-hub .concern-img img{width:100%;height:100%;object-fit:cover;display:block;}
  .solutions-hub .concern-img .icon{width:30px;height:30px;padding:7px;right:10px;bottom:10px;}
  .solutions-hub .concern-body{grid-column:2;grid-row:1;padding:17px 16px 15px !important;display:flex;flex-direction:column;justify-content:center;min-width:0;}
  .solutions-hub .concern-body h2{font-size:16px !important;line-height:1.28 !important;margin:0 0 9px !important;hyphens:none !important;overflow-wrap:normal !important;word-break:normal !important;}
  .solutions-hub .concern-body p{font-size:13px !important;line-height:1.5 !important;margin:0 0 12px !important;}
  .solutions-hub .concern-body .cta{font-size:10.5px !important;margin-top:auto;align-self:flex-start;}
}
/* ORTENEO SYSTEM PRODUCT CARDS — MOBILE PREMIUM COMPACT 2026-09-06
   Phone only. Preserves the approved vertical card structure and desktop layout;
   trims image/spacing/button height so the next protocol step appears sooner. */
@media (max-width:600px){
  body.page-template-page-system #protocole .sys-product-grid{
    gap:16px;
  }
  body.page-template-page-system #protocole .sys-product-card{
    padding:0 0 16px;
  }
  body.page-template-page-system #protocole .sys-product-step{
    gap:7px;
    padding:12px 16px 0;
  }
  body.page-template-page-system #protocole .sys-product-step .num{
    font-size:17px;
    line-height:1;
  }
  body.page-template-page-system #protocole .sys-product-step .tag{
    font-size:9.5px;
    line-height:1.1;
    padding:4px 9px;
  }
  body.page-template-page-system #protocole .sys-product-visual{
    height:225px;
    padding:10px 16px 8px;
    align-items:center;
  }
  body.page-template-page-system #protocole .sys-product-visual img{
    max-width:80%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
  }
  body.page-template-page-system #protocole .sys-product-card h4{
    margin:13px 16px 5px;
    font-size:15px;
    line-height:1.3;
  }
  body.page-template-page-system #protocole .sys-product-function{
    margin:0 16px 7px;
    font-size:10.5px;
    line-height:1.35;
  }
  body.page-template-page-system #protocole .sys-product-active{
    margin:0 16px 7px;
    font-size:12px;
    line-height:1.5;
  }
  body.page-template-page-system #protocole .sys-product-card > p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin:0 16px;
    font-size:12.5px;
    line-height:1.55;
  }
  body.page-template-page-system #protocole .sys-product-price{
    margin:9px 16px 10px;
    font-size:14px;
    line-height:1.2;
  }
  body.page-template-page-system #protocole .sys-product-card .btn-line{
    display:flex;
    width:calc(100% - 32px);
    min-height:44px;
    margin:0 16px;
    padding:10px 16px;
    align-items:center;
    justify-content:center;
    font-size:11px;
    line-height:1.2;
  }
}
/* ORTENEO SYSTEM PRODUCT CARDS — MOBILE REFERENCE LAYOUT 2026-09-06 */
@media (max-width:600px){
 body.page-template-page-system #protocole .sys-product-grid{gap:20px!important;}
 body.page-template-page-system #protocole .sys-product-card{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(128px,.88fr)!important;grid-template-rows:auto auto 1fr auto!important;column-gap:14px!important;min-height:310px!important;padding:28px 16px 24px!important;align-items:start!important;overflow:hidden!important;}
 body.page-template-page-system #protocole .sys-product-step{grid-column:1!important;grid-row:1!important;padding:0!important;margin:0 0 20px!important;align-self:start!important;}
 body.page-template-page-system #protocole .sys-product-visual{grid-column:2!important;grid-row:1 / 5!important;width:100%!important;height:100%!important;min-height:255px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;}
 body.page-template-page-system #protocole .sys-product-visual img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;}
 body.page-template-page-system #protocole .sys-product-card h4{grid-column:1!important;grid-row:2!important;margin:0 0 13px!important;font-size:18px!important;line-height:1.25!important;}
 body.page-template-page-system #protocole .sys-product-function,body.page-template-page-system #protocole .sys-product-active,body.page-template-page-system #protocole .sys-product-card > p{display:none!important;}
 body.page-template-page-system #protocole .sys-product-price{grid-column:1!important;grid-row:3!important;margin:0!important;font-size:18px!important;line-height:1.2!important;font-weight:700!important;}
 body.page-template-page-system #protocole .sys-product-card .btn-line{grid-column:1!important;grid-row:4!important;width:max-content!important;min-height:0!important;margin:22px 0 0!important;padding:0 0 6px!important;justify-content:flex-start!important;font-size:11px!important;line-height:1.2!important;background:transparent!important;border-radius:0!important;}
}
/* ORTENEO SYSTEM PRODUCT CARDS — MOBILE HORIZONTAL REFERENCE 2026-09-06
   Mobile only. Matches the approved reference: text/price/CTA left, product image right. */
@media (max-width:700px){
  #protocole .sys-product-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  #protocole .sys-product-card{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,55%) minmax(0,45%)!important;
    grid-template-rows:auto auto 1fr auto!important;
    column-gap:0!important;
    min-height:300px!important;
    padding:26px 0 24px 28px!important;
    border:1px solid var(--border2)!important;
    background:#fbfaf7!important;
    overflow:hidden!important;
  }
  #protocole .sys-product-step{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:0!important;
    margin:0 0 24px!important;
  }
  #protocole .sys-product-step .num{
    font-family:'Jost',sans-serif!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:.12em!important;
    color:var(--text-mut)!important;
  }
  #protocole .sys-product-step .tag{
    padding:0!important;
    background:transparent!important;
    color:var(--gold)!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:.12em!important;
  }
  #protocole .sys-product-visual{
    grid-column:2!important;
    grid-row:1 / 5!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 14px 10px 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    overflow:hidden!important;
  }
  #protocole .sys-product-visual img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  #protocole .sys-product-card h4{
    grid-column:1!important;
    grid-row:2!important;
    margin:0 18px 18px 0!important;
    font-family:'Cormorant Garamond',serif!important;
    font-size:25px!important;
    line-height:1.08!important;
    font-weight:500!important;
    color:var(--navy)!important;
  }
  #protocole .sys-product-function,
  #protocole .sys-product-active,
  #protocole .sys-product-card > p{
    display:none!important;
  }
  #protocole .sys-product-price{
    grid-column:1!important;
    grid-row:3!important;
    align-self:start!important;
    margin:0 18px 0 0!important;
    font-family:'Jost',sans-serif!important;
    font-size:19px!important;
    line-height:1.15!important;
    font-weight:700!important;
    color:var(--navy)!important;
  }
  #protocole .sys-product-card .btn-line{
    grid-column:1!important;
    grid-row:4!important;
    align-self:end!important;
    justify-self:start!important;
    display:inline-flex!important;
    width:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0 0 6px!important;
    border:0!important;
    border-bottom:1px solid var(--gold)!important;
    background:transparent!important;
    color:var(--navy)!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:600!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
  }
  #protocole .sys-product-card .btn-line::after{
    content:' →';
    margin-left:6px;
  }
}
@media (max-width:390px){
  #protocole .sys-product-card{
    grid-template-columns:minmax(0,57%) minmax(0,43%)!important;
    min-height:280px!important;
    padding:22px 0 22px 22px!important;
  }
  #protocole .sys-product-card h4{font-size:22px!important;}
  #protocole .sys-product-price{font-size:18px!important;}
  #protocole .sys-product-step{margin-bottom:20px!important;}
}
/* ORTENEO SYSTEM PRODUCT CARDS — MOBILE REFERENCE TIGHT FINAL 2026-09-06
   Mobile only. Matches approved reference proportions: compact 58/42 split,
   short card, price close to title, CTA directly below without empty vertical space. */
@media (max-width:700px){
  #protocole .sys-product-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  #protocole .sys-product-card{
    display:grid!important;
    grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
    grid-template-rows:auto auto auto auto!important;
    column-gap:10px!important;
    min-height:0!important;
    height:242px!important;
    padding:18px 0 18px 20px!important;
    align-items:start!important;
    background:#fbfaf7!important;
    overflow:hidden!important;
  }
  #protocole .sys-product-step{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    margin:0 0 14px!important;
    padding:0!important;
  }
  #protocole .sys-product-step .num{
    font-family:'Jost',sans-serif!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    color:var(--text-mut)!important;
  }
  #protocole .sys-product-step .tag{
    background:transparent!important;
    color:var(--gold)!important;
    padding:0!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.10em!important;
  }
  #protocole .sys-product-visual{
    grid-column:2!important;
    grid-row:1 / 5!important;
    width:100%!important;
    height:206px!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  #protocole .sys-product-visual img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  #protocole .sys-product-card h4{
    grid-column:1!important;
    grid-row:2!important;
    margin:0 0 12px!important;
    font-family:'Cormorant Garamond',serif!important;
    font-size:20px!important;
    font-weight:500!important;
    line-height:1.12!important;
    color:var(--navy)!important;
  }
  #protocole .sys-product-function,
  #protocole .sys-product-active,
  #protocole .sys-product-card > p{
    display:none!important;
  }
  #protocole .sys-product-price{
    grid-column:1!important;
    grid-row:3!important;
    margin:0 0 18px!important;
    font-family:'Jost',sans-serif!important;
    font-size:17px!important;
    font-weight:700!important;
    line-height:1.1!important;
    color:var(--navy)!important;
  }
  #protocole .sys-product-card .btn-line{
    grid-column:1!important;
    grid-row:4!important;
    display:inline-flex!important;
    width:max-content!important;
    min-height:0!important;
    margin:0!important;
    padding:0 0 5px!important;
    align-self:start!important;
    justify-self:start!important;
    align-items:center!important;
    justify-content:flex-start!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid var(--gold)!important;
    color:var(--navy)!important;
    font-family:'Jost',sans-serif!important;
    font-size:10.5px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.07em!important;
    white-space:nowrap!important;
  }
  #protocole .sys-product-card .btn-line::after{
    content:' →';
    margin-left:6px;
  }
}
@media (max-width:390px){
  #protocole .sys-product-card{
    grid-template-columns:minmax(0,59%) minmax(0,41%)!important;
    height:232px!important;
    padding-left:16px!important;
  }
  #protocole .sys-product-visual{height:198px!important;}
  #protocole .sys-product-card h4{font-size:18px!important;}
  #protocole .sys-product-price{font-size:16px!important;margin-bottom:15px!important;}
  #protocole .sys-product-card .btn-line{font-size:10px!important;letter-spacing:.055em!important;}
}
/* ORTENEO SYSTEM CARDS — MOBILE EXACT COMPACT REFERENCE 2026-09-06 */
@media (max-width:600px){
 #protocole .sys-product-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
 #protocole .sys-product-card{display:grid!important;grid-template-columns:58% 42%!important;grid-template-rows:auto auto auto 1fr!important;height:248px!important;min-height:248px!important;max-height:248px!important;padding:18px 0 16px 18px!important;column-gap:0!important;overflow:hidden!important;background:#fbfaf7!important;align-items:start!important;}
 #protocole .sys-product-step{grid-column:1!important;grid-row:1!important;display:flex!important;gap:9px!important;margin:0 0 14px!important;padding:0!important;align-items:center!important;}
 #protocole .sys-product-step .num{font-size:12px!important;line-height:1!important;letter-spacing:.12em!important;}
 #protocole .sys-product-step .tag{font-size:12px!important;line-height:1!important;padding:0!important;background:transparent!important;color:var(--gold)!important;font-weight:600!important;letter-spacing:.08em!important;}
 #protocole .sys-product-visual{grid-column:2!important;grid-row:1 / 5!important;width:100%!important;height:214px!important;min-height:0!important;max-height:214px!important;padding:0!important;margin:0!important;align-self:center!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
 #protocole .sys-product-visual img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center!important;margin:0!important;}
 #protocole .sys-product-card h4{grid-column:1!important;grid-row:2!important;margin:0 10px 10px 0!important;font-size:17px!important;line-height:1.18!important;font-weight:500!important;}
 #protocole .sys-product-function,#protocole .sys-product-active,#protocole .sys-product-card>p{display:none!important;}
 #protocole .sys-product-price{grid-column:1!important;grid-row:3!important;margin:0!important;font-size:18px!important;line-height:1.1!important;font-weight:700!important;}
 #protocole .sys-product-card .btn-line{grid-column:1!important;grid-row:4!important;align-self:end!important;justify-self:start!important;display:inline-flex!important;width:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0 0 5px!important;border:0!important;border-bottom:1px solid var(--gold)!important;background:transparent!important;border-radius:0!important;font-size:10.5px!important;line-height:1.15!important;letter-spacing:.08em!important;}
}
/* ORTENEO SYSTEM PAGES — reuse homepage product component on phones 2026-09-06 */
.system-mobile-products{display:none;}
@media (max-width:760px){
  body.page-template-page-system #protocole .system-mobile-products{display:block!important;}
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__steps{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
  body.page-template-page-system #protocole .sys-product-grid{display:none!important;}
}
@media (min-width:761px){
  body.page-template-page-system #protocole .system-mobile-products{display:none!important;}
}
/* ORTENEO SYSTEM MOBILE PRODUCTS — EXACT HOMEPAGE COMPONENT 2026-09-06 */
@media (max-width:760px){
 body.page-template-page-system #protocole .system-mobile-products.correct-launch{display:block!important;background:transparent!important;border:0!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__steps{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__step{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(118px,.88fr)!important;grid-template-rows:auto auto auto 1fr!important;column-gap:12px!important;min-height:190px!important;height:auto!important;max-height:none!important;padding:20px 0 20px 20px!important;border:0!important;border-top:1px solid rgba(25,25,25,.10)!important;background:#fbfaf7!important;overflow:hidden!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__visual{grid-column:2!important;grid-row:1 / 5!important;align-self:stretch!important;width:100%!important;height:100%!important;min-height:150px!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;background:transparent!important;overflow:hidden!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__visual img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__meta{grid-column:1!important;grid-row:1!important;align-self:start!important;margin:1px 0 13px!important;font-size:11px!important;line-height:1.2!important;letter-spacing:.13em!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__meta span{color:var(--text-mut)!important;font-weight:600!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__step h3{grid-column:1!important;grid-row:2!important;align-self:start!important;margin:0 0 12px!important;font-size:20px!important;line-height:1.08!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__price{grid-column:1!important;grid-row:3!important;align-self:start!important;margin:0 0 16px!important;font-size:18px!important;line-height:1.1!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__step .cta{grid-column:1!important;grid-row:4!important;align-self:end!important;justify-self:start!important;font-size:10px!important;line-height:1.2!important;letter-spacing:.07em!important;white-space:nowrap!important;}
 body.page-template-page-system #protocole .sys-product-grid{display:none!important;}
}
@media (max-width:390px){
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__step{grid-template-columns:minmax(0,1.08fr) minmax(108px,.92fr)!important;min-height:182px!important;padding-left:16px!important;column-gap:8px!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__step h3{font-size:18px!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__price{font-size:17px!important;}
 body.page-template-page-system #protocole .system-mobile-products .correct-launch__step .cta{font-size:9px!important;letter-spacing:.055em!important;}
}

/* ORTENEO SYSTEM MOBILE FINAL 1:1 — unified cards + full product images 2026-09-06 */
@media (max-width:760px){
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__steps{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__step{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) minmax(118px,.88fr)!important;
    grid-template-rows:auto auto auto 1fr!important;
    column-gap:12px!important;
    min-height:190px!important;
    padding:20px 0 20px 20px!important;
    border-top:1px solid rgba(25,25,25,.10)!important;
    border-left:0!important;border-right:0!important;border-bottom:0!important;
    background:#fbfaf7!important;
    overflow:hidden!important;
    box-shadow:none!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__visual{
    grid-column:2!important;grid-row:1 / 5!important;
    align-self:stretch!important;
    width:100%!important;height:100%!important;min-height:150px!important;
    aspect-ratio:auto!important;margin:0!important;padding:8px 10px 8px 4px!important;
    background:#fbfaf7!important;overflow:hidden!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__visual img{
    display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
    object-fit:contain!important;object-position:center!important;
    margin:0!important;padding:0!important;transform:none!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__meta{
    grid-column:1!important;grid-row:1!important;align-self:start!important;
    margin:1px 0 13px!important;font-size:11px!important;line-height:1.2!important;letter-spacing:.13em!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__step h3{
    grid-column:1!important;grid-row:2!important;align-self:start!important;
    margin:0 0 12px!important;font-size:20px!important;line-height:1.08!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__price{
    grid-column:1!important;grid-row:3!important;align-self:start!important;
    margin:0 0 16px!important;font-size:18px!important;line-height:1.1!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__step .cta{
    grid-column:1!important;grid-row:4!important;align-self:end!important;justify-self:start!important;
    font-size:10px!important;line-height:1.2!important;letter-spacing:.07em!important;white-space:nowrap!important;
  }
}
@media (max-width:390px){
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__step{
    grid-template-columns:minmax(0,1.08fr) minmax(108px,.92fr)!important;
    min-height:182px!important;padding-left:16px!important;column-gap:8px!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__step h3{font-size:18px!important;}
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__price{font-size:17px!important;}
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__step .cta{font-size:9px!important;letter-spacing:.055em!important;}
}

/* ORTENEO SYSTEM PAGES — UNIFIED MOBILE CARD COLOR 2026-09-06 */
@media (max-width:760px){
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__step{
    background:#fbfaf7!important;
  }
  body.page-template-page-system #protocole .system-mobile-products .correct-launch__visual{
    background:#fbfaf7!important;
  }
}
