:root{
  --brand:#24443A;--accent:#C8893B;--ink:#1E2722;--muted:#6B746E;--line:#E4DED2;
  --bg:#FBF8F2;--alt:#F3EDE2;--card:#fff;--sage:#8FA98F;--ok:#2F8F5B;--bad:#C2413B;--warn:#C98A1B;
  --r:18px;--r-sm:12px;--shadow:0 10px 30px -12px rgba(30,39,34,.18);
  --font:"IBM Plex Sans Arabic","Segoe UI",Tahoma,system-ui,sans-serif;--display:"Readex Pro","IBM Plex Sans Arabic",system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--display);line-height:1.25;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.15rem}
p{margin:0 0 1em}.muted{color:var(--muted)}.tiny{font-size:.82rem}.center{text-align:center}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}.narrow{width:min(620px,100% - 32px)}
.ic{flex-shrink:0;vertical-align:middle}
[dir=rtl] .flip-rtl{transform:scaleX(-1)}[dir=ltr] .flip-ltr{transform:scaleX(-1)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:0;border-radius:999px;padding:.72em 1.4em;font:600 1rem var(--font);cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{box-shadow:0 8px 20px -8px var(--brand)}
.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{box-shadow:0 8px 20px -8px var(--accent)}
.btn-light{background:rgba(255,255,255,.85);color:var(--brand);backdrop-filter:blur(6px)}
.btn-outline{background:transparent;color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand)}
.btn-ghost{background:transparent;color:var(--brand)}.btn-ghost:hover{background:rgba(36,68,58,.07)}
.btn-sm{padding:.5em 1em;font-size:.92rem}.btn-lg{padding:.9em 1.7em;font-size:1.06rem}.btn-block{width:100%}

/* top */
.announce{background:var(--brand);color:#EFE7D6;font-size:.9rem;text-align:center;padding:.45em 1em;display:flex;gap:.5em;justify-content:center;align-items:center}
.topbar{position:sticky;top:0;z-index:50;background:rgba(251,248,242,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;gap:20px;height:74px}
.brand{display:flex;align-items:center;gap:10px;color:var(--brand)}
.brand b{display:block;font-family:var(--display);font-size:1.12rem;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:.8rem}
.brand-light{color:#fff}.brand-light small{color:rgba(255,255,255,.7)}
.mainnav{display:flex;gap:4px;margin-inline-start:auto}
.mainnav a{padding:.5em .85em;border-radius:999px;font-weight:500;color:#3d4842}.mainnav a:hover,.mainnav a[aria-current]{background:rgba(36,68,58,.08);color:var(--brand)}
.top-actions{display:flex;align-items:center;gap:8px}
.lang{display:flex;align-items:center;gap:6px;padding:.45em .7em;border-radius:999px;color:var(--brand);font-weight:600;font-size:.92rem}.lang:hover{background:rgba(36,68,58,.08)}
.menu-btn{display:none;background:none;border:0;color:var(--brand);padding:6px;cursor:pointer}

/* hero */
.hero{position:relative;overflow:hidden;min-height:600px;display:flex;align-items:center;padding:60px 0 100px}
.hero-art{position:absolute;inset:0;width:100%;height:100%}
.hero-in{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center}
.hero h1{color:var(--brand);margin:.5em 0 .35em;max-width:14ch}
.lead{font-size:1.15rem;color:#3f4a43;max-width:52ch}.lead-sm{font-size:1.06rem;color:#3f4a43}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.5em}
.pill{display:inline-flex;align-items:center;gap:.55em;padding:.4em 1em;border-radius:999px;font-weight:600;font-size:.9rem;background:#fff;box-shadow:var(--shadow)}
.pill i{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 20%,transparent)}
.pill-open{color:var(--ok)}.pill-closed{color:var(--bad)}
.quickbook{background:var(--card);border-radius:24px;padding:24px;box-shadow:0 30px 60px -25px rgba(30,39,34,.35);border:1px solid rgba(255,255,255,.6)}
.quickbook h3{display:flex;gap:.5em;align-items:center;color:var(--brand)}
.qb-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 18px}
.qb-date input,.dchip input,.payopt input{position:absolute;opacity:0;pointer-events:none}
.qb-date span{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:14px;border:1.5px solid var(--line);cursor:pointer;transition:.15s}
.qb-date b{font-size:1.5rem;font-family:var(--display);line-height:1.1}.qb-date small{font-size:.75rem;color:var(--muted)}
.qb-date input:checked+span{border-color:var(--brand);background:var(--brand);color:#fff}.qb-date input:checked+span small{color:rgba(255,255,255,.75)}
.qb-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px dashed var(--line);padding-top:16px}
.qb-foot small{display:block;color:var(--muted);font-size:.8rem}.qb-foot b{font-family:var(--display);font-size:1.3rem;color:var(--brand)}

.strip{background:var(--brand);color:#EDE6D6}
.strip-in{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;flex-wrap:wrap}
.strip-in>div:first-child{display:flex;gap:14px;align-items:center}.strip b{display:block;color:#fff;font-family:var(--display)}.strip span{font-size:.94rem}
.paylogos{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.paylogos.center{justify-content:center}
.pl{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 10px;border-radius:7px;background:#fff;color:#111;font:700 .82rem/1 system-ui,sans-serif;letter-spacing:.02em}
.pl.applepay{background:#000;color:#fff}.pl.mada{color:#1d6fb8}.pl.mada::after{content:"";width:16px;height:4px;margin-inline-start:4px;background:linear-gradient(90deg,#84b740 50%,#1d6fb8 50%);border-radius:2px}
.pl.visa{color:#1a1f71;font-style:italic;font-weight:800}.pl.mc i{width:14px;height:14px;border-radius:50%;background:#eb001b;display:block}.pl.mc i+i{background:#f79e1b;margin-inline-start:-6px;mix-blend-mode:multiply}
.paylogos.sm .pl{height:24px;font-size:.72rem;padding:0 8px}

.section{padding:90px 0}.section.tight{padding:40px 0 80px}.section.alt{background:var(--alt)}
.eyebrow{display:inline-block;color:var(--accent);font-weight:700;font-size:.85rem;letter-spacing:.06em;margin-bottom:.6em;text-transform:uppercase}
.sec-head{margin-bottom:36px}.sec-head.row{display:flex;justify-content:space-between;align-items:end;gap:20px}
.link{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-weight:600}
.about{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.about-stats div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 16px;text-align:center}
.about-stats b{display:block;font:700 2rem var(--display);color:var(--brand)}.about-stats span{color:var(--muted);font-size:.9rem}
.cards6{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{background:var(--card);border-radius:var(--r);padding:28px;border:1px solid var(--line);transition:.2s}
.feat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.feat img{border-radius:12px;aspect-ratio:16/10;object-fit:cover;margin-bottom:16px;width:100%}
.feat-ic{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 9%,#fff);color:var(--brand);margin-bottom:18px}
.feat p{color:var(--muted);margin:0}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.event{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:.2s}
.event:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.event-img{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,var(--brand),#5E7F69 60%,var(--accent));background-size:cover;background-position:center;display:grid;place-items:center}
.datebox{position:absolute;top:14px;inset-inline-start:14px;background:#fff;border-radius:12px;padding:6px 12px;text-align:center;line-height:1.1}
.datebox b{display:block;font:700 1.4rem var(--display);color:var(--brand)}.datebox small{font-size:.75rem;color:var(--muted)}
.etag{position:absolute;bottom:12px;inset-inline-end:12px;background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px}
.event-body{padding:20px;flex:1;display:flex;flex-direction:column}.event-body p{color:var(--muted);font-size:.95rem;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.event-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--brand);font-size:.88rem;align-items:center}.event-meta span{display:inline-flex;gap:6px;align-items:center}
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.price{background:var(--card);border-radius:var(--r);padding:26px;border:1px solid var(--line);display:flex;flex-direction:column}
.price .amount{font:700 2rem var(--display);color:var(--brand);margin-top:auto}.price .btn{margin-top:18px}
.price.featured{background:var(--brand);color:#fff;border-color:var(--brand);transform:translateY(-8px);box-shadow:0 26px 50px -24px var(--brand)}
.price.featured .muted{color:rgba(255,255,255,.7)}.price.featured .amount{color:#fff}
.hours{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start}
.hours-t{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.hours-t td{padding:14px 20px;border-bottom:1px solid var(--line)}.hours-t td:last-child{text-align:end;font-weight:600}
.hours-t tr.is-today{background:color-mix(in srgb,var(--accent) 10%,#fff)}
.tag{background:var(--accent);color:#fff;font-size:.72rem;padding:2px 8px;border-radius:999px;margin-inline-start:6px}
.exceptions{margin-top:14px;display:grid;gap:8px}.exc{display:flex;gap:8px;align-items:center;padding:10px 14px;border-radius:12px;font-size:.92rem;background:#fff;border:1px solid var(--line)}.exc.no{color:var(--bad)}
.map-card{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.map-ph{min-height:230px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#fff;text-align:center;padding:20px;
  background:linear-gradient(160deg,rgba(36,68,58,.92),rgba(94,127,105,.9)),repeating-linear-gradient(45deg,transparent 0 22px,rgba(255,255,255,.06) 22px 23px)}
.contact-list{display:grid}.contact-list a{display:flex;gap:10px;align-items:center;padding:14px 20px;border-top:1px solid var(--line);font-weight:500}.contact-list a:hover{background:var(--alt)}
.cta{background:radial-gradient(1200px 300px at 50% 0,color-mix(in srgb,var(--accent) 35%,var(--brand)),var(--brand));color:#fff;text-align:center;padding:80px 0}
.cta p{color:rgba(255,255,255,.8);margin-bottom:1.6em}
.footer{background:#17291F;color:#D5DCD3;padding:64px 0 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer h4{color:#fff;font-size:1rem}
.footer p{display:flex;gap:8px;align-items:center}.footer a:hover{color:#fff}.muted-light{color:rgba(255,255,255,.6);margin-top:14px}
.socials{display:flex;flex-wrap:wrap;gap:8px}.socials a{border:1px solid rgba(255,255,255,.2);padding:6px 14px;border-radius:999px;font-size:.88rem}
.copy{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding:20px 0;font-size:.85rem;color:rgba(255,255,255,.55)}

/* pages */
.page-head{background:var(--alt);padding:56px 0 40px;border-bottom:1px solid var(--line)}.page-head.slim{padding:40px 0 28px}
.page-head h1{color:var(--brand);font-size:clamp(1.8rem,3.6vw,2.6rem)}
.event-detail{display:grid;grid-template-columns:1.6fr 1fr;gap:30px}
.event-hero{aspect-ratio:16/9;border-radius:var(--r);background:linear-gradient(135deg,var(--brand),#5E7F69 60%,var(--accent));background-size:cover;background-position:center;display:grid;place-items:center}
.event-side{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:18px;align-content:start}
.kv{display:flex;gap:12px;color:var(--brand)}.kv small{display:block;color:var(--muted)}.kv b{color:var(--ink)}
.event-desc{grid-column:1/-1}

/* booking */
.book{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.bstep{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;margin-bottom:18px}
.bstep h3{display:flex;align-items:center;gap:10px;color:var(--brand)}
.bstep h3 span{width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.9rem}
.date-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory}
.dchip{position:relative;scroll-snap-align:start}
.dchip span{display:flex;flex-direction:column;align-items:center;min-width:82px;padding:10px 6px;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;transition:.15s;background:#fff}
.dchip b{font:700 1.5rem/1.1 var(--display)}.dchip small{font-size:.75rem;color:var(--muted)}.dchip em{font-style:normal;font-size:.7rem;color:var(--ok);margin-top:2px}
.dchip input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}.dchip input:checked+span small,.dchip input:checked+span em{color:rgba(255,255,255,.8)}
.dchip.full span{opacity:.45;cursor:not-allowed}.dchip.full em{color:var(--bad)}
.trow{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.trow:last-child{border:0}
.trow small{display:block}.tprice{font-weight:700;color:var(--brand)}
.stepper{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden}
.stepper button{width:38px;height:38px;border:0;background:none;font-size:1.3rem;cursor:pointer;color:var(--brand)}.stepper button:hover{background:var(--alt)}
.stepper input{width:38px;text-align:center;border:0;font:600 1rem var(--font);-moz-appearance:textfield;background:none}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:block;margin-bottom:14px}.field>span{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:.75em 1em;border:1.5px solid var(--line);border-radius:var(--r-sm);font:1rem var(--font);background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,transparent)}
.paygrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.payopt{position:relative}.payopt>span{display:flex;flex-direction:column;gap:4px;padding:18px;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;height:100%;color:var(--brand)}
.payopt b{color:var(--ink)}.payopt small{color:var(--muted)}.payopt .paylogos{margin-top:8px}
.payopt input:checked+span{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,transparent);background:color-mix(in srgb,var(--brand) 4%,#fff)}
.summary{position:sticky;top:96px}
.sum-card{background:var(--card);border-radius:var(--r);padding:24px;border:1px solid var(--line);box-shadow:var(--shadow)}
.sum-card h3{display:flex;gap:8px;align-items:center;color:var(--brand)}
.sum-lines div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.sum-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0}.sum-total b{font:700 1.6rem var(--display);color:var(--brand)}
.alert{background:#FBEAE8;color:var(--bad);padding:12px 16px;border-radius:12px;margin-bottom:16px;display:flex;gap:8px;align-items:center}
.alert.ok{background:#E6F4EC;color:var(--ok)}
.card-form,.checkout{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}

/* ticket */
.ticket{background:var(--card);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(30,39,34,.4);border:1px solid var(--line)}
.ticket-top{background:var(--brand);padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.tstatus{background:rgba(255,255,255,.15);color:#fff;padding:5px 14px;border-radius:999px;font-weight:600;font-size:.88rem}
.st-paid .tstatus{background:#2F8F5B}.st-unpaid .tstatus,.st-pending .tstatus{background:var(--warn)}.st-used .tstatus{background:#5b6670}.st-cancelled .tstatus{background:var(--bad)}
.ticket-qr{text-align:center;padding:28px 20px 10px}.ticket-qr svg{width:min(250px,70vw);height:auto;border-radius:12px}
.st-used .ticket-qr svg,.st-cancelled .ticket-qr svg{opacity:.25}
.code{font:700 1.4rem var(--display);letter-spacing:.12em;color:var(--brand);margin:.4em 0 0}
.qr-locked{padding:30px;display:grid;justify-items:center;gap:6px;color:var(--warn)}
.ticket-cut{position:relative;border-top:2px dashed var(--line);margin:10px 0}
.ticket-cut::before,.ticket-cut::after{content:"";position:absolute;top:-14px;width:26px;height:26px;border-radius:50%;background:var(--bg)}
.ticket-cut::before{left:-13px}.ticket-cut::after{right:-13px}
.ticket-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 24px}.ticket-info small{display:block;color:var(--muted);font-size:.8rem}
.ticket-items{padding:0 24px 18px;font-size:.92rem}.ticket-items div{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line)}
.due{margin:0 24px 22px;padding:12px 16px;border-radius:12px;background:#FFF4DF;color:#8a5a00;display:flex;gap:8px;align-items:center}
.ticket-actions{display:flex;gap:10px;justify-content:center;margin:22px 0 8px}

/* checkout */
.co-head{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px;color:var(--brand)}
.co-head h2{margin:0;font-size:1.3rem;color:var(--ink)}.co-amount{margin-inline-start:auto;font:700 1.5rem var(--display);color:var(--brand)}
.demo-note{background:#FFF4DF;color:#8a5a00;border-radius:10px;padding:8px 12px;font-size:.85rem;margin-bottom:16px;display:flex;gap:6px;align-items:center}
.applepay-btn{width:100%;height:50px;border-radius:12px;border:0;background:#000;color:#fff;font:600 1.15rem system-ui,-apple-system,sans-serif;cursor:pointer}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem;margin:18px 0 12px}.or::before,.or::after{content:"";flex:1;border-top:1px solid var(--line)}
.demo-pay .paylogos{margin-bottom:14px}

@media (max-width:1000px){
  .mainnav{display:none;position:absolute;top:74px;inset-inline:0;background:var(--bg);flex-direction:column;padding:12px 20px 20px;border-bottom:1px solid var(--line)}
  .mainnav.open{display:flex}.menu-btn{display:block}
  .hero-in,.about,.hours,.book,.event-detail{grid-template-columns:1fr}.cards6,.events{grid-template-columns:1fr 1fr}.prices{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}.summary{position:static}.price.featured{transform:none}
}
@media (max-width:640px){
  .hide-sm,.top-actions .btn-accent span{display:none}.brand small{display:none}.brand b{font-size:1rem}
  .hero{padding:30px 0 120px;min-height:0}.cards6,.events,.prices,.grid2,.paygrid,.footer-grid,.about-stats{grid-template-columns:1fr}
  .section{padding:60px 0}.trow{grid-template-columns:1fr auto}.trow .stepper{grid-column:1/-1;justify-self:start}
  .ticket-info{grid-template-columns:1fr 1fr}
}
@media print{.topbar,.footer,.announce,.no-print{display:none!important}body{background:#fff}.ticket{box-shadow:none}}
.book>*{min-width:0}
/* ---- v2 additions */
.logo-img{width:auto;display:block;object-fit:contain}
.hero.has-photo{color:#fff}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,30,22,.15),rgba(15,30,22,.7))}
[dir=ltr] .hero-photo::after{background:linear-gradient(270deg,rgba(15,30,22,.15),rgba(15,30,22,.7))}
.hero.has-photo h1{color:#fff}.hero.has-photo .lead{color:rgba(255,255,255,.9)}
.fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fac{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;gap:16px}
.fac .feat-ic{flex-shrink:0;margin:0}.fac h3{margin-bottom:.2em}.fac p{font-size:.92rem;margin-bottom:12px}
.fac-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fac-foot b{font:700 1.2rem var(--display);color:var(--brand)}.fac-foot .btn{margin-inline-start:auto}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery figure{margin:0;border-radius:14px;overflow:hidden;position:relative}
.gallery img{aspect-ratio:1;object-fit:cover;width:100%;transition:.3s}.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;inset-inline:0;bottom:0;padding:24px 12px 10px;color:#fff;font-size:.88rem;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.tgroup+.tgroup{margin-top:10px;padding-top:6px;border-top:1px solid var(--line)}.tgroup h4{font-size:.95rem;color:var(--accent);margin:6px 0 0}
.rem{color:var(--ok)!important;font-weight:600}.trow.soldout{opacity:.5}.trow.soldout .rem{color:var(--bad)!important}
.dchip.season em{color:var(--accent)}.dchip.wknd span{border-style:dashed}.date-note{margin:6px 0 0;min-height:1.2em}
.agree{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.92rem}.agree input{margin-top:5px;accent-color:var(--brand);width:18px;height:18px}.agree a{color:var(--brand);text-decoration:underline}
.coupon{display:flex;gap:8px;margin-top:14px}.coupon input{flex:1;min-width:0;padding:.55em .8em;border:1.5px solid var(--line);border-radius:10px;font:600 .95rem var(--font);text-transform:uppercase}
#couponMsg{margin:6px 0 0;min-height:1em}#couponMsg.ok{color:var(--ok)}#couponMsg.bad{color:var(--bad)}
.sum-row{display:flex;justify-content:space-between;color:var(--ok);margin-top:10px}
.copy{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.legal{display:flex;gap:16px;flex-wrap:wrap}.legal a:hover{color:#fff;text-decoration:underline}
.partial{display:inline-block;background:#FFF4DF;color:#8a5a00;border-radius:999px;padding:4px 14px;font-weight:600;font-size:.9rem}
.policy{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;font-size:1.02rem}
.stars{display:flex;flex-direction:row-reverse;justify-content:center;gap:6px;margin:18px 0 22px}[dir=rtl] .stars{flex-direction:row}
.stars input{position:absolute;opacity:0}.stars label{font-size:2.6rem;color:#DDD6C8;cursor:pointer;transition:.15s;line-height:1}
.stars label:hover,.stars label:hover~label,.stars input:checked~label{color:var(--accent)}
[dir=rtl] .stars{flex-direction:row-reverse}
.fb-done{display:grid;justify-items:center;gap:6px;color:var(--ok)}.fb-done h2{color:var(--ink);margin-top:8px}
/* invoice */
.invoice-body{background:#EEE9DF;padding:30px 12px}
.invoice{max-width:780px;margin:auto;background:#fff;border-radius:16px;padding:36px;box-shadow:var(--shadow)}
.inv-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--brand);padding-bottom:16px;margin-bottom:20px;color:var(--brand)}
.inv-head h1{font-size:1.5rem;margin:0;text-align:end}.inv-head p{margin:0;text-align:end}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px}.inv-grid>div{display:grid;gap:3px;font-size:.92rem}.inv-grid small{color:var(--muted)}
.inv-t{width:100%;border-collapse:collapse;font-size:.92rem}.inv-t th{background:var(--alt);text-align:start;padding:10px 12px}.inv-t td{padding:10px 12px;border-bottom:1px solid var(--line)}
.inv-foot{display:flex;justify-content:space-between;gap:24px;margin-top:22px;align-items:flex-start}
.inv-qr{display:grid;justify-items:center;gap:4px}.inv-qr svg{width:150px;height:150px}
.inv-sum{min-width:300px;display:grid;gap:6px}.inv-sum div{display:flex;justify-content:space-between;gap:20px;padding:6px 0;border-bottom:1px dashed var(--line)}
.inv-sum .grand{border:0;background:var(--brand);color:#fff;padding:10px 14px;border-radius:10px;font-size:1.05rem}
.inv-actions{display:flex;gap:10px;justify-content:center;margin-top:26px}
@media (max-width:1000px){.fac-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.inv-grid,.inv-foot{grid-template-columns:1fr;flex-direction:column}.invoice{padding:20px}.inv-sum{min-width:0;width:100%}}
@media print{.invoice-body{background:#fff;padding:0}.invoice{box-shadow:none;padding:0}}
.ticket-actions{flex-wrap:wrap}.inv-actions{flex-wrap:wrap}
