/* Site 1 — "Souq ticket": sand paper, indigo ink, saffron accents, perforated coupon tickets. */
@font-face{font-family:Plex;src:url(/assets/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Plex;src:url(/assets/fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Plex;src:url(/assets/fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Plex;src:url(/assets/fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Plex;src:url(/assets/fonts/ibm-plex-sans-arabic-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Plex;src:url(/assets/fonts/ibm-plex-sans-arabic-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Kufi;src:url(/assets/fonts/reem-kufi-arabic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Kufi;src:url(/assets/fonts/reem-kufi-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}

*,*::before,*::after{box-sizing:border-box}
:root{--paper:color-mix(in srgb,var(--bg) 92%,#e9dcc4);--line:color-mix(in srgb,var(--ink) 14%,transparent);--mut:color-mix(in srgb,var(--ink) 62%,var(--bg));--r:14px;--shadow:0 1px 0 rgba(20,33,61,.04),0 10px 30px -18px rgba(20,33,61,.35)}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 16.5px/1.75 Plex,"Segoe UI",Tahoma,sans-serif;color:var(--ink);background:var(--bg);
  background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--ink) 7%,transparent) 1px,transparent 0);background-size:22px 22px}
.lang-en{line-height:1.6}
a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:color-mix(in srgb,var(--ink) 70%,var(--accent))}
h1,h2,h3{font-family:Kufi,Plex,sans-serif;font-weight:700;line-height:1.3;letter-spacing:-.005em;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,4.6vw,3.1rem)}
h2{font-size:clamp(1.3rem,2.6vw,1.75rem);margin-top:.2em}
h3{font-size:1.08rem;font-family:Plex,sans-serif}
code{font:600 .95em/1 ui-monospace,"Cascadia Mono",Consolas,monospace;letter-spacing:.04em;background:color-mix(in srgb,var(--accent) 22%,transparent);padding:.15em .4em;border-radius:5px;unicode-bidi:isolate}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,3vw,28px)}
main>section{margin-block:clamp(28px,5vw,56px)}
.small{font-size:.86rem;color:var(--mut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;inset-inline-start:-999px}.skip:focus{inset-inline-start:12px;top:12px;z-index:9;background:var(--card);padding:8px 12px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}

/* header */
.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:5;border-bottom:3px solid var(--accent)}
.top-in{display:flex;align-items:center;gap:22px;min-height:64px;flex-wrap:wrap}
.brandmark{display:inline-flex;align-items:stretch;text-decoration:none;font-family:Kufi,sans-serif;font-size:1.25rem;line-height:1;border-radius:8px;overflow:hidden;box-shadow:0 0 0 2px var(--accent)}
.bm-a{background:var(--accent);color:var(--ink);padding:9px 11px}
.bm-b{color:#fff;padding:9px 12px;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,255,255,.04) 6px 7px)}
.mainnav{display:flex;gap:4px 18px;flex-wrap:wrap;flex:1}
.mainnav a{white-space:nowrap;color:#e8e3d6;text-decoration:none;font-weight:600;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}
.mainnav a:hover{color:#fff;border-color:var(--accent)}
.langswitch{color:var(--ink);background:#fff;text-decoration:none;font-weight:700;padding:6px 14px;border-radius:999px;font-size:.9rem}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.88rem;color:var(--mut);padding-top:16px}
.crumbs a{text-decoration:none}

/* hero with 8-point star pattern */
.hero{position:relative;color:#fff;background:var(--ink);overflow:hidden;margin-top:0!important;padding-block:clamp(40px,7vw,84px)}
.hero::before{content:"";position:absolute;inset:0;opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23F2A541' stroke-width='1.2'%3E%3Crect x='18' y='18' width='28' height='28'/%3E%3Crect x='18' y='18' width='28' height='28' transform='rotate(45 32 32)'/%3E%3Ccircle cx='32' cy='32' r='5'/%3E%3Cpath d='M0 32h8M56 32h8M32 0v8M32 56v8'/%3E%3C/g%3E%3C/svg%3E");
  background-size:64px 64px;-webkit-mask:linear-gradient(90deg,#000 0,rgba(0,0,0,.5) 35%,transparent 70%);mask:linear-gradient(90deg,#000 0,rgba(0,0,0,.5) 35%,transparent 70%)}
.lang-en .hero::before{-webkit-mask:linear-gradient(270deg,#000 0,rgba(0,0,0,.5) 35%,transparent 70%);mask:linear-gradient(270deg,#000 0,rgba(0,0,0,.5) 35%,transparent 70%)}
.hero::after{content:"";position:absolute;inset-inline-end:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 55%,transparent),transparent 65%);filter:blur(10px)}
.hero-in{position:relative;z-index:1}
.hero h1{max-width:16ch;animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.hero .lead{max-width:60ch;color:#d9d4c7;font-size:1.1rem;animation:rise .7s .08s both}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.search{display:block;max-width:560px;margin-top:22px;animation:rise .7s .16s both}
.search input{width:100%;font:inherit;font-size:1.05rem;padding:14px 18px;border-radius:12px;border:2px solid var(--accent);background:#fff;color:var(--ink)}
.page-head .search input{border-color:var(--ink)}
.stats{display:flex;gap:12px 34px;flex-wrap:wrap;list-style:none;padding:0;margin:28px 0 0;animation:rise .7s .24s both}
.stats li{display:flex;flex-direction:column;font-size:.9rem;color:#cfc9ba}
.stats b{font-family:Kufi,sans-serif;font-size:2.1rem;line-height:1.1;color:#fff}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* section heads */
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.sec-head a{font-weight:600}
.page-head{padding-top:12px}.page-head .lead{max-width:70ch;color:var(--mut);font-size:1.08rem}
.prose{max-width:780px}

/* store tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tile{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;text-decoration:none;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s,border-color .18s}
.tile:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 14px 30px -18px rgba(20,33,61,.55)}
.tile-t{display:flex;flex-direction:column;min-width:0}
.tile-t b{font-size:1.02rem}.tile-t span{font-size:.9rem;color:var(--mut);line-height:1.45}
.tile-t small{margin-top:4px;color:var(--mut);font-size:.8rem}
.tile[hidden]{display:none}
.logo{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--b,#14213D);color:var(--bt,#fff);font:700 1rem/1 Kufi,Plex,sans-serif;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.logo img{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:#fff}
.logo-l{width:76px;height:76px;border-radius:18px;font-size:1.5rem}

/* tables */
.tablewrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}
table.grid{width:100%;border-collapse:collapse;font-size:.94rem}
.grid th{background:color-mix(in srgb,var(--ink) 6%,var(--card));text-align:start;font-weight:700;padding:11px 14px;white-space:nowrap}
.grid td{padding:11px 14px;border-top:1px solid var(--line);vertical-align:top}
.grid tbody tr:hover td{background:color-mix(in srgb,var(--accent) 8%,var(--card))}
.pill{display:inline-block;font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}
.pill-high{background:color-mix(in srgb,var(--high) 15%,#fff);color:var(--high)}
.pill-medium{background:color-mix(in srgb,var(--medium) 15%,#fff);color:var(--medium)}
.pill-unverified{background:#eef0f3;color:var(--low)}

/* store head + answer box */
.store-head{padding-top:6px}
.sh-id{display:flex;gap:18px;align-items:center}
.sh-id h1{margin-bottom:4px}
.byline{margin:0;color:var(--mut);font-size:.9rem}
.answer{margin-top:22px;background:var(--card);border-radius:var(--r);padding:20px 22px;border:1px solid var(--line);border-inline-start:6px solid var(--accent);box-shadow:var(--shadow)}
.answer .q{font-size:1.15rem;margin-bottom:.3em}
.answer .a{font-size:1.08rem;margin:0 0 6px}
.answer .summary{margin:0;color:var(--mut);font-size:.93rem}
.intro{max-width:75ch;margin-top:16px}
.jump{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.jump a{font-size:.88rem;font-weight:600;text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card)}
.jump a:hover{border-color:var(--ink)}

/* tickets */
.tickets{display:grid;gap:16px}
.ticket{--stub:118px;position:relative;display:grid;grid-template-columns:var(--stub) minmax(0,1fr);background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line);
  -webkit-mask:radial-gradient(circle 11px at var(--stub) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at var(--stub) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 11px at var(--stub) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at var(--stub) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  scroll-margin-top:90px;animation:rise .5s both}
.lang-ar .ticket{-webkit-mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.ticket:target{box-shadow:0 0 0 3px var(--accent),var(--shadow)}
.stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--ink);color:#fff;border-start-start-radius:var(--r);border-end-start-radius:var(--r);
  border-inline-end:2px dashed color-mix(in srgb,var(--accent) 70%,transparent);padding:12px 6px;text-align:center}
.stub .big{font-family:Kufi,sans-serif;font-size:2rem;line-height:1;color:var(--accent)}
.stub .small{font-size:.8rem;color:#d7d1c3}
.ticket.best .stub{background:linear-gradient(160deg,var(--ink),color-mix(in srgb,var(--ink) 70%,var(--accent)))}
.ticket.best{border-color:var(--accent)}
.tbody{padding:16px 20px 16px 26px;min-width:0}
.lang-ar .tbody{padding:16px 26px 16px 20px}
.pick{display:inline-block;margin:0 0 6px;font-size:.75rem;font-weight:700;background:var(--accent);color:var(--ink);padding:2px 10px;border-radius:999px}
.tbody h3{margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 8px;padding:0}
.chips li{font-size:.76rem;font-weight:600;padding:2px 9px;border-radius:6px;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.chips .chip-end{background:color-mix(in srgb,#c2410c 12%,transparent);color:#9a3412}
.terms{margin:0 0 8px;font-size:.92rem;color:var(--mut)}
.conf{margin:0 0 12px;font-size:.86rem;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-inline-end:4px;background:currentColor}
.conf-high{color:var(--high)}.conf-medium{color:var(--medium)}.conf-unverified{color:var(--low)}
.conf b{font-weight:700}
.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.codebox{display:flex;max-width:100%;align-items:center;gap:0;border:2px dashed var(--ink);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--accent) 10%,#fff)}
.codebox .lbl{font-size:.75rem;font-weight:700;padding:0 10px;color:var(--mut)}
.codebox code{background:none;font-size:1.15rem;padding:8px 12px;letter-spacing:.12em}
.copy{font:700 .95rem Plex,sans-serif;border:0;background:var(--ink);color:#fff;padding:11px 18px;cursor:pointer;transition:background .15s}
.copy:hover{background:color-mix(in srgb,var(--ink) 80%,var(--accent))}
.copy.done{background:var(--high)}
.nocode{padding:9px 14px;font-weight:600;border-style:solid;border-color:var(--line)}
.go{font-weight:700;font-size:.93rem}
.vote{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.84rem;color:var(--mut)}
.vote button{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:2px 12px;cursor:pointer}
.vote button[aria-pressed=true]{background:var(--ink);color:#fff}
.legend{font-size:.88rem;color:var(--mut);margin-top:14px}

/* split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,4vw,44px);align-items:start}
.which{padding-inline-start:20px}.which li{margin-bottom:6px}
.variants{font-size:.85rem;color:var(--mut)}.variants span{display:inline-block;margin:2px 4px;padding:1px 8px;border:1px solid var(--line);border-radius:6px}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding-inline-start:46px;margin-bottom:12px;min-height:32px}
.steps li::before{content:counter(s);position:absolute;inset-inline-start:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--ink);font:700 1rem/32px Kufi,sans-serif;text-align:center}
.tips{background:var(--ink);color:#f2eee4;border-radius:var(--r);padding:20px 24px}
.tips h3{color:var(--accent);font-family:Kufi,sans-serif}.tips ul{margin:0;padding-inline-start:18px}

/* calculator */
.calc label{display:flex;gap:10px;align-items:center;font-weight:600;margin-bottom:12px;flex-wrap:wrap}
.calc input{font:inherit;width:150px;padding:8px 12px;border:2px solid var(--ink);border-radius:10px}
.save{font-weight:700;color:var(--high)}

/* facts */
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0}
.facts div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.facts dt{font-size:.8rem;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.facts dd{margin:2px 0 0}

/* events */
.events{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}
.events li{display:grid;grid-template-columns:minmax(150px,auto) 1fr auto;gap:4px 16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 16px}
.events li.on{border-color:var(--high);box-shadow:inset 4px 0 0 var(--high)}
.lang-ar .events li.on{box-shadow:inset -4px 0 0 var(--high)}
.ev-date{font-size:.85rem;color:var(--mut)}.ev-st{font-size:.82rem;font-weight:600;color:var(--mut)}
.events li.on .ev-st{color:var(--high)}

/* faq */
.faq{display:grid;gap:8px;max-width:900px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 18px}
.faq summary{cursor:pointer;font-weight:700;padding:10px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:inline-end;font-size:1.3rem;line-height:1;color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 12px}

/* misc lists */
.labels{list-style:none;padding:0}.labels li{margin-bottom:10px;color:var(--ink)}.labels li b{margin-inline-end:6px}
.labels .conf-high .dot{color:var(--high)}.labels .conf-medium .dot{color:var(--medium)}.labels .conf-unverified .dot{color:var(--low)}
.cats{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cats a{text-decoration:none;font-weight:600;font-size:.92rem;padding:5px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.cats a:hover{border-color:var(--accent)}
.changes{list-style:none;padding:0;font-size:.93rem}.changes li{padding:6px 0;border-bottom:1px dashed var(--line)}.changes time{color:var(--mut);font-size:.85rem}
.expired{color:var(--mut);font-size:.92rem}.expired code{text-decoration:line-through;background:#eee}
.other-country{margin-top:18px}

/* footer */
.foot{background:var(--ink);color:#d8d2c3;margin-top:64px;padding-block:36px;border-top:4px solid var(--accent)}
.foot-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
.foot a{display:block;color:#f0ebdf;text-decoration:none;margin-bottom:6px;font-size:.93rem}
.foot a:hover{color:var(--accent)}
.foot-name{font-family:Kufi,sans-serif;font-size:1.3rem;color:#fff;margin:0 0 6px}
.foot-h{font-weight:700;color:var(--accent);margin:0 0 8px}
.foot .small{color:#a9a392}

.toast{position:fixed;bottom:22px;inset-inline-start:50%;transform:translate(-50%,40px);opacity:0;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;transition:.25s;z-index:10;pointer-events:none;box-shadow:0 0 0 2px var(--accent)}
.lang-ar .toast{transform:translate(50%,40px)}
.toast.show{opacity:1;transform:translate(-50%,0)}.lang-ar .toast.show{transform:translate(50%,0)}

@media (max-width:820px){
  .split,.foot-in{grid-template-columns:1fr}
  .ticket{--stub:72px}.stub .big{font-size:1.35rem}.tbody,.lang-ar .tbody{padding:14px 14px 14px 18px}
  .codebox code{font-size:1rem;padding:8px;letter-spacing:.06em}.codebox .lbl{display:none}.copy{padding:10px 12px}
  .sh-id{align-items:flex-start}.logo-l{width:56px;height:56px;font-size:1.1rem}
  .events li{grid-template-columns:1fr}
  .mainnav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}
  .top{position:static}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
