:root{
  --green:#123426;
  --green-2:#23533d;
  --green-3:#315f48;
  --cream:#f7f3ea;
  --cream-2:#eee7d8;
  --paper:#fffdf8;
  --ink:#1d2520;
  --muted:#6c736e;
  --line:#ded7c9;
  --champagne:#c7aa68;
  --sand:#d8c9ad;
  --rose:#c7a6a2;
  --danger:#8b2c2c;
  --warn:#8a6524;
  --shadow:0 24px 70px rgba(18,52,38,.13);
  --shadow-soft:0 12px 36px rgba(18,52,38,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}
::selection{background:#cfded5;color:var(--green)}

/* shared brand + nav */
.topbar{position:sticky;top:0;z-index:50;background:rgba(247,243,234,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,52,38,.08)}
.nav{max-width:1260px;margin:auto;padding:11px 24px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;color:var(--green);min-width:0}.brand-logo{width:54px;height:54px;border-radius:16px;object-fit:cover;box-shadow:0 9px 28px rgba(18,52,38,.13)}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy b{font:700 18px Georgia,serif}.brand-copy small{margin-top:4px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav-links{margin-left:auto;display:flex;align-items:center;gap:6px}.nav-links a{padding:10px 13px;border-radius:999px;font-size:13px;font-weight:700}.nav-links .primary{background:var(--green);color:#fff;padding-left:17px;padding-right:17px}
.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-3);font-weight:850}.kicker.light{color:#d9eadf}.eyebrow-line{display:flex;gap:12px;align-items:center}.eyebrow-line>span{width:42px;height:1px;background:var(--champagne)}
.btn{border:1px solid var(--green);background:transparent;color:var(--green);padding:13px 18px;border-radius:14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--green);color:#fff}.btn.primary.luxe{box-shadow:0 13px 30px rgba(18,52,38,.18)}.btn.soft{background:var(--paper);border-color:var(--line)}.btn.glass{background:rgba(255,255,255,.45);border-color:rgba(18,52,38,.18);backdrop-filter:blur(12px)}.btn.ivory{background:#fffaf0;color:var(--green);border-color:#fffaf0}.btn.outline-light{color:#fff;border-color:rgba(255,255,255,.6)}.btn.danger{border-color:#d7b4b4;color:var(--danger);background:#fff7f7}.btn.small{padding:8px 11px;border-radius:10px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.full-btn{width:100%}.cta-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}.cta-row.no-wrap{flex-wrap:wrap}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.delay-1{transition-delay:.12s}.reveal.delay-2{transition-delay:.22s}.reveal.is-visible{opacity:1;transform:none}

/* premium homepage */
.hero-luxury{max-width:1260px;margin:0 auto;padding:58px 24px 38px;display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center}.hero-copy h1{font:700 clamp(48px,6.2vw,86px)/.95 Georgia,serif;letter-spacing:-.045em;color:var(--green);margin:17px 0 20px}.hero-copy h1 em{font-weight:500;color:var(--green-3)}.hero-copy>p{color:var(--muted);font-size:17px;line-height:1.75;max-width:620px}.hero-stats{margin-top:33px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:640px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font:700 30px Georgia,serif;color:var(--green)}.hero-stats span{font-size:12px;color:var(--muted);margin-top:3px}.hero-visual{position:relative;min-width:0}.premium-slider{background:var(--paper);padding:12px;border-radius:30px;box-shadow:var(--shadow);border:1px solid var(--line)}.slides{height:670px;position:relative;border-radius:22px;overflow:hidden;background:#e9e2d4}.slide{position:absolute;inset:0;opacity:0;transform:scale(1.025);transition:opacity .55s ease,transform .7s ease}.slide.active{opacity:1;transform:scale(1)}.slide img{width:100%;height:100%;object-fit:cover;display:block}.slide-caption{position:absolute;left:20px;right:20px;bottom:20px;background:linear-gradient(135deg,rgba(13,39,28,.88),rgba(24,64,46,.78));color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:18px 20px;backdrop-filter:blur(12px)}.slide-caption h3{font:700 27px/1.08 Georgia,serif;margin:0 0 7px}.slide-caption p{margin:0;color:#e6f0ea;font-size:13px;line-height:1.55}.slider-controls{padding:12px 6px 2px;display:flex;align-items:center;justify-content:space-between}.slider-dots{display:flex;gap:8px}.dot{width:8px;height:8px;padding:0;border-radius:50%;border:0;background:#c6c0b4}.dot.active{background:var(--green);transform:scale(1.25)}.slider-arrows{display:flex;gap:8px}.slider-nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);font-size:18px}.floating-card{position:absolute;left:-24px;bottom:42px;background:rgba(255,253,248,.96);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:10px 14px 10px 10px;display:flex;align-items:center;gap:11px;max-width:260px}.floating-card img{width:58px;height:52px;border-radius:12px;object-fit:cover}.floating-card div{display:flex;flex-direction:column;gap:4px}.floating-card b{font:700 14px Georgia,serif;color:var(--green)}.floating-card span{font-size:11px;color:var(--muted)}
.luxury-strip{max-width:1212px;margin:8px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.luxury-strip>div{padding:25px 24px;border-right:1px solid var(--line);position:relative}.luxury-strip>div:last-child{border-right:0}.mini-icon{font-size:10px;color:var(--champagne);letter-spacing:.12em}.luxury-strip b{display:block;margin:7px 0 6px;color:var(--green)}.luxury-strip p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.section{max-width:1260px;margin:0 auto;padding:66px 24px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:27px}.section h2,.section-head h2{font:700 clamp(34px,4vw,52px)/1.05 Georgia,serif;color:var(--green);letter-spacing:-.025em;margin:5px 0 0}.lead{color:var(--muted);max-width:690px;line-height:1.7}.soft-section{max-width:none;padding-left:max(24px,calc((100vw - 1212px)/2));padding-right:max(24px,calc((100vw - 1212px)/2));background:#f1ebdf;border-top:1px solid rgba(18,52,38,.06);border-bottom:1px solid rgba(18,52,38,.06)}
.experience-grid{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:16px}.experience-card{min-height:360px;border-radius:26px;padding:25px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.experience-card.dark{background:var(--green);color:#fff}.experience-no{font-size:11px;letter-spacing:.16em;color:var(--champagne)}.experience-card h3{font:700 35px Georgia,serif;margin:12px 0;color:var(--green)}.experience-card.dark h3{color:#fff}.experience-card p{color:var(--muted);line-height:1.7}.experience-card.dark p{color:#dce9e1}.text-link{margin-top:auto;align-self:flex-start;border:0;padding:0;background:transparent;color:var(--green);font-weight:800}.dark .text-link{color:#fff}.image-card{padding:0;overflow:hidden;position:relative}.image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,17,.02) 20%,rgba(8,24,17,.82) 100%)}.image-card-caption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}.image-card-caption span{font-size:11px;color:#e6c98f}.image-card-caption h3{color:#fff;margin:7px 0;font-size:34px}.image-card-caption p{color:#edf4ef;margin:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:22px;display:flex;flex-direction:column;min-height:390px;box-shadow:var(--shadow-soft);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.ritual-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ritual-no{font:600 13px Georgia,serif;color:var(--champagne)}.service-card .tag{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--green-3);font-weight:850}.service-card h3{font:700 31px/1.05 Georgia,serif;color:var(--green);margin:0 0 9px}.card-desc{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 17px}.micro-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--muted);margin-bottom:7px}.service-card ul{padding-left:18px;margin:0 0 18px;color:#465049;line-height:1.62;font-size:14px}.benefit-tags{display:flex;gap:7px;flex-wrap:wrap}.benefit-tags span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef2ef;color:var(--green);font-size:11px;font-weight:750}.ritual-content{display:grid;gap:14px}.ritual-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.service-card .price{font-size:23px;font-weight:900;color:var(--green);margin-bottom:13px}.service-card .quote{font-size:13px;color:var(--warn);font-weight:850;margin-top:auto;padding-top:16px}.service-card .actions{display:flex;gap:8px;flex-wrap:wrap}.service-card.featured{grid-column:span 2;background:linear-gradient(145deg,#103024,#1b4b36);color:#fff}.service-card.featured h3,.service-card.featured .price,.service-card.featured .tag,.service-card.featured .micro-label{color:#fff}.service-card.featured .ritual-no{color:#e5c687}.service-card.featured .card-desc,.service-card.featured ul{color:#e4eee7}.service-card.featured .ritual-footer{border-top-color:rgba(255,255,255,.2)}.service-card.featured .benefit-tags span{background:rgba(255,255,255,.13);color:#fff}.service-card.featured .btn{color:#fff;border-color:rgba(255,255,255,.7)}.service-card.featured .btn.primary{background:#fff;color:var(--green);border-color:#fff}
.gallery-bento{display:grid;grid-template-columns:1.05fr .95fr 1fr;grid-auto-rows:270px;gap:14px}.bento{margin:0;border-radius:24px;overflow:hidden;position:relative;background:#ddd;box-shadow:var(--shadow-soft)}.bento.tall{grid-row:span 2}.bento.wide{grid-column:span 2}.bento img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}.bento:hover img{transform:scale(1.035)}.bento:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,26,18,.72) 100%)}.bento figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:#fff;font:700 18px Georgia,serif}
.order-banner{max-width:1212px;margin:18px auto 42px;background:linear-gradient(135deg,#102f23,#214f3a);color:#fff;border-radius:30px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}.order-banner h2{font:700 clamp(34px,4vw,52px)/1.05 Georgia,serif;margin:7px 0 13px}.order-banner p{color:#dce9e1;margin:0}.order-banner-actions{display:flex;gap:10px;flex-wrap:wrap}
.contact-band{max-width:1212px;margin:0 auto 70px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:22px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:24px;box-shadow:var(--shadow-soft)}.contact-logo-wrap{height:120px;border-radius:18px;overflow:hidden;background:#f3eee2}.contact-logo-wrap img{width:100%;height:100%;object-fit:cover}.contact-main h3{font:700 31px Georgia,serif;color:var(--green);margin:0 0 8px}.contact-main p{margin:3px 0;color:var(--muted)}.premium-contact{background:#173c2c;color:#fff;border:0}.premium-contact .contact-main h3{color:#fff}.premium-contact .contact-main p{color:#dbe9e0}.premium-contact .contact-logo-wrap{background:#fff}.premium-contact .outline-light{color:#fff;border-color:rgba(255,255,255,.6)}
.luxury-footer{max-width:1212px;margin:0 auto 20px;padding:22px 0 80px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.luxury-footer span{font:700 17px Georgia,serif;color:var(--green)}
.cart-fab{position:fixed;right:22px;bottom:22px;z-index:45;background:var(--green);color:#fff;border:0;border-radius:999px;padding:14px 18px;box-shadow:0 16px 40px rgba(18,52,38,.28);font-weight:850}.cart-fab .count{display:inline-grid;place-items:center;background:#fff;color:var(--green);width:25px;height:25px;border-radius:50%;margin-left:8px}

/* overlays / forms */
.overlay{position:fixed;inset:0;background:rgba(7,22,15,.6);z-index:70;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(8px)}.overlay.open{display:flex}.panel{background:var(--paper);border-radius:26px;width:min(880px,100%);max-height:92vh;overflow:auto;box-shadow:0 35px 100px rgba(0,0,0,.28)}.panel-head{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:rgba(255,253,248,.96);backdrop-filter:blur(14px);z-index:2}.panel-head h3{font:700 29px Georgia,serif;color:var(--green);margin:0}.icon-btn{border:1px solid var(--line);background:#f3eee4;border-radius:50%;width:39px;height:39px;font-size:20px;color:var(--green)}.panel-body{padding:24px}.detail-block{display:flex;flex-direction:column;gap:7px}.detail-block p{color:var(--muted);line-height:1.65}.detail-price{font-size:27px;font-weight:900;color:var(--green)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.detail-card{background:#f4efe5;border:1px solid var(--line);border-radius:18px;padding:17px}.detail-card h4{margin:0 0 9px;color:var(--green);font-size:18px}.detail-card ul{padding-left:18px;line-height:1.65;color:#465049}.cart-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.cart-item h4{margin:0 0 4px;color:var(--green)}.cart-item small{color:var(--muted)}.summary{background:#f1ece2;border:1px solid #e2dbce;border-radius:17px;padding:16px;margin-top:18px}.summary .row{display:flex;justify-content:space-between;gap:12px;margin:7px 0}.summary .total{font-weight:900;font-size:18px;color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#3d4d43}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fff;outline:none;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(35,83,61,.07)}.payment-box{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:10px;align-items:flex-start;background:#fff}.payment-box input{margin-top:4px}.option-list{display:grid;gap:9px}.help{font-size:12px;color:var(--muted);line-height:1.5}.alert{border-radius:14px;padding:13px 15px;margin:12px 0;font-size:13px}.alert.warn{background:#fff5dd;color:#72551d}.alert.ok{background:#eaf5ee;color:#285d40}.alert.error{background:#fff0f0;color:#8b2c2c}.success-box{text-align:center;padding:12px 0 4px}.success-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:36px;margin:0 auto 14px}

/* direction landing */
.direction-body,.entry-body{min-height:100vh;background:radial-gradient(circle at top right,#e9dfcb 0,#f7f3ea 38%,#f7f3ea 100%)}.direction-shell{max-width:1220px;margin:auto;padding:36px 24px}.direction-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;padding:16px;border-radius:30px}.direction-visual{min-height:700px;border-radius:22px;overflow:hidden}.direction-visual img{width:100%;height:100%;object-fit:cover}.direction-copy{padding:32px 28px 30px;display:flex;flex-direction:column;justify-content:center}.direction-logo{width:230px;border-radius:18px;margin-bottom:24px}.direction-copy h1{font:700 clamp(46px,5vw,70px)/.98 Georgia,serif;color:var(--green);margin:8px 0 16px;letter-spacing:-.03em}.direction-copy>p{color:var(--muted);line-height:1.7;max-width:580px}.direction-actions{display:grid;gap:12px;margin-top:24px}.direction-action{display:grid;grid-template-columns:50px 1fr 30px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;transition:.2s}.direction-action:hover{transform:translateX(4px);box-shadow:var(--shadow-soft)}.direction-action.primary-card{background:var(--green);color:#fff;border-color:var(--green)}.direction-action>span{width:42px;height:42px;border-radius:50%;background:#f1ede4;display:grid;place-items:center;font-size:11px;color:var(--green)}.direction-action.primary-card>span{background:rgba(255,255,255,.14);color:#fff}.direction-action h3{margin:0 0 4px;font:700 21px Georgia,serif}.direction-action p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.direction-action.primary-card p{color:#dce9e1}.direction-action>b{font-size:22px}

/* premium manual order */
.order-entry-shell{max-width:1240px;margin:0 auto;padding:22px 24px 60px}.entry-topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 0 22px;border-bottom:1px solid var(--line)}.entry-nav{display:flex;gap:8px}.entry-intro{padding:42px 0 28px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.entry-intro h1{font:700 clamp(42px,5vw,68px)/.98 Georgia,serif;color:var(--green);margin:8px 0 13px}.entry-intro h1 em{font-weight:500;color:var(--green-3)}.entry-intro p{color:var(--muted);max-width:600px;line-height:1.65}.entry-intro-card{display:grid;grid-template-columns:auto auto;gap:8px 12px;background:var(--green);color:#fff;padding:18px 22px;border-radius:20px;min-width:260px}.entry-intro-card span{color:#d8bf86;font-size:11px}.entry-intro-card b{font-size:12px}.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.entry-main{display:grid;gap:18px}.premium-card{border-radius:22px;padding:22px}.step-title{display:flex;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.step-title>span{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px}.step-title h2{font:700 29px Georgia,serif;color:var(--green);margin:2px 0 0}.entry-summary{position:sticky;top:92px}.summary-logo{height:120px;border-radius:15px;overflow:hidden;margin-bottom:18px}.summary-logo img{width:100%;height:100%;object-fit:cover}.entry-summary h2{font:700 30px Georgia,serif;color:var(--green);margin:5px 0}.entry-submit{display:grid;gap:9px;margin-top:14px}.entry-help{font-size:11px;color:var(--muted);line-height:1.5;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.manual-service-list{display:grid;gap:9px}.manual-service-row{display:grid;grid-template-columns:36px 1fr 82px 1fr;gap:11px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:11px;background:#fff;transition:.15s}.manual-service-row:hover{border-color:#b9c9be;background:#fcfbf7}.manual-service-row .service-col span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.manual-service-row input[type="number"],.manual-service-row input[type="text"]{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff}

/* staff dashboard existing */
.staff-shell{max-width:1280px;margin:auto;padding:24px}.login-card{max-width:480px;margin:70px auto;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.login-card .logo{width:190px;margin:0 auto 15px;display:block;border-radius:18px}.staff-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.staff-header h1{font:700 34px Georgia,serif;color:var(--green);margin:0}.staff-header .spacer{margin-left:auto}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab{border:1px solid var(--line);background:var(--paper);padding:10px 14px;border-radius:12px}.tab.active{background:var(--green);color:#fff;border-color:var(--green)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow-soft)}.metric .v{font-size:26px;font-weight:900;color:var(--green)}.metric .l{font-size:12px;color:var(--muted);margin-top:4px}.table-wrap{overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}.table{width:100%;border-collapse:collapse;min-width:900px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#faf8f2}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850;background:#eee9de}.status.new{background:#fff1c9;color:#73550f}.status.done{background:#e4f3e9;color:#245b3c}.status.cancel{background:#f9e4e4;color:#8b2c2c}.dashboard-panel{display:none}.dashboard-panel.active{display:block}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow-soft)}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.order-detail{display:grid;gap:12px}.kv{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}.kv b{color:var(--green)}.service-edit{display:grid;grid-template-columns:1fr 160px 120px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.footer{padding:30px 22px 80px;text-align:center;color:var(--muted);font-size:12px}

@media(max-width:1050px){.hero-luxury,.direction-hero,.entry-layout{grid-template-columns:1fr}.hero-luxury{padding-top:36px}.hero-visual{max-width:760px}.floating-card{left:16px}.experience-grid{grid-template-columns:1fr 1fr}.experience-card.image-card{grid-column:1/-1;min-height:430px}.grid{grid-template-columns:1fr 1fr}.service-card.featured{grid-column:span 2}.gallery-bento{grid-template-columns:1fr 1fr}.bento.wide{grid-column:span 1}.bento.tall{grid-row:span 2}.contact-band{grid-template-columns:150px 1fr}.contact-band>.cta-row{grid-column:1/-1;margin-top:0}.entry-summary{position:static}.direction-visual{min-height:520px}.metrics{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.nav-links a:not(.primary){display:none}.brand-copy small{display:none}.hero-luxury{grid-template-columns:1fr;gap:28px}.hero-copy h1{font-size:53px}.slides{height:500px}.floating-card{position:static;margin-top:12px;max-width:none}.luxury-strip{grid-template-columns:1fr}.luxury-strip>div{border-right:0;border-bottom:1px solid var(--line)}.luxury-strip>div:last-child{border-bottom:0}.section-head{align-items:flex-start;flex-direction:column}.experience-grid,.grid,.gallery-bento,.contact-band,.entry-intro{grid-template-columns:1fr}.experience-card.image-card{grid-column:auto}.service-card.featured{grid-column:span 1}.gallery-bento{grid-auto-rows:320px}.bento.tall{grid-row:span 1}.bento.wide{grid-column:span 1}.order-banner{margin-left:16px;margin-right:16px;flex-direction:column;align-items:flex-start;padding:28px}.contact-band{margin-left:16px;margin-right:16px}.contact-logo-wrap{height:150px}.luxury-footer{margin-left:18px;margin-right:18px}.detail-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.entry-intro-card{width:100%}.entry-topbar{align-items:flex-start;gap:14px;flex-direction:column}.entry-nav{width:100%;flex-wrap:wrap}.manual-service-row{grid-template-columns:34px 1fr}.manual-service-row .qty-col,.manual-service-row .note-col{grid-column:2}.direction-visual{min-height:430px}.direction-copy{padding:20px 8px}.direction-copy h1{font-size:50px}.portal-logo.small{width:150px}.two-col{grid-template-columns:1fr}}
@media(max-width:560px){.nav{padding-left:14px;padding-right:14px}.brand-logo{width:46px;height:46px}.hero-luxury,.section{padding-left:16px;padding-right:16px}.slides{height:410px}.slide-caption{left:12px;right:12px;bottom:12px;padding:14px}.slide-caption h3{font-size:22px}.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div:last-child{grid-column:1/-1}.service-card{min-height:0}.cart-fab{right:12px;bottom:12px}.panel-body,.panel-head{padding:17px}.metrics{grid-template-columns:1fr 1fr}.service-edit{grid-template-columns:1fr}.staff-shell{padding:14px}.kv{grid-template-columns:1fr}.order-entry-shell,.direction-shell{padding-left:14px;padding-right:14px}.direction-hero{padding:10px}.direction-action{grid-template-columns:44px 1fr 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.slide,.bento img,.service-card,.btn,.direction-action{transition:none}}
@media print{.no-print{display:none!important}}

/* V7 — visuals centered on services, no interior photography */
.service-visual{height:190px;margin:-18px -18px 17px;border-radius:18px 18px 13px 13px;overflow:hidden;background:#eee8db;border-bottom:1px solid var(--line)}
.service-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.custom-card:hover .service-visual img{transform:scale(1.035)}
.detail-service-visual{height:290px;border-radius:20px;overflow:hidden;margin-bottom:18px;background:#eee8db}.detail-service-visual img{width:100%;height:100%;object-fit:cover;display:block}
.qr-section{padding-top:58px}.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.qr-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:18px;display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;box-shadow:var(--shadow-soft)}.qr-card img{width:180px;height:180px;object-fit:contain;background:#fff;padding:10px;border-radius:18px}.qr-card span{font-size:11px;letter-spacing:.16em;color:var(--green-3);font-weight:800}.qr-card h3{font:700 29px Georgia,serif;color:var(--green);margin:5px 0 8px}.qr-card p{color:var(--muted);line-height:1.55;margin:0 0 14px}
.live-notice{display:none;margin:0 0 16px;border:1px solid #b5ceb9;background:#edf7ef;color:#25583d;border-radius:14px;padding:12px 15px;font-size:13px;font-weight:700}.live-notice.show{display:block}.notify-btn.active{background:var(--green);color:#fff}
@media(max-width:760px){.qr-grid,.qr-card{grid-template-columns:1fr}.qr-card img{width:150px;height:150px}.service-visual{height:220px}}

/* V9 — Premium agenda reservation */
.calendar-shell{margin-bottom:18px;border-radius:28px;padding:24px;background:linear-gradient(145deg,#fffdf8,#f3eddf);position:relative;overflow:hidden}
.calendar-shell:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(199,170,104,.16),transparent 68%);right:-70px;top:-100px;pointer-events:none}
.calendar-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px;position:relative}.calendar-toolbar h2{font:700 34px Georgia,serif;color:var(--green);margin:4px 0 0}.calendar-legend{display:flex;gap:13px;color:var(--muted);font-size:12px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:9px;height:9px;border-radius:50%;display:block}.calendar-legend .free{background:#4e8b68}.calendar-legend .busy{background:#c5beb0}
.date-strip{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:10px;overflow-x:auto;padding:2px 1px 9px;scrollbar-width:thin}.date-chip{border:1px solid var(--line);background:rgba(255,255,255,.86);border-radius:18px;padding:13px 10px;min-width:112px;text-align:left;display:flex;flex-direction:column;gap:2px;color:var(--green);transition:.2s}.date-chip:hover:not(:disabled){transform:translateY(-2px);border-color:#aebfb3}.date-chip span{text-transform:uppercase;letter-spacing:.11em;font-size:9px;color:var(--muted);font-weight:800}.date-chip strong{font:700 27px Georgia,serif}.date-chip small{text-transform:capitalize;color:var(--muted)}.date-chip em{font-style:normal;font-size:10px;margin-top:7px;color:var(--green-3);font-weight:800}.date-chip.selected{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 12px 28px rgba(18,52,38,.18)}.date-chip.selected span,.date-chip.selected small,.date-chip.selected em{color:#dce9e1}.date-chip.full{opacity:.48;cursor:not-allowed}
.slot-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0 11px;padding-top:18px;border-top:1px solid var(--line)}.slot-heading b{font:700 20px Georgia,serif;color:var(--green);text-transform:capitalize}.slot-heading span{font-size:11px;color:var(--muted)}.slot-grid-premium{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.time-chip{border:1px solid var(--line);background:#fff;border-radius:15px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--green);transition:.16s}.time-chip b{font-size:15px}.time-chip span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.time-chip:hover:not(:disabled){border-color:#9fb7a7;background:#f7fbf8}.time-chip.selected{background:var(--green);border-color:var(--green);color:#fff}.time-chip.selected span{color:#d9e9df}.time-chip.busy{background:#ebe7df;color:#999;border-color:#ded8cc;cursor:not-allowed}.booking-recap{margin:15px 0;background:#f0ece2;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:5px}.booking-recap b{text-transform:capitalize;color:var(--green)}.booking-recap strong{font:700 27px Georgia,serif;color:var(--green)}.booking-recap span{color:var(--muted);font-size:12px}.reward-mini-card{margin-top:18px;padding:15px;border-radius:18px;background:linear-gradient(135deg,#153d2d,#285841);color:#fff;display:grid;grid-template-columns:38px 1fr;gap:11px}.reward-mini-card>span{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#e4c67c}.reward-mini-card b{font:700 17px Georgia,serif}.reward-mini-card p{margin:4px 0 0;color:#dce9e1;font-size:12px;line-height:1.5}

/* V9 — Rewards section */
.rewards-section{padding:74px max(24px,calc((100vw - 1212px)/2));background:#0f3023;color:#fff;position:relative;overflow:hidden}.rewards-section:before,.rewards-section:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.rewards-section:before{width:520px;height:520px;right:-210px;top:-220px;background:radial-gradient(circle,rgba(199,170,104,.21),transparent 68%)}.rewards-section:after{width:360px;height:360px;left:-170px;bottom:-180px;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%)}.rewards-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;position:relative;z-index:1}.rewards-copy h2{font:700 clamp(38px,4.5vw,60px)/1 Georgia,serif;margin:8px 0 17px;max-width:650px}.rewards-copy>p{color:#d9e7df;line-height:1.7;max-width:680px}.reward-formula{margin:25px 0 16px;padding:18px 20px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07);backdrop-filter:blur(10px);border-radius:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.reward-formula strong{font:700 20px Georgia,serif;color:#fff8e9}.reward-formula span{color:#e2c47d;font-weight:900}.reward-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.reward-rules span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);border-radius:14px;padding:13px;font-size:12px;color:#dce8e1}.reward-rules b{display:block;color:#fff;margin-top:4px}.reward-note{font-size:11px!important;color:#afc4b8!important}.reward-levels{display:grid;gap:12px}.reward-levels article{border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:19px;background:rgba(255,255,255,.055);display:grid;grid-template-columns:42px 1fr;gap:6px 13px;align-items:center;backdrop-filter:blur(10px)}.reward-levels article.active{background:linear-gradient(135deg,rgba(199,170,104,.28),rgba(255,255,255,.08));border-color:rgba(224,196,132,.42)}.reward-levels article>span{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#e7cc8f;font-size:11px}.reward-levels b{font:700 21px Georgia,serif}.reward-levels small{display:block;color:#d2dfd8;margin-top:2px}.reward-levels p{grid-column:2;margin:3px 0 0;color:#c7d8ce;font-size:12px;line-height:1.5}

/* V9 — Direction agenda */
.agenda-admin-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px;padding:21px 23px}.agenda-admin-head h2{font:700 32px Georgia,serif;color:var(--green);margin:4px 0}.agenda-admin-head p{margin:0;color:var(--muted)}.agenda-nav{display:flex;align-items:center;gap:10px}.agenda-nav b{text-transform:capitalize;min-width:160px;text-align:center;color:var(--green)}.agenda-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:15px}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:7px}.month-weekdays span{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.month-cell{min-height:105px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px;text-align:left;display:flex;flex-direction:column;gap:5px;color:var(--green);overflow:hidden}.month-cell.empty{background:transparent;border-color:transparent}.month-cell strong{font:700 17px Georgia,serif}.month-cell span{font-size:9px;padding:4px 5px;background:#edf4ef;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-cell em{font-size:9px;color:var(--muted);font-style:normal}.month-cell.has-booking{border-color:#afc8b7;background:#fbfdfb}.month-cell.selected{outline:2px solid var(--green);outline-offset:1px}.agenda-day-panel h2{font:700 27px Georgia,serif;color:var(--green);text-transform:capitalize;margin:5px 0 14px}.agenda-day-list{display:grid;gap:9px}.agenda-appointment{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.agenda-appointment time{font-weight:900;color:var(--green)}.agenda-appointment div{display:flex;flex-direction:column;gap:2px}.agenda-appointment span,.agenda-appointment small{font-size:11px;color:var(--muted)}.agenda-empty{padding:24px 10px;text-align:center;color:var(--muted);font-size:13px}

/* V9 — Direction Rewards */
.rewards-admin-hero{background:linear-gradient(135deg,#103024,#1f523a);color:#fff;border-radius:24px;padding:24px;margin-bottom:15px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--shadow-soft)}.rewards-admin-hero h2{font:700 36px Georgia,serif;margin:5px 0 8px}.rewards-admin-hero p{margin:0;color:#dbe9e1}.reward-admin-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.reward-admin-badges span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:9px 11px;border-radius:999px;font-size:11px}.reward-admin-card{padding:20px}.reward-actions{display:flex;gap:5px;flex-wrap:wrap}.reward-table small{color:var(--muted)}

@media(max-width:1050px){.rewards-shell,.agenda-admin-layout{grid-template-columns:1fr}.agenda-day-panel{min-height:180px}.slot-grid-premium{grid-template-columns:repeat(3,1fr)}.date-strip{grid-template-columns:repeat(7,112px)}.rewards-admin-hero{align-items:flex-start;flex-direction:column}.reward-admin-badges{justify-content:flex-start}}
@media(max-width:760px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.slot-grid-premium{grid-template-columns:repeat(2,1fr)}.reward-rules{grid-template-columns:1fr}.rewards-section{padding-left:16px;padding-right:16px}.month-cell{min-height:75px;padding:6px}.month-cell span{display:none}.agenda-admin-head{align-items:flex-start;flex-direction:column}.agenda-appointment{grid-template-columns:48px 1fr}.agenda-appointment .btn{grid-column:2;justify-self:start}}


.voice-tip-card{margin:18px 0;background:linear-gradient(135deg,#f8f2e6 0%,#fffaf1 100%);border:1px solid rgba(185,150,71,.22);border-radius:18px;padding:18px;box-shadow:0 12px 35px rgba(22,58,43,.07)}
.voice-tip-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:8px}
.voice-tip-head h4{margin:4px 0 0;color:var(--green);font:700 22px Georgia,serif}
.voice-actions{display:flex;gap:8px;flex-wrap:wrap}
.voice-note{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.55}
.beauty-tip-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;position:relative}
.tip-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(185,150,71,.13);color:#8a6a27;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.beauty-tip-box p{margin:0;color:#3e463f;line-height:1.7}
@media(max-width:720px){.voice-tip-head{flex-direction:column}.voice-actions{width:100%}}


.downloadable-card{overflow:hidden;position:relative}
.premium-service-visual{height:255px;border-radius:18px;overflow:hidden;margin:-4px -4px 18px;background:#e9e1d3}
.premium-service-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.downloadable-card:hover .premium-service-visual img{transform:scale(1.035)}
.downloadable-card .actions{row-gap:8px}
.ghost-download{background:rgba(255,255,255,.65);border-color:rgba(22,58,43,.18)}
.service-card.featured .ghost-download{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
@media(max-width:720px){.premium-service-visual{height:230px}.downloadable-card .actions .btn{width:100%;text-align:center}}

/* Installable Sam's Beauty PWA */
.install-nav{border:1px solid rgba(185,150,71,.4);background:rgba(185,150,71,.10)!important;color:#8a6926!important;font-weight:800;cursor:pointer}
.app-install-section{max-width:1220px;margin:30px auto;padding:46px 22px}
.app-install-shell{position:relative;overflow:hidden;display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center;background:linear-gradient(145deg,#fffdf8 0%,#f2eadb 100%);border:1px solid rgba(185,150,71,.28);border-radius:32px;padding:36px;box-shadow:0 22px 70px rgba(17,47,35,.12)}
.app-install-shell:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(185,150,71,.09);right:-90px;top:-110px}
.app-install-copy{position:relative;z-index:2}.app-install-copy h2{font:700 clamp(34px,4vw,52px)/1.03 Georgia,serif;color:var(--green);margin:10px 0 14px}.app-install-copy>p{color:var(--muted);font-size:16px;line-height:1.7}
.app-device-preview{min-height:420px;position:relative;display:grid;place-items:center}.phone-frame{z-index:2;width:210px;height:390px;border:9px solid #122b21;border-radius:35px;background:#f7f3ea;box-shadow:0 22px 60px rgba(17,47,35,.24);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;transform:rotate(-4deg)}.phone-frame:before{content:"";position:absolute;top:7px;width:70px;height:16px;background:#122b21;border-radius:0 0 12px 12px}.phone-frame img{width:150px;border-radius:20px;margin-bottom:18px}.phone-frame span{font:700 22px Georgia,serif;color:var(--green)}.phone-frame small{color:var(--muted);margin-top:7px;line-height:1.4}
.desktop-frame{position:absolute;width:390px;height:250px;right:0;bottom:20px;border:8px solid #26372f;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 20px 55px rgba(17,47,35,.18);transform:rotate(3deg)}.desktop-frame img{width:100%;height:calc(100% - 22px);object-fit:cover}.desktop-bar{height:22px;background:#26372f;padding:7px 9px;display:flex;gap:5px}.desktop-bar i{display:block;width:7px;height:7px;border-radius:50%;background:#d6c79d}
.app-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.app-feature-grid div{padding:14px;background:rgba(255,255,255,.68);border:1px solid rgba(22,58,43,.08);border-radius:16px}.app-feature-grid b{display:block;color:var(--green);margin-bottom:5px}.app-feature-grid span{font-size:12px;color:var(--muted);line-height:1.4}.install-footnote{font-size:12px!important;margin-top:14px!important}.install-panel{max-width:620px}.install-panel h4{font:700 26px Georgia,serif;color:var(--green);margin:0 0 12px}.install-panel ol,.install-panel p{color:var(--muted);line-height:1.7}.install-panel li{margin:8px 0}
@media(max-width:900px){.app-install-shell{grid-template-columns:1fr}.app-device-preview{min-height:360px}.desktop-frame{width:340px;right:8%}}
@media(max-width:620px){.app-install-section{padding:28px 14px}.app-install-shell{padding:24px;border-radius:24px}.app-feature-grid{grid-template-columns:1fr}.app-device-preview{min-height:320px}.phone-frame{width:170px;height:315px}.phone-frame img{width:118px}.desktop-frame{width:250px;height:165px;right:0;bottom:10px}.install-nav{display:none!important}}


/* V13 offline Direction */
.offline-login-card{position:relative;overflow:hidden}.offline-login-card:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-85px;top:-80px;background:radial-gradient(circle,rgba(185,150,71,.20),rgba(185,150,71,0));pointer-events:none}
.offline-login-badge{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border-radius:999px;background:#f1eee5;color:var(--green);font-size:12px;margin:5px 0 18px}.offline-login-badge span{width:9px;height:9px;border-radius:50%;background:#d18a36;box-shadow:0 0 0 4px rgba(209,138,54,.12)}.offline-login-badge span.online{background:#2f8b5a;box-shadow:0 0 0 4px rgba(47,139,90,.12)}
.online-login-details{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.online-login-details summary{cursor:pointer;color:var(--green);font-weight:800}.online-login-details[open] summary{margin-bottom:14px}
.network-status{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}.network-status.online{background:#e5f4e9;color:#286443}.network-status.offline{background:#fff1dc;color:#8a5a1d}.network-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}

/* V14 — Académie Sam's Beauty */
.academy-tab{position:relative}.academy-tab:after{content:"NEW";position:absolute;right:-5px;top:-7px;background:var(--gold);color:#fff;border-radius:999px;padding:2px 5px;font-size:7px;font-weight:900;letter-spacing:.04em}
.academy-hero{background:linear-gradient(135deg,#102f23 0%,#1d5139 66%,#816428 160%);color:#fff;border-radius:26px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow);margin-bottom:15px;overflow:hidden;position:relative}.academy-hero:after{content:"SB";position:absolute;right:-25px;bottom:-55px;font:700 180px Georgia,serif;color:rgba(255,255,255,.035)}.academy-hero h2{font:700 clamp(34px,4vw,50px)/1 Georgia,serif;margin:6px 0 10px}.academy-hero p{margin:0;max-width:650px;color:#dbe9e1;line-height:1.6}.academy-score-card{width:230px;min-width:230px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border-radius:20px;padding:18px;position:relative;z-index:1}.academy-score-card span{font-size:11px;color:#dbe9e1}.academy-score-card strong{font:700 34px Georgia,serif;display:block;margin:5px 0 10px}.academy-progress-track{height:7px;background:rgba(255,255,255,.15);border-radius:999px;overflow:hidden}.academy-progress-track i{display:block;height:100%;width:0;background:#d6b45f;border-radius:999px;transition:width .3s ease}
.academy-daily{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center;margin-bottom:15px;padding:18px 20px}.academy-daily-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#f4ead1;color:#9a742d;font-size:24px}.academy-daily h3{font:700 22px Georgia,serif;color:var(--green);margin:4px 0}.academy-daily p{margin:0;color:var(--muted);line-height:1.55}
.academy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0}.academy-search{flex:1;max-width:430px}.academy-search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;outline:none}.academy-filters{display:flex;gap:7px;flex-wrap:wrap}.academy-filter{border:1px solid var(--line);background:#fff;color:var(--green);padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.academy-filter.active{background:var(--green);color:#fff;border-color:var(--green)}
.academy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.academy-card{background:var(--paper);border:1px solid var(--line);border-radius:21px;overflow:hidden;box-shadow:0 12px 36px rgba(22,58,43,.08);display:flex;flex-direction:column}.academy-card.completed{border-color:#8fb49b}.academy-card-image{height:190px;position:relative;background:#e9e2d5;overflow:hidden}.academy-card-image img{width:100%;height:100%;object-fit:cover;display:block}.academy-status{position:absolute;left:12px;top:12px;background:rgba(13,42,30,.88);color:#fff;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;backdrop-filter:blur(6px)}.academy-card.completed .academy-status{background:#2e704c}.academy-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.academy-meta{display:flex;gap:8px;margin-bottom:7px}.academy-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.academy-card h3{font:700 23px/1.08 Georgia,serif;color:var(--green);margin:5px 0 9px}.academy-card p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 13px}.academy-objectives{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.academy-objectives span{font-size:10px;background:#eef3ef;color:#315744;padding:6px 8px;border-radius:999px}.academy-card .btn{margin-top:auto;align-self:flex-start}.academy-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:35px}
.tutorial-panel{width:min(940px,100%)}.tutorial-cover{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:center;background:#f5f0e6;border-radius:20px;padding:12px;margin-bottom:22px}.tutorial-cover img{width:100%;height:190px;object-fit:cover;border-radius:15px}.tutorial-cover span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#8a6d32;font-weight:800}.tutorial-cover p{font-size:16px;line-height:1.65;color:#49564e}.tutorial-section{margin:25px 0}.tutorial-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tutorial-chips span{background:#edf4ef;color:var(--green);padding:9px 11px;border-radius:999px;font-size:12px;font-weight:700}.tutorial-steps{list-style:none;padding:0;margin:12px 0;display:grid;gap:9px}.tutorial-steps li{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.tutorial-steps li b{width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px}.tutorial-steps li p{margin:4px 0 0;line-height:1.6;color:#48534c}.tutorial-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.tutorial-two section{border-radius:18px;padding:17px;background:#f7f4ed;border:1px solid var(--line)}.tutorial-good,.tutorial-bad{padding-left:20px;margin:10px 0 0;line-height:1.7;color:#455147}.tutorial-good li::marker{color:#2f7b50}.tutorial-bad li::marker{color:#9b4a45}.tutorial-quality{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.tutorial-quality>div{border:1px solid var(--line);border-radius:18px;padding:17px;background:#fff}.tutorial-quality label{display:flex;gap:9px;align-items:center;margin:10px 0;color:#405047}.tutorial-quality label span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e7f3eb;color:#27704a;font-size:12px}.tutorial-safety{background:#fff8e8!important}.tutorial-safety b{color:#7c6026}.tutorial-safety p{color:#65583c;line-height:1.65;margin-bottom:0}.tutorial-quiz{background:linear-gradient(135deg,#153a2b,#255840);color:#fff;border-radius:20px;padding:20px;margin-top:22px}.tutorial-quiz h4{font:700 22px Georgia,serif;margin:8px 0 14px}.tutorial-quiz label{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:11px;margin:8px 0}.tutorial-quiz .btn{border-color:#fff;color:#fff;margin-top:8px}.tutorial-quiz .alert{background:#fff;color:#33463b}.tutorial-complete{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:1000px){.academy-grid{grid-template-columns:1fr 1fr}.academy-toolbar{align-items:flex-start;flex-direction:column}.academy-search{max-width:none;width:100%}}
@media(max-width:700px){.academy-hero{align-items:flex-start;flex-direction:column}.academy-score-card{width:100%;min-width:0}.academy-grid{grid-template-columns:1fr}.tutorial-cover,.tutorial-two,.tutorial-quality{grid-template-columns:1fr}.tutorial-cover img{height:220px}.academy-filters{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:5px}.academy-filter{white-space:nowrap}}


/* V16 — Formation continue protégée par PIN */
.training-pin-card{margin-top:18px;border-color:rgba(185,150,71,.28);background:linear-gradient(135deg,#fffdf8 0%,#faf4e7 100%)}
.training-pin-head{align-items:center}.training-pin-head .status{white-space:nowrap}
.training-pin-gate{width:min(520px,100%)}
.training-lock-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin:0 auto 14px;background:linear-gradient(135deg,#173e2d,#2d6649);box-shadow:0 15px 38px rgba(22,58,43,.18);font-size:30px}
.training-gate-title{text-align:center;font:700 28px Georgia,serif;color:var(--green);margin:0 0 8px}.training-pin-gate .lead{text-align:center;margin:0 auto 20px}


/* V17 — PIN personnel Formation par employé */
.employee-access-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;margin:12px 0;box-shadow:0 8px 24px rgba(22,58,43,.05)}
.employee-access-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.employee-access-head h4{margin:0 0 4px;color:var(--green);font-size:17px}.employee-access-head small{color:var(--muted)}
.employee-pin-status{margin:12px 0}.employee-pin-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.employee-pin-row .btn{margin-bottom:1px}
@media(max-width:620px){.employee-pin-row{grid-template-columns:1fr}.employee-pin-row .btn{width:100%}}


/* V18 — Formation visible + invitation installation prioritaire sur téléphone */
.mobile-top-actions{display:none}
.formation-nav-link{border:1px solid rgba(185,150,71,.32);background:rgba(185,150,71,.08);color:#806226!important}
.formation-main{max-width:1240px;margin:0 auto;padding:34px 22px 70px}
.formation-gate-wrap{min-height:calc(100vh - 120px);display:grid;place-items:center}
.formation-gate-card{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper);border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.formation-gate-visual{min-height:560px;position:relative;background:#17382b;overflow:hidden}.formation-gate-visual img{width:100%;height:100%;object-fit:cover;display:block}.formation-gate-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,25,18,.08),rgba(10,25,18,.78))}
.formation-gate-overlay{position:absolute;left:28px;right:28px;bottom:28px;z-index:1;color:#fff}.formation-gate-overlay span{font-size:11px;text-transform:uppercase;letter-spacing:.16em}.formation-gate-overlay h1{font:700 56px/.98 Georgia,serif;margin:7px 0 8px}.formation-gate-overlay p{margin:0;color:#e4eee8;font-size:16px}
.formation-gate-form{padding:46px;display:flex;flex-direction:column;justify-content:center}.formation-gate-form h2{font:700 38px/1.02 Georgia,serif;color:var(--green);margin:8px 0 12px}.formation-open-btn{width:100%;margin-top:14px;padding:15px}.formation-gate-form .help{margin-top:15px}
.formation-academy{padding-top:10px}.formation-progress-text{margin-top:12px;color:#dbe9e1;font-size:13px}.formation-logout{margin-top:14px;border-color:rgba(255,255,255,.55)!important;color:#fff!important;background:transparent!important}
@media(max-width:760px){
  .mobile-top-actions{display:grid;gap:8px;padding:10px 12px;background:#f7f3ea;border-bottom:1px solid rgba(22,58,43,.08);position:relative;z-index:30}
  .mobile-install-card,.mobile-training-card{width:100%;display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;border-radius:17px;padding:10px 12px;text-align:left;text-decoration:none}
  .mobile-install-card{border:1px solid rgba(185,150,71,.35);background:linear-gradient(135deg,#143a2b,#235740);color:#fff;box-shadow:0 9px 25px rgba(22,58,43,.13)}
  .mobile-install-card img{width:46px;height:46px;border-radius:12px;object-fit:cover}.mobile-install-card span,.mobile-training-card span{display:flex;flex-direction:column;gap:3px}.mobile-install-card b,.mobile-training-card b{font-size:13px}.mobile-install-card small{color:#d8e7df;font-size:10px}.mobile-install-card strong{font-size:11px;background:#fff;color:var(--green);padding:8px 10px;border-radius:999px}
  .mobile-training-card{border:1px solid rgba(185,150,71,.28);background:#fffdf8;color:var(--green)}.mobile-training-card small{color:var(--muted);font-size:10px}.mobile-training-card strong{font-size:11px;color:#8a6827}.mobile-training-icon{width:46px;height:46px!important;border-radius:12px;background:#f3e6c5;display:grid!important;place-items:center;color:#8a6827;font-size:22px}
  .formation-gate-card{grid-template-columns:1fr}.formation-gate-visual{min-height:290px}.formation-gate-form{padding:26px 22px}.formation-gate-overlay h1{font-size:44px}.formation-main{padding:18px 14px 60px}
}
@media(min-width:761px){.mobile-top-actions{display:none!important}}


.training-pin-manager{margin-bottom:18px;border:1px solid rgba(185,150,71,.28);background:linear-gradient(135deg,#fffdf8 0%,#f7f0df 100%)}
.training-pin-manager-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.training-pin-manager-head h2{margin:6px 0 8px;color:var(--green)}
.training-pin-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:760px){.training-pin-manager-head{flex-direction:column}.training-pin-fields{grid-template-columns:1fr}}


/* V20 — Galerie gérée par la Direction */
.gallery-admin-hero{background:linear-gradient(135deg,#163a2b 0%,#244f3b 65%,#7f6b35 145%);color:#fff;border-radius:26px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;box-shadow:var(--shadow)}
.gallery-admin-hero h2{font:700 38px Georgia,serif;margin:6px 0 8px}.gallery-admin-hero p{margin:0;color:#e9f1ec;max-width:760px;line-height:1.6}.gallery-admin-badge{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 16px;font-weight:800;white-space:nowrap}
.gallery-admin-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.gallery-uploader-card,.gallery-live-card{min-width:0}.gallery-dropzone{min-height:310px;border:1.5px dashed rgba(22,58,43,.28);border-radius:22px;background:linear-gradient(135deg,#f8f4eb,#fffdf8);display:grid;place-items:center;text-align:center;overflow:hidden;cursor:pointer;position:relative}.gallery-dropzone input{position:absolute;opacity:0;pointer-events:none}.gallery-dropzone b{display:block;font:700 25px Georgia,serif;color:var(--green);margin-bottom:7px}.gallery-dropzone span{color:var(--muted);font-size:13px}.gallery-dropzone img{width:100%;height:360px;object-fit:contain;background:#efeae0}.gallery-meta-grid{margin-top:16px}.gallery-publish-note{margin-top:14px;border-left:3px solid var(--gold);background:#faf5e8;border-radius:0 14px 14px 0;padding:13px 15px;color:#5f553d;font-size:13px;line-height:1.55}
.gallery-admin-list{display:grid;gap:12px;max-height:820px;overflow:auto;padding-right:2px}.gallery-admin-item{display:grid;grid-template-columns:140px 1fr;gap:14px;border:1px solid var(--line);border-radius:18px;padding:10px;background:#fff}.gallery-admin-item>img{width:140px;height:150px;object-fit:cover;border-radius:12px}.gallery-admin-item-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.gallery-admin-item-head>span:first-child{text-transform:capitalize;color:var(--green2);font-size:11px;font-weight:800;letter-spacing:.06em}.gallery-admin-item h4{margin:7px 0 5px;color:var(--green);font:700 19px Georgia,serif}.gallery-admin-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.gallery-admin-item .cta-row{margin-top:10px}.gallery-empty{border:1px dashed var(--line);border-radius:16px;padding:28px;text-align:center;color:var(--muted)}
.live-gallery-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}.live-gallery-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.live-gallery-head h3{font:700 34px Georgia,serif;color:var(--green);margin:5px 0 0}.live-gallery-head p{color:var(--muted);max-width:440px;margin:0}.live-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.live-gallery-card{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.live-gallery-card img{width:100%;height:290px;object-fit:cover;display:block}.live-gallery-card figcaption{padding:15px}.live-gallery-card figcaption>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--green2);font-weight:800}.live-gallery-card h4{font:700 22px Georgia,serif;color:var(--green);margin:6px 0}.live-gallery-card p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}.live-gallery-card.feature{grid-column:span 2}.live-gallery-card.feature img{height:430px}
@media(max-width:900px){.gallery-admin-layout{grid-template-columns:1fr}.live-gallery-grid{grid-template-columns:1fr 1fr}.live-gallery-card.feature{grid-column:span 2}}
@media(max-width:620px){.gallery-admin-hero,.live-gallery-head{align-items:flex-start;flex-direction:column}.gallery-admin-item{grid-template-columns:110px 1fr}.gallery-admin-item>img{width:110px;height:125px}.live-gallery-grid{grid-template-columns:1fr}.live-gallery-card.feature{grid-column:span 1}.live-gallery-card.feature img,.live-gallery-card img{height:340px}.gallery-dropzone{min-height:240px}.gallery-dropzone img{height:300px}}
.sams-language-switcher.floating-language{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;z-index:120;background:rgba(255,253,248,.97);backdrop-filter:blur(12px)}
@media(max-width:620px){.sams-language-switcher.floating-language{top:max(8px,env(safe-area-inset-top));right:8px}}

/* V21 — Sélecteur multilingue */
.sams-language-switcher{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(22,58,43,.16);border-radius:999px;background:rgba(255,253,248,.96);box-shadow:0 8px 24px rgba(22,58,43,.09);white-space:nowrap;z-index:120}
.sams-language-switcher .language-globe{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:13px;font-weight:800}
.sams-language-switcher select{border:0;background:transparent;color:var(--green);font-weight:800;font-size:12px;outline:none;max-width:155px;padding:3px}
.sams-language-switcher.floating-language{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;z-index:140;backdrop-filter:blur(12px)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.nav .sams-language-switcher{margin-left:auto}.sams-language-switcher select{max-width:118px;font-size:11px}.sams-language-switcher .language-globe{width:24px;height:24px}}
@media(max-width:620px){.sams-language-switcher{padding:5px 7px}.sams-language-switcher select{max-width:108px}.sams-language-switcher.floating-language{top:max(8px,env(safe-area-inset-top));right:8px}}

/* V25 — Nouvelle architecture Sam's + Beauty Passport */
.nav-v25{max-width:1380px}.nav-links-v25{gap:4px;max-width:1060px;justify-content:flex-end}.nav-links-v25 a{font-size:11px;padding:8px 9px}.nav-menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:var(--paper);color:var(--green);border-radius:12px;width:42px;height:42px;font-size:20px}
.hero-v25 .passport-quote-mini{margin-top:22px;padding:12px 16px;border-left:2px solid var(--gold);font:italic 17px Georgia,serif;color:#65583a;background:rgba(185,150,71,.08);max-width:430px}
.v25-finder{padding-top:70px}.finder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.finder-card{position:relative;min-height:250px;border-radius:24px;padding:22px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12);transition:.25s}.finder-card:hover{transform:translateY(-5px)}.finder-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(8,25,17,.82));z-index:0}.finder-card>*{position:relative;z-index:1}.finder-card span{font-size:11px;letter-spacing:.14em}.finder-card h3{font:700 30px Georgia,serif;margin:8px 0}.finder-card p{margin:0;color:#e7efe9;line-height:1.55;font-size:13px}.finder-card.hair{background:linear-gradient(135deg,#4f3728,#15110f)}.finder-card.skin{background:linear-gradient(135deg,#b89473,#594334)}.finder-card.nails{background:linear-gradient(135deg,#bc8e95,#6e4851)}.finder-card.relax{background:linear-gradient(135deg,#2b5846,#142e24)}.signature-head{margin-top:55px}
.diagnostic-section{padding-top:20px}.diagnostic-shell{background:linear-gradient(135deg,#112f23 0%,#1c4b37 65%,#7e6936 155%);border-radius:32px;padding:36px;color:#fff;box-shadow:0 24px 60px rgba(17,47,35,.18)}.diagnostic-copy{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.diagnostic-copy h2{font:700 clamp(34px,4vw,54px)/1.02 Georgia,serif;margin:8px 0}.diagnostic-copy p{margin:0;color:#d9e8df;line-height:1.65}.diagnostic-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}.diagnostic-choices button{border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.09);padding:20px;text-align:left;color:#fff;min-height:120px}.diagnostic-choices button:hover{background:#fff;color:var(--green)}.diagnostic-choices b{display:block;font:700 21px Georgia,serif;margin-bottom:8px}.diagnostic-choices span{font-size:12px;opacity:.82}.diagnostic-result-card{margin-top:18px;background:#fff;color:var(--ink);border-radius:20px;padding:20px}.diagnostic-result-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--green2);font-weight:800}.diagnostic-result-card h3{font:700 28px Georgia,serif;color:var(--green);margin:6px 0}.diagnostic-result-card p{color:var(--muted);margin:0}
.reserve-strip{max-width:1176px;margin:20px auto 20px;border-radius:26px;padding:28px 32px;background:#1b3e2f;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:22px}.reserve-strip h2{font:700 31px Georgia,serif;margin:6px 0 0}.family-header{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:22px}.family-header>div{position:relative}.family-index{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(185,150,71,.14);color:#8a6a27;font-weight:900;margin-bottom:12px}.family-header h2{font:700 clamp(31px,4vw,45px)/1.05 Georgia,serif;color:var(--green);margin:4px 0}.family-header>p{max-width:510px;color:var(--muted);line-height:1.65}.single-family-grid{grid-template-columns:minmax(0,560px)}
.passport-section{padding-top:70px;padding-bottom:70px}.passport-showcase{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;background:linear-gradient(135deg,#fffdf8,#f1e8d7);border:1px solid rgba(185,150,71,.28);border-radius:32px;padding:38px;box-shadow:var(--shadow)}.passport-copy h2{font:700 clamp(38px,5vw,60px)/1 Georgia,serif;color:var(--green);margin:8px 0}.passport-copy blockquote{margin:18px 0;padding-left:18px;border-left:3px solid var(--gold);font:italic 24px Georgia,serif;color:#7b6533}.passport-copy p{color:var(--muted);line-height:1.75}.passport-card-mock{min-height:360px;border-radius:28px;padding:22px;background:linear-gradient(145deg,#173829,#0c2118);color:#fff;box-shadow:0 28px 65px rgba(20,53,39,.28);transform:rotate(2deg);display:flex;flex-direction:column;justify-content:space-between}.passport-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.passport-card-top img{width:140px;border-radius:16px}.passport-card-top span{font-size:12px;letter-spacing:.18em}.passport-card-body small{color:#dbc98f}.passport-card-body strong{display:block;font:700 38px Georgia,serif;margin:7px 0}.passport-card-body p{color:#dde8e1;line-height:1.6}.passport-card-body em{font-size:12px;color:#d9c788}
.private-section{max-width:1176px;margin:10px auto 60px;padding:0 22px}.private-shell{border-radius:30px;padding:36px;background:linear-gradient(135deg,#0b1812,#173b2d);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:32px}.private-shell h2{font:700 40px/1.05 Georgia,serif;margin:7px 0 12px}.private-shell p{margin:0;color:#d5e1da;max-width:720px;line-height:1.65}

/* Beauty Passport page */
.passport-page{background:#f5f0e6}.passport-topbar{max-width:1280px;margin:0 auto;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}.passport-main{max-width:1240px;margin:0 auto;padding:12px 22px 70px}.passport-hero-private{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:end;border-radius:32px;padding:42px;background:linear-gradient(135deg,#113025,#1a4b37 70%,#806a38 155%);color:#fff;box-shadow:var(--shadow)}.passport-hero-private h1{font:700 clamp(45px,6vw,78px)/.95 Georgia,serif;margin:10px 0}.passport-hero-private h1 em{color:#dec98d}.passport-hero-private blockquote{margin:22px 0;font:italic 23px Georgia,serif;color:#f3e7c3}.passport-hero-private p{color:#d9e8df;max-width:700px;line-height:1.65}.passport-security-card{border:1px solid rgba(255,255,255,.22);border-radius:22px;background:rgba(255,255,255,.08);padding:22px;backdrop-filter:blur(8px)}.passport-security-card span{display:inline-block;padding:7px 10px;border-radius:999px;background:#fff;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.12em}.passport-security-card b{display:block;font:700 23px Georgia,serif;margin:14px 0 6px}.passport-security-card p{font-size:13px;margin:0}.passport-gate{margin-top:22px;padding:28px}.passport-gate h2{font:700 34px Georgia,serif;color:var(--green);margin:7px 0}.passport-editor{margin-top:22px}.passport-editor-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.passport-editor-head h2{font:700 38px Georgia,serif;color:var(--green);margin:5px 0}.passport-editor-head p{margin:0;color:var(--muted)}.passport-status{display:flex;gap:8px;align-items:center;border-radius:999px;background:#e9f5ed;color:#2a6243;padding:9px 13px;font-size:12px;font-weight:800}.passport-status span{font-size:16px}.passport-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.passport-form-column{display:grid;gap:16px}.passport-layer{position:relative;padding:24px;overflow:hidden}.passport-layer .layer-no{position:absolute;right:18px;top:14px;font:700 46px Georgia,serif;color:rgba(22,58,43,.06)}.passport-layer h3{font:700 26px Georgia,serif;color:var(--green);margin:5px 0 18px}.passport-action-column{position:relative}.passport-sticky-card{position:sticky;top:90px;padding:22px}.passport-sticky-card>img{width:180px;border-radius:16px;margin-bottom:18px}.passport-sticky-card h3{font:700 29px Georgia,serif;color:var(--green);margin:7px 0}.passport-sticky-card p{color:var(--muted);line-height:1.6}.full-btn{width:100%;margin-top:10px}.consent-row{display:flex;gap:12px;align-items:flex-start;background:#f7f3ea;border:1px solid var(--line);border-radius:16px;padding:15px;margin:12px 0 16px}.consent-row input{margin-top:4px}.consent-row span{display:flex;flex-direction:column;gap:5px}.consent-row small{color:var(--muted)}.passport-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.passport-photo-box{min-height:220px;border:1.5px dashed rgba(22,58,43,.25);border-radius:18px;background:#faf7ef;display:grid;place-items:center;overflow:hidden;position:relative;cursor:pointer}.passport-photo-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.passport-photo-box>span{position:absolute;top:12px;left:12px;z-index:2;background:rgba(255,255,255,.9);padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;color:var(--green)}.passport-photo-box img{width:100%;height:100%;object-fit:cover;display:none}
@media(max-width:1100px){.nav-menu-toggle{display:block}.nav-links-v25{display:none;position:absolute;left:12px;right:12px;top:74px;background:#fffdf8;border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--shadow);max-height:70vh;overflow:auto;flex-direction:column;align-items:stretch}.nav-open .nav-links-v25{display:flex}.nav-links-v25 a{font-size:13px;padding:10px 12px}.finder-grid,.diagnostic-choices{grid-template-columns:1fr 1fr}.passport-layout{grid-template-columns:1fr}.passport-sticky-card{position:static}}
@media(max-width:760px){.finder-grid,.diagnostic-choices,.diagnostic-copy,.passport-showcase,.passport-hero-private{grid-template-columns:1fr}.finder-card{min-height:190px}.reserve-strip,.family-header,.private-shell,.passport-editor-head{flex-direction:column;align-items:flex-start}.reserve-strip{margin-left:14px;margin-right:14px}.passport-showcase{padding:22px}.passport-card-mock{min-height:300px;transform:none}.passport-topbar{align-items:flex-start;flex-direction:column}.passport-main{padding:8px 14px 55px}.passport-hero-private{padding:24px}.passport-photo-grid{grid-template-columns:1fr}.passport-photo-box{min-height:260px}}


/* V26 — Onglets premium colorés + accès Administration / Direction */
.top-color-tabs{position:sticky;top:73px;z-index:35;background:rgba(247,243,234,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(22,58,43,.08);padding:10px 0}
.top-color-tabs-track{max-width:1380px;margin:0 auto;padding:0 18px;display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}
.top-color-tabs-track::-webkit-scrollbar{display:none}
.color-tab{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border-radius:14px;color:#fff;font-size:12px;font-weight:850;letter-spacing:.01em;box-shadow:0 8px 22px rgba(17,47,35,.12);border:1px solid rgba(255,255,255,.16);transition:transform .18s ease,box-shadow .18s ease}
.color-tab:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,47,35,.18)}
.color-tab span{white-space:nowrap}
.tab-home{background:linear-gradient(135deg,#173c2d,#245741)}
.tab-experience{background:linear-gradient(135deg,#8d6d37,#b89651)}
.tab-diagnostic{background:linear-gradient(135deg,#6c526e,#98749b)}
.tab-book{background:linear-gradient(135deg,#a94d5b,#cd6c79)}
.tab-hair{background:linear-gradient(135deg,#4b3326,#76503c)}
.tab-skin{background:linear-gradient(135deg,#9c755d,#c79d7f)}
.tab-nails{background:linear-gradient(135deg,#9d6571,#c98a98)}
.tab-hammam{background:linear-gradient(135deg,#275c4a,#3b8269)}
.tab-circle{background:linear-gradient(135deg,#6d5a29,#a48942)}
.tab-passport{background:linear-gradient(135deg,#263f5b,#42688f)}
.tab-admin{background:linear-gradient(135deg,#101c17,#23382f);outline:2px solid rgba(185,150,71,.38);outline-offset:1px}
.admin-nav-link{background:#101c17!important;color:#fff!important;border:1px solid rgba(185,150,71,.45)!important}
.mobile-admin-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#101c17,#264436);color:#fff;border:1px solid rgba(185,150,71,.45);border-radius:18px;padding:14px 15px;text-decoration:none;box-shadow:var(--shadow)}
.mobile-admin-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.mobile-admin-card b{font-size:14px}.mobile-admin-card small{color:#dce8e1;font-size:11px;margin-top:3px}.mobile-admin-card strong{font-size:11px;background:#fff;color:var(--green);padding:8px 10px;border-radius:999px}.mobile-admin-icon{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12);display:grid!important;place-items:center;font-size:17px!important;flex:0 0 auto!important}
@media(max-width:1100px){.top-color-tabs{top:69px}.color-tab{font-size:11px;padding:9px 12px;min-height:40px}}
@media(max-width:760px){.top-color-tabs{position:sticky;top:67px;padding:8px 0}.top-color-tabs-track{padding:0 10px;gap:7px}.color-tab{border-radius:12px;padding:9px 11px}.tab-admin{position:relative}.mobile-top-actions{gap:9px}}
/* V27 — centralisation multi-appareils */
.central-status{margin:12px 0 16px;padding:12px 14px;border-radius:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;border:1px solid rgba(18,55,41,.12);background:#fff}.central-status b{font-size:14px}.central-status span{flex:1;min-width:220px}.central-status.ok{background:#edf8f1;border-color:#b9dec8;color:#174b31}.central-status.warn{background:#fff7e5;border-color:#ead49a;color:#725614}.central-status.error{background:#fff0ef;border-color:#e6b8b4;color:#8a2d27}.pending-central{border:2px solid #d3ad4f}.pending-central .success-mark{background:#fff4d2;color:#76530a}
.central-login-priority{margin:18px 0;padding:18px;border-radius:20px;background:linear-gradient(135deg,rgba(21,67,47,.08),rgba(212,174,74,.08));border:1px solid rgba(21,67,47,.15)}.offline-emergency-details{margin-top:14px}.offline-emergency-details summary{color:#7c5f18;font-weight:800}


/* V28 — Carte commande WhatsApp */
.whatsapp-btn{background:#166534!important;color:#fff!important;border-color:#166534!important;box-shadow:0 12px 30px rgba(22,101,52,.18)}
.whatsapp-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.order-send-actions{align-items:stretch;gap:10px}.order-send-actions .btn{min-height:48px}
.whatsapp-order-hint{margin:10px 0 0;color:#66756d;font-size:13px;line-height:1.5}
.whatsapp-receipt-box{margin:18px 0;padding:18px;border:1px solid rgba(22,101,52,.22);background:#f2f8f3;border-radius:18px;color:#173a2c}
.whatsapp-receipt-box>b{font-size:16px}.whatsapp-receipt-box p{margin:7px 0 12px;color:#557064;line-height:1.5}
@media(max-width:640px){.order-send-actions{display:grid;grid-template-columns:1fr}.whatsapp-receipt-box .cta-row{display:grid;grid-template-columns:1fr}.whatsapp-btn{font-size:15px;padding:14px 16px}}

/* V29 — facture centralisée */
.invoice-ready-box{margin-top:16px;padding:18px;border:1px solid rgba(181,143,62,.35);border-radius:18px;background:#fff9ea}.invoice-ready-box b{color:#12372a}.invoice-ready-box p{margin:6px 0 12px}

/* V30 — Compte Direction central */
.direction-linked-badge{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;margin-bottom:14px;border-radius:14px;background:#e7f5ec;border:1px solid rgba(28,111,69,.22);color:#1d5d3a;font-size:12px}.direction-linked-badge span{color:#547060}.security-tab{border-color:rgba(136,96,181,.28)!important;background:rgba(136,96,181,.08)!important}.security-tab.active{background:#76549c!important;color:#fff!important;border-color:#76549c!important}.security-direction-card{max-width:720px}.security-account-line{display:flex;justify-content:space-between;gap:15px;padding:14px 16px;margin:12px 0 18px;border-radius:14px;background:#f5f1e8;border:1px solid var(--line)}
@media(max-width:640px){.direction-linked-badge,.security-account-line{align-items:flex-start;flex-direction:column}}
\n\n/* V32 — Centre de notifications Direction */\n.direction-notification-wrap{position:relative;z-index:30}\n.notification-bell{position:relative;width:44px;height:44px;border:1px solid rgba(24,65,48,.18);background:#fff;border-radius:14px;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 25px rgba(17,47,35,.08);transition:.2s ease}\n.notification-bell:hover,.notification-bell.has-unread{transform:translateY(-1px);border-color:#a77a2c;box-shadow:0 12px 30px rgba(167,122,44,.16)}\n.notification-bell-icon{font-size:20px;line-height:1}\n.notification-badge{position:absolute;right:-5px;top:-6px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#b51f32;color:#fff;font:800 11px/21px Arial,sans-serif;justify-content:center;align-items:center;border:2px solid #fff;display:none}\n.notification-center{position:absolute;right:0;top:54px;width:min(390px,92vw);max-height:540px;background:#fff;border:1px solid rgba(24,65,48,.14);border-radius:22px;box-shadow:0 25px 70px rgba(10,33,24,.22);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-7px) scale(.98);transition:.18s ease;z-index:120}\n.notification-center.open{opacity:1;visibility:visible;transform:none}\n.notification-center-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid #e9eee9;background:linear-gradient(135deg,#f8faf7,#fff8e8)}\n.notification-center-head h3{margin:2px 0 0;font:700 24px Georgia,serif;color:#143a2a}\n.notification-center-body{max-height:440px;overflow:auto;padding:8px}\n.notification-item{width:100%;border:0;background:#fff;display:grid;grid-template-columns:38px 1fr 9px;gap:11px;align-items:start;text-align:left;padding:13px;border-radius:15px;cursor:pointer;margin:2px 0;color:#173528}\n.notification-item:hover{background:#f6f8f5}.notification-item.unread{background:#fff8e8}.notification-item.unread:hover{background:#fff2d2}\n.notification-item-icon{width:36px;height:36px;border-radius:12px;background:#153d2d;color:#fff;display:grid;place-items:center;font-size:17px}\n.notification-item-copy{display:grid;gap:3px}.notification-item-copy b{font-size:14px}.notification-item-copy span{font-size:12.5px;line-height:1.35;color:#52665b}.notification-item-copy small{font-size:11px;color:#89988f}\n.notification-item>i{width:8px;height:8px;border-radius:99px;background:#bd263a;margin-top:6px}.notification-empty{padding:30px 18px;text-align:center;color:#66786e;display:grid;gap:5px}.notification-empty b{color:#173528}\n.live-notice.show{border-left:4px solid #b51f32;background:#fff5f5;color:#62212a}\n\n/* V32 — Localisation Sam's Beauty */\n.tab-location{--tab-accent:#1b7960}\n.location-section{background:linear-gradient(180deg,#fff,#f3f6f2)}\n.location-shell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:22px;align-items:stretch}\n.location-map{min-height:430px;border-radius:30px;overflow:hidden;border:1px solid rgba(17,47,35,.12);box-shadow:0 24px 65px rgba(17,47,35,.12);background:#e8eee9}\n.location-map iframe{border:0;width:100%;height:100%;min-height:430px;display:block}\n.location-card{border-radius:30px;padding:34px;background:#13392a;color:#f8f5eb;box-shadow:0 24px 65px rgba(17,47,35,.18);display:flex;flex-direction:column;justify-content:center}\n.location-card .kicker{color:#d7b66a}.location-card h3{font:700 40px Georgia,serif;margin:8px 0 18px;color:#fff}.location-card p{margin:6px 0;line-height:1.5}.location-card small{margin-top:18px;opacity:.72;line-height:1.45}.location-pin{width:58px;height:58px;border-radius:18px;background:#d7b66a;color:#173528;display:grid;place-items:center;font-size:30px;margin-bottom:18px}.location-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}\n@media(max-width:800px){.location-shell{grid-template-columns:1fr}.location-map,.location-map iframe{min-height:330px}.location-card{padding:26px}.notification-center{position:fixed;top:80px;left:12px;right:12px;width:auto;max-height:70vh}}\n
/* V33 — Onglets unicolores avec menus déroulants */
.mono-tabs{background:rgba(248,245,236,.98)}
.mono-tabs-track{align-items:stretch;overflow:visible;flex-wrap:wrap;justify-content:center}
.mono-menu-tab{position:relative;flex:0 0 auto}
.mono-menu-tab>summary{list-style:none;min-height:44px;padding:10px 15px;border-radius:13px;background:#173f2f;color:#fff;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:850;letter-spacing:.01em;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 20px rgba(17,47,35,.12);user-select:none}
.mono-menu-tab>summary::-webkit-details-marker{display:none}
.mono-menu-tab>summary span{font-size:14px;transition:transform .18s ease}
.mono-menu-tab[open]>summary,.mono-menu-tab>summary:hover{background:#21563f}
.mono-menu-tab[open]>summary span{transform:rotate(180deg)}
.mono-menu-dropdown{position:absolute;left:0;top:calc(100% + 8px);width:245px;padding:8px;background:#fffdf8;border:1px solid rgba(23,63,47,.14);border-radius:16px;box-shadow:0 22px 55px rgba(17,47,35,.2);z-index:200;display:grid;gap:3px}
.mono-menu-dropdown-right{left:auto;right:0}
.mono-menu-dropdown a,.mono-menu-dropdown button{border:0;background:transparent;text-align:left;width:100%;padding:10px 11px;border-radius:11px;color:#173f2f;font:750 12.5px/1.25 Arial,sans-serif;text-decoration:none;cursor:pointer}
.mono-menu-dropdown a:hover,.mono-menu-dropdown button:hover{background:#eef4ef;color:#0d2d20}
.menu-notification-link{display:block}
.direction-menu-tab>summary{box-shadow:0 8px 20px rgba(17,47,35,.12),0 0 0 2px rgba(185,150,71,.28)}

/* V33 — notification Direction visible sur l'interface, contenu protégé */
.public-direction-notice-bar{max-width:1380px;margin:12px auto 0;padding:0 18px;position:relative;z-index:28}
.public-direction-notice-btn{width:100%;display:flex;align-items:center;gap:12px;border:1px solid rgba(23,63,47,.18);background:#fffdf8;border-radius:18px;padding:12px 14px;box-shadow:0 12px 34px rgba(17,47,35,.09);cursor:pointer;text-align:left;color:#173f2f}
.public-direction-notice-btn:hover{border-color:#a88a45;box-shadow:0 15px 38px rgba(17,47,35,.13)}
.public-direction-notice-icon{width:42px;height:42px;border-radius:13px;background:#173f2f;color:#fff;display:grid;place-items:center;font-size:19px;flex:0 0 auto}
.public-direction-notice-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.public-direction-notice-copy b{font-size:14px}.public-direction-notice-copy small{color:#677a70;font-size:11.5px}
.public-direction-lock{width:30px;height:30px;border-radius:999px;background:#edf4ef;display:grid;place-items:center;font-size:13px}
.public-direction-count{min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#b51f32;color:#fff;font:850 11px/26px Arial,sans-serif;place-items:center}
.public-direction-notification-panel{max-width:650px}
.public-direction-lock-hero{width:68px;height:68px;border-radius:22px;background:#173f2f;color:#fff;display:grid;place-items:center;font-size:30px;margin:2px auto 16px}
.public-direction-gate-title{text-align:center;font:700 30px Georgia,serif;color:#173f2f;margin:0 0 8px}
.public-direction-notification-tools{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e9eee9}.public-direction-notification-tools>div:first-child{display:flex;flex-direction:column;gap:3px}.public-direction-notification-tools small{color:#6f7f76}
.public-direction-notification-list{max-height:520px;overflow:auto;display:grid;gap:7px}
.public-direction-notification-item{display:grid;grid-template-columns:40px 1fr 9px;gap:11px;align-items:start;width:100%;text-align:left;border:1px solid #e5ebe6;background:#fff;border-radius:15px;padding:13px;cursor:pointer;color:#173f2f}
.public-direction-notification-item:hover{background:#f5f8f5}.public-direction-notification-item.unread{background:#fff8e8;border-color:#ead8a8}
.public-direction-notification-item>span:first-child{width:38px;height:38px;border-radius:12px;background:#173f2f;color:#fff;display:grid;place-items:center}
.public-direction-notification-item>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.public-direction-notification-item b{font-size:13.5px}.public-direction-notification-item small{font-size:12px;color:#586b61}.public-direction-notification-item em{font-style:normal;font-size:10.5px;color:#87968e}.public-direction-notification-item>i{width:8px;height:8px;border-radius:50%;background:#b51f32;margin-top:6px}

@media(max-width:900px){.mono-tabs-track{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.mono-menu-dropdown{position:fixed;left:12px!important;right:12px!important;top:128px;width:auto}.public-direction-notice-bar{padding:0 10px;margin-top:9px}}
@media(max-width:620px){.public-direction-notice-copy small{white-space:normal}.public-direction-notification-tools{align-items:flex-start;flex-direction:column}.public-direction-notification-panel{width:min(94vw,650px)}}


/* ===== V34 Editorial homepage refresh ===== */
body{background:linear-gradient(180deg,#f4efe5 0%,#f8f5ef 60%,#f2ece1 100%);color:#17382d}
.topbar.luxury-topbar,.footer.luxury-footer,.contact-band.premium-contact{background:linear-gradient(135deg,#0f2d22 0%,#194633 55%,#0f2d22 100%)}
.nav-v25{max-width:1380px;margin:0 auto;padding:18px 24px;gap:18px}
.brand-copy b{font-family:Georgia,serif;font-size:1.9rem;letter-spacing:.2px}
.brand-copy small{text-transform:uppercase;letter-spacing:.18em;font-size:.66rem}
.nav-links-v25 a,.admin-nav-link{font-size:.94rem}
.top-color-tabs{padding:0 22px 14px;background:transparent}
.mono-tabs-track{max-width:1380px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap}
.mono-menu-tab{position:relative}
.mono-menu-tab>summary{list-style:none;background:#17382d;color:#f6f0e5;border:1px solid rgba(185,150,71,.45);border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 10px 24px rgba(20,31,24,.08)}
.mono-menu-tab[open]>summary,.mono-menu-tab>summary:hover{background:#b99647;color:#17382d}
.mono-menu-dropdown{top:calc(100% + 10px);border-radius:20px;border:1px solid rgba(185,150,71,.22);background:#fffdf9;box-shadow:0 20px 50px rgba(20,31,24,.12)}
.public-direction-notice-bar{padding:0 22px 20px}
.public-direction-notice-btn{max-width:1380px;margin:0 auto;background:#fffdf9;border:1px solid rgba(185,150,71,.2);box-shadow:0 18px 40px rgba(20,31,24,.08)}
.mobile-top-actions{padding:0 22px 20px;max-width:1380px;margin:0 auto}
main#top{max-width:1380px;margin:0 auto;padding:0 22px 24px}
.editorial-hero{display:grid;grid-template-columns:minmax(300px,1.02fr) minmax(540px,1.28fr);gap:26px;align-items:stretch;padding:26px 0 18px}
.editorial-copy{background:linear-gradient(160deg,#fffefb 0%,#f3ece0 100%);border:1px solid rgba(185,150,71,.18);border-radius:34px;padding:48px 42px;box-shadow:0 26px 60px rgba(20,31,24,.08);position:relative;overflow:hidden}
.editorial-copy:before{content:'';position:absolute;inset:auto -70px -110px auto;width:220px;height:220px;background:radial-gradient(circle,#e2d4b0 0%,rgba(226,212,176,0) 70%);opacity:.55}
.hero-labels{letter-spacing:.34em;font-size:.75rem;text-transform:uppercase;color:#6e745f;margin-bottom:22px}
.hero-labels span{letter-spacing:0;margin:0 6px;color:#b99647}
.editorial-copy h1{font-family:Georgia,serif;font-weight:600;font-size:4.35rem;line-height:.95;letter-spacing:-.03em;color:#17382d;margin:0 0 18px}
.editorial-copy h1 em{font-style:italic;font-weight:500;color:#7a5e36}
.editorial-copy p{font-size:1.16rem;line-height:1.7;color:#49544e;max-width:560px;margin:0 0 22px}
.editorial-cta-row{margin-top:26px}
.editorial-visual-shell{position:relative;min-height:620px;display:grid;place-items:center}
.editorial-main-slider{width:min(100%,620px);height:520px;border-radius:34px;overflow:hidden;border:1px solid rgba(185,150,71,.24);box-shadow:0 34px 80px rgba(20,31,24,.16);background:#1d251f;position:relative;z-index:2}
.editorial-main-slider .slides,.editorial-main-slider .slide,.editorial-main-slider .slide img{height:100%}
.editorial-main-slider .slide img{width:100%;object-fit:cover}
.editorial-main-slider .slide-caption{background:linear-gradient(180deg,rgba(8,10,9,0) 0%,rgba(8,10,9,.78) 82%);padding:38px 34px 32px}
.editorial-main-slider .slide-caption h3{font-family:Georgia,serif;font-size:3.2rem;line-height:1;color:#fff8ef;margin:0 0 12px}
.editorial-main-slider .slide-caption p{font-size:1rem;color:#efe7d8;max-width:72%;line-height:1.5}
.editorial-main-slider .slider-controls{position:absolute;bottom:18px;left:0;right:0;padding:0 24px;display:flex;justify-content:space-between;align-items:center}
.editorial-main-slider .slider-nav{width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,250,240,.16);color:#fff;backdrop-filter:blur(10px)}
.editorial-main-slider .dot{background:rgba(255,248,236,.35)}
.editorial-main-slider .dot.active{background:#b99647}
.editorial-card{position:absolute;background:#fffdf8;border:1px solid rgba(185,150,71,.18);border-radius:26px;box-shadow:0 24px 60px rgba(20,31,24,.14);overflow:hidden;z-index:3}
.editorial-card img{display:block;width:100%;height:100%;object-fit:cover}
.editorial-card-copy{padding:18px 18px 20px;background:#fffdf8}
.editorial-card-copy b{display:block;font-family:Georgia,serif;font-size:1.5rem;color:#17382d;margin-bottom:8px}
.editorial-card-copy span{display:block;color:#6a7169;line-height:1.5;font-size:.94rem}
.editorial-card-spa{left:0;top:62px;width:220px}
.editorial-card-spa img{height:220px}
.editorial-card-products{right:16px;bottom:76px;width:236px}
.editorial-card-products img{height:180px}
.editorial-card-nails{right:0;top:32px;width:220px}
.editorial-card-nails img{height:214px}
.editorial-note-top{position:absolute;right:145px;top:48px;max-width:235px;background:#fffdf8;border:1px solid rgba(185,150,71,.18);border-radius:24px;padding:22px 24px;font-family:Georgia,serif;font-size:1.42rem;line-height:1.18;color:#4b4031;box-shadow:0 16px 40px rgba(20,31,24,.14);z-index:4}
.editorial-brand-badge{position:absolute;left:120px;bottom:28px;z-index:4;background:rgba(18,44,33,.95);color:#fff;border:1px solid rgba(185,150,71,.34);box-shadow:0 20px 44px rgba(20,31,24,.28)}
.editorial-brand-badge img{background:#fff;border-radius:16px;padding:10px;width:56px;height:56px;object-fit:contain}
.editorial-brand-badge span{color:#e7dcc5;max-width:220px;line-height:1.4}
.editorial-icon-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:10px 0 18px}
.editorial-icon-row article{display:flex;gap:14px;align-items:flex-start;background:#fffdf9;border:1px solid rgba(185,150,71,.16);border-radius:20px;padding:18px 16px;box-shadow:0 16px 36px rgba(20,31,24,.05)}
.editorial-icon-row span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(185,150,71,.14);color:#b99647;font-size:1.1rem;flex:0 0 42px}
.editorial-icon-row b{display:block;margin-bottom:4px;color:#17382d}
.editorial-icon-row small{display:block;font-size:.87rem;color:#68726b;line-height:1.5}
.editorial-showcase{padding-top:8px;padding-bottom:18px}
.editorial-service-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
.editorial-service-card{position:relative;overflow:hidden;border-radius:24px;min-height:170px;background:#17382d;color:#fff;box-shadow:0 22px 48px rgba(20,31,24,.12);border:1px solid rgba(185,150,71,.2)}
.editorial-service-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.02)}
.editorial-service-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,14,0) 34%,rgba(10,18,14,.82) 100%)}
.editorial-service-card>div{position:absolute;left:18px;right:18px;bottom:16px;z-index:1}
.editorial-service-card h3{margin:0 0 6px;font-family:Georgia,serif;font-size:1.55rem;color:#fffaf2}
.editorial-service-card p{margin:0;color:#e7ddcf;font-size:.92rem;line-height:1.45}
.editorial-feature-row{display:grid;grid-template-columns:1.1fr 1.2fr 1fr 1fr;gap:14px}
.editorial-feature-card{position:relative;background:#fffdf9;border:1px solid rgba(185,150,71,.16);border-radius:26px;overflow:hidden;min-height:200px;box-shadow:0 22px 50px rgba(20,31,24,.08);display:flex;align-items:stretch}
.editorial-feature-card img{width:42%;height:100%;object-fit:cover}
.editorial-feature-card.passport img{object-fit:contain;padding:22px;background:linear-gradient(160deg,#184231 0%,#204f3a 100%)}
.editorial-feature-card .feature-text{padding:24px 24px 26px;display:flex;flex-direction:column;justify-content:center;gap:8px;flex:1}
.editorial-feature-card h3{font-family:Georgia,serif;font-size:2rem;line-height:1;margin:0;color:#17382d}
.editorial-feature-card p{margin:0;color:#666f69;line-height:1.55}
.section,.contact-band,.footer,.rewards-section,.private-section,.app-install-section{position:relative}
.section-head h2,.family-header h2,.rewards-copy h2,.passport-copy h2,.private-shell h2,.app-install-copy h2,.location-card h3{font-family:Georgia,serif;font-weight:600;color:#17382d}
.section-head,.family-header,.passport-showcase,.rewards-shell,.location-shell,.app-install-shell,.contact-band{background:transparent}
.v25-finder,.service-family,.passport-section,#transformations,.location-section{padding-top:22px;padding-bottom:22px}
.finder-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.finder-card{border-radius:24px;background:#fffdf9;border:1px solid rgba(185,150,71,.16);box-shadow:0 18px 36px rgba(20,31,24,.06);padding:28px 24px;min-height:200px}
.finder-card h3{font-family:Georgia,serif;font-size:1.8rem}
.formula-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{border-radius:28px;border:1px solid rgba(185,150,71,.16);box-shadow:0 24px 52px rgba(20,31,24,.08);background:#fffdf9}
.service-visual img{height:240px;object-fit:cover}
.gallery-bento .bento,.live-gallery-grid figure{border-radius:24px;overflow:hidden;box-shadow:0 20px 46px rgba(20,31,24,.08)}
.passport-showcase,.rewards-shell,.private-shell,.app-install-shell,.location-shell,.premium-contact{border:1px solid rgba(185,150,71,.16);border-radius:30px;box-shadow:0 24px 56px rgba(20,31,24,.08);background:#fffdf9;padding:28px}
.passport-card-mock,.phone-frame,.desktop-frame,.location-card{box-shadow:0 18px 44px rgba(20,31,24,.08)}
.contact-band.premium-contact{color:#fff;border:none;background:linear-gradient(135deg,#133526 0%,#1a4935 60%,#102b20 100%)}
.contact-band.premium-contact p,.contact-band.premium-contact h3{color:#fffdf8}
.footer.luxury-footer{margin-top:28px}
@media (max-width:1200px){
  .editorial-hero{grid-template-columns:1fr}
  .editorial-visual-shell{min-height:720px}
  .editorial-icon-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-service-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .editorial-feature-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  main#top{padding:0 14px 20px}
  .top-color-tabs,.public-direction-notice-bar,.mobile-top-actions{padding-left:14px;padding-right:14px}
  .editorial-copy{padding:30px 24px;border-radius:28px}
  .editorial-copy h1{font-size:3rem}
  .editorial-copy p{font-size:1.02rem}
  .editorial-visual-shell{min-height:auto;display:block}
  .editorial-main-slider{width:100%;height:430px}
  .editorial-main-slider .slide-caption h3{font-size:2.3rem}
  .editorial-main-slider .slide-caption p{max-width:100%}
  .editorial-card,.editorial-note-top,.editorial-brand-badge{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin:12px 0 0}
  .editorial-card-spa,.editorial-card-products,.editorial-card-nails,.editorial-note-top{width:100%}
  .editorial-note-top{max-width:none}
  .editorial-icon-row{grid-template-columns:1fr}
  .editorial-service-row,.editorial-feature-row,.finder-grid,.formula-grid{grid-template-columns:1fr}
  .editorial-feature-card{min-height:220px}
  .editorial-feature-card img{width:38%}
}


/* ===== V35 corrections: lighter header + no overlapping hero layers ===== */
.topbar.luxury-topbar{
  background:linear-gradient(135deg,rgba(15,45,34,.76) 0%,rgba(25,70,51,.76) 55%,rgba(15,45,34,.76) 100%);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,248,236,.08)
}
.nav-v25{padding:10px 24px 12px}
.brand-logo{width:58px;height:auto}
.brand-copy b{font-size:1.5rem}
.brand-copy small{opacity:.88}

/* keep slider clean: no overlapping cards on top of the carousel */
.editorial-visual-shell{display:flex;align-items:center;justify-content:center;min-height:auto}
.editorial-card-spa,
.editorial-card-products,
.editorial-card-nails,
.editorial-note-top,
.editorial-brand-badge{display:none !important}

.editorial-main-slider{width:min(100%,700px);height:520px;margin:0 auto}
.editorial-main-slider .slide-caption h3{font-size:2.75rem}
.editorial-main-slider .slide-caption p{max-width:100%}

/* soft background under the top area */
main#top{padding-top:8px}
.editorial-hero{padding-top:16px}

@media (max-width:860px){
  .topbar.luxury-topbar{background:linear-gradient(135deg,rgba(15,45,34,.84) 0%,rgba(25,70,51,.84) 55%,rgba(15,45,34,.84) 100%)}
  .nav-v25{padding:10px 14px 12px}
  .brand-copy b{font-size:1.25rem}
  .editorial-main-slider{height:430px}
}


/* ===== V36 stadium-style scrolling banner ===== */
.topbar.luxury-topbar{overflow:hidden}
.stadium-marquee{display:flex;gap:0;align-items:center;overflow:hidden;white-space:nowrap;padding:10px 0 11px;border-top:1px solid rgba(255,248,236,.08);background:linear-gradient(90deg,rgba(8,22,17,.10),rgba(255,255,255,.04),rgba(8,22,17,.10))}
.stadium-track{display:flex;align-items:center;gap:18px;min-width:max-content;padding-right:18px;animation:samsTicker 36s linear infinite}
.stadium-item{display:inline-flex;align-items:center}
.stadium-item.image img{width:38px;height:38px;border-radius:11px;object-fit:cover;border:1px solid rgba(255,248,236,.18);box-shadow:0 8px 18px rgba(0,0,0,.14)}
.stadium-item.text{font-size:.93rem;font-weight:700;letter-spacing:.02em;color:#fff7ea}
.stadium-item.text.strong{color:#d9bf7a;text-transform:uppercase;font-size:.88rem;letter-spacing:.08em}
.stadium-sep{color:rgba(217,191,122,.9);font-size:.78rem}
@keyframes samsTicker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.stadium-marquee:hover .stadium-track{animation-play-state:paused}
@media (max-width:860px){
  .stadium-marquee{padding:8px 0 9px}
  .stadium-track{gap:14px;animation-duration:28s}
  .stadium-item.image img{width:30px;height:30px;border-radius:9px}
  .stadium-item.text{font-size:.82rem}
  .stadium-item.text.strong{font-size:.78rem}
}


/* ===== V37 premium LED banner + stronger text readability ===== */
.topbar.luxury-topbar{overflow:hidden}
.led-marquee{padding:10px 18px 14px;border-top:1px solid rgba(255,248,236,.08);background:transparent}
.led-board-frame{position:relative;overflow:hidden;border-radius:18px;padding:10px 0;background:linear-gradient(180deg,#08130f 0%,#101f18 40%,#08130f 100%);border:1px solid rgba(199,170,104,.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), inset 0 18px 24px rgba(255,255,255,.03), 0 12px 30px rgba(0,0,0,.22)}
.led-board-frame:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px, rgba(255,239,195,.08) 1px, transparent 1.5px);background-size:12px 12px;opacity:.34;pointer-events:none}
.led-board-topline{position:relative;z-index:1;text-align:center;padding:0 16px 8px;font-size:.72rem;letter-spacing:.22em;font-weight:800;color:#cfb06a;text-transform:uppercase;text-shadow:0 0 8px rgba(207,176,106,.35)}
.stadium-marquee{display:flex;gap:0;align-items:center;overflow:hidden;white-space:nowrap}
.stadium-track{position:relative;z-index:1;display:flex;align-items:center;gap:18px;min-width:max-content;padding-right:18px;animation:samsTicker 38s linear infinite}
.stadium-item{display:inline-flex;align-items:center}
.stadium-item.image img{width:40px;height:40px;border-radius:11px;object-fit:cover;border:1px solid rgba(255,248,236,.22);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.stadium-item.text{font-size:.96rem;font-weight:800;letter-spacing:.02em;color:#fffaf0;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.stadium-item.text.strong{color:#e5c779;text-transform:uppercase;font-size:.9rem;letter-spacing:.08em}
.stadium-sep{color:#e0c173;font-size:.82rem;text-shadow:0 0 10px rgba(224,193,115,.4)}
.led-partner-ad{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:linear-gradient(90deg,rgba(199,170,104,.18),rgba(199,170,104,.09));border:1px solid rgba(199,170,104,.38);box-shadow:0 0 0 1px rgba(255,255,255,.03), inset 0 0 18px rgba(199,170,104,.08);transition:transform .2s ease, box-shadow .2s ease}
.led-partner-ad:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.04), inset 0 0 18px rgba(199,170,104,.12), 0 8px 20px rgba(0,0,0,.24)}
.partner-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#c7aa68;color:#0d1914;font-weight:900;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.partner-text{color:#fff7ea;font-weight:800;font-size:.95rem;text-shadow:0 2px 8px rgba(0,0,0,.65)}
@keyframes samsTicker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.stadium-marquee:hover .stadium-track{animation-play-state:paused}

/* Text readability on layered/overlay components */
.editorial-main-slider .slide-caption{background:linear-gradient(180deg,rgba(8,10,9,.06) 0%,rgba(8,10,9,.9) 70%,rgba(8,10,9,.96) 100%) !important}
.editorial-main-slider .slide-caption h3,
.editorial-main-slider .slide-caption p,
.editorial-service-card h3,
.editorial-service-card p,
.finder-card h3,
.finder-card p,
.service-card h3,
.service-card p,
.public-direction-notice-copy b,
.public-direction-notice-copy small{color:inherit;text-shadow:0 1px 3px rgba(0,0,0,.22)}
.editorial-main-slider .slide-caption h3{color:#fffdf6 !important;text-shadow:0 3px 10px rgba(0,0,0,.72)}
.editorial-main-slider .slide-caption p{color:#f3ebdd !important;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.editorial-service-card:before{background:linear-gradient(180deg,rgba(10,18,14,.04) 26%,rgba(10,18,14,.9) 100%) !important}
.editorial-service-card>div{background:linear-gradient(180deg,rgba(10,18,14,0) 0%,rgba(10,18,14,.12) 20%,rgba(10,18,14,.24) 100%);border-radius:16px;padding:10px 12px}
.editorial-service-card h3{color:#fffdf7 !important;text-shadow:0 3px 10px rgba(0,0,0,.76)}
.editorial-service-card p{color:#f1e8d8 !important;text-shadow:0 2px 8px rgba(0,0,0,.72)}
.mono-menu-dropdown a,.mono-menu-dropdown button,.public-direction-notice-btn,.btn,.finder-card,.service-card,.section-head p,.family-header p{font-weight:600}

@media (max-width:860px){
  .led-marquee{padding:8px 12px 12px}
  .led-board-frame{border-radius:15px;padding:8px 0}
  .led-board-topline{font-size:.6rem;letter-spacing:.16em;padding:0 12px 7px}
  .stadium-track{gap:14px;animation-duration:30s}
  .stadium-item.image img{width:32px;height:32px;border-radius:9px}
  .stadium-item.text{font-size:.82rem}
  .partner-badge{font-size:.62rem;padding:5px 8px}
  .partner-text{font-size:.81rem}
}


/* ===== V38 one-line LED + readability fixes ===== */
.single-line-track{display:flex;align-items:center;gap:18px;min-width:max-content;padding:4px 18px 4px 100%;animation:samsTickerSingle 34s linear infinite;white-space:nowrap}
@keyframes samsTickerSingle{from{transform:translateX(0)}to{transform:translateX(-100%)} }
.stadium-marquee:hover .single-line-track{animation-play-state:paused}
.stadium-track + .stadium-track{display:none !important}
.stadium-item.text,.stadium-item.text.strong,.partner-text{color:#ffffff !important;opacity:1 !important;text-shadow:0 2px 10px rgba(0,0,0,.78)}
.stadium-item.image img{opacity:1 !important;filter:brightness(1.08) saturate(1.05)}
.led-partner-ad{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(199,170,104,.15));padding:7px 14px 7px 10px}
.led-board-topline,.stadium-item.text,.stadium-item.text.strong,.partner-text{font-weight:800}

/* Hair homme fully visible */
.editorial-feature-card.transformations img,
.gallery-bento .bento img[alt="Sam’s Hair Homme profil"],
.gallery-bento .bento img[alt="Sam’s Hair Homme"]{object-fit:contain !important;background:#f3ede1}
.editorial-feature-card.transformations{background:#faf6ef}

/* Rewards readability and higher text placement */
.rewards-copy,.reward-levels article{opacity:1 !important}
.rewards-shell{align-items:start}
.reward-levels{align-self:start;padding-top:2px}
.reward-levels article{align-items:start;grid-template-rows:auto auto;background:#ffffff !important}
.rewards-copy h2,.rewards-copy>p,.reward-formula strong,.reward-formula span,.reward-rules span,.reward-rules b,.reward-levels b,.reward-levels small,.reward-levels p{opacity:1 !important}
.rewards-copy h2{color:#17382d !important}
.rewards-copy>p{color:#30443c !important;font-weight:600}
.reward-formula{background:#f7f1e5 !important;border-color:rgba(185,150,71,.28)!important}
.reward-formula strong{color:#17382d !important}
.reward-formula span{color:#b99647 !important}
.reward-rules span{background:#f8f4eb !important;border-color:rgba(185,150,71,.24)!important;color:#17382d !important;font-weight:700}
.reward-rules b{color:#17382d !important}
.reward-levels article{padding-top:15px;padding-bottom:15px}
.reward-levels article>span{align-self:start}
.reward-levels div{align-self:start}
.reward-levels p{grid-column:2;margin:0;color:#30443c !important;font-size:12px;line-height:1.45;font-weight:700}
.reward-levels small{color:#53665f !important;font-weight:700}
.reward-levels article.active{background:linear-gradient(135deg,#f0e4c4,#fbf7ed) !important;border-color:rgba(185,150,71,.42)!important}

/* Partner band bottom */
@media (max-width:900px){
  .single-line-track{animation-duration:28s;padding-left:100%}
}


/* ===== V39 richer closable ad board + authentic visuals ===== */
.led-marquee{padding:10px 18px 14px}
.led-marquee.is-hidden{display:none !important}
.led-board-frame{background:linear-gradient(90deg,#0b2e23 0%,#15543f 20%,#1e6e50 50%,#15543f 80%,#0b2e23 100%) !important;border:1px solid rgba(233,216,170,.44) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05), inset 0 12px 18px rgba(255,255,255,.05), 0 16px 34px rgba(0,0,0,.24) !important}
.led-board-topline{color:#fff6de !important;text-shadow:0 0 8px rgba(255,244,209,.25);padding-right:44px}
.led-close-btn{position:absolute;top:10px;right:10px;z-index:3;width:30px;height:30px;border:none;border-radius:50%;background:rgba(255,255,255,.15);color:#ffffff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 10px rgba(0,0,0,.18)}
.led-close-btn:hover{background:rgba(255,255,255,.26)}
.single-line-track{padding-top:4px;padding-bottom:4px}
.stadium-item.text,.stadium-item.text.strong,.partner-text{color:#ffffff !important;opacity:1 !important}
.stadium-item.image img{opacity:1 !important;border-color:rgba(255,255,255,.32)}
.led-partner-ad{background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(220,190,119,.20)) !important;border-color:rgba(255,245,214,.4) !important}

/* make homepage and card texts fully readable */
.reward-levels p,.reward-levels small,.reward-levels b,.reward-rules span,.reward-rules b,.reward-formula strong,.reward-formula span{opacity:1 !important}

@media (max-width:860px){
  .led-close-btn{top:8px;right:8px;width:28px;height:28px;font-size:20px}
}


/* ===== V40 fix rewards/fidelity text readability ===== */
.rewards-section{background:#0f3023 !important}
.rewards-shell{background:#fffdf9 !important;border:1px solid rgba(185,150,71,.18) !important;border-radius:30px !important;box-shadow:0 24px 56px rgba(20,31,24,.10) !important;padding:32px !important;align-items:start !important}
.rewards-shell, .rewards-shell *{opacity:1 !important;filter:none !important}
.rewards-copy .kicker,
.rewards-copy .kicker.light{color:#b58f42 !important;opacity:1 !important;letter-spacing:.16em;font-weight:800;text-transform:uppercase}
.rewards-copy h2{color:#17382d !important;opacity:1 !important}
.rewards-copy > p{color:#30443c !important;opacity:1 !important;font-weight:700;line-height:1.7}
.reward-formula{background:#f7f1e5 !important;border:1px solid rgba(185,150,71,.28) !important;opacity:1 !important}
.reward-formula strong{color:#17382d !important;opacity:1 !important}
.reward-formula span{color:#b99647 !important;opacity:1 !important}
.reward-rules span{background:#f8f4eb !important;border:1px solid rgba(185,150,71,.24) !important;color:#17382d !important;font-weight:800;opacity:1 !important}
.reward-rules b{color:#17382d !important;opacity:1 !important}
.reward-levels{align-self:start;padding-top:6px;gap:14px}
.reward-levels article{background:#ffffff !important;border:1px solid rgba(185,150,71,.22) !important;box-shadow:0 12px 30px rgba(20,31,24,.06);padding:18px 18px 16px !important;grid-template-columns:52px 1fr !important;gap:8px 14px !important;opacity:1 !important}
.reward-levels article.active{background:linear-gradient(135deg,#f3e6c7 0%,#fffaf0 100%) !important;border-color:rgba(185,150,71,.42) !important}
.reward-levels article > span{width:52px !important;height:52px !important;border:1px solid rgba(185,150,71,.34) !important;background:#f7f1e5 !important;color:#17382d !important;font-size:13px !important;font-weight:800;opacity:1 !important}
.reward-levels div{align-self:start}
.reward-levels b{display:block;color:#17382d !important;font:700 23px/1.05 Georgia,serif !important;opacity:1 !important}
.reward-levels small{display:block;color:#53665f !important;font-size:13px !important;font-weight:800 !important;margin-top:4px;opacity:1 !important}
.reward-levels p{grid-column:2 !important;margin:2px 0 0 !important;color:#30443c !important;font-size:13px !important;line-height:1.55 !important;font-weight:700 !important;opacity:1 !important}
.rewards-section .btn.ivory,
.rewards-section .btn.outline-light{opacity:1 !important}


/* ===== V40 rewards readability hotfix ===== */
.rewards-section{background:linear-gradient(135deg,#0f3023 0%,#184634 55%,#113326 100%) !important}
.rewards-shell{background:#fffdf9 !important;border:1px solid rgba(185,150,71,.20) !important;border-radius:30px;box-shadow:0 24px 56px rgba(20,31,24,.10);padding:34px !important;grid-template-columns:1.05fr .95fr !important;gap:28px !important;align-items:start !important}
.rewards-copy .kicker.light{color:#b99647 !important;opacity:1 !important;letter-spacing:.18em;font-weight:800}
.rewards-copy h2{font:700 clamp(44px,5vw,72px)/0.98 Georgia,serif !important;color:#17382d !important;opacity:1 !important;margin:8px 0 16px !important;max-width:540px}
.rewards-copy > p{font-size:1.04rem !important;line-height:1.7 !important;color:#30443c !important;opacity:1 !important;font-weight:700 !important;max-width:620px}
.reward-formula{margin-top:22px !important;margin-bottom:16px !important;background:#f7f1e5 !important;border:1px solid rgba(185,150,71,.28) !important;border-radius:18px;padding:18px 20px !important;display:flex !important;align-items:center !important;gap:14px !important;flex-wrap:wrap !important}
.reward-formula strong{font:700 21px/1.2 Georgia,serif !important;color:#17382d !important;opacity:1 !important}
.reward-formula span{font-weight:900 !important;color:#b99647 !important;opacity:1 !important}
.reward-rules{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:12px !important;margin-top:8px !important}
.reward-rules span{display:block !important;background:#f8f4eb !important;border:1px solid rgba(185,150,71,.24) !important;border-radius:14px !important;padding:14px !important;color:#17382d !important;font-size:13px !important;font-weight:800 !important;opacity:1 !important;text-align:left}
.reward-rules b{display:block !important;color:#17382d !important;font-size:14px !important;margin-top:5px !important;opacity:1 !important}
.reward-levels{display:grid !important;gap:14px !important;align-self:start !important;padding-top:2px !important}
.reward-levels article{display:grid !important;grid-template-columns:56px 1fr !important;gap:6px 16px !important;align-items:start !important;background:#ffffff !important;border:1px solid rgba(185,150,71,.18) !important;border-radius:22px !important;padding:18px 18px 16px !important;opacity:1 !important;box-shadow:0 12px 30px rgba(20,31,24,.05)}
.reward-levels article.active{background:linear-gradient(135deg,#f0e4c4,#fbf7ed) !important;border-color:rgba(185,150,71,.42) !important}
.reward-levels article > span{width:56px !important;height:56px !important;border-radius:50% !important;display:grid !important;place-items:center !important;background:#17382d !important;color:#fff !important;border:none !important;font-size:12px !important;font-weight:900 !important;opacity:1 !important}
.reward-levels b{display:block !important;font:700 24px/1.05 Georgia,serif !important;color:#17382d !important;opacity:1 !important}
.reward-levels small{display:block !important;margin-top:5px !important;color:#55675f !important;font-size:14px !important;font-weight:800 !important;opacity:1 !important}
.reward-levels p{grid-column:2 !important;margin:2px 0 0 !important;color:#30443c !important;font-size:14px !important;line-height:1.55 !important;font-weight:700 !important;opacity:1 !important}
.rewards-section .btn.ivory,.rewards-section .btn.outline-light{opacity:1 !important;font-weight:800 !important}
@media (max-width: 900px){
  .rewards-shell{grid-template-columns:1fr !important;padding:24px !important}
  .rewards-copy h2{font-size:2.8rem !important}
  .reward-rules{grid-template-columns:1fr !important}
}



/* Full visibility for men's hairstyle in cover, transformation and gallery */
.editorial-main-slider .slide img[src*="service-coiffure-homme-side"],
.editorial-main-slider .slide img[src*="service-coiffure-homme.png"]{
  object-fit: contain !important;
  object-position: center top !important;
  background: #f4eee4;
}
.editorial-feature-card.transformations img,
.gallery-bento .bento img[alt="Sam’s Hair Homme"],
.gallery-bento .bento img[alt="Sam’s Hair Homme profil"]{
  object-fit: contain !important;
  object-position: center top !important;
  background:#f4eee4;
}
/* slightly more room for image in transformation card */
.editorial-feature-card.transformations img{width:48% !important;padding:8px}
.editorial-feature-card.transformations .feature-text{padding-right:12px}


/* ===== V42 installation tab for PC / Android / iPhone ===== */
.install-menu-tab>summary{background:#17382d;color:#fffdf7}
.mono-install-dropdown{min-width:285px;padding:10px}
.mono-install-dropdown button{width:100%;border:0;background:transparent;border-radius:14px;padding:11px 12px;display:grid;grid-template-columns:34px 1fr;gap:2px 10px;text-align:left;color:#17382d;cursor:pointer}
.mono-install-dropdown button:hover{background:#f3eee3}
.mono-install-dropdown button>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#17382d;color:#fff;font-size:18px}
.mono-install-dropdown button>b{font-size:13px;line-height:1.2}
.mono-install-dropdown button>small{font-size:10px;color:#6c736e;line-height:1.2}
.install-platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.install-platform-card{border:1px solid rgba(185,150,71,.22);background:#fffdf9;border-radius:20px;padding:18px 16px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;box-shadow:0 12px 28px rgba(20,31,24,.06);transition:.18s;color:#17382d}
.install-platform-card:hover{transform:translateY(-2px);border-color:rgba(185,150,71,.5);box-shadow:0 18px 34px rgba(20,31,24,.09)}
.install-platform-icon{width:46px;height:46px;border-radius:15px;background:#17382d;color:#fff;display:grid;place-items:center;font-size:22px;margin-bottom:4px}
.install-platform-card>b{font:700 20px Georgia,serif;color:#17382d}
.install-platform-card>small{color:#68726b;line-height:1.4;min-height:34px}
.install-platform-card>strong{margin-top:4px;color:#b18b36;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:760px){.install-platform-grid{grid-template-columns:1fr}.mono-install-dropdown{min-width:250px}}


/* ===== V44 — Interface client allégée + Espace Sam’s + commande express ===== */
.nav-menu-toggle{display:block!important}
.nav-links-v25{display:none!important;position:absolute;right:22px;top:76px;width:min(360px,calc(100vw - 28px));background:#fffdf9;border:1px solid rgba(185,150,71,.20);border-radius:22px;padding:10px;box-shadow:0 24px 60px rgba(20,31,24,.18);max-height:72vh;overflow:auto;z-index:90;flex-direction:column;align-items:stretch}
.nav-open .nav-links-v25{display:flex!important}
.nav-links-v25 a,.nav-order-now{width:100%;text-align:left;border:0;border-radius:14px;padding:12px 14px;background:transparent;color:#17382d;font-weight:800;font-size:14px}
.nav-links-v25 a:hover{background:#f2ede3}
.nav-order-now{background:#17382d;color:#fff;cursor:pointer}
.sams-space-bar{max-width:1380px;margin:0 auto;padding:12px 22px 16px;position:relative;z-index:42}
.sams-space-menu{position:relative}
.sams-space-menu>summary{list-style:none;cursor:pointer;max-width:380px;margin-left:auto;display:flex;align-items:center;gap:12px;background:#fffdf9;border:1px solid rgba(185,150,71,.24);border-radius:20px;padding:12px 15px;box-shadow:0 14px 34px rgba(20,31,24,.08);color:#17382d}
.sams-space-menu>summary::-webkit-details-marker{display:none}
.sams-space-icon{width:38px;height:38px;border-radius:12px;background:#17382d;color:#fff;display:grid;place-items:center;font:700 20px Georgia,serif;flex:0 0 38px}
.sams-space-menu>summary span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}
.sams-space-menu>summary b{font-size:15px}.sams-space-menu>summary small{font-size:11px;color:#6b746e}.sams-space-menu>summary strong{font-size:18px}
.sams-space-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:min(720px,calc(100vw - 28px));background:#fffdf9;border:1px solid rgba(185,150,71,.22);border-radius:26px;padding:16px;box-shadow:0 28px 70px rgba(20,31,24,.20);z-index:120}
.sams-space-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.sams-space-order,.sams-space-book{border:0;border-radius:18px;padding:16px;display:flex;gap:12px;align-items:center;text-align:left;cursor:pointer}
.sams-space-order{background:#17382d;color:#fff}.sams-space-book{background:#f0e6cd;color:#17382d}
.sams-space-order>span,.sams-space-book>span{font-size:22px}.sams-space-order div,.sams-space-book div{display:flex;flex-direction:column;gap:3px}.sams-space-order small{color:#dbe8e1}.sams-space-book small{color:#59675f}
.sams-space-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sams-space-grid a{padding:13px 12px;border:1px solid #e5ded1;border-radius:15px;background:#fff;color:#17382d;display:flex;flex-direction:column;gap:4px}.sams-space-grid a:hover{border-color:#b99647;background:#fbf7ee}.sams-space-grid small{font-size:10px;color:#6d746f;line-height:1.3}
.sams-space-install{margin-top:12px;padding:12px 14px;border-radius:16px;background:#f6f1e8;display:flex;align-items:center;justify-content:space-between;gap:12px}.sams-space-install>span{display:flex;flex-direction:column;gap:3px}.sams-space-install small{color:#6d746f}.sams-space-install>div{display:flex;gap:6px}.sams-space-install button{border:1px solid #d6cebf;background:#fff;border-radius:999px;padding:7px 10px;color:#17382d;font-weight:800;font-size:11px}
.sams-space-direction{margin-top:12px;border-radius:16px;background:#153b2c;color:#fff;padding:13px 15px;display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center}.sams-space-direction div{display:flex;flex-direction:column;gap:3px}.sams-space-direction small{color:#dbe7df}
.public-direction-notice-bar,.mobile-top-actions,.top-color-tabs{display:none!important}

.order-hub-panel{width:min(1080px,96vw)!important;max-height:92vh!important}
.order-hub-subtitle{margin:5px 0 0;color:#6d746f;font-size:13px}
.order-hub-body{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:start}
.quick-order-section,.order-selection-section{border:1px solid #e5ded1;border-radius:22px;background:#fffdf9;padding:16px;min-width:0}
.quick-order-section{max-height:72vh;overflow:auto}.order-selection-section{position:sticky;top:0;max-height:72vh;overflow:auto}
.quick-order-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.quick-order-head>div{display:flex;flex-direction:column;gap:3px}.quick-order-head>b,.quick-order-head b{color:#17382d;font:700 22px Georgia,serif}.quick-order-head small{color:#6d746f;font-size:11px}.quick-order-head input{width:min(270px,45%);border:1px solid #ddd4c5;border-radius:999px;padding:10px 13px;background:#fff}
.quick-service-catalog{display:grid;gap:14px}.quick-service-group{display:grid;gap:8px}.quick-service-group h3{margin:8px 0 2px;color:#b08b3c;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.quick-service-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #e6dfd3;border-radius:16px;padding:12px;background:#fff}.quick-service-card>div:first-child{display:flex;flex-direction:column;gap:4px}.quick-service-card>div:first-child>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8d7445;font-weight:900}.quick-service-card h4{margin:0;color:#17382d;font:700 18px Georgia,serif}.quick-service-card small{color:#6b746e;line-height:1.35}.quick-service-action{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.quick-service-action>b{color:#17382d;font-size:12px}
.order-empty-state{padding:22px;border:1px dashed #d7cfc0;border-radius:16px;background:#faf7f0;display:flex;flex-direction:column;gap:5px;color:#17382d}.order-empty-state span{font-size:12px;color:#6d746f}
.client-order-preview{margin:18px 0;padding:16px;border-radius:18px;background:#f7f2e7;border:1px solid rgba(185,150,71,.25)}.client-order-preview>b{display:block;font:700 20px Georgia,serif;color:#17382d;margin-bottom:10px}.client-order-preview>div{display:grid;gap:6px}.client-order-preview>div span{display:flex;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid #e3d9c7;color:#35463f}.client-order-preview p{margin:12px 0 5px;color:#17382d}.client-order-preview small{color:#6a746e}
.cart-fab{z-index:60}
@media(max-width:900px){.sams-space-bar{padding:10px 12px 14px}.sams-space-menu>summary{max-width:none;margin:0}.sams-space-dropdown{position:fixed;left:12px;right:12px;top:115px;width:auto;max-height:76vh;overflow:auto}.sams-space-grid{grid-template-columns:1fr 1fr}.sams-space-primary-actions{grid-template-columns:1fr}.sams-space-install{align-items:flex-start;flex-direction:column}.order-hub-body{grid-template-columns:1fr}.order-selection-section{position:static;max-height:none}.quick-order-section{max-height:none}.quick-order-head{align-items:flex-start;flex-direction:column}.quick-order-head input{width:100%}}
@media(max-width:560px){.sams-space-grid{grid-template-columns:1fr 1fr}.sams-space-dropdown{top:105px}.quick-service-card{grid-template-columns:1fr}.quick-service-action{flex-direction:row;justify-content:space-between;align-items:center}.order-hub-panel{width:100%!important;max-height:100vh!important;border-radius:20px 20px 0 0!important}.cart-fab{padding:13px 16px}}
