@font-face{font-family:Hanken;src:url('/fonts/hankengrotesk-var.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:DMSerif;src:url('/fonts/dmserifdisplay-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:DMSerif;src:url('/fonts/dmserifdisplay-400-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{color-scheme:light;--bg:#f7f4ec;--paper:#fffefa;--ink:#25251f;--muted:#69665c;--gold:#f0b91e;--gold-dark:#826013;--border:#dedbd1;--error:#a32c24;--navy:#1b243a;--checkout-paper:#f7f2e6}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Hanken,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a{color:inherit;text-underline-offset:4px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;touch-action:manipulation}
button:disabled{cursor:not-allowed;opacity:.58}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:var(--navy);color:white;z-index:20;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.top{max-width:1160px;margin:auto;padding:25px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;letter-spacing:2px;font-weight:850;font-size:19px;line-height:1.15;color:var(--navy)}
.brand span{display:block;font-size:10px;letter-spacing:3.2px;margin-top:5px}
.secure{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);text-align:right;max-width:235px}
.secure svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--gold-dark);stroke-width:1.7}
main{max-width:1160px;margin:auto}
.intro{padding:26px 0 30px}
.back-link{display:inline-flex;align-items:center;min-height:32px;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:24px}
.back-link:hover{color:var(--ink);text-decoration:underline}
.eyebrow{color:var(--gold-dark);font-size:10px;letter-spacing:2px;font-weight:800;margin:0 0 12px}
h1{font:400 clamp(37px,4.4vw,56px)/1.06 DMSerif,Georgia,serif;letter-spacing:-1.2px;margin:0 0 16px}
h1 br{display:none}
h1 em{color:var(--gold-dark);font-weight:400}
.intro>p:last-child{color:var(--muted);margin:0;font-size:15px}
.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px;align-items:start}
.summary{grid-column:2;grid-row:1;position:static;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#efebe0}
.composer-cover{width:100%;height:auto;aspect-ratio:3/2;display:block;background:#26231b}
.summary-content{padding:28px 30px 26px}
.summary h2{font:400 30px/1.2 DMSerif,Georgia,serif;margin:0}
.summary #quantityLabel{font-size:14px;color:var(--muted);margin:7px 0 22px}
.total-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.price{font-size:40px;font-weight:750;letter-spacing:-1.7px;line-height:1.2;margin:8px 0 3px}
.summary #priceNote{font-size:12px;color:var(--muted);margin:0}
hr{border:0;border-top:1px solid #d7d1c2;margin:23px 0}
.benefits{padding:0;list-style:none;font-size:13px;margin:0}
.benefits li{margin:11px 0;padding-left:22px;position:relative}
.benefits li:before{content:'';position:absolute;left:2px;top:6px;width:6px;height:10px;border-right:1.8px solid var(--gold-dark);border-bottom:1.8px solid var(--gold-dark);transform:rotate(45deg)}
.summary-note{border-left:2px solid #be963a;padding-left:14px;font-size:13px;line-height:1.6;color:var(--muted);margin:22px 0 13px}
.subtle{font-size:12px;display:inline-flex;align-items:center;min-height:32px}
.checkout{grid-column:1;grid-row:1;min-width:0;background:var(--paper);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:0 10px 40px #3b321608}
fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}
fieldset+fieldset{border-top:1px solid var(--border);padding-top:26px}
legend{float:left;width:100%;font-size:20px;font-weight:750;margin-bottom:10px;display:flex;align-items:center;gap:12px}
legend+*{clear:both}
.step{color:var(--gold-dark);background:#f5edcf;border-radius:50%;display:inline-grid;place-items:center;width:30px;height:30px;flex:none;font-size:11px;letter-spacing:.5px;font-weight:800}
.hint{font-size:12px;line-height:1.6;color:var(--muted);margin:4px 0 18px}
label{display:block;font-size:13px;font-weight:650;margin:15px 0 7px}
input,select,textarea{width:100%;min-width:0;border:1px solid #b8b4a7;border-radius:9px;background:#fff;color:var(--ink);padding:13px 14px;min-height:50px;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#817d71;opacity:1}
input:focus,select:focus,textarea:focus{border-color:var(--gold-dark);box-shadow:0 0 0 3px #b88b2414;outline:none}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-dark);outline-offset:2px}
.buyer-contact{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:8px}
.method{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #b8b4a7;border-radius:11px;padding:16px 13px;background:#fff;color:var(--ink);min-height:79px;font-size:15px;font-weight:750}
.method svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.method small{display:block;color:var(--muted);font-size:11px;line-height:1.4;font-weight:450;margin-top:3px}
.method-check{flex:none;margin-left:auto;width:14px;height:14px;border:1px solid #a6a193;border-radius:50%}
.method.selected{border:1.5px solid var(--gold-dark);background:#fbf4de;padding:15.5px 12.5px}
.method.selected .method-check{border:4px solid var(--gold-dark);background:#fff}
.method:hover:not(:disabled){border-color:var(--gold-dark)}
.payment-hint{margin-top:16px;border-radius:10px;background:#f5f3eb;padding:17px 18px;font-size:13px}
.payment-hint strong{font-weight:650}
.payment-hint p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.terms{color:var(--muted);font-size:11px;line-height:1.75;margin:0 0 18px}
.terms a{color:var(--ink)}
.primary{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;border:1px solid #d7a219;border-radius:10px;padding:15px 18px;background:var(--gold);color:#302507;font-size:15px;line-height:1.4;font-weight:800;text-align:center;text-decoration:none;transition:background .15s,box-shadow .15s}
.primary:hover:not(:disabled){background:#fac633;box-shadow:0 5px 16px #b087171f}
.primary:active:not(:disabled){background:#e4ae16}
.primary:disabled{background:#ede8d8;border-color:#d5ceba;color:#68614e;opacity:1}
.processor{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;color:var(--muted);font-size:11px;line-height:1.5;text-align:center;margin:14px 0 0}
.processor strong{color:var(--ink)}
.processing{display:flex;align-items:center;gap:14px;background:#faf4e1;border:1px solid #d3bd83;border-radius:11px;padding:18px;margin-top:16px}
.processing strong{font-size:14px;display:block}
.processing p{font-size:12px;line-height:1.5;margin:4px 0 0;color:#665b40}
.spinner{flex:none;width:23px;height:23px;border:2px solid #d8cba4;border-top-color:var(--gold-dark);border-radius:50%;animation:spin .85s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#fields[data-busy=true] .methods,#fields[data-busy=true] fieldset{opacity:.7}
#result{outline:none;scroll-margin-top:24px}
#result h2{font:400 32px/1.2 DMSerif,Georgia,serif;margin:0 0 16px}
#resultText{color:var(--muted);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
#qr{display:block;width:228px;height:228px;max-width:100%;object-fit:contain;margin:24px auto;background:white;border-radius:8px;border:12px solid white}
#pixCode{font-size:13px;line-height:1.65;padding:18px 20px;min-height:132px;resize:vertical;margin-bottom:14px;overflow-wrap:anywhere;word-break:break-all}
.pix-validity{max-width:300px;margin:0 auto 26px;padding:16px 18px;text-align:center;background:#efe6cc;border:1px solid #d8c694;border-radius:12px}
#pixCountdownLabel{display:block;font-size:12px;color:#65521f}
#pixCountdown{display:block;font-size:38px;line-height:1.25;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;color:#25251f;margin:3px 0}
#pixValidity #expires{text-align:center;margin:3px 0 0;font-size:11px}
#copyPix[data-copied=true]{background:#17643f;border-color:#17643f;color:#fff;box-shadow:none}
#message[data-pix-copy]{font-size:15px;font-weight:650;line-height:1.55;padding:18px;border:2px solid #be862b}
#message[data-pix-copy=success]{background:#e5f3e9;border-color:#268151;color:#154b30}
#message[data-pix-copy=success]:before{content:'✓';display:inline-grid;place-items:center;vertical-align:middle;width:25px;height:25px;margin-right:8px;border-radius:50%;background:#17643f;color:#fff;font-size:17px;font-weight:800}
#access,#retry{margin-top:22px}
#message:empty{display:none}
#message{padding:15px 17px;border-radius:9px;background:#faf0dd;color:#795112;font-size:13px;line-height:1.6;margin:18px 0 0;overflow-wrap:anywhere}
.support{border-top:1px solid var(--border);padding-top:21px;margin:23px 0 0;text-align:center;font-size:12px;color:var(--muted)}
.support a{color:var(--ink);display:inline-block;min-height:28px}
footer{display:flex;justify-content:space-between;gap:18px;padding:30px 0 40px;color:var(--muted);font-size:11px}
@media(min-width:1280px){.intro{padding-top:27px}.layout{gap:38px}}
@media(max-width:1230px){.top,main{width:calc(100% - 64px)}}
@media(max-width:1024px){.layout{gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.checkout{padding:25px}.summary-content{padding:24px}.buyer-contact{grid-template-columns:1fr;gap:0}.method{gap:8px;padding:14px 10px}.method.selected{padding:13.5px 9.5px}.method-check{display:none}.method small{font-size:11px}h1{font-size:47px}}
@media(max-width:760px){.top,main{width:calc(100% - 36px)}.top{padding:21px 0}.brand{font-size:16px}.brand span{font-size:8px;letter-spacing:2.7px}.secure{max-width:150px;font-size:10px}.intro{padding:18px 0 23px}.back-link{margin-bottom:15px;font-size:12px}h1{font-size:38px;letter-spacing:-.7px}h1 br{display:block}.intro>p:last-child{font-size:13px;max-width:33ch}.layout{display:flex;flex-direction:column;gap:22px}.summary{position:static;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border-radius:14px}.composer-cover{width:100%;height:100%;object-fit:cover;object-position:40% center}.summary-content{padding:18px}.summary .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:7px}.summary h2{font-size:24px}.summary #quantityLabel{font-size:11px;margin:5px 0 12px}.total-line{font-size:8px;letter-spacing:.5px}.price{font-size:28px;letter-spacing:-1px;margin:5px 0}.summary #priceNote{font-size:10px}.summary hr,.summary .benefits,.summary-note{display:none}.subtle{font-size:11px;margin-top:5px;min-height:30px}.checkout{width:100%;padding:23px 21px;border-radius:14px}.method-check{display:block}.methods{gap:10px}.method{padding:14px 10px}.method.selected{padding:13.5px 9.5px}.method svg{width:19px;height:19px}.method small{font-size:10px}.terms{font-size:11px}.processor{font-size:10px}legend{font-size:19px}.step{width:28px;height:28px}.primary{font-size:14px}.support{font-size:11px}footer{flex-direction:column;text-align:center;gap:8px;padding:24px 0 30px}}
@media(max-width:400px){.summary{display:block}.composer-cover{aspect-ratio:3/2;height:auto;object-fit:contain}.summary-content{padding:17px 20px;display:grid;grid-template-columns:1fr auto;column-gap:12px}.summary .eyebrow{grid-column:1 / -1}.summary h2,.summary #quantityLabel,.summary .subtle{grid-column:1}.summary .total-line{display:none}.summary .price{grid-column:2;grid-row:2;font-size:27px;align-self:center}.summary #priceNote{grid-column:2;grid-row:3;max-width:15ch;text-align:right}.summary #quantityLabel{max-width:15ch;margin:5px 0}.summary .subtle{grid-column:1 / -1;margin-top:3px}.method-check{display:none}.checkout{padding:22px 18px}.row{gap:10px}.secure{max-width:125px}.primary{padding-inline:10px}}
/* Controles e placeholders mantêm contraste legível sobre as superfícies claras. */
input,select,textarea,.method{border-color:#8d887a}
input::placeholder,textarea::placeholder{color:#736f64}
.method-check{border-color:#8d887a}
@media(max-width:760px){.summary{display:block}.composer-cover{aspect-ratio:2/1;height:auto;object-fit:cover;object-position:center}.summary-content{padding:17px 20px;display:grid;grid-template-columns:1fr auto;column-gap:12px}.summary .eyebrow{grid-column:1 / -1}.summary h2,.summary #quantityLabel,.summary .subtle{grid-column:1}.summary .total-line{display:none}.summary .price{grid-column:2;grid-row:2;font-size:27px;align-self:center}.summary #priceNote{grid-column:2;grid-row:3;max-width:15ch;text-align:right}.summary #quantityLabel{max-width:none;margin:5px 0}.summary .subtle{grid-column:1 / -1;margin-top:3px}}
/* Continuidade com a landing: fundo azul-marinho, dourado e creme da marca. */
body{background:radial-gradient(ellipse at 12% 0%,#f0b91e0b,transparent 55%),#0b0f26}
main{padding-top:24px}
.layout{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
.summary{grid-column:1;background:#10162e;border-color:#c9a24a55;color:#f7f2e6}
.checkout{grid-column:2;background:var(--checkout-paper);border-color:#c9a24a66}
.summary h1{font:400 30px/1.2 DMSerif,Georgia,serif;letter-spacing:-.3px;margin:0}
.summary .eyebrow,.summary .subtle,.summary .benefits li:before{color:#f0b91e}
.summary .benefits li:before{border-color:#f0b91e}
.summary #quantityLabel,.summary #priceNote,.summary .total-line,.summary-note{color:#b9bfd8}
.summary hr{border-color:#c9a24a38}
.primary{border-radius:999px;background:linear-gradient(180deg,#ffd24a,#f0b91e);color:#1a1405;box-shadow:0 8px 24px -14px #b68500aa}
.primary:disabled{background:#ede8d8;box-shadow:none}
.secure{display:block;max-width:none;text-align:center;font-size:11px;margin:7px 0 0}
.checkout-help{font-size:12px;line-height:1.7;color:#69665c;margin:22px 0 12px;padding-top:18px;border-top:1px solid #dcd4c2}
.checkout-help a,.terms a{color:#51451f}
.terms{font-size:11px;line-height:1.7;margin:0;color:#69665c}
footer{color:#b9bfd8}
@media(max-width:1024px){.layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}
@media(max-width:760px){main{padding-top:0;width:100%}.layout{gap:18px}.summary{border:0;border-radius:0;background:#10162e}.composer-cover{border-radius:0;aspect-ratio:2/1}.summary-content{padding:20px 24px}.summary h1{grid-column:1;font-size:25px}.checkout{width:calc(100% - 32px);margin-inline:auto}.summary .price{font-size:29px}.summary #quantityLabel,.summary #priceNote{font-size:12px}.summary .subtle{font-size:12px}.summary .eyebrow{font-size:10px}footer{padding-inline:20px}.terms{font-size:11px}}
.plan-upgrade{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #c9a24a38}
.plan-upgrade[hidden]{display:none}
.plan-upgrade span{display:block;font-size:12px;color:#f7f2e6}
.plan-upgrade small{display:block;font-size:12px;color:#b9bfd8;margin-top:4px}
.plan-upgrade em{font-style:normal;color:#b9bfd8}
.summary #quantityLabel{color:#f7f2e6;font-weight:700;font-size:16px}
.contact-memory-note{margin:12px 0 0;font-size:11px;line-height:1.6;color:#69665c}
.contact-memory-note[hidden]{display:none}
.contact-memory-note button{border:0;border-radius:0;background:none;color:#51451f;padding:4px 0;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.plan-controls{display:flex;gap:8px;flex-shrink:0}
.plan-upgrade button{display:grid;place-items:center;padding:0;flex:0 0 44px;width:44px;height:44px;border:1px solid #f0b91e;border-radius:50%;background:#f0b91e;color:#10162e;cursor:pointer}
.plan-upgrade button svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.plan-upgrade button:hover{background:#ffd24a}
.plan-upgrade button:focus-visible{outline:3px solid #f7f2e6;outline-offset:4px}
.plan-upgrade button:disabled{opacity:.35;cursor:default}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
  .festival-card-preview{margin:4px 0 17px;text-align:center}
  .festival-card-scene{width:min(100%,390px);aspect-ratio:1.586/1;margin:0 auto;perspective:1200px;cursor:pointer;outline:none;border-radius:18px}
  .festival-card-scene:focus-visible{box-shadow:0 0 0 3px rgba(250,199,12,.48)}
  .festival-card-visual{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.16,.75,.22,1),filter .25s ease;will-change:transform;transform:translateY(0) rotateY(0)}
  .festival-card-visual.is-focused{transform:translateY(-5px) rotateY(0);filter:drop-shadow(0 20px 22px rgba(0,0,0,.3))}
  .festival-card-visual.is-flipped,.festival-card-visual.is-flipped.is-focused{transform:translateY(-5px) rotateY(180deg)}
  .festival-card-face{position:absolute;inset:0;border-radius:20px;overflow:hidden;backface-visibility:hidden;box-shadow:0 20px 50px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.3);text-align:left;color:#fff}
  .festival-card-front{padding:20px;background:radial-gradient(circle at 84% 10%,rgba(255,217,79,.28),transparent 30%),radial-gradient(circle at 5% 100%,rgba(59,130,246,.32),transparent 42%),linear-gradient(140deg,#202d62 0%,#121a42 48%,#070c22 100%);border:1px solid rgba(255,255,255,.24)}
  .festival-card-front:after,.festival-card-back:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.2),transparent 25%,transparent 67%,rgba(255,255,255,.05))}
  .festival-card-orbit{position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-94px;bottom:-112px;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018)}
  .festival-card-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
  .festival-card-brand{font-size:.73rem;font-weight:900;letter-spacing:.18em;color:var(--gold,#fac70c);text-transform:uppercase}
  .festival-card-logo{font-size:.78rem;font-weight:900;font-style:italic;letter-spacing:.07em;color:rgba(255,255,255,.92)}
  .festival-card-chip-row{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;margin-top:23px}
  .festival-card-chip{width:42px;height:31px;border-radius:7px;background:linear-gradient(135deg,#f8e49b,#a9893e);box-shadow:inset 0 0 0 1px rgba(44,30,3,.28);position:relative}
  .festival-card-chip:after{content:"";position:absolute;inset:7px 0;border-top:1px solid rgba(44,30,3,.35);border-bottom:1px solid rgba(44,30,3,.35)}
  .festival-card-contactless{width:28px;height:28px;opacity:.74;stroke:#fff;fill:none;stroke-width:1.7}
  .festival-card-number{position:relative;z-index:1;margin-top:18px;font:700 clamp(.94rem,3.2vw,1.32rem)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.075em;text-shadow:0 2px 5px rgba(0,0,0,.28);white-space:nowrap;transition:color .2s,transform .2s}
  .festival-card-visual.is-number-active .festival-card-number{color:#ffe071;transform:translateY(-2px)}
  .festival-card-meta{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;gap:12px;z-index:1;text-transform:uppercase}
  .festival-card-meta small{display:block;font-size:.48rem;letter-spacing:.13em;color:rgba(255,255,255,.62);margin-bottom:4px}
  .festival-card-meta strong{display:block;font-size:.69rem;letter-spacing:.06em;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s,transform .2s}
  .festival-card-visual.is-name-active #festivalCardPreviewName,.festival-card-visual.is-expiry-active #festivalCardPreviewExpiry{color:#ffe071;transform:translateY(-2px)}
  .festival-card-back{transform:rotateY(180deg);background:radial-gradient(circle at 8% 90%,rgba(59,130,246,.24),transparent 38%),linear-gradient(140deg,#17204a,#070c22);border:1px solid rgba(255,255,255,.2);padding-top:20px}
  .festival-card-stripe{height:45px;background:linear-gradient(90deg,#02030a,#080a13 55%,#02030a);box-shadow:0 2px 8px rgba(0,0,0,.42)}
  .festival-card-back-row{display:grid;grid-template-columns:1fr 48px;gap:12px;align-items:end;margin:14px 20px 0}
  .festival-card-cvv-label{font-size:.5rem;letter-spacing:.13em;color:rgba(255,255,255,.62);margin:0 0 5px;text-transform:uppercase}
  .festival-card-signature{height:36px;background:repeating-linear-gradient(0deg,#fff 0,#fff 3px,#eef0f5 3px,#eef0f5 5px);color:#12172f;border-radius:5px;padding:6px 9px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
  .festival-card-back-name{font:italic 700 .68rem/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:78%;color:#37405a}
  .festival-card-cvv{min-width:36px;text-align:right;font:800 .82rem/20px ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border-radius:5px;color:#11182f;height:36px;display:grid;place-items:center;padding:0 6px}
  .festival-card-hologram{width:42px;height:42px;border-radius:9px;background:conic-gradient(from 25deg,#7dd3fc,#fef08a,#f0abfc,#6ee7b7,#7dd3fc);opacity:.7;filter:saturate(.7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
  .festival-card-back-note{position:absolute;left:20px;right:20px;bottom:15px;color:rgba(255,255,255,.5);font-size:.61rem;line-height:1.35;z-index:1}
  .festival-card-hint{margin:10px 0 0;color:rgba(255,255,255,.5);font-size:.7rem}
  .festival-card-hint b{color:rgba(255,255,255,.72);font-weight:700}

.festival-card-preview{margin:22px 0 30px}.festival-card-scene{max-width:350px}.festival-card-brand{font-size:10px}.festival-card-front{background:radial-gradient(circle at 84% 10%,#f0b91e33,transparent 45%),linear-gradient(140deg,#20294b,#0b0f26)}
@media(max-width:400px){.festival-card-front{padding:16px}.festival-card-chip-row{margin-top:14px}.festival-card-number{margin-top:14px;font-size:14px}.festival-card-meta{left:16px;right:16px;bottom:14px}.festival-card-meta strong{max-width:170px}.festival-card-back-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.festival-card-visual{transition:none}}

.methods{grid-template-columns:repeat(3,minmax(0,1fr))}.method{justify-content:center}.method-check{display:none}.method{gap:7px}.method span{font-size:13px}legend{font-size:22px;line-height:1.25}#billetFields{margin-top:22px}#openBillet{display:block;text-align:center;margin:16px 0}#billetCode{margin-bottom:14px}@media(max-width:400px){.method{padding-inline:7px}.method.selected{padding-inline:6.5px}.method svg{width:17px}legend{font-size:21px}}

/* Optional products share the checkout paper, with a clear selected state. */
.order-bumps legend span{font-size:13px;font-weight:400;color:var(--muted)}
.bump-intro{margin:0 0 16px;color:var(--muted);font-size:14px}
.bump-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:start;padding:18px 18px 0;margin:0 0 14px;border:1px solid #cfc5ad;border-radius:14px;background:var(--checkout-paper);cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s}
.bump-card:has(input:checked){border-color:#9a7114;box-shadow:inset 0 0 0 1px #9a7114;background:#fff8e6}
.bump-card:focus-within{outline:3px solid #826013;outline-offset:3px}
.bump-card img{width:76px;height:76px;object-fit:cover;border-radius:10px}
.bump-copy{display:grid;gap:10px;font-size:14px;font-weight:400;line-height:1.5;color:#625d50}
.bump-copy strong{font-size:17px;line-height:1.35;color:var(--ink)}
.bump-copy small{font-size:12px;color:#625d50}
.bump-copy b{font-size:20px;color:var(--ink)}
.bump-selection{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:2px -18px 0;padding:14px 18px;border-top:1px solid #d9d0bd;color:var(--ink);font-size:14px;font-weight:600;min-height:54px}
.bump-card:has(input:checked) .bump-selection{background:#f9e9b9;border-color:#c8ad61}
.bump-action-remove{display:none}.bump-card:has(input:checked) .bump-action-add{display:none}.bump-card:has(input:checked) .bump-action-remove{display:inline}
.bump-card input[type=checkbox]{appearance:auto;flex-shrink:0;width:22px;height:22px;min-height:0;margin:0;padding:0;accent-color:#826013;cursor:pointer}
.bump-card[hidden],.order-bumps[hidden],.order-breakdown[hidden]{display:none}
.order-breakdown{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:10px;font-size:13px;line-height:1.5;margin:20px 0 0;color:#c5c8d5}
.order-breakdown dt,.order-breakdown dd{margin:0}.order-breakdown dd{text-align:right;white-space:nowrap}
.purchase-summary{margin:0 0 24px;padding-top:22px;border-top:1px solid #d9d0bd}
.purchase-summary h2{font:700 21px/1.3 Hanken,system-ui,sans-serif;letter-spacing:-.3px;margin:0 0 17px;color:var(--ink)}
.payment-breakdown{display:grid;gap:10px;margin:0 0 18px}
.payment-breakdown>div{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #d9d0bd;border-radius:8px;background:#fffefa;font-size:14px;line-height:1.4}
.payment-breakdown dt{font-weight:600;margin:0}.payment-breakdown dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.purchase-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:17px;border-top:1px solid #d9d0bd;font-size:16px}
.purchase-total strong{font-size:26px;letter-spacing:-.6px;white-space:nowrap;font-variant-numeric:tabular-nums}
.payment-summary-note{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted);text-align:right;min-height:18px}
@media(max-width:480px){.bump-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 14px 0}.bump-card img{position:absolute;left:14px;top:14px;width:52px;height:52px}.bump-copy{font-size:14px}.bump-copy strong{font-size:16px;padding-left:64px;min-height:56px}.bump-selection{margin:2px -14px 0;padding:14px}.payment-breakdown>div{gap:12px;padding:12px;font-size:13px}.purchase-total strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.bump-card{transition:none}}
