
/* Brand tokens from "Light Caravan Factory Digital Platform" spec: dark default, Qatari maroon CTAs, metallic gold accents */
:root{
  /* light theme (base) */
  --black:#000; --bg:#F5F3EF; --alt:#FFFFFF; --panel:#FFFFFF; --panel2:#FAF8F5; --line:#E2DDD4;
  --text:#161514; --muted:#5E5A54; --silver:#2E2E30;
  --maroon:#8D1B3D; --maroon-hi:#A8254D; --gold:#86661F; --goldfill:#C5A059; --gold-hi:#D8B879;
  --wa:#25D366; --ok:#2E9E62; --err:#B42318;
  --header-bg:rgba(255,255,255,.88); --header-line:rgba(154,118,48,.25); --input:#FFFFFF;
  --pricebar:rgba(255,255,255,.96); --notice:#5E4715; --warn:#7A1733;
  --build-bg:linear-gradient(180deg,#F5F3EF,#EDE8E0); --camper-bg:linear-gradient(135deg,#FFFFFF,#F3EEE6);
  --rail-on:rgba(141,27,61,.1); --rail-on-text:#8D1B3D; --toast-bg:#161514; --toast-text:#fff; --shadow:0 1px 2px rgba(0,0,0,.05);
  --h:'Montserrat',Arial,sans-serif; --b:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121212; --alt:#000; --panel:#1A1A1B; --panel2:#222224; --line:#2E2E31;
  --text:#EFEDE9; --muted:#A5A29C; --silver:#C9CACC; --gold:#C5A059; --ok:#5CC08A; --err:#F08A80;
  --header-bg:rgba(0,0,0,.82); --header-line:rgba(197,160,89,.22); --input:#0E0E0F;
  --pricebar:rgba(0,0,0,.92); --notice:#E9DCC0; --warn:#F2CAD5;
  --build-bg:linear-gradient(180deg,#0B0B0C,#161214); --camper-bg:linear-gradient(135deg,#1b1416,#0c0c0d);
  --rail-on:rgba(141,27,61,.25); --rail-on-text:#fff; --toast-bg:#fff; --toast-text:#111; --shadow:none;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121212; --alt:#000; --panel:#1A1A1B; --panel2:#222224; --line:#2E2E31;
  --text:#EFEDE9; --muted:#A5A29C; --silver:#C9CACC; --gold:#C5A059; --ok:#5CC08A; --err:#F08A80;
  --header-bg:rgba(0,0,0,.82); --header-line:rgba(197,160,89,.22); --input:#0E0E0F;
  --pricebar:rgba(0,0,0,.92); --notice:#E9DCC0; --warn:#F2CAD5;
  --build-bg:linear-gradient(180deg,#0B0B0C,#161214); --camper-bg:linear-gradient(135deg,#1b1416,#0c0c0d);
  --rail-on:rgba(141,27,61,.25); --rail-on-text:#fff; --toast-bg:#fff; --toast-text:#111; --shadow:none;
  color-scheme:dark}
/* logo swap */
.only-dark{display:none!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .only-dark{display:block!important}:root:not([data-theme="light"]) .only-light{display:none!important}}
:root[data-theme="dark"] .only-dark{display:block!important}
:root[data-theme="dark"] .only-light{display:none!important}
html[lang="ar"]{--h:'Tajawal',Tahoma,sans-serif;--b:'Tajawal',Tahoma,sans-serif}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 88px);scroll-behavior:smooth;background:var(--bg)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--b);-webkit-font-smoothing:antialiased}
html[lang="ar"] body{font-size:17px;line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
h1,h2,h3{font-family:var(--h);font-weight:700;margin:0;letter-spacing:-.02em;line-height:1.1}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{letter-spacing:0;line-height:1.35}
h2{font-size:clamp(30px,4vw,48px)}
p{margin:0 0 1em;max-width:64ch}
.kicker{font:600 13px/1 var(--h);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block}
html[lang="ar"] .kicker{letter-spacing:0;font-size:15px;font-weight:700}
section{padding:clamp(64px,8vw,112px) 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons: 4px radius, uppercase EN labels per spec */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:4px;padding:15px 24px;font:600 13px/1 var(--h);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
html[lang="ar"] .btn{letter-spacing:0;font-size:16px;font-weight:700;text-transform:none}
.btn-maroon{background:var(--maroon);color:#fff}
.btn-maroon:hover{background:var(--maroon-hi)}
.btn-line{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--goldfill)}
.btn-line:hover{background:rgba(197,160,89,.1)}
.btn-wa{background:var(--wa);color:#05361A}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn svg{width:18px;height:18px;flex:none}

/* header: EarthRoamer-style centred logo + menu */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--header-bg);backdrop-filter:blur(14px);border-bottom:1px solid var(--header-line)}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:84px}
.nav-side{display:flex;align-items:center;gap:10px}
.nav-side.end{justify-content:flex-end}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{height:40px;width:auto}
.brand b{font:700 17px/1.1 var(--h);letter-spacing:.16em;color:var(--silver)}
.brand b small{display:block;font:500 11px/1.4 var(--h);letter-spacing:.42em;color:var(--gold)}
html[lang="ar"] .brand b{letter-spacing:0;font-size:20px}
html[lang="ar"] .brand b small{letter-spacing:0;font-size:13px}
.lang,.theme{background:none;border:1px solid var(--line);border-radius:4px;padding:8px 12px;cursor:pointer;font-size:14px;color:var(--silver)}
.theme{padding:7px 9px;display:grid;place-items:center}.theme svg{width:18px;height:18px}
.theme .sun{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme .sun{display:block}:root:not([data-theme="light"]) .theme .moon{display:none}}
:root[data-theme="dark"] .theme .sun{display:block}:root[data-theme="dark"] .theme .moon{display:none}
.nav .btn{padding:11px 16px}
.burger{width:44px;height:44px;border:0;background:none;cursor:pointer;display:grid;align-content:center;justify-items:center;gap:7px;padding:0;color:var(--text)}
.burger span{display:block;width:28px;height:2px;background:currentColor;border-radius:1px}
@media (max-width:760px){.nav{grid-template-columns:44px 1fr 44px;height:72px}.nav-side:not(.end){visibility:hidden;width:44px}.nav-side.end .btn{display:none}.brand{justify-self:center}.brand b{display:none}.brand img{height:34px}}

/* full-screen menu */
.menu{position:fixed;inset:0;z-index:80;display:grid;grid-template-columns:1fr 1fr;background:#0B0B0C;color:#EFEDE9}
.menu[hidden]{display:none}
.menu-img{position:relative;overflow:hidden}
.menu-img img{width:100%;height:100%;object-fit:cover}
.menu-body{display:flex;flex-direction:column;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 80px) clamp(28px,6vw,90px) calc(env(safe-area-inset-bottom,0px) + 40px);overflow:auto}
.menu-links{display:grid;gap:4px}
.menu-links a{font:700 clamp(28px,3.4vw,46px)/1.25 var(--h);color:#EFEDE9;text-decoration:none;letter-spacing:-.01em;transition:color .15s}
.menu-links a:hover,.menu-links a:focus-visible{color:#C5A059}
.menu-links a small{display:block;font:500 13px var(--b);color:#A5A29C;letter-spacing:0}
.menu-foot{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:40px;padding-top:24px;border-top:1px solid #2E2E31;color:#A5A29C;font-size:14px}
.menu-foot .lang,.menu-foot .theme{border-color:#3A3A3E;color:#EFEDE9}
.menu-foot a{color:#EFEDE9;text-decoration:none}
.menu-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 20px);inset-inline-end:24px;width:48px;height:48px;border:1px solid #3A3A3E;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:24px;cursor:pointer;z-index:2}
@media (max-width:760px){.menu{grid-template-columns:1fr}.menu-img{display:none}}

/* hero: one carousel. slide 1 = video (plays once), then 3 photo slides */
.hero{position:relative;height:calc(100svh - 84px - env(safe-area-inset-top,0px));min-height:560px;max-height:980px;background:#000;overflow:hidden;color:#fff}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.slide.on{opacity:1;visibility:visible;transition:opacity .9s ease}
.slide>video,.slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide>img{transform:scale(1.07);transition:transform 8s ease-out}
.slide.on>img{transform:scale(1)}
/* readability: bottom + reading-side scrims, always on */
.slide::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 28%,rgba(0,0,0,.12) 52%,rgba(0,0,0,0) 66%),
             linear-gradient(var(--side),rgba(0,0,0,.55) 0%,rgba(0,0,0,.2) 38%,rgba(0,0,0,0) 60%)}
html[dir="ltr"] .hero{--side:to right}
html[dir="rtl"] .hero{--side:to left}
.slide .cap{position:absolute;z-index:2;inset-inline:0;bottom:clamp(92px,13vh,130px)}
.cap .inner{max-width:720px;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.cap h1,.cap h2{font-size:clamp(36px,5.2vw,76px);font-weight:800;line-height:1.04;color:#fff}
html[lang="ar"] .cap h1,html[lang="ar"] .cap h2{line-height:1.3}
.cap h1 span{display:block}
.cap h1 .l2{color:#D8B879}
.cap p{margin:18px 0 26px;font-size:clamp(16px,1.35vw,19px);color:#F1EEE8;max-width:54ch}
.cap .ctas{display:flex;gap:12px;flex-wrap:wrap}
.cap .btn-line{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);background:rgba(0,0,0,.25);backdrop-filter:blur(4px)}
.slide .cap .inner>*{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.slide.on .cap .inner>*{opacity:1;transform:none}
.slide.on .cap .inner>*:nth-child(2){transition-delay:.12s}
.slide.on .cap .inner>*:nth-child(3){transition-delay:.24s}
/* controls: story-style progress bars + pause */
.hctl{position:absolute;z-index:3;inset-inline:0;bottom:clamp(28px,5vh,48px)}
.hctl .wrap{display:flex;align-items:center;gap:16px}
.bars{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:720px}
.bars button{background:none;border:0;padding:10px 0;cursor:pointer;text-align:start;color:rgba(255,255,255,.72);font:500 12px var(--b)}
.bars button:hover,.bars button[aria-current="true"]{color:#fff}
.bars i{display:block;height:3px;background:rgba(255,255,255,.3);border-radius:2px;overflow:hidden;margin-bottom:8px}
.bars i b{display:block;height:100%;width:0;background:#fff}
.bars button.done i b{width:100%}
.bars span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hpause{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.3);color:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
.hpause svg{width:16px;height:16px}
.hpause .play{display:none}.hpause.paused .play{display:block}.hpause.paused .pause{display:none}
@media (max-width:760px){.hero{height:calc(100svh - 72px - env(safe-area-inset-top,0px));min-height:520px}.bars span{display:none}.bars{gap:6px}.slide .cap{bottom:84px}.cap .ctas .btn{padding:13px 16px}}
@media (prefers-reduced-motion:reduce){.slide,.slide.on,.slide>img,.slide .cap .inner>*{transition:none}.slide>img{transform:none}}

/* intro statement (EarthRoamer's "global leader" block) */
#intro{text-align:center}
#intro h2{font-size:clamp(28px,3.6vw,48px)}
#intro .lede{margin:22px auto 30px;font-size:clamp(16px,1.3vw,19px);color:var(--muted);max-width:62ch}
#intro .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.badges{list-style:none;margin:clamp(48px,6vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);text-align:start}
.badges li{display:flex;gap:14px;align-items:center;padding:24px 20px}
.badges li+li{border-inline-start:1px solid var(--line)}
.badges svg{width:32px;height:32px;color:var(--gold);flex:none}
.badges b{display:block;font:600 15px/1.3 var(--h)}
.badges span{font-size:14px;color:var(--muted)}
@media (max-width:900px){.badges{grid-template-columns:1fr 1fr}.badges li:nth-child(3){border-inline-start:0}.badges li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.badges{grid-template-columns:1fr}.badges li+li{border-inline-start:0;border-top:1px solid var(--line)}}

/* models */
#models{background:var(--alt);border-block:1px solid var(--line)}
.mhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.mtabs{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.mtabs button{background:none;border:0;padding:12px 22px;cursor:pointer;font:700 16px var(--h);color:var(--muted);direction:ltr}
.mtabs button+button{border-inline-start:1px solid var(--line)}
.mtabs button[aria-selected="true"]{background:var(--maroon);color:#fff}
.mgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.mphoto{aspect-ratio:16/10;overflow:hidden;border-radius:2px;margin-bottom:12px;background:#000}.mphoto img{width:100%;height:100%;object-fit:cover}
.plan{background:#fff;border-radius:2px;padding:10px;cursor:zoom-in;border:1px solid var(--line);display:block;width:100%}
.plan img{width:100%}
.plancap{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:10px;gap:10px}
.msize{font:800 clamp(52px,7vw,92px)/1 var(--h);color:var(--gold);direction:ltr;unicode-bidi:isolate;display:inline-block}
.msize small{font-size:.35em;color:var(--silver);margin-inline-start:6px}
.muse{font:600 20px var(--h);margin:10px 0 6px}
.mdesc{color:var(--muted)}
.dims{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:22px 0}
.dims div{padding:14px 0}
.dims div+div{border-inline-start:1px solid var(--line);padding-inline-start:16px}
.dims dt{font-size:12px;color:var(--muted)}
.dims dd{margin:2px 0 0;font:700 20px var(--h);direction:ltr;unicode-bidi:isolate;text-align:start}
.from{margin-bottom:22px}
.from small{display:block;color:var(--muted);font-size:13px}
.from b{font:700 30px var(--h);color:var(--text)}
.from em{font-style:normal;color:var(--muted);font-size:13px;display:block}
.mbtns{display:flex;gap:10px;flex-wrap:wrap}
.camper{display:grid;grid-template-columns:1.1fr 1fr;margin-top:clamp(48px,6vw,80px);border:1px solid rgba(197,160,89,.45);background:var(--camper-bg)}
.camper img{width:100%;height:100%;object-fit:cover;min-height:280px}
.camper .ct{padding:clamp(22px,4vw,44px);display:flex;flex-direction:column;justify-content:center}
.tag{display:inline-block;background:var(--goldfill);color:#1A1406;font:700 11px var(--h);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:2px;margin-bottom:14px;align-self:flex-start}
html[lang="ar"] .tag{letter-spacing:0;font-size:14px}
.camper h3{font-size:clamp(24px,3vw,34px);margin-bottom:10px}
.camper p{color:var(--muted)}
@media (max-width:900px){.mgrid,.camper{grid-template-columns:1fr}}

/* gallery */
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.reel{margin:0;position:relative;aspect-ratio:9/16;background:#000;border-radius:4px;overflow:hidden;cursor:pointer}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.reel figcaption{position:absolute;inset:auto 0 0 0;padding:40px 16px 16px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff}
.reel figcaption b{display:block;font:600 17px/1.3 var(--h)}
.reel figcaption span{font-size:13px;color:#D4D1CB}
.reel.paused::after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:20px}
.iglink{margin-top:18px}.iglink a{color:var(--gold);text-decoration:none;font-weight:600}
@media (max-width:760px){.reels{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.reel{scroll-snap-align:start}}
#road{background:var(--alt);border-block:1px solid var(--line)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:8px;margin-top:34px}
.gal button{padding:0;border:0;background:#000;cursor:zoom-in;overflow:hidden;border-radius:2px}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal button:hover img{transform:scale(1.04)}
.gal .w2{grid-column:span 2}.gal .h2{grid-row:span 2}
@media (max-width:760px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:170px}}
dialog{border:0;padding:0;background:transparent;max-width:min(1200px,94vw);max-height:92vh}
dialog::backdrop{background:rgba(0,0,0,.88)}
dialog img{max-height:86vh;width:auto;margin:auto;background:#fff}
.x{position:absolute;top:8px;inset-inline-end:8px;background:rgba(0,0,0,.7);color:#fff;border:1px solid #555;border-radius:4px;width:38px;height:38px;cursor:pointer;font-size:20px}

/* configurator */
#build{background:var(--build-bg)}
.bhead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.progress{margin:28px 0 8px;height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--goldfill);transition:width .3s}
.pmeta{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:22px}
.bgrid{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.rail{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--panel);position:sticky;top:calc(env(safe-area-inset-top,0px) + 90px)}
.rail li button{display:flex;width:100%;gap:10px;align-items:center;background:none;border:0;padding:9px 14px;text-align:start;cursor:pointer;color:var(--muted);font-size:14px}
.rail li+li button{border-top:1px solid var(--line)}
.rail li button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);font:600 11px var(--h);flex:none}
.rail li button[aria-current="step"]{color:var(--rail-on-text);background:var(--rail-on)}
.rail li button[aria-current="step"] span{background:var(--maroon);border-color:var(--maroon);color:#fff}
.rail li button.done span{background:var(--goldfill);border-color:var(--goldfill);color:#1a1406}
.rail li button:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:980px){.bgrid{grid-template-columns:1fr}.rail{display:none}}
.stage{box-shadow:var(--shadow);border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:clamp(20px,3vw,34px);min-height:420px}
.stage h3{font-size:clamp(22px,2.4vw,30px);margin-bottom:6px}
.stage .hint{color:var(--muted);margin-bottom:22px}
.opts{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:12px;align-items:stretch}
@media (max-width:1100px){.opts{grid-template-columns:repeat(min(var(--cols,3),3),minmax(0,1fr))}}
@media (max-width:760px){.opts{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}}
@media (max-width:440px){.opts{grid-template-columns:1fr}}
.card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px;background:var(--panel2);cursor:pointer;overflow:hidden;transition:border-color .15s}
.card:hover{border-color:var(--muted)}
.card input{position:absolute;opacity:0}
.card .pic{aspect-ratio:4/3;overflow:hidden;background:#000}
.card .pic img{width:100%;height:100%;object-fit:cover}
.card .body{padding:14px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.card b{font:600 15px/1.35 var(--h)}
.card small{color:var(--muted);font-size:13px}
.card .pr{margin-top:auto;padding-top:8px;color:var(--gold);font-size:14px;font-weight:600}
.card:has(input:checked){border-color:var(--goldfill);box-shadow:inset 0 0 0 1px var(--goldfill)}
.card:has(input:checked)::after{content:"✓";position:absolute;top:10px;inset-inline-end:10px;width:24px;height:24px;border-radius:50%;background:var(--goldfill);color:#1a1406;display:grid;place-items:center;font-weight:700;font-size:13px}
.card:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.card:has(input:disabled){opacity:.4;cursor:not-allowed}
.sw{width:100%;aspect-ratio:4/3;display:block;border-bottom:1px solid var(--line)}
.sub{font:600 14px var(--h);color:var(--silver);margin:26px 0 12px}
.notice{border-inline-start:3px solid var(--goldfill);background:rgba(197,160,89,.12);padding:10px 14px;font-size:14px;margin:16px 0;color:var(--notice)}
.notice.warn{border-color:var(--maroon-hi);background:rgba(141,27,61,.1);color:var(--warn)}
.incl{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.incl span{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--muted)}
.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font-size:14px;color:var(--silver)}
.field input,.field select,.field textarea{background:var(--input);border:1px solid var(--line);border-radius:4px;padding:12px 14px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--goldfill);outline:0}
.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--err)}
.err{color:var(--err);font-size:13px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
#vYear{height:50px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.stepnav{display:flex;justify-content:space-between;gap:10px;margin-top:26px;flex-wrap:wrap}
.pricebar{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 0px);z-index:30;margin-top:18px;background:var(--pricebar);backdrop-filter:blur(10px);border:1px solid rgba(197,160,89,.45);box-shadow:0 -4px 20px rgba(0,0,0,.08);border-radius:4px;padding:12px 18px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pricebar .est small{display:block;font-size:12px;color:var(--muted)}
.pricebar .est b{font:700 24px var(--h);color:var(--gold);display:inline-block;min-width:8ch}
.pricebar .dep{color:var(--silver);font-size:14px}
.pricebar .sp{margin-inline-start:auto;display:flex;gap:8px}
.bump{animation:bump .35s}
@keyframes bump{50%{transform:translateY(-3px)}}
.sumtbl{width:100%;border-collapse:collapse;font-size:15px}
.sumtbl td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.sumtbl td:last-child{text-align:end;white-space:nowrap;padding-inline-start:12px}
.sumtbl td small{display:block;color:var(--muted);font-size:12px}
.sumtbl tr.t td{border:0;font-weight:700;font-size:18px;padding-top:14px}
.sumtbl tr.d td{color:var(--gold);font-weight:700;font-size:18px}
.ref{font:700 18px var(--h);color:var(--gold);direction:ltr;unicode-bidi:isolate}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:14px 0}
.chk input{width:18px;height:18px;accent-color:var(--maroon);margin-top:3px;flex:none}
.policy{font-size:14px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:14px}

/* configurator additions */
.card.blocked{opacity:.55;cursor:not-allowed}
.card.off{cursor:default}
.why{font-style:normal;color:var(--err);font-weight:500;font-size:12.5px;line-height:1.4}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.chip{font-style:normal;font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--muted);white-space:nowrap}
.card .ipic{aspect-ratio:4/3;background:var(--panel);display:grid;place-items:center;overflow:hidden}
.card .ipic img{width:100%;height:100%;object-fit:cover}
.card .ipic .ph{font:600 13px var(--b);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.meter{border:1px solid var(--line);border-radius:4px;padding:14px 16px;margin:0 0 18px;background:var(--panel2);position:sticky;top:calc(env(safe-area-inset-top,0px) + 92px);z-index:5}
.meter .mrow{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.meter .mrow span{font-weight:600;direction:ltr}
.mbar{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:8px 0 10px}
.mbar i{display:block;height:100%;background:#2E9E62;transition:width .3s}
.meter.bad .mbar i{background:var(--err)}
.mfacts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--muted)}
.merr{margin:10px 0 0;padding-inline-start:18px;color:var(--err);font-size:13.5px}
.pkgspec{margin-top:18px;border:1px solid var(--line);border-radius:4px;padding:14px 16px;background:var(--panel2)}
.qname{margin-top:18px}
.card.locked{opacity:.8;cursor:default}
.card .pic.zoomable{border:0;padding:0;cursor:zoom-in;position:relative;background:#fff;display:block;width:100%}
.card .pic.zoomable img{object-fit:contain}
.zbadge{position:absolute;top:8px;inset-inline-start:8px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center;font-size:15px}
.card .pic.bigsize{display:grid;place-items:center;text-align:center;padding:12px;font:600 15px var(--h);color:var(--gold);background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(197,160,89,.08) 10px 20px);aspect-ratio:4/3}
.seg{display:flex;height:50px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--input)}
.seg label{flex:1;position:relative;cursor:pointer;display:flex}
.seg input{position:absolute;opacity:0}
.seg span{flex:1;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:15px}
.seg label+label{border-inline-start:1px solid var(--line)}
.seg input:checked+span{background:var(--maroon);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:-2px}
.fixed{border:1px solid var(--line);border-radius:4px;padding:14px 16px;background:var(--panel2);display:grid;gap:3px}
.fixed span{color:var(--gold);font-weight:600}
.fixed small{color:var(--muted)}

/* admin panel */
.admin{position:fixed;inset:0;z-index:90;background:var(--bg);color:var(--text);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}
.admin[hidden]{display:none}
.ad-head{display:flex;align-items:center;gap:16px;padding:14px clamp(16px,3vw,32px);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}
.ad-head b{font:700 17px var(--h)}
.ad-head small{display:block;color:var(--muted);font-size:13px}
.ad-dirty{background:rgba(197,160,89,.15);color:var(--gold);font-size:13px;padding:5px 10px;border-radius:999px}
.ad-actions{margin-inline-start:auto;display:flex;gap:8px;align-items:center}
.ad-actions .btn{padding:11px 16px}
.ad-x{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--text);font-size:22px;cursor:pointer}
.ad-demo{margin:0;padding:8px clamp(16px,3vw,32px);font-size:13px;color:var(--notice);background:rgba(197,160,89,.1);max-width:none}
.ad-body{flex:1;display:grid;grid-template-columns:230px 1fr;min-height:0}
.ad-tabs{border-inline-end:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:4px;overflow:auto;background:var(--panel)}
.ad-tabs button{background:none;border:0;text-align:start;padding:10px 12px;border-radius:4px;cursor:pointer;color:var(--muted);font-size:15px}
.ad-tabs button[aria-current="page"]{background:var(--rail-on);color:var(--rail-on-text);font-weight:600}
.ad-panel{padding:24px clamp(16px,3vw,32px) 60px;overflow:auto}
.ad-panel h3{font-size:20px;margin-bottom:6px}
.ad-hint{color:var(--muted);font-size:14px;margin-bottom:14px}
.ad-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:4px}
.ad-tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
.ad-tbl th{text-align:start;font-weight:600;color:var(--muted);padding:10px;border-bottom:1px solid var(--line);background:var(--panel2);white-space:nowrap}
.ad-tbl td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.ad-tbl input:not([type=checkbox]),.ad-tbl select,.ad-grid input,.ad-grid select{width:100%;min-width:90px;background:var(--input);border:1px solid var(--line);border-radius:4px;padding:8px 10px;color:var(--text)}
.ad-tbl input:focus,.ad-tbl select:focus{border-color:var(--goldfill);outline:0}
.ad-tbl small{color:var(--muted)}
.ad-del{background:none;border:1px solid var(--line);border-radius:4px;width:32px;height:32px;cursor:pointer;color:var(--muted)}
.ad-del:hover{color:var(--err);border-color:var(--err)}
.ad-add{margin-top:12px;padding:10px 14px}
.ad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.ad-grid label{display:grid;gap:6px;font-size:14px;color:var(--silver)}
@media (max-width:760px){.ad-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.ad-tabs{flex-direction:row;border-inline-end:0;border-bottom:1px solid var(--line)}.ad-tabs button{white-space:nowrap}.ad-actions{width:100%}}

/* admin extras */
.ad-count{font-style:normal;background:var(--maroon);color:#fff;border-radius:999px;padding:0 7px;font-size:12px;margin-inline-start:6px}
.ad-pk{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;min-width:220px}
.ad-pk label{display:flex;gap:5px;align-items:center;font-size:13px;white-space:nowrap}
.ad-all{background:none;border:1px solid var(--line);border-radius:4px;font-size:12px;padding:3px 8px;cursor:pointer;color:var(--muted)}
.ad-img{display:flex;align-items:center;gap:8px;min-width:190px}
.ad-img img,.ad-img .ph{width:72px;height:54px;object-fit:cover;border-radius:3px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--muted)}
.ad-up{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:4px;padding:6px 10px;font-size:13px;cursor:pointer;white-space:nowrap}
.ad-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ad-clear{background:none;border:0;color:var(--muted);cursor:pointer}
.ad-slot{border:1px solid var(--line);border-radius:6px;margin-bottom:14px;background:var(--panel);overflow:hidden}
.ad-slot .ad-scroll{border:0;border-top:1px solid var(--line);border-radius:0}
.ad-slot-h{display:flex;gap:10px;align-items:center;padding:12px 14px;flex-wrap:wrap}
.tag-b,.tag-l{font-size:12px;border-radius:999px;padding:3px 10px}
.tag-b{background:var(--rail-on);color:var(--rail-on-text)}
.tag-l{background:rgba(46,158,98,.14);color:var(--ok)}
.tag-l.full{background:rgba(180,35,24,.12);color:var(--err)}
.ad-empty{color:var(--muted);font-size:14px;padding:6px 14px 14px;margin:0}
.ad-req td{font-size:13.5px}
.ad-req tr.muted td{opacity:.5}
.ad-mini{padding:7px 12px;font-size:12px}
.ad-gen{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;border:1px dashed var(--line);border-radius:6px;padding:14px;margin-bottom:16px}
.ad-gen label{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.ad-gen input,.ad-gen select{background:var(--input);border:1px solid var(--line);border-radius:4px;padding:8px;color:var(--text)}
.ad-gen .btn{padding:10px 16px}
.ad-pkg{border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:16px;background:var(--panel)}
.ad-pkg h4{font:700 17px var(--h);margin:0 0 12px}
.ad-ok{color:var(--ok);font-size:14px;margin:12px 0 0}
.ad-bad{color:var(--err);font-size:14px;margin:12px 0 0}
#printDoc{display:none}

/* gateway simulation */
.gw{max-width:460px;width:94vw;background:#F7F7F8;color:#1C1C1E;border-radius:10px;padding:0;overflow:hidden;font-family:'Inter',system-ui,sans-serif}
.gw header{position:static;background:#fff;border-bottom:1px solid #E3E3E6;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;backdrop-filter:none}
.gw header b{font-size:15px}
.gw header span{font-size:12px;color:#6B6B70}
.gw .gb{padding:20px}
.gw .amt{font-size:28px;font-weight:700;margin:4px 0 2px}
.gw .demo{background:#FFF5DB;border:1px dashed #D9A32A;color:#6A4A00;border-radius:6px;padding:8px 10px;font-size:13px;margin:12px 0}
.gw .pms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 16px}
.gw .pms label{border:1px solid #D6D6DA;border-radius:6px;padding:10px 4px;text-align:center;font-size:13px;cursor:pointer;background:#fff}
.gw .pms input{position:absolute;opacity:0}
.gw .pms label:has(input:checked){border-color:#1C1C1E;box-shadow:inset 0 0 0 1px #1C1C1E}
.gw .field label{color:#3A3A3E}
.gw .field input{background:#fff;border-color:#CFCFD4;color:#1C1C1E}
.gw .err{color:#B42318}
.gw .paybtn{width:100%;background:#1C1C1E;color:#fff;border:0;border-radius:6px;padding:14px;font-weight:600;cursor:pointer;font-size:15px}
.gw .cancel{background:none;border:0;color:#6B6B70;width:100%;margin-top:10px;cursor:pointer;font-size:14px}
.gw .ap{width:100%;background:#000;color:#fff;border:0;border-radius:6px;padding:14px;font-weight:600;cursor:pointer}

.success{text-align:center;padding:10px 0 4px}
.success .ic{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:rgba(92,192,138,.15);color:var(--ok);display:grid;place-items:center}
.success p{margin-inline:auto;color:var(--muted)}

/* delivery */
.dgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,5vw,72px)}
.ctry{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.ctry li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--line)}
.ctry li:nth-child(odd){border-inline-end:1px solid var(--line);padding-inline-end:16px}
.ctry li:nth-child(even){padding-inline-start:16px}
.ctry b{font-weight:600}
.ctry small{color:var(--muted);display:block;font-size:13px}
.ctry a{color:var(--wa);font-size:13px;text-decoration:none;white-space:nowrap}
@media (max-width:820px){.dgrid{grid-template-columns:1fr}.ctry{grid-template-columns:1fr}.ctry li:nth-child(odd){border-inline-end:0;padding-inline-end:4px}.ctry li:nth-child(even){padding-inline-start:4px}}

/* contact */
#contact{background:var(--alt);border-top:1px solid var(--line)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,96px)}
.cinfo dl{margin:24px 0 0}
.cinfo dt{font-size:12px;color:var(--gold);margin-top:18px}
.cinfo dd{margin:3px 0 0;font-size:17px}
.cinfo dd a{text-decoration:none}
@media (max-width:820px){.cgrid{grid-template-columns:1fr}}
/* footer: living engraving from our own desert footage */
.ft{position:relative;overflow:hidden;min-height:clamp(560px,62vw,760px);color:var(--text);background:var(--bg);border-top:1px solid var(--line);isolation:isolate}
.ft-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;z-index:-4;filter:grayscale(1) contrast(1.35) brightness(1.02)}
/* duotone: black -> deep maroon ink, white -> warm paper */
.ft-tone{position:absolute;inset:0;z-index:-3;background:#5C1229;mix-blend-mode:screen}
.ft-tone::after{content:"";position:absolute;inset:0;background:#F3EEE5;mix-blend-mode:multiply}
.ft-lines{position:absolute;inset:0;z-index:-2;background:repeating-linear-gradient(0deg,rgba(255,255,255,.14) 0 1px,transparent 1px 3px);mix-blend-mode:soft-light}
.ft-fade{position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--bg) 0%,color-mix(in srgb,var(--bg) 88%,transparent) 30%,color-mix(in srgb,var(--bg) 35%,transparent) 55%,transparent 72%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ft-bg{filter:grayscale(1) contrast(1.2) brightness(.62)}:root:not([data-theme="light"]) .ft-tone{background:#C5A059;mix-blend-mode:color;opacity:.75}:root:not([data-theme="light"]) .ft-tone::after{display:none}}
:root[data-theme="dark"] .ft-bg{filter:grayscale(1) contrast(1.2) brightness(.62)}
:root[data-theme="dark"] .ft-tone{background:#C5A059;mix-blend-mode:color;opacity:.75}
:root[data-theme="dark"] .ft-tone::after{display:none}
.ft-top{display:grid;grid-template-columns:minmax(240px,1fr) 2.2fr;gap:clamp(28px,5vw,80px);padding-top:clamp(48px,6vw,80px)}
.ft .brand img{height:36px}
.social{list-style:none;margin:22px 0 0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--text);background:color-mix(in srgb,var(--bg) 70%,transparent);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.social svg{width:19px;height:19px}
.social a:hover,.social a:focus-visible{transform:translateY(-3px);background:var(--maroon);border-color:var(--maroon);color:#fff}
.ft-contact{margin-top:20px;font-size:14px;color:var(--muted);line-height:1.8}
.ft-contact a{text-decoration:none;color:var(--text)}
.ft-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ft-cols h3{font:600 13px var(--h);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
html[lang="ar"] .ft-cols h3{letter-spacing:0;font-size:15px}
.ft-cols a{display:block;text-decoration:none;color:var(--text);font-size:15px;padding:5px 0;background:linear-gradient(currentColor,currentColor) no-repeat var(--ul-pos,0) 100%/0 1px;width:fit-content;transition:background-size .25s ease,color .2s}
html[dir="rtl"] .ft-cols a{--ul-pos:100%}
.ft-cols a:hover,.ft-cols a:focus-visible{background-size:100% 1px;color:var(--maroon-hi)}
.ft-bottom{position:absolute;inset-inline:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.55));width:100%;padding-inline:max(20px,calc((100% - 1240px)/2));display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:18px calc(18px + env(safe-area-inset-bottom,0px));font-size:13px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.ft-bottom .fnote{margin:0;color:#fff;opacity:.85;font-size:12px;max-width:70ch}
/* one orchestrated reveal when the footer enters view */
.ft .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.ft.in .reveal{opacity:1;transform:none}
@media (max-width:900px){.ft-top{grid-template-columns:1fr}.ft-cols{grid-template-columns:1fr 1fr}.ft{min-height:900px}}
@media (prefers-reduced-motion:reduce){.ft .reveal{opacity:1;transform:none;transition:none}}

.wa-float{position:fixed;z-index:60;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;width:52px;height:52px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.4);animation:pulse 2.6s 2s 3}
.wa-float svg{width:27px;height:27px;color:#fff}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.toast{position:fixed;z-index:70;bottom:calc(92px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--toast-bg);color:var(--toast-text);padding:12px 18px;border-radius:4px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}
.toast.show{opacity:1}
[hidden]{display:none!important}
@page{size:A4;margin:14mm 14mm 20mm;@bottom-center{content:counter(page) " / " counter(pages);font:10px Arial;color:#777}}
@media print{
  body>*:not(#printDoc){display:none!important}
  body{background:#fff!important;color:#111}
  #printDoc{display:block!important;padding-bottom:12mm;font:11.5px/1.5 'Inter','Tajawal',Arial,sans-serif;color:#111}
  #printDoc[dir="rtl"]{font-family:'Tajawal','Inter',Arial,sans-serif;font-size:12.5px}
  .q-head{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid #8D1B3D;padding-bottom:12px}
  .q-co{display:flex;gap:12px;align-items:center}.q-co img{height:64px;width:auto}
  .q-co div{display:grid;font-size:10.5px;color:#444}.q-co b{font-size:14px;color:#111}
  .q-meta h1{margin:0 0 6px;font:800 24px 'Montserrat','Tajawal',Arial;color:#8D1B3D;text-align:end;letter-spacing:.02em}
  .q-meta table{border-collapse:collapse;font-size:11px;margin-inline-start:auto}.q-meta td{padding:2px 0 2px 12px}.q-meta td:first-child{color:#666}
  .q-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
  .q-parties div{border:1px solid #ddd;border-radius:4px;padding:10px 12px}
  .q-parties h4,.q-elec h4,.q-terms h4{margin:0 0 4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9A7630}
  .q-parties p{margin:2px 0}.q-line{display:inline-block;width:70%;border-bottom:1px solid #999;height:14px}
  .q-items{width:100%;border-collapse:collapse;margin-top:6px}
  .q-items th{background:#8D1B3D;color:#fff;text-align:start;padding:7px 8px;font-size:10.5px}
  .q-items td{padding:6px 8px;border-bottom:1px solid #e5e5e5;vertical-align:top}
  .q-items tr:nth-child(even) td{background:#faf8f4}
  .q-items small{color:#666}
  .n{text-align:end;white-space:nowrap}
  .q-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;break-inside:avoid}
  .q-elec{border:1px solid #ddd;border-radius:4px;padding:10px 12px}.q-elec p{margin:2px 0}
  .q-tot{border-collapse:collapse;width:100%}.q-tot td{padding:6px 8px;border-bottom:1px solid #e5e5e5}.q-tot tr.g td{background:#8D1B3D;color:#fff;font-weight:700}
  .q-terms{margin-top:14px;break-inside:avoid}.q-terms ol{margin:0;padding-inline-start:18px;color:#333;font-size:10.5px}
  .q-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:34px;break-inside:avoid}
  .q-sign div{font-size:10.5px;color:#555}.q-sign span{display:block;border-bottom:1px solid #999;height:36px;margin-bottom:4px}
  .q-foot{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-between;border-top:1px solid #ccc;padding-top:5px;font-size:9.5px;color:#777}
}

/* ===== Multi-page additions (same tokens as the home page) ===== */
.narrow{width:min(860px,100% - 40px)}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.shead p{color:var(--muted);margin:0;max-width:46ch}

/* menu with more pages: two columns of smaller links */
.menu-grid{grid-template-columns:1fr 1fr;gap:6px 36px}
.menu-grid a{font-size:clamp(20px,2vw,28px)!important;line-height:1.25!important;padding:6px 0}
@media (max-width:760px){.menu-grid{grid-template-columns:1fr}}

/* page hero */
.phero{position:relative;min-height:min(62vh,600px);display:flex;align-items:flex-end;color:#fff;background:#0B0B0C;overflow:hidden;padding:0}
.phero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.5) 40%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.05) 100%),linear-gradient(var(--side,to right),rgba(0,0,0,.45),rgba(0,0,0,0) 60%)}
html[dir="rtl"] .phero{--side:to left}
.phero-in{position:relative;z-index:2;padding-block:120px clamp(40px,7vh,72px)}
.phero h1{font-size:clamp(38px,5.4vw,72px);font-weight:800;color:#fff;max-width:16ch;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.phero p{margin-top:16px;font-size:clamp(16px,1.4vw,20px);color:#F1EEE8;max-width:56ch;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.phero.art{background:radial-gradient(120% 120% at 80% 30%,#5A1328 0%,#2A0B15 55%,#0B0B0C 100%)}
.phero.art::after{background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 55%)}
.phero-art{position:absolute;inset-block:0;inset-inline-end:4%;width:min(48%,620px);display:grid;place-items:center;color:#D8B879;opacity:.9}
.phero-art svg{width:100%;height:auto}
.phero-art.prod img{width:100%;height:auto;max-height:72%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));background:#fff;border-radius:6px;padding:10px}
@media (max-width:860px){.phero-art{position:relative;inset:auto;width:100%;padding:90px 20px 0}.phero.art{flex-direction:column;align-items:stretch}.phero.art .phero-in{padding-top:20px}}
.phero.plain{min-height:0;background:var(--alt);color:var(--text);border-bottom:1px solid var(--line)}
.phero.plain::after{display:none}
.phero.plain .phero-in,.phero.plain>.wrap{padding-block:56px 40px}
.phero.plain h1{color:var(--text);text-shadow:none;font-size:clamp(32px,4vw,52px)}
.crumbs{display:flex;gap:8px;font-size:13px;margin-bottom:14px;color:rgba(255,255,255,.75)}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.phero.plain .crumbs{color:var(--muted)}

/* product range cards */
.range{background:var(--alt);border-block:1px solid var(--line)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pcard{display:flex;flex-direction:column;text-decoration:none;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:border-color .2s,transform .2s}
.pcard:hover{border-color:var(--goldfill);transform:translateY(-3px)}
.pimg{aspect-ratio:4/3;background:#fff;overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pimg img{transform:scale(1.04)}
.pbody{padding:16px 18px 18px;display:grid;gap:6px;position:relative}
.pbody b{font:700 18px/1.3 var(--h)}
.pbody span{color:var(--muted);font-size:14.5px}
.pbody i{position:absolute;top:16px;inset-inline-end:18px;font-style:normal;color:var(--gold);font-weight:700}
@media (max-width:1050px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.pgrid{grid-template-columns:1fr}}

/* split sections */
.split+.split{padding-top:0}
.sgrid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split.flip .smedia{order:2}
.smedia{border-radius:4px;overflow:hidden;aspect-ratio:4/3;background:#0B0B0C}
.smedia img{width:100%;height:100%;object-fit:cover}
.smedia.contain{background:#fff;border:1px solid var(--line)}
.smedia.contain img{object-fit:contain;padding:16px}
.smedia.icon{display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);color:var(--gold)}
.smedia.icon svg{width:62%;height:auto}
.stext h2{font-size:clamp(28px,3.2vw,40px);margin-bottom:16px}
.stext p{color:var(--muted);font-size:17px}
.stext .btn{margin-top:22px}
.ticks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.ticks li{position:relative;padding-inline-start:28px}
.ticks li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;width:14px;height:8px;border-inline-start:2px solid var(--goldfill);border-bottom:2px solid var(--goldfill);transform:rotate(-45deg)}
html[dir="rtl"] .ticks li::before{transform:rotate(45deg) scaleX(-1)}
@media (max-width:860px){.sgrid{grid-template-columns:1fr}.split.flip .smedia{order:0}}

/* round features (brochure style) */
.rounds{background:var(--bg)}
.rounds+.rounds{padding-top:0}
.rounds h2{margin-bottom:30px}
.rgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.rgrid li{text-align:center}
.rimg{display:block;width:min(180px,80%);aspect-ratio:1;margin:0 auto 14px;border-radius:50%;overflow:hidden;border:5px solid var(--maroon);box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--line);background:#fff}
.rimg img{width:100%;height:100%;object-fit:cover}
.rgrid h3{font:700 17px/1.3 var(--h);margin-bottom:6px}
.rgrid p{color:var(--muted);font-size:14.5px;margin:0 auto;max-width:32ch}
.rounds .more,.faqs .more{margin-top:26px}
.more a{color:var(--gold);font-weight:600;text-decoration:none}
@media (max-width:900px){.rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* specs table */
.specs{background:var(--alt);border-block:1px solid var(--line)}
.spec{width:100%;border-collapse:collapse;margin-top:24px}
.spec th,.spec td{padding:14px 0;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.spec th{width:32%;font-weight:600;color:var(--muted);padding-inline-end:20px}
@media (max-width:640px){.spec th,.spec td{display:block;width:auto;padding:4px 0}.spec th{padding-top:14px;border:0}}

/* process steps */
.psteps{list-style:none;counter-reset:s;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.psteps li{counter-increment:s;border-top:3px solid var(--goldfill);padding-top:16px;display:grid;gap:6px}
.psteps li::before{content:counter(s);font:800 32px/1 var(--h);color:var(--maroon)}
.psteps b{font:700 17px var(--h)}
.psteps span{color:var(--muted);font-size:15px}
@media (max-width:900px){.psteps{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.psteps{grid-template-columns:1fr}}

/* FAQ */
.faqs{background:var(--bg)}
.faqs h2{margin-bottom:22px}
.faqs details{border-bottom:1px solid var(--line)}
.faqs details:first-of-type{border-top:1px solid var(--line)}
.faqs summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font:600 17px/1.4 var(--h);position:relative}
html[dir="rtl"] .faqs summary{padding:18px 0 18px 36px}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";position:absolute;inset-inline-end:4px;top:14px;font-size:24px;color:var(--gold);transition:transform .2s}
.faqs details[open] summary::after{transform:rotate(45deg)}
.faqs details p{color:var(--muted);margin:0 0 18px;max-width:70ch}

/* CTA band */
.ctaband{background:var(--maroon);color:#fff}
.ctaband .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ctaband h2{color:#fff;font-size:clamp(26px,3vw,38px)}
.ctaband p{color:#F3DCE3;margin:8px 0 0}
.ctaband .ctas{display:flex;gap:10px;flex-wrap:wrap}
.ctaband .btn-maroon{background:#fff;color:var(--maroon)}
.ctaband .btn-maroon:hover{background:#F6EDF0}
.ctaband .btn-line{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}

/* home: factory & people */
.factory{background:var(--bg)}
.fgrid2{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.fphotos{position:relative;padding-bottom:12%}
.fphotos figure{margin:0;border-radius:4px;overflow:hidden}
.fp1{aspect-ratio:3/2}.fp1 img{width:100%;height:100%;object-fit:cover}
.fp2{position:absolute;width:34%;aspect-ratio:3/4;bottom:0;inset-inline-end:-4%;border:6px solid var(--bg);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.fp2 img{width:100%;height:100%;object-fit:cover;object-position:top}
@media (max-width:860px){.fgrid2{grid-template-columns:1fr}.fp2{inset-inline-end:2%}}

/* about: chairman */
.chair{background:var(--alt);border-bottom:1px solid var(--line)}
.cgrid2{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.chair figure{margin:0;position:sticky;top:110px}
.chair figure img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:4px;border-bottom:6px solid var(--maroon)}
.chair figcaption{font-size:14px;color:var(--muted);margin-top:10px}
.chair blockquote{margin:0}
.chair blockquote h2{margin-bottom:18px}
.chair blockquote p{font-size:18px;line-height:1.75;color:var(--text);max-width:62ch}
.chair blockquote p:first-of-type::first-letter{font:800 3.1em/0.9 var(--h);color:var(--maroon);float:inline-start;margin-inline-end:10px;margin-top:4px}
.chair cite{display:block;font-style:normal;font-weight:600;color:var(--gold);margin-top:10px}
@media (max-width:760px){.cgrid2{grid-template-columns:1fr}.chair figure{position:static;max-width:280px}}
.mv{background:var(--bg)}
.mvgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mvgrid>div{background:var(--maroon);color:#fff;padding:clamp(24px,3vw,40px);border-radius:4px;clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%)}
html[dir="rtl"] .mvgrid>div{clip-path:polygon(6% 0,100% 0,100% 100%,6% 100%,0 50%)}
.mvgrid h2{color:#fff;font-size:clamp(26px,3vw,36px);margin-bottom:10px}
.mvgrid p{color:#F6E3E9;font-size:17px;margin:0;max-width:52ch}
@media (max-width:760px){.mvgrid{grid-template-columns:1fr}}
.teams{background:var(--alt);border-block:1px solid var(--line)}
.tgrid{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.tgrid li{display:flex;gap:14px;padding:22px 18px;border-bottom:1px solid var(--line)}
.tgrid li:nth-child(3n+2){border-inline:1px solid var(--line)}
.tgrid svg{width:34px;height:34px;color:var(--gold);flex:none}
.tgrid h3{font:700 17px var(--h);margin-bottom:4px}
.tgrid p{color:var(--muted);font-size:14.5px;margin:0}
@media (max-width:860px){.tgrid{grid-template-columns:1fr}.tgrid li:nth-child(3n+2){border-inline:0}}

/* gallery strip */
.gstrip{padding-top:0}
.gs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gs button{padding:0;border:0;background:#000;aspect-ratio:1;overflow:hidden;border-radius:2px;cursor:zoom-in}
.gs img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.gs{grid-template-columns:1fr 1fr}}

/* legal */
.legal h2{font-size:22px;margin:28px 0 8px}
.legal p{color:var(--muted)}
.legal .upd{margin-top:30px;font-size:13px}

/* page tweaks */
.pg-build #build{padding-top:clamp(40px,5vw,64px)}
.pg-build #build h1{font-size:clamp(32px,4vw,52px)}

/* staff sign-in + standalone admin */
.gate{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:20px}
.gate[hidden]{display:none}
.gate-card{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:34px 30px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.08)}
.gate-card img{height:64px;width:auto;margin:0 auto 16px}
.gate-card h1{font-size:22px;margin-bottom:8px}
.gate-card p{color:var(--muted);font-size:14px;margin:0 auto 18px}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px;border:1px solid var(--line);border-radius:6px;background:var(--alt);color:var(--text);font-weight:600;cursor:pointer}
.gbtn:hover{border-color:var(--muted)}
#gStep{display:grid;gap:8px;text-align:start;margin-top:4px}
#gStep[hidden]{display:none}
#gStep input{background:var(--input);border:1px solid var(--line);border-radius:4px;padding:12px;color:var(--text)}
.gate-note{font-size:12px!important;margin-top:18px!important;border-top:1px solid var(--line);padding-top:14px}
.admin.standalone{position:fixed}
.admin.standalone #adClose{display:none}
.ad-who{font-size:13px;color:var(--muted);direction:ltr}

.card .ipic .ph.ic{display:grid;place-items:center;width:100%;height:100%;color:var(--goldfill);background:var(--panel2)}
.card .ipic .ph.ic svg{width:56px;height:56px}
.card .pic.bigsize{color:var(--gold)}
@media (max-width:760px){.nav-side:not(.end){visibility:visible}.nav-side:not(.end) .theme{display:none}.nav{grid-template-columns:auto 1fr 44px}.nav-side:not(.end) .lang{padding:7px 9px;font-size:13px}}

/* ===== v3: international header ===== */
.hdr .nav2{display:flex;align-items:center;gap:22px;height:76px}
.hdr .brand img{height:34px}
.hnav{display:flex;gap:22px;margin-inline-start:auto}
.hnav a{text-decoration:none;color:var(--text);font:500 15px var(--b);padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.hnav a:hover{border-color:var(--goldfill)}
.pg-motorhomes .hnav a[href="motorhomes.html"],.pg-campers .hnav a[href="campers.html"],.pg-tiny-homes .hnav a[href="tiny-homes.html"],.pg-interiors .hnav a[href="interiors.html"],.pg-solar .hnav a[href="solar.html"],.pg-about .hnav a[href="about.html"]{border-color:var(--maroon)}
.hact{display:flex;align-items:center;gap:10px;margin-inline-start:22px}
.hact .btn{padding:11px 16px;white-space:nowrap}
.locale{position:relative}
.loc-btn{display:flex;align-items:center;gap:7px;background:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--text);cursor:pointer;font-size:14px;white-space:nowrap}
.loc-btn .sep{color:var(--muted)}
.loc-pop{position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:min(330px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.16);padding:16px;z-index:70}
.loc-pop[hidden]{display:none}
.loc-sec+.loc-sec{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.loc-sec>b{display:block;font:600 13px var(--h);color:var(--muted);margin-bottom:8px}
.loc-opts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.loc-opts.cur{grid-template-columns:1fr 1fr 1fr}
.loc-opts button{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:9px 8px;cursor:pointer;color:var(--text);text-align:start;font-size:14px}
.loc-opts button small{display:block;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.3}
.loc-opts button[aria-pressed="true"]{border-color:var(--maroon);box-shadow:inset 0 0 0 1px var(--maroon)}
.loc-note{font-size:12px;color:var(--muted);margin:10px 0 0}
@media (max-width:1180px){.hnav{display:none}.hact{margin-inline-start:auto}}
@media (max-width:640px){.hdr .brand b{display:none}.hact .theme{display:none}.loc-btn span:not(.js-cur):not(.sep){display:none}.loc-btn .sep{display:none}.hact{gap:6px}.hact .btn{padding:9px 11px;font-size:12px}}

/* ===== home builder entry ===== */
.homebuild{background:var(--alt);border-bottom:1px solid var(--line)}
.hb-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.hb-copy h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:12px}
.hb-copy p{color:var(--muted);font-size:17px}
.hb-steps{list-style:none;padding:0;margin:20px 0 26px;display:grid;gap:10px}
.hb-steps li{display:flex;align-items:center;gap:12px;font-weight:500}
.hb-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--maroon);color:#fff;font:700 14px var(--h);flex:none}
.hb-q{font:600 15px var(--h);color:var(--muted);margin-bottom:12px}
.hb-types{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hb-card{position:relative;display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:6px;background:var(--panel);text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}
.hb-card:hover{border-color:var(--maroon);transform:translateY(-2px)}
.hb-card b{font:700 17px var(--h)}
.hb-card span{color:var(--gold);font-size:14px;font-weight:600}
.hb-card i{position:absolute;inset-inline-end:16px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--maroon);font-weight:700}
@media (max-width:860px){.hb-grid{grid-template-columns:1fr}}

/* ===== package cards ===== */
.pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.pkg{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 20px 20px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.pkg input{position:absolute;opacity:0}
.pkg:hover{border-color:var(--muted)}
.pkg.on{border-color:var(--maroon);box-shadow:inset 0 0 0 1px var(--maroon)}
.pkg:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.pkg.pkg-top{background:linear-gradient(180deg,rgba(141,27,61,.07),transparent 60%),var(--panel2)}
.pkg-badge{position:absolute;top:-11px;inset-inline-start:18px;background:var(--goldfill);color:#1a1406;font:700 11px var(--h);padding:4px 10px;border-radius:999px;letter-spacing:.04em}
.pkg.pkg-top .pkg-badge{background:var(--maroon);color:#fff}
.pkg-name{font:800 22px var(--h)}
.pkg-tag{color:var(--gold);font-weight:600;font-size:14px;margin-top:-4px}
.pkg-price{font:700 20px var(--h)}
.pkg-price small{font:500 13px var(--b);color:var(--muted)}
.pkg-pitch{color:var(--muted);font-size:14.5px}
.pkg ul{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:6px;font-size:14px}
.pkg li{position:relative;padding-inline-start:22px}
.pkg li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--maroon);font-weight:700}
.pkg-cta{margin-top:auto;text-align:center;border:1px solid var(--line);border-radius:4px;padding:10px;font:600 14px var(--h)}
.pkg.on .pkg-cta{background:var(--maroon);border-color:var(--maroon);color:#fff}
@media (max-width:900px){.pkgs{grid-template-columns:1fr}}

/* ===== booking calendar ===== */
.cal{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}
.cal-l{padding:18px;border-inline-end:1px solid var(--line)}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-h b{font:700 17px var(--h)}
.cal-h button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--text);cursor:pointer;font-size:20px;line-height:1}
html[dir="rtl"] .cal-h button{transform:scaleX(-1)}
.cal-w,.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-w span{font-size:12px;color:var(--muted);padding:4px 0}
.cal-d{aspect-ratio:1;border:0;border-radius:50%;background:none;color:var(--muted);font:500 14px var(--b);cursor:default;opacity:.45}
.cal-d.free{opacity:1;color:var(--maroon);background:rgba(141,27,61,.09);font-weight:700;cursor:pointer}
.cal-d.free:hover{background:rgba(141,27,61,.18)}
.cal-d.sel{background:var(--maroon)!important;color:#fff!important}
.cal-tz{font-size:12px;color:var(--muted);margin:10px 0 0}
.cal-times{padding:18px;display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto}
.cal-times b{font:700 16px var(--h)}
.cal-times p{font-size:13.5px;color:var(--muted);margin:0 0 6px}
.cal-t{border:1px solid var(--maroon);color:var(--maroon);background:none;border-radius:6px;padding:12px;font:600 15px var(--b);cursor:pointer}
.cal-t:hover{background:rgba(141,27,61,.08)}
.cal-t.sel{background:var(--maroon);color:#fff}
.cal-t:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed}
.cal-times.empty{justify-content:center}
@media (max-width:760px){.cal{grid-template-columns:1fr}.cal-l{border-inline-end:0;border-bottom:1px solid var(--line)}}

/* ===== admin dashboard ===== */
.ad-sample{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(197,160,89,.12);border:1px solid rgba(197,160,89,.4);border-radius:6px;padding:10px 14px;font-size:14px;margin-bottom:16px}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}
.kpi span{display:block;font-size:13px;color:var(--muted)}
.kpi b{display:block;font:800 24px var(--h);margin:6px 0 2px}
.kpi small{color:var(--muted);font-size:12.5px}
@media (max-width:1200px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:16px}
@media (max-width:1000px){.dgrid{grid-template-columns:1fr}}
.dcard{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.dcard h3,.dcard h4{font:700 15px var(--h);margin:0 0 12px}
.chart{position:relative}
.chart svg{display:block;overflow:visible}
.chart rect{fill:var(--maroon)}
.chart .hit{fill:transparent}
.chart text{fill:var(--muted);font-size:11px}
.chart .bar:hover rect:not(.hit){fill:var(--maroon-hi)}
.chart .tip{position:absolute;pointer-events:none;background:var(--text);color:var(--bg);font-size:12px;padding:5px 8px;border-radius:4px;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.stlist,.uplist{list-style:none;margin:0;padding:0}
.stlist li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.stlist b{font:700 18px var(--h)}
.uplist li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.uplist li>div{flex:1;min-width:0}
.uplist small{display:block;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upd{display:grid;place-items:center;width:46px;flex:none;border:1px solid var(--line);border-radius:6px;padding:4px 0;font-size:11px;color:var(--muted);text-transform:uppercase}
.upd b{font:800 18px var(--h);color:var(--text)}
.linkbtn{background:none;border:0;color:var(--gold);font-weight:600;cursor:pointer;padding:0}
.st{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px;white-space:nowrap;border:1px solid transparent}
.st-new,.st-sent,.st-contacted{background:rgba(46,109,180,.12);color:#2E6DB4}
.st-confirmed,.st-won{background:rgba(197,160,89,.18);color:var(--gold)}
.st-production{background:rgba(141,27,61,.12);color:var(--maroon)}
.st-delivered,.st-paid,.st-closed{background:rgba(46,158,98,.14);color:var(--ok)}
.st-cancelled,.st-lost{background:rgba(120,120,120,.15);color:var(--muted)}
.st-sample{background:none;border-color:var(--line);color:var(--muted);font-weight:500}
.ad-bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ad-bar .chips{display:flex;gap:6px;flex-wrap:wrap}
.ad-bar .chips button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;cursor:pointer;color:var(--text);font-size:13px}
.ad-bar .chips button i{font-style:normal;color:var(--muted);margin-inline-start:4px}
.ad-bar .chips button[aria-pressed="true"]{background:var(--maroon);border-color:var(--maroon);color:#fff}
.ad-bar .chips button[aria-pressed="true"] i{color:#F3DCE3}
.ad-bar input{min-width:260px;background:var(--input);border:1px solid var(--line);border-radius:6px;padding:9px 12px;color:var(--text)}
.ad-tbl td.n{text-align:end;white-space:nowrap}
.ad-tbl td.acts{white-space:nowrap}
.ad-tbl td.acts .ad-mini{margin:2px}
.due{color:var(--maroon)}
.ac-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ac-top h3{margin:0;min-width:180px;text-align:center}
.ac-leg{margin-inline-start:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.ac-leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-inline-start:8px}
.lg-on{background:var(--panel);border:1px solid var(--line)}.lg-off{background:var(--panel2);opacity:.6}.lg-bl{background:repeating-linear-gradient(45deg,var(--line) 0 3px,transparent 3px 6px)}
.ac-w,.ac-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ac-w span{font-size:12px;color:var(--muted);text-align:center}
.ac-d{min-height:96px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px;display:flex;flex-direction:column;gap:4px}
.ac-d.off{background:var(--panel2);opacity:.6}
.ac-d.black{background:repeating-linear-gradient(45deg,var(--panel2) 0 6px,var(--panel) 6px 12px)}
.ac-d.today{border-color:var(--goldfill)}
.ac-h{display:flex;justify-content:space-between;font-size:12px}
.ac-h small{color:var(--muted)}
.ac-b{display:block;width:100%;text-align:start;font-size:11.5px;border:0;border-radius:4px;padding:3px 6px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:900px){.av-grid{grid-template-columns:1fr}}
.wkd{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.wkd label{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:14px}
.wkd label:has(input:checked){border-color:var(--maroon);background:rgba(141,27,61,.06)}
.tms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.tm{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 6px 5px 12px;font-size:13px}
html[dir="rtl"] .tm{padding:5px 12px 5px 6px}
.tm.on{border-color:var(--maroon);color:var(--maroon);padding:5px 12px}
.tm button{border:0;background:var(--panel2);border-radius:50%;width:22px;height:22px;cursor:pointer;color:var(--muted)}
.addrow{display:flex;gap:8px;align-items:center}
.addrow input,.avn input{background:var(--input);border:1px solid var(--line);border-radius:4px;padding:8px;color:var(--text)}
.avn{display:grid;gap:4px;font-size:13px;color:var(--muted);margin-top:12px}

.hdr .brand{flex-shrink:0}.hdr .brand b{white-space:nowrap}
.hnav{gap:20px}
@media (max-width:1320px){.hnav{gap:14px}.hnav a{font-size:14px}}
@media print{.q-head{position:static!important;top:auto!important;background:none!important;backdrop-filter:none!important;z-index:auto!important}}
.bars{display:flex;align-items:flex-end;gap:10px;height:190px;padding-top:24px;position:relative}
.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;position:relative}
.bars .b i{display:block;width:62%;max-width:44px;background:var(--maroon);border-radius:4px 4px 0 0;min-height:2px}
.bars .b:hover i{background:var(--maroon-hi)}
.bars .b span{font-size:11.5px;color:var(--muted)}
.bars .b em{position:absolute;bottom:calc(100% - 18px);font-style:normal;font-size:12px;background:var(--text);color:var(--bg);padding:3px 7px;border-radius:4px;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none}
.bars .b:hover em,.bars .b:focus em,.bars .b.last em{opacity:1}
.bars .b.last em{background:none;color:var(--text);font-weight:600}
.bars .b:hover~.b.last em{opacity:0}

/* ===== v4: international header with mega menu ===== */
.hdr{position:fixed;top:0;inset-inline:0;z-index:60;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--header-line);color:var(--text);transition:background-color .25s,border-color .25s,transform .3s ease,color .25s}
body{padding-top:76px}body.over{padding-top:0}body.pg-admin{padding-top:0}
body.over .hero{height:calc(100svh - 84px - env(safe-area-inset-top,0px));min-height:520px;max-height:none}
.hdr.hide{transform:translateY(-100%)}
.hdr:not(.solid){background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
.hdr:not(.solid) .brand b{color:#fff}
.hdr:not(.solid) .brand .only-light{display:none!important}.hdr:not(.solid) .brand .only-dark{display:block!important}
.hdr:not(.solid) .theme{color:#fff;border-color:rgba(255,255,255,.35)}
.hdr:not(.solid) .burger{color:#fff}
.hdr .nav2{display:flex;align-items:center;gap:0;height:76px}
.hnav{margin-inline-start:40px;display:block}
.hnav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.mm-top{position:relative;display:flex;align-items:center;gap:7px;background:none;border:0;padding:10px 14px;color:inherit;font:500 15px var(--b);text-decoration:none;cursor:pointer;white-space:nowrap}
html[lang="en"] .mm-top{letter-spacing:.02em}
.mm-top::after{content:"";position:absolute;inset-inline:14px;bottom:3px;height:2px;background:var(--goldfill,#C5A059);transform:scaleX(0);transition:transform .2s ease}
.mm-top:hover::after,.mm-top[aria-expanded="true"]::after,.mm-top.active::after{transform:scaleX(1)}
.mm-top .chev{transition:transform .2s;opacity:.7}.mm-top[aria-expanded="true"] .chev{transform:rotate(180deg)}
.hact{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.lang-sw{color:inherit;text-decoration:none;font:600 14px var(--b);padding:8px 12px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.lang-sw:hover,.lang-sw:focus-visible{border-color:currentColor}
.lang-sw[lang="ar"]{font-family:Tajawal,var(--b);font-size:16px}
.hdr .burger{display:none}
.mm-panel{position:absolute;top:100%;inset-inline:0;background:var(--panel);color:var(--text);border-top:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.28);opacity:0;transform:translateY(-8px);transition:opacity .18s ease-out,transform .18s ease-out;max-height:calc(100vh - 76px);overflow:auto}
.mm-panel.in{opacity:1;transform:none}.mm-panel[hidden]{display:none}
.mm-in{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;padding-top:28px}
.mm-cards{grid-column:span 9;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-bottom:6px}
.mm-cards.n3{grid-template-columns:repeat(3,1fr)}
.mm-card{display:block;color:var(--text);text-decoration:none}
.mm-img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--panel2);margin-bottom:12px}
.mm-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.mm-card:hover .mm-img img,.mm-card:focus-visible .mm-img img{transform:scale(1.04)}
.mm-card b{display:block;font:600 15px/1.3 var(--h)}
.mm-card small{display:block;font-size:13px;color:var(--muted);margin-top:3px;line-height:1.4}
.mm-feat{grid-column:span 3;position:relative;display:block;min-height:250px;border-radius:8px;overflow:hidden;color:#fff;text-decoration:none;background:#111}
.mm-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.mm-feat:hover img{transform:scale(1.04)}
.mm-feat::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.2) 65%,rgba(0,0,0,.05))}
.mm-fc{position:absolute;inset-inline:0;bottom:0;z-index:1;padding:20px;display:grid;gap:8px}
.mm-fc .kicker{color:#D8B879;margin:0;font-size:11px}
.mm-fc b{font:700 19px/1.25 var(--h);color:#fff}
.mm-fbtn{justify-self:start;margin-top:4px;background:var(--maroon,#8D1B3D);color:#fff;font:600 13px var(--b);padding:9px 14px;border-radius:4px}
.mm-strip{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 30px;border-top:1px solid var(--line);padding-block:14px 18px}
.mm-strip a{color:var(--text);text-decoration:none;font:500 14px var(--b)}
.mm-strip a:hover{color:var(--maroon)}
.mm-strip a:last-child{margin-inline-start:auto}
.mm-company{padding-bottom:28px}
.mm-links{grid-column:span 9;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 28px;align-content:start}
.mm-links a{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.mm-links a b{font:600 17px var(--h)}.mm-links a small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.mm-links a:hover b{color:var(--maroon)}
.mm-links .mm-tel{color:var(--muted);font-size:14px;border:0;text-align:start}
.mm-scrim{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.42);opacity:0;transition:opacity .18s}
.mm-scrim.in{opacity:1}.mm-scrim[hidden]{display:none}
@media (max-width:1180px){.mm-top{padding:10px 10px;font-size:14px}.hnav{margin-inline-start:22px}}
@media (max-width:1060px){.hnav{display:none}.hdr .burger{display:grid}.mm-panel,.mm-scrim{display:none!important}}
@media (max-width:640px){.hdr .nav2{height:68px}body{padding-top:68px}body.over{padding-top:0}.hact .theme,.hact .hbuild{display:none}.hdr .brand b{display:none}.lang-sw{padding:7px 10px}}
@media (prefers-reduced-motion:reduce){.hdr,.mm-panel,.mm-scrim,.mm-img img,.mm-feat img{transition:none}}
@media print{.hdr,.mm-scrim{display:none!important}body{padding-top:0!important}}

/* mobile drill-down menu */
.menu.m2{display:flex;flex-direction:column;grid-template-columns:none;background:#0B0B0C;color:#EFEDE9}
.menu.m2[hidden]{display:none}
.m-top{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 12px) 20px 12px;border-bottom:1px solid #222}
.m-top .brand b{color:#EFEDE9;font-size:16px}
.m2 .menu-close{position:static;width:44px;height:44px}
.m-body{flex:1;overflow:auto;padding:6px 20px 20px}
.m-row{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-bottom:1px solid #26262a;color:#EFEDE9;font:700 26px/1.2 var(--h);padding:16px 0;text-align:start;text-decoration:none;cursor:pointer}
.m-row img{width:64px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}
.m-row i{margin-inline-start:auto;font-style:normal;opacity:.55;font-size:28px}
.m-row.sm{font-size:18px;color:#D8B879;border:0}
.m-lvl1[hidden],.m-lvl2[hidden]{display:none}
.m-back{background:none;border:0;color:#D8B879;font:600 15px var(--b);padding:14px 0 6px;cursor:pointer}
.m-lvl2 h2{font:800 28px var(--h);color:#fff;margin:4px 0 16px}
.m-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}
.m2 .mm-card{color:#EFEDE9}.m2 .mm-card small{color:#A5A29C}.m2 .mm-img{background:#1a1a1c}
.m-feat{min-height:190px;margin-top:20px}
.m-strip,.m-links{display:grid;margin-top:14px}
.m-strip a,.m-links a{color:#EFEDE9;text-decoration:none;font:600 20px var(--h);padding:13px 0;border-bottom:1px solid #26262a}
.m-foot{padding:14px 20px calc(env(safe-area-inset-bottom,0px) + 14px);border-top:1px solid #222;display:grid;gap:12px}
.m-cta{width:100%;justify-content:center;text-align:center}
.m-quick{display:flex;gap:8px;flex-wrap:wrap}
.m-quick a{display:inline-flex;align-items:center;gap:7px;border:1px solid #3a3a3e;border-radius:999px;padding:9px 14px;color:#EFEDE9;text-decoration:none;font:500 14px var(--b)}
.m-quick svg{width:18px;height:18px}
.m-quick .m-lang{margin-inline-start:auto}
.m-set{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#A5A29C}
.m-set .theme{color:#EFEDE9;border-color:#3a3a3e}

/* currency control */
.curctl{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.curctl select{appearance:none;-webkit-appearance:none;background:var(--panel2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%23999' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 11px center/10px;border:1px solid var(--line);border-radius:999px;padding:7px 30px 7px 13px;color:var(--text);font:600 13px var(--b);cursor:pointer;max-width:230px}
html[dir="rtl"] .curctl select{background-position:left 11px center;padding:7px 13px 7px 30px}
.curctl select option{color:#111;background:#fff}
.curnote{font-size:12px;color:var(--muted)}
.js-curctl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.b-cur{justify-content:flex-end;margin:4px 0 14px}
.hb-cur{margin-top:16px}
.ft-cur .curctl{color:inherit;opacity:.85}.ft-cur select{background-color:transparent;color:inherit;border-color:rgba(255,255,255,.25)}
.m-set .curctl{color:#A5A29C}.m-set select{background-color:#1a1a1c;color:#EFEDE9;border-color:#3a3a3e}
html{scroll-padding-top:90px}
.hnav a.mm-top{color:inherit;border:0;padding:10px 14px;font:500 15px var(--b)}
body.over #intro{padding-block:52px 44px}body.over #intro .lede{margin:14px auto 26px}
body.over #intro{padding-block:44px 40px}body.over #intro .badges{margin-top:28px}body.over #intro .badges li{padding-block:16px}
.ad-theme{width:40px;height:40px}
.addrow .mini{display:grid;gap:4px;font-size:12px;color:var(--muted)}
.busy-card{border-color:var(--maroon)}
.busy-now{margin:12px 0 0;font-size:14px}
.fx-mode{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:6px 0 10px}
.fx-mode label{display:flex;align-items:center;gap:10px;font-weight:600}
.fx-mode select{padding:9px 12px;border-radius:6px;border:1px solid var(--line);background:var(--input);color:var(--text)}
.fx-mode small{color:var(--muted)}
.fx-src{display:block;font-size:11px;color:var(--muted);margin-top:4px}
/* v4.4 videos */
.vids{padding-block:clamp(56px,7vw,96px)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,340px));gap:18px;margin-top:28px}
.vgrid.loops{grid-template-columns:repeat(3,1fr)}
.vtour{margin:0}
.vtour video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;border-radius:6px;display:block}
.vtour figcaption{margin-top:12px}.vtour b{display:block;font:600 17px/1.3 var(--h)}.vtour span{font-size:14px;color:var(--muted)}
.reel.wide{aspect-ratio:16/10}
@media (max-width:760px){.vgrid.loops{grid-template-columns:1fr}.vgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.vgrid{grid-template-columns:1fr}}
/* brand tagline legibility */
.hdr .brand b small{font-weight:600;font-size:12px;color:var(--gold)}
.hdr:not(.solid) .brand b small,:root[data-theme="dark"] .hdr .brand b small{color:#E2C27F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hdr .brand b small{color:#E2C27F}}
.hdr:not(.solid) .brand b{text-shadow:0 1px 8px rgba(0,0,0,.55)}
html[lang="ar"] .hdr .brand b small{font-size:13px}
/* v4.6 delivery capacity calendar (admin) */
.dc-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.dc-top h3{margin:0 6px;min-width:150px;text-align:center}
.ac-leg{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted);margin-inline-start:auto}
.ac-leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-inline-end:4px;vertical-align:-2px}
.lg-o{background:#1f8a4c}.lg-l{background:#d08b1c}.lg-f{background:#b3263b}.lg-c{background:repeating-linear-gradient(45deg,#8a8a8a 0 2px,transparent 2px 5px);border:1px solid #8a8a8a}
.ac-leg .lg-on{background:#2f6fd6;border-radius:50%}.ac-leg .lg-off{background:#e09a1a;border-radius:50%}
.dc-set{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:end;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-bottom:14px}
.wk b{display:block;font-size:13px;margin-bottom:8px}.wk-in{display:flex;gap:6px;flex-wrap:wrap}
.wk-in label{display:grid;gap:4px;font-size:12px;color:var(--muted);text-align:center}.wk-in input{width:54px;text-align:center;padding:7px;border:1px solid var(--line);border-radius:6px;background:var(--input);color:var(--text)}
.dc-set .avn input{width:90px}
.dc-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.dc-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.dc{position:relative;display:grid;align-content:start;gap:2px;min-height:86px;padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);text-align:start;cursor:pointer;font:inherit;border-inline-start:4px solid transparent}
.dc:hover{border-color:var(--maroon)}
.dc-h{display:flex;justify-content:space-between}.dc-h b{font-size:13px}.dc-ov{font-style:normal;font-size:11px;color:var(--muted)}
.dc-n{font:700 20px/1.1 var(--h)}.dc-n small{font-size:12px;color:var(--muted);font-weight:500}
.dc-l{font-size:11px;color:var(--muted)}
.dc-dots{display:flex;gap:3px;flex-wrap:wrap;margin-top:2px}.dc-dots i{width:7px;height:7px;border-radius:50%}.dc-dots .on{background:#2f6fd6}.dc-dots .off{background:#e09a1a}
.dc.st-open{border-inline-start-color:#1f8a4c}.dc.st-last{border-inline-start-color:#d08b1c}.dc.st-full{border-inline-start-color:#b3263b;background:color-mix(in srgb,#b3263b 7%,var(--panel))}
.dc.st-closed{background:repeating-linear-gradient(45deg,transparent 0 6px,color-mix(in srgb,var(--muted) 14%,transparent) 6px 8px),var(--panel);color:var(--muted)}
.dc.lead{opacity:.55}.dc.sel{outline:2px solid var(--maroon);outline-offset:1px;opacity:1}.dc.today .dc-h b{color:var(--maroon)}
.dpanel{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:16px;position:sticky;top:12px}
.dpanel.muted p{font-size:14px;color:var(--muted)}
.dpanel h4{margin:0 0 8px}.dpanel h5{margin:16px 0 8px;font-size:13px}
.dp-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0}
.step{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}.step button{width:38px;height:36px;border:0;background:var(--panel2);color:var(--text);font-size:18px;cursor:pointer}.step b{min-width:40px;text-align:center}
.dp-free{font-size:14px;color:var(--muted);margin:0 0 8px}
.dp-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.dp-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dp-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:6px;font-size:13px}
.dp-list li .btn,.dp-rm{margin-inline-start:auto}.dp-rm{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}
.st-on{background:#e3ecfb;color:#2251a3}.st-off{background:#fbefd9;color:#8a5a0b}
.dp-add{display:grid;gap:6px;margin:6px 0 12px}.dp-add input{padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--input);color:var(--text)}
@media (max-width:1100px){.dc-wrap{grid-template-columns:1fr}.dpanel{position:static}}
/* customer calendar legend */
.cal-d.last{box-shadow:inset 0 -3px 0 #d08b1c}
.cal-tz i{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 8px;vertical-align:-1px}.lg-free{background:var(--maroon)}.lg-last{background:#d08b1c}
.cal-last{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;color:#8a5a0b;background:#fbefd9;padding:3px 8px;border-radius:999px}
.cal-times .kicker{display:block;margin-bottom:4px}
