/* /tickets/ sales page (2026-10-28). Uses the site tokens: --paper --ink --olive --gold --line. Logical properties keep RTL correct. */
.ticket-sales .page-mast{padding-block:40px 56px}
.ticket-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,420px);gap:48px;align-items:start}
.ticket-hero h1{margin:18px 0 20px}
.ticket-hero .lead{max-width:62ch;line-height:1.85;font-size:16px;color:#3f4b3f}
.offer-card{background:#fffdf7;border:1px solid #d3dac6;border-radius:12px;padding:28px;box-shadow:0 10px 30px #29352b0d}
.offer-card .offer-title{font-weight:600;font-size:15px;margin:0 0 18px;color:var(--ink)}
.offer-prices{margin:0 0 20px;display:grid;gap:12px}
.offer-prices>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-block:12px;border-bottom:1px solid #e6e9dd}
.offer-prices dt{font-size:15px;color:#3f4b3f}
.offer-prices dd{margin:0;text-align:end;white-space:nowrap}
.offer-prices .price{font:600 26px/1 Georgia,serif;color:var(--ink);font-variant-numeric:tabular-nums}
.offer-prices small{display:block;font-size:12px;color:#687164;margin-top:4px}
.offer-card .btn{width:100%;font-size:15px;padding:16px 20px;border-radius:6px}
.offer-card .btn:focus-visible,.ticket-sales a:focus-visible,.ticket-faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.offer-points{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:9px;font-size:14px;color:#3f4b3f}
.offer-points li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.offer-points li::before{content:"✓";color:var(--olive);font-weight:700;flex-shrink:0}
.offer-seller{font-size:12.5px;line-height:1.7;color:#5e6858;margin:18px 0 0;padding-top:14px;border-top:1px solid #e6e9dd}
.offer-seller a{text-decoration:underline}
.ticket-block{max-width:1100px;margin-inline:auto}
.ticket-block>h2,.ticket-faq>h2,.ticket-related>h2{font-size:clamp(28px,3vw,40px)}
.incl-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.incl-grid>div{border:1px solid var(--line);border-radius:10px;padding:24px;background:#fafaf5}
.incl-grid h3{font:600 15px 'DM Sans',Arial,sans-serif;margin:0 0 12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--olive)}
.incl-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.incl-grid li{display:flex;gap:10px;line-height:1.6;font-size:15px}
.incl-grid .yes li::before{content:"✓";color:var(--olive);font-weight:700}
.incl-grid .no li::before{content:"✕";color:#8a5a2b;font-weight:700}
.buy-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:step}
.buy-steps li{counter-increment:step;border-top:2px solid var(--olive);padding-top:18px}
.buy-steps li::before{content:counter(step);display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--olive);color:#fff;font-weight:700;font-size:14px}
.buy-steps h3{font:600 17px 'DM Sans',Arial,sans-serif;margin:14px 0 8px}
.buy-steps p{margin:0;line-height:1.7;font-size:14.5px;color:#4b5747}
.soon-box{border-inline-start:4px solid var(--gold);background:#f6f1e4;padding:22px 26px;border-radius:0 10px 10px 0;margin-top:22px}
html[dir=rtl] .soon-box{border-radius:10px 0 0 10px}
.soon-box p{margin:0 0 12px;line-height:1.8;max-width:75ch}
.soon-box p:last-child{margin:0}
.cancel-text p{line-height:1.8;max-width:75ch}
.cancel-text ul{margin:8px 0 16px;padding-inline-start:22px;line-height:1.8}
.cancel-text a{text-decoration:underline}
.ticket-faq{max-width:1100px;margin-inline:auto}
.ticket-faq details{border-bottom:1px solid #d8dfcb;padding:18px 4px}
.ticket-faq summary{cursor:pointer;color:#344c2d;line-height:1.6;list-style-position:outside}
.ticket-faq summary h3{display:inline;font:500 16px 'DM Sans',Arial,sans-serif}
.ticket-faq details p{font-size:15px;line-height:1.85;color:#4b5747;max-width:75ch}
.ticket-related{max-width:1100px;margin-inline:auto;border-top:1px solid #d8dfcb;padding-top:24px}
.ticket-related ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px 26px}
.ticket-related a{display:inline-block;padding-block:8px;text-decoration:underline;text-underline-offset:4px;color:var(--olive)}
.guide-buy{border:1px solid #d3dac6;background:#fffdf7;border-radius:12px;padding:24px 28px;max-width:900px;margin:0 auto}
.guide-buy h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 10px}
.guide-buy p{line-height:1.8;margin:0 0 14px}
.guide-buy .btn{display:inline-flex;width:auto}
@media(max-width:900px){.ticket-hero{grid-template-columns:1fr;gap:28px}.buy-steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ticket-sales .page-mast{padding-block:26px 36px}.incl-grid,.buy-steps{grid-template-columns:1fr}.offer-card{padding:22px}.offer-prices .price{font-size:24px}.soon-box{padding:18px}.ticket-related ul{display:grid}.guide-buy{padding:20px}.guide-buy .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.ticket-sales *{transition:none!important}}
/* Coming-soon state (2026-10-29): no sale on this site yet, official prices only */
.soon-card .soon-text{line-height:1.75;margin:0 0 18px;color:#3f4b3f}
.soon-card .btn{margin-top:0}
.soon-card .btn+.btn{margin-top:10px}
.btn-secondary{background:transparent;color:var(--olive);border:1px solid var(--olive)}
.btn-secondary:hover{background:#eef1e6}
.ticket-block .price-table-wrap{margin-top:22px;max-width:760px}
.ticket-block .review-note{margin-top:12px;font-size:14px;color:#4b5448;max-width:75ch}
.where-grid p{margin:0 0 10px;line-height:1.7}
.where-grid a{display:inline-block;padding-block:6px;text-decoration:underline;color:var(--olive)}
.hours-line{margin-top:22px;line-height:1.8}
.hours-line a{text-decoration:underline;color:var(--olive)}
