.pt-shell{--pt-accent:#111827;max-width:1100px;margin:24px auto;font-family:inherit;color:#111827}.pt-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;margin:0 0 20px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.pt-hero{background:linear-gradient(135deg,var(--pt-accent),#374151);color:#fff;border:0}.pt-hero h2{color:#fff;margin:4px 0 8px;font-size:clamp(28px,4vw,44px)}.pt-hero p{margin:0;opacity:.9}.pt-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em}.pt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pt-card label{display:flex;flex-direction:column;gap:7px;font-weight:700}.pt-card input,.pt-card select,.pt-card textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;background:#fff;color:#111827;font:inherit}.pt-payments{border:0;padding:0;margin:22px 0}.pt-payments legend{font-weight:800;margin-bottom:10px}.pt-radio{flex-direction:row!important;align-items:flex-start!important;border:1px solid #e5e7eb;border-radius:14px;padding:14px;margin:10px 0;cursor:pointer}.pt-radio input{width:auto;margin-top:4px}.pt-radio span{display:flex;flex-direction:column;gap:3px}.pt-radio small{font-weight:400;color:#64748b}.pt-button{appearance:none;border:0;border-radius:12px;background:var(--pt-accent,#111827);color:#fff!important;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.pt-button:disabled{opacity:.55;cursor:wait}.pt-summary{font-size:18px;margin:18px 0}.pt-message,.pt-scan-result{margin-top:16px;border-radius:14px;padding:14px;background:#f1f5f9}.pt-message.success,.pt-scan-result.accepted{background:#dcfce7;color:#166534}.pt-scan-result.info{background:#eff6ff;color:#1e3a8a}.pt-message.error,.pt-scan-result.invalid,.pt-scan-result.cancelled{background:#fee2e2;color:#991b1b}.pt-scan-result.already_used{background:#fef3c7;color:#92400e}.pt-scanner-video{background:#0f172a;border-radius:16px;overflow:hidden;min-height:220px;display:flex;align-items:center;justify-content:center}.pt-scanner-video video{width:100%;max-height:520px;display:block}.pt-scan-actions{margin:14px 0}.pt-manual{display:flex;gap:10px}.pt-manual input{flex:1}@media(max-width:720px){.pt-grid{grid-template-columns:1fr}.pt-card{padding:18px;border-radius:14px}.pt-manual{flex-direction:column}}

/* 5.1.2 – Ticket hero: force readable contrast against theme heading rules */
#pt-ticketshop .pt-hero,#pt-ticketshop .pt-hero *{color:#fff!important}
#pt-ticketshop .pt-hero h1,#pt-ticketshop .pt-hero h2,#pt-ticketshop .pt-hero h3{color:#fff!important;text-shadow:none!important}
#pt-ticketshop .pt-hero p{color:rgba(255,255,255,.88)!important;opacity:1!important}
#pt-ticketshop .pt-hero .pt-eyebrow{color:#fff!important}

/* 5.1.26 – Cask Passion public ticket hero only; checkout keeps the established ticketing layout */
#pt-ticketshop.pt-shell,#cp-ticket-page-hero.pt-shell{--pt-accent:#ef7542;max-width:1200px;margin:clamp(24px,4vw,48px) auto}
#pt-ticketshop .pt-hero,#cp-ticket-page-hero .pt-hero{position:relative;overflow:hidden;padding:clamp(28px,5vw,56px);background:radial-gradient(circle at 86% 18%,rgba(239,117,66,.22),transparent 18rem),linear-gradient(135deg,#211c00 0%,#3b3100 64%,#54380a 100%);border:1px solid rgba(255,255,255,.10);border-radius:24px;box-shadow:0 20px 48px rgba(48,40,4,.18)}
#pt-ticketshop .pt-hero:after,#cp-ticket-page-hero .pt-hero:after{content:"TICKETS";position:absolute;right:clamp(24px,5vw,58px);top:50%;transform:translateY(-50%);font-size:clamp(2.6rem,8vw,6.5rem);font-weight:900;letter-spacing:.08em;color:rgba(239,117,66,.085);pointer-events:none}
#pt-ticketshop .pt-hero>div,#cp-ticket-page-hero .pt-hero>div{position:relative;z-index:1;max-width:760px}
#pt-ticketshop .pt-hero .pt-eyebrow,#cp-ticket-page-hero .pt-hero .pt-eyebrow{color:#ef7542!important;font-size:.78rem;letter-spacing:.18em}
#pt-ticketshop .pt-hero h2,#cp-ticket-page-hero .pt-hero h2{margin:.35rem 0 .7rem;color:#fff!important;font-size:clamp(2.35rem,5vw,4.7rem);line-height:.96;letter-spacing:-.045em}
#pt-ticketshop .pt-hero p,#cp-ticket-page-hero .pt-hero p{max-width:660px;color:rgba(255,255,255,.82)!important;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.65;opacity:1!important}
@media(max-width:720px){#pt-ticketshop .pt-hero,#cp-ticket-page-hero .pt-hero{padding:28px 22px}#pt-ticketshop .pt-hero:after,#cp-ticket-page-hero .pt-hero:after{right:16px;font-size:3rem}}
