/* Registration inherits the approved shared navigation, stars, reveal and JOIN. */
.registration-page{--page-background:url('assets/background registration.png')}
.registration-page [hidden]{display:none!important}
.registration-section{padding:42px 0 90px;min-height:calc(100svh - 92px)}
.registration-container{max-width:1320px}
.registration-title{margin:0 auto 22px;width:min(100%,845px)}
.registration-title-art{display:block;position:relative;aspect-ratio:845/103;overflow:hidden}
.registration-title-art img{position:absolute;width:170.4142%;max-width:none;height:auto;left:-38.6982%;top:-136.8932%}
.registration-subtitle{font-size:clamp(20px,2.3vw,34px);font-weight:800;font-style:italic;text-align:center;color:#1aabfa;margin:0 0 30px}
.registration-progress{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;list-style:none;padding:0;margin:18px auto 28px;counter-reset:step;font-size:14px;color:#1aabfa;font-weight:700}
.registration-progress li{counter-increment:step;background:#FFFFFFCC;padding:8px 14px;border-radius:20px}
.registration-progress li:before{content:counter(step) '. ';}
.registration-progress [aria-current]{background:#FAF84E}
.registration-step,.registration-field{border:0;padding:0;min-width:0;margin:0}
.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 90px;max-width:1110px;margin:auto}
.ticket-card{background:linear-gradient(135deg,#51FFFF77,#FFFFFFBB);border:5px solid #40E9F4;border-right-color:#14ADD6;border-bottom-color:#14ADD6;border-radius:48px;color:#1aabfa;padding:30px 15px;text-align:center;cursor:pointer;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease;min-width:0}
.ticket-grid .ticket-card:first-child{grid-column:1/-1;width:60%;justify-self:center}
.ticket-card strong{display:block;font-size:clamp(25px,2.7vw,40px);font-weight:900;line-height:1.15}
.ticket-card span{display:block;font-size:clamp(23px,2.5vw,36px);font-weight:400;line-height:1.25;margin-top:8px}
.ticket-card small{display:block;font-size:18px;font-weight:700;margin-top:12px}
.ticket-card:hover,.ticket-card:focus-visible{transform:translateY(-4px);box-shadow:0 0 22px #51FFFF}
.ticket-card[aria-pressed="true"]{background:linear-gradient(135deg,#FAF84EAA,#51FFFFCC);box-shadow:0 0 0 4px #1aabfa}
.package-note,.required-note,.selected-ticket{color:#1aabfa;font-size:17px;line-height:1.6;background:#FFFFFFCC;border-radius:16px;padding:12px 18px}
.package-note{max-width:1110px;margin:26px auto 0}
.package-note a{font-weight:800;text-decoration:underline}
.selected-ticket{text-align:center;margin-bottom:28px}
.registration-field{margin:0 0 32px}
.registration-field>label,.registration-field>legend{display:table;font-size:clamp(20px,2.3vw,32px);font-weight:800;color:#1aabfa;background:#FFFFFFCC;padding:4px 9px;line-height:1.4;margin-bottom:15px;max-width:100%}
.registration-field>label span,.registration-field>legend span{color:#1aabfa}
.registration-field input:not([type="radio"]),.registration-field textarea,.registration-field select{display:block;width:100%;border:5px solid #40E9F4;border-right-color:#14ADD6;border-bottom-color:#14ADD6;border-radius:36px;background:#FFFFFF99;color:#000;padding:22px 28px;font:500 22px/1.5 Montserrat,sans-serif;min-height:86px;outline-offset:5px}
.registration-field textarea{resize:vertical;min-height:150px}
.registration-field input::placeholder{color:#00000099;font-size:19px}
.registration-field select{font-size:20px;white-space:normal}
.registration-field input[type="file"]{font-size:18px;padding:20px}
.registration-field input[type="file"]::file-selector-button{border:0;border-radius:18px;background:#1aabfa;color:#FFF;padding:12px 18px;margin-right:14px;font:700 16px Montserrat,sans-serif;cursor:pointer}
.field-help{color:#000;font-style:italic;font-size:16px;font-weight:500;line-height:1.6;background:#FFFFFFAA;border-radius:14px;padding:10px 14px;margin:0 0 12px}
.radio-options{display:flex;gap:16px;flex-wrap:wrap}
.radio-option{display:flex;align-items:center;gap:12px;padding:18px 24px;border:3px solid #40E9F4;border-radius:24px;background:#FFFFFFBB;color:#000;font-size:19px;cursor:pointer;line-height:1.5}
.radio-option:has(:checked){background:linear-gradient(135deg,#FAF84EAA,#51FFFFCC);border-color:#1aabfa}
.radio-option input{width:22px;height:22px;accent-color:#1aabfa;flex-shrink:0}
.registration-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:42px 0 16px}
.registration-button{display:inline-block;border:0;border-radius:55px;background:linear-gradient(#94FFFF,#F3FFFF);padding:20px 34px;cursor:pointer;font-size:clamp(26px,3.5vw,48px);line-height:1.1;text-decoration:none;color:#50FDC5;-webkit-text-stroke:1.5px #FFF;text-shadow:1px 1px #1aabfa;transition:transform .2s ease;max-width:100%;text-align:center}
.registration-button:hover{transform:scale(1.035)}
.registration-button:disabled{opacity:.65;cursor:wait}
.back-button{border:0;border-radius:24px;background:#FFFFFFDD;color:#1aabfa;font:700 17px Montserrat,sans-serif;padding:14px 20px;cursor:pointer}
.registration-step>h2{color:#1aabfa;font-weight:900;font-size:clamp(24px,3vw,40px);text-align:center;margin-bottom:30px}
.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:1100px;margin:auto}
.payment-methods small{font-size:18px;line-height:1.6}
.registration-notice,.registration-status{color:#1aabfa;background:#FFFFFFDD;border-radius:18px;padding:15px 20px;line-height:1.6;font-size:17px;text-align:center}
.registration-status:empty{display:none}
.registration-status.error{border:3px solid #1aabfa;font-weight:700}
.payment-summary,.bank-panel{border:4px solid #40E9F4;border-right-color:#14ADD6;border-bottom-color:#14ADD6;border-radius:32px;background:#FFFFFFBB;color:#000;padding:28px;font-size:19px;line-height:1.6;margin-bottom:28px}
.payment-summary h3,.bank-panel h3{font-size:28px;color:#1aabfa;font-weight:900;margin:0 0 12px}
#payment-price{font-size:36px;font-weight:900;color:#1aabfa;margin:0 0 16px}
.payment-summary ul{padding-left:25px;margin:12px 0 0}
.bank-layout{display:grid;grid-template-columns:1fr 280px;gap:30px;align-items:center;margin-bottom:28px}
.bank-panel{margin:0}
.copy-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;overflow-wrap:anywhere}
.copy-row button{border:0;background:#1aabfa;color:#FFF;border-radius:18px;padding:12px 18px;font:700 16px Montserrat,sans-serif;cursor:pointer;flex-shrink:0}
.qr-placeholder{width:280px;max-width:100%;justify-self:center}
#vat-fields>p{background:#FFFFFFBB;color:#000;padding:14px;border-radius:14px;font-size:19px}
.registration-success{padding:100px 0;text-align:center;color:#1aabfa}
.registration-success>img{width:100%;height:auto}
.registration-success>p{background:#FFFFFFDD;border-radius:20px;font-size:22px;font-weight:600;padding:20px;line-height:1.6;max-width:980px;margin:24px auto}
.registration-success .registration-button{margin-top:16px}
.registration-page :focus-visible{outline:3px solid #1aabfa;outline-offset:5px}
@media(max-width:980px){.ticket-grid{gap:24px}.ticket-grid .ticket-card:first-child{width:75%}.bank-layout{grid-template-columns:1fr}.qr-placeholder{width:220px}}
@media(max-width:700px){.registration-section{padding:30px 0 60px}.registration-subtitle{font-size:19px;margin-bottom:20px}.registration-progress{font-size:11px;gap:5px;margin-bottom:22px}.registration-progress li{padding:7px 8px}.ticket-grid,.payment-methods{grid-template-columns:1fr;gap:20px}.ticket-grid .ticket-card:first-child{grid-column:auto;width:100%}.ticket-card{border-width:4px;border-radius:32px;padding:25px 12px}.ticket-card strong{font-size:27px}.ticket-card span{font-size:24px}.ticket-card small{font-size:16px}.registration-field{margin-bottom:25px}.registration-field input:not([type="radio"]),.registration-field textarea,.registration-field select{border-width:3px;border-radius:25px;padding:17px 18px;min-height:70px;font-size:17px}.registration-field input[type="file"]{font-size:13px;padding:15px 12px}.registration-field input[type="file"]::file-selector-button{font-size:13px;padding:10px;margin-right:8px}.radio-options{display:grid;gap:10px}.radio-option{font-size:16px;padding:14px}.registration-field>label,.registration-field>legend{font-size:20px}.field-help{font-size:14px}.registration-actions{flex-direction:column-reverse;gap:18px;margin-top:32px}.registration-button{font-size:31px;padding:20px 25px}.back-button{font-size:15px}.payment-summary,.bank-panel{font-size:16px;padding:20px;border-radius:25px}.payment-summary h3,.bank-panel h3{font-size:23px}#payment-price{font-size:30px}.copy-row{align-items:flex-start;flex-direction:column}.registration-success{padding:60px 0}.registration-success>p{font-size:17px}.selected-ticket,.package-note,.registration-notice,.required-note{font-size:14px}.registration-status{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ticket-card,.registration-button{transition:none}.ticket-card:hover,.registration-button:hover{transform:none}}
.registration-page .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;transform:none!important}

.registration-page .field-help{color:#1aabfa}
.birthdate-selects{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:18px}.birthdate-part{min-width:0}
@media(max-width:700px){.birthdate-selects{gap:8px}.registration-field .birthdate-selects select{padding:15px 8px;font-size:16px}}
