:root{--pine: #16382b;--pine-deep: #0e241c;--pine-mid: #1f5a40;--cta: #1b6b47;--cta-press: #145338;--ivory: #f4efe4;--paper: #f3f5f1;--surface: #ffffff;--ink: #14221a;--muted: #5d6b62;--line: #d5ddd6;--danger: #9b2c2c;--ok: #1b6b47;--accent: var(--pine);--accent-ink: var(--ivory);--touch: 4.5rem;--radius: 1rem;--header: 5.25rem;--cart: min(26rem, 34vw);--font: "Segoe UI", "Noto Sans Arabic", "Tahoma", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;touch-action:manipulation;overflow:hidden}button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}button:focus-visible{outline:3px solid var(--cta);outline-offset:3px}.app{height:100%;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink)}.app[data-colors=ivory]{--paper: #f3eee4;--ivory: #f7f3ea;--line: #e0d6c6;--accent: #544838;--accent-ink: #f7f3ea;--cta: #544838;--cta-press: #3f3629}.app[data-colors=ivory] .welcome-brand{background:var(--ivory);color:var(--pine)}.app[data-colors=ivory] .welcome-copy p,.app[data-colors=ivory] .welcome-note{color:var(--muted)}.app[data-colors=ivory] .welcome-langs{background:#f6f3eb}.welcome{flex:1;display:grid;grid-template-columns:minmax(18rem,.42fr) 1fr;min-height:0;position:relative}.welcome-fauna{display:none}.welcome-brand{background:var(--pine-deep);color:var(--ivory);padding:clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.welcome-brand:before,.welcome-brand:after{content:"";position:absolute;border-radius:50%;border:1px solid rgb(244 239 228 / .14);pointer-events:none}.welcome-brand:before{width:22rem;height:22rem;inset-inline-start:-8rem;top:-7rem}.welcome-brand:after{width:28rem;height:28rem;inset-inline-end:-8rem;bottom:-10rem}.app[data-colors=ivory] .welcome-brand:before,.app[data-colors=ivory] .welcome-brand:after{border-color:#16382b24}.logo-welcome,.welcome-copy,.welcome-note{position:relative;z-index:1}.logo-welcome{width:min(22rem,100%);height:auto;display:block}.logo-bar{height:3.4rem;width:auto;display:block}.chevron-fwd{display:block}.brand-lockup{display:flex;align-items:center;gap:.85rem}.brand-kicker{margin:0;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7;font-weight:600}.brand-name{margin:.15rem 0 0;font-size:1.05rem;font-weight:600}.welcome-copy{max-width:22rem}.welcome-copy h1{margin:0 0 .75rem;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;font-weight:650;letter-spacing:-.03em}.welcome-copy p{margin:0;font-size:1.15rem;line-height:1.45;color:#f4efe4c7}.welcome-note{margin:0;font-size:.95rem;line-height:1.45}.welcome-note-brand{position:relative;z-index:1;color:#f4efe48c}.welcome-note-foot{display:none}.app[data-colors=ivory] .welcome-note-brand{color:var(--muted)}.welcome-langs{background:var(--paper);padding:clamp(1.5rem,5vw,4.5rem);display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:1rem}.look-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.theme-switch{display:flex;align-items:center;gap:.2rem;padding:.2rem;border-radius:999px;background:#14221a14;width:fit-content}.theme-switch button{min-height:2.25rem;padding-inline:.95rem;border-radius:999px;font-weight:650;font-size:.85rem;color:var(--muted)}.theme-switch button.is-on{background:var(--accent);color:var(--accent-ink)}.welcome>.look-switch{position:absolute;top:1.1rem;inset-inline-end:1.25rem;z-index:5;max-width:min(36rem,calc(100% - 2rem));justify-content:flex-end}.app[data-layout=v2][data-colors=forest] .welcome>.look-switch .theme-switch{background:#ffffff24}.app[data-layout=v2][data-colors=forest] .welcome>.look-switch .theme-switch button.is-on{background:var(--ivory)}.lang-flag{width:2.6rem;height:2.6rem;border-radius:50%;flex-shrink:0;overflow:hidden;border:1px solid rgb(20 34 26 / .12)}.lang-btn{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem;width:100%;min-height:4.5rem;padding:.7rem 1.15rem;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);text-align:start;transition:border-color .12s ease,background .12s ease,transform 80ms ease}.lang-btn:hover{border-color:var(--pine-mid)}.lang-btn:active{transform:scale(.985)}.lang-btn strong{display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;min-height:0;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:650;letter-spacing:-.02em;text-align:left;direction:ltr;unicode-bidi:isolate}.lang-chevron{width:2.25rem;height:2.25rem;margin-inline-start:auto;border-radius:999px;background:var(--paper);display:grid;place-items:center;font-size:1.15rem;color:var(--accent)}.lang-chevron .chevron-fwd{width:14px;height:14px}.topbar{height:var(--header);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-inline:1.5rem;background:var(--surface);border-bottom:1px solid var(--line)}.topbar-brand{display:flex;align-items:center;gap:.7rem;min-width:0}.topbar-brand strong{font-size:.95rem;font-weight:650;white-space:nowrap}.topbar-brand em{display:block;font-style:normal;color:var(--muted);font-size:.8rem;font-weight:500}.steps{display:flex;align-items:center;gap:.35rem}.step{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:600;font-size:.95rem}.step.is-on,.step.is-done{color:var(--accent)}.step-n{width:1.75rem;height:1.75rem;border-radius:999px;display:grid;place-items:center;font-size:.8rem;background:var(--paper);border:1px solid var(--line)}.step.is-on .step-n{background:var(--cta);color:var(--accent-ink);border-color:var(--cta)}.step.is-done .step-n{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.step-line{width:2rem;height:1px;background:var(--line)}.topbar-actions{display:flex;align-items:center;gap:.5rem}.lang-mini{display:flex;background:var(--paper);border-radius:999px;padding:.2rem}.lang-mini button{min-width:3.25rem;height:2.5rem;border-radius:999px;font-weight:650;font-size:.85rem;color:var(--muted)}.lang-mini button.is-on{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}.ghost{min-height:2.75rem;padding-inline:1rem;border-radius:.75rem;border:1px solid var(--line);font-weight:650;background:var(--surface)}.ghost:active{background:var(--paper)}.stage{flex:1;min-height:0;display:flex}.tickets{flex:1;min-width:0;overflow:auto;padding:1.25rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem}.panel-label{margin:0 0 .65rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dates{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.15rem}.dates::-webkit-scrollbar{height:0}.date-btn{flex:0 0 4.75rem;height:5.25rem;border-radius:.9rem;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}.date-btn small{font-size:.75rem;color:var(--muted);text-transform:capitalize}.date-btn strong{font-size:1.45rem;letter-spacing:-.03em}.date-btn.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.date-btn.is-on small{color:color-mix(in srgb,var(--accent-ink) 72%,transparent)}.products{display:flex;flex-direction:column;gap:.65rem}.products .panel-label{margin-top:.35rem}.product{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem;min-height:6.25rem;padding:1rem 1.15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.product-icon{width:3.5rem;height:3.5rem;color:var(--accent);display:grid;place-items:center;flex-shrink:0}.product-icon .pict,.choice-icon .pict{width:100%;height:100%;display:block}.product h3{margin:0 0 .2rem;font-size:1.25rem;font-weight:650}.product p{margin:0;color:var(--muted);font-size:.95rem}.price{font-size:1.35rem;font-weight:700;letter-spacing:-.03em;white-space:nowrap}.stepper{display:flex;align-items:center;gap:.35rem;background:var(--paper);border-radius:999px;padding:.25rem}.stepper button{width:var(--touch);height:var(--touch);border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:1.6rem;line-height:1;color:var(--ink)}.stepper button:disabled{opacity:.35}.stepper .plus{background:var(--cta);color:var(--accent-ink);border-color:var(--cta)}.stepper .plus:active{background:var(--cta-press)}.stepper output{min-width:2.25rem;text-align:center;font-size:1.35rem;font-weight:700}.cart{width:var(--cart);flex-shrink:0;background:var(--surface);border-inline-start:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.cart-head{padding:1.25rem 1.35rem .9rem}.cart-head h2{margin:0;font-size:1.35rem}.cart-date{margin:.45rem 0 0;color:var(--muted);font-size:.95rem}.cart-list{flex:1;overflow:auto;padding:.25rem 1.35rem 1rem}.cart-empty{color:var(--muted);padding:1.5rem 0}.cart-row{display:flex;justify-content:space-between;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.cart-row strong{display:block}.cart-row small{color:var(--muted)}.cart-foot{padding:1.15rem 1.35rem 1.4rem;border-top:1px solid var(--line)}.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.9rem}.cart-total span{color:var(--muted);font-weight:600}.cart-total strong{font-size:1.85rem;letter-spacing:-.03em}.pay-btn{width:100%;min-height:4.5rem;border-radius:.9rem;background:var(--cta);color:var(--accent-ink);font-size:1.25rem;font-weight:700}.pay-btn:disabled{background:var(--line);color:var(--muted)}.pay-btn:not(:disabled):active{background:var(--cta-press)}.secure{margin:.7rem 0 0;text-align:center;color:var(--muted);font-size:.85rem}.center-stage{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0}.recap,.prompt{padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center}.recap{background:var(--paper)}.prompt{background:var(--surface);border-inline-start:1px solid var(--line);align-items:center;text-align:center}.recap h1,.prompt h1,.thanks h1{margin:0 0 1.25rem;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em}.recap-card,.ticket-card{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:1.25rem 1.4rem}.recap-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.recap-row:last-child{border-bottom:0;padding-bottom:0;margin-top:.35rem}.amount{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;letter-spacing:-.04em;margin:.35rem 0 1rem}.pulse-ring{width:8.5rem;height:8.5rem;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;margin-bottom:1.25rem;position:relative}.pulse-ring:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;border:1px solid var(--cta);opacity:.35;animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{transform:scale(.92);opacity:.5}to{transform:scale(1.12);opacity:0}}.contactless{width:2.6rem;height:2.6rem;color:var(--cta)}.prompt p{margin:.2rem 0;color:var(--muted);font-size:1.1rem}.thanks{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem;text-align:center}.check{width:4.5rem;height:4.5rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}.check svg{width:2rem;height:2rem}.ticket-card{width:min(28rem,92vw);text-align:start}.ticket-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.qr{width:5.5rem;height:5.5rem;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px;border:1px solid var(--line)}.qr i{background:var(--ink);display:block}.qr i:nth-child(3n){opacity:.15}.done-btn{min-width:16rem;min-height:4rem;border-radius:.9rem;background:var(--cta);color:var(--accent-ink);font-size:1.2rem;font-weight:700}.is-tap-next{cursor:pointer}.idle{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a8c;display:grid;place-items:center;z-index:20}.idle-card{background:var(--surface);border-radius:1.1rem;padding:2rem 2.25rem;width:min(28rem,90vw);text-align:center}.idle-card h2{margin:0 0 1.25rem;font-size:1.75rem}.app[data-layout=v2] .welcome{grid-template-columns:1fr;grid-template-rows:auto auto auto;align-content:center;row-gap:.55rem;background:var(--pine-deep);overflow:hidden;isolation:isolate}.app[data-layout=v2] .welcome:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 58% 52% at 50% 38%,rgb(255 255 255 / .07),transparent 70%)}.app[data-layout=v2][data-colors=ivory] .welcome:before{background:radial-gradient(ellipse 70% 58% at 78% 36%,rgb(227 148 42 / .14),transparent 68%)}.app[data-layout=v2] .welcome-fauna{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.app[data-layout=v2] .welcome-fauna .fauna-hex{fill:none;stroke:#f4efe424;stroke-width:.75}.app[data-layout=v2] .welcome-fauna .fauna-ring{fill:none;stroke:#f4efe41f;stroke-width:1.2}.app[data-layout=v2] .welcome-fauna .fauna-animal,.app[data-layout=v2] .welcome-fauna .fauna-lion{fill:none;stroke:#f4efe46b;stroke-linecap:round;stroke-linejoin:round}.app[data-layout=v2] .welcome-fauna .fauna-lion{stroke:#f4efe49e}.app[data-layout=v2] .welcome-fauna .fauna-fill{fill:#f4efe40f}.app[data-layout=v2] .welcome-fauna .fauna-birds{stroke:#f4efe480}.app[data-layout=v2][data-colors=ivory] .welcome-fauna .fauna-hex{stroke:#9a7b4533}.app[data-layout=v2][data-colors=ivory] .welcome-fauna .fauna-ring{stroke:#9a7b4529}.app[data-layout=v2][data-colors=ivory] .welcome-fauna .fauna-animal{stroke:#9a7b457a}.app[data-layout=v2][data-colors=ivory] .welcome-fauna .fauna-lion{stroke:#6e542c94}.app[data-layout=v2][data-colors=ivory] .welcome-fauna .fauna-fill{fill:#9a7b4512}.app[data-layout=v2][data-colors=ivory] .welcome-fauna .fauna-birds{stroke:#c4741680}.app[data-layout=v2][data-bg=plain] .welcome-fauna,.app[data-layout=v2][data-bg=plain] .welcome:before{display:none}.app[data-layout=v2] .welcome-brand,.app[data-layout=v2] .welcome-langs,.app[data-layout=v2] .welcome-note-foot{position:relative;z-index:1}.app[data-layout=v2] .welcome-brand,.app[data-layout=v2] .welcome-langs,.app[data-layout=v2] .welcome-note-foot{grid-column:1;grid-row:auto}.app[data-layout=v2] .welcome-note-brand{display:none}.app[data-layout=v2] .welcome-note-foot{display:block}.app[data-layout=v2][data-colors=ivory] .welcome{background:var(--ivory)}.app[data-layout=v2] .welcome-brand{align-items:center;text-align:center;justify-content:center;gap:.9rem;padding:1.25rem 1.5rem .2rem;margin-bottom:3.75rem;min-height:0;background:transparent;overflow:visible}.app[data-layout=v2] .welcome-brand:before,.app[data-layout=v2] .welcome-brand:after{display:none}.app[data-layout=v2] .logo-welcome{width:min(17.5rem,52%);margin-inline:auto}.app[data-layout=v2] .welcome-copy{max-width:40rem}.app[data-layout=v2] .welcome-copy h1{margin:0 0 .45rem;font-size:clamp(2.35rem,4.4vw,3.35rem)}.app[data-layout=v2] .welcome-copy p{font-size:1.25rem}.app[data-layout=v2] .welcome-note-foot{max-width:34rem;margin-inline:auto;padding:.35rem 1.5rem 1.1rem;text-align:center;font-size:.9rem}.app[data-layout=v2][data-colors=forest] .welcome-note-foot{color:#f4efe4b3}.app[data-layout=v2] .welcome-langs{flex-direction:row;align-items:center;justify-content:center;padding:.35rem clamp(1rem,4vw,2.5rem) .5rem;gap:1rem;background:transparent}.app[data-layout=v2] .lang-flag{width:3.5rem;height:3.5rem}.app[data-layout=v2] .lang-btn{flex:0 1 16.5rem;width:16.5rem;max-width:16.5rem;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;min-height:12.5rem;text-align:center;padding:1.65rem 1.15rem 1.45rem}.app[data-layout=v2] .lang-btn strong{justify-content:center;text-align:center;font-size:1.4rem}.app[data-layout=v2] .lang-chevron{display:none}.app[data-layout=v2] .tickets{padding-bottom:.75rem}.app[data-layout=v2] .browse{display:flex;flex-direction:column;gap:.85rem;flex:1;min-height:0}.app[data-layout=v2] .browse-toolbar{display:flex;align-items:center;gap:1.1rem}.app[data-layout=v2] .browse-back{min-height:5.25rem;padding:0 1.85rem;border-radius:.9rem;border:1px solid var(--line);background:var(--surface);font-weight:650;font-size:1.28rem;letter-spacing:-.02em}.app[data-layout=v2] .browse-path{margin:0;font-weight:650;font-size:1.45rem;letter-spacing:-.02em}.app[data-layout=v2] .dates{width:100%}.app[data-layout=v2] .date-btn{flex:1 1 0;min-width:0}.app[data-layout=v2] .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;width:100%;align-content:start}.app[data-layout=v2] .choice-btn{width:100%;min-height:16.5rem;padding:1.6rem 1.25rem 1.35rem;border-radius:calc(var(--radius) + 4px);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.app[data-layout=v2] .choice-icon{width:8.25rem;height:8.25rem;padding:.85rem;color:var(--accent);display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent)}.app[data-colors=ivory] .choice-icon{color:var(--accent-ink);background:var(--accent)}.app[data-layout=v2] .choice-btn strong{font-size:1.62rem;font-weight:650;letter-spacing:-.02em;line-height:1.2;max-width:none}.app[data-layout=v2] .choice-btn:active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.app[data-layout=v2] .products{display:grid;grid-template-columns:1fr 1fr}.app[data-layout=v2] .products .panel-label{grid-column:1 / -1}.app[data-layout=v2] .product{grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;align-items:start;min-height:0;gap:.55rem .85rem}.app[data-layout=v2] .product-icon{width:4.25rem;height:4.25rem;grid-row:1 / span 2}.app[data-layout=v2] .product .price{justify-self:start;grid-column:2}.app[data-layout=v2] .product .stepper{justify-self:stretch;width:100%;grid-column:1 / -1;justify-content:space-between}.app[data-layout=v2] .center-stage{grid-template-columns:1fr 1fr;grid-template-areas:"prompt recap"}.app[data-layout=v2] .prompt{grid-area:prompt;border-inline-start:0;border-inline-end:1px solid var(--line)}.app[data-layout=v2] .recap{grid-area:recap}@media (max-width: 960px){.welcome{grid-template-columns:1fr}.welcome-brand{min-height:34vh}.app[data-layout=v2] .welcome-brand{min-height:0}.center-stage{grid-template-columns:1fr}.cart{width:min(22rem,42vw)}.product{grid-template-columns:1fr auto;grid-template-rows:auto auto}.product .price{grid-column:1}.stepper{grid-column:2;grid-row:1 / span 2}}@media (max-width: 720px){.steps,.cart{display:none}.pay-btn.mobile-pay{display:block}}
