/* Registration experience layer — same festival language, lighter and more tactile. */
.registration-v2-shell{position:relative;isolation:isolate}
.registration-v2-shell:before{content:"";position:absolute;z-index:-1;inset:0 8% auto;height:420px;background:radial-gradient(circle at 50% 0,rgba(212,175,55,.07),transparent 64%);pointer-events:none}
.registration-v2-banner{border-color:rgba(234,214,138,.20);background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(212,175,55,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.055);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.reg-progress-caption{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:2px 2px 8px;color:rgba(245,241,232,.64);font-size:11px;letter-spacing:.04em}.reg-progress-caption span{color:var(--gold-soft);font-weight:700;white-space:nowrap}.reg-progress-caption strong{font-weight:600;color:rgba(245,241,232,.82);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reg-stepper{position:relative;margin:8px 2px 30px;gap:7px}
.reg-step{height:3px;background:rgba(255,255,255,.075);transition:background .28s ease,transform .28s ease,box-shadow .28s ease}
.reg-step.on{background:linear-gradient(90deg,#c8a53b,#efd981);box-shadow:0 0 16px rgba(212,175,55,.17)}
.reg-panel{position:relative;overflow:hidden;border-color:rgba(255,255,255,.095);background:linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 24px 72px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.055);transition:border-color .22s ease,box-shadow .22s ease}
.reg-panel:before{content:"";position:absolute;pointer-events:none;width:340px;height:340px;left:calc(var(--reg-x,50%) - 170px);top:calc(var(--reg-y,0%) - 170px);border-radius:50%;background:radial-gradient(circle,rgba(234,214,138,.055),transparent 67%);opacity:0;transition:opacity .22s ease}
.reg-panel:focus-within{border-color:rgba(234,214,138,.16);box-shadow:0 28px 80px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.065)}
.reg-panel h2{letter-spacing:-.015em}
.reg-lead{line-height:1.65}
.reg-panel-enter{animation:reg-panel-in .28s cubic-bezier(.2,.8,.2,1)}
@keyframes reg-panel-in{from{opacity:.78;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Choice surfaces: real actions feel tactile and intentional. */
.reg-role,.reg-activity{position:relative;overflow:hidden;isolation:isolate;border-color:rgba(255,255,255,.10);background:linear-gradient(155deg,rgba(255,255,255,.038),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease}
.reg-role:before,.reg-activity:before{content:"";position:absolute;z-index:-1;width:190px;height:190px;left:calc(var(--reg-x,50%) - 95px);top:calc(var(--reg-y,50%) - 95px);border-radius:50%;background:radial-gradient(circle,rgba(234,214,138,.105),transparent 68%);opacity:0;transition:opacity .16s ease}
.reg-role.is-selected,.reg-activity.is-on{border-color:rgba(234,214,138,.55);background:linear-gradient(150deg,rgba(212,175,55,.105),rgba(212,175,55,.035));box-shadow:0 10px 28px rgba(0,0,0,.08),inset 0 0 0 1px rgba(234,214,138,.08)}
.reg-role.is-selected:after,.reg-activity.is-on:after{content:"✓";position:absolute;right:13px;top:12px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(212,175,55,.18);color:#f0dc8d;font-size:12px;font-weight:800}
.reg-role b,.reg-activity b{padding-right:24px}
.reg-activity-mark{border:1px solid rgba(255,255,255,.075);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.reg-activity.is-on .reg-activity-mark{border-color:rgba(234,214,138,.30);background:rgba(212,175,55,.15)}

/* Inputs: less "form builder", more calm system sheet. */
.reg-field{gap:8px}
.reg-field label{font-size:.82rem;letter-spacing:.015em;color:rgba(245,241,232,.92)}
.reg-field.is-filled>label:after{content:"✓";display:inline-flex;align-items:center;justify-content:center;margin-left:7px;width:16px;height:16px;border-radius:50%;background:rgba(212,175,55,.10);color:var(--gold-soft);font-size:9px;vertical-align:1px}
.reg-field input,.reg-field textarea,.reg-field select,.reg-work-row input{border-color:rgba(255,255,255,.095);background:rgba(3,11,20,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.reg-field input:hover,.reg-field textarea:hover,.reg-field select:hover,.reg-work-row input:hover{border-color:rgba(255,255,255,.17);background:rgba(5,15,24,.54)}
.reg-field input:focus,.reg-field textarea:focus,.reg-field select:focus,.reg-work-row input:focus{border-color:rgba(234,214,138,.55);background:rgba(5,15,24,.68);box-shadow:0 0 0 4px rgba(212,175,55,.065),inset 0 1px 0 rgba(255,255,255,.035)}
.reg-field.is-filled input,.reg-field.is-filled textarea,.reg-field.is-filled select{border-color:rgba(255,255,255,.13)}

.reg-chip span{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.018);transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.reg-chip input:checked+span{border-color:rgba(234,214,138,.48);background:rgba(212,175,55,.095);box-shadow:inset 0 0 0 1px rgba(234,214,138,.045)}
.reg-student-card{border-color:rgba(255,255,255,.085);background:linear-gradient(150deg,rgba(255,255,255,.028),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .18s ease,background .18s ease}
.reg-student-card:focus-within{border-color:rgba(234,214,138,.18);background:linear-gradient(150deg,rgba(255,255,255,.036),rgba(212,175,55,.018))}
.reg-appearance-list{gap:0}.reg-appearance{border:0;border-top:1px solid rgba(255,255,255,.07);border-radius:0;padding:20px 0;background:transparent;box-shadow:none}.reg-appearance:first-child{border-top:0;padding-top:4px}.reg-appearance:focus-within{background:transparent}.reg-appearance-head{margin-bottom:12px}
.reg-badge{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.045)}
.reg-section{border-top-color:rgba(255,255,255,.065)}
.reg-section-head h3{font-family:Cinzel,Georgia,serif;font-weight:500;letter-spacing:-.01em}

/* Buttons: one primary gesture, secondary actions stay quiet. */
.reg-btn{min-height:44px;box-shadow:none;transition:transform .16s cubic-bezier(.2,.8,.2,1),filter .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.reg-btn.primary{background:linear-gradient(110deg,#cda93f,#f0dc8d 56%,#d9b84f);box-shadow:0 10px 24px rgba(212,175,55,.12),inset 0 1px 0 rgba(255,255,255,.34)}
.reg-btn.secondary{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10)}
.reg-btn.ghost{opacity:.68}
.reg-btn:focus-visible,.reg-role:focus-visible,.reg-activity:focus-visible,.reg-chip input:focus-visible+span{outline:2px solid rgba(234,214,138,.72);outline-offset:3px}
.reg-error{border-color:rgba(221,122,116,.26);background:rgba(145,48,45,.07);box-shadow:inset 3px 0 0 rgba(221,122,116,.45)}
.reg-error-enter{animation:reg-error-in .24s cubic-bezier(.2,.8,.2,1)}
@keyframes reg-error-in{0%{opacity:.65;transform:translateY(-3px)}100%{opacity:1;transform:none}}
.reg-success-mark{box-shadow:0 14px 40px rgba(212,175,55,.10),inset 0 1px 0 rgba(255,255,255,.08)}
.reg-programom{border-color:rgba(234,214,138,.20);background:linear-gradient(145deg,rgba(212,175,55,.065),rgba(255,255,255,.022));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

/* Successful registration: keep the reference ID available, but secondary. */
.reg-success .reg-receipt strong{display:block!important;margin-top:4px;font-size:.76rem;line-height:1.35;font-weight:600;letter-spacing:.025em;color:rgba(245,241,232,.58)}
html[lang="hu"] .reg-success .reg-receipt strong:before{content:"Hivatkozási azonosító: ";color:rgba(245,241,232,.42);font-weight:500}
html[lang="en"] .reg-success .reg-receipt strong:before{content:"Reference ID: ";color:rgba(245,241,232,.42);font-weight:500}
.reg-success .reg-receipts:after{display:block;margin:11px auto 0;max-width:680px;font-size:.76rem;line-height:1.5;color:rgba(245,241,232,.48);text-align:center}
html[lang="hu"] .reg-success .reg-receipts:after{content:"Erre az azonosítóra csak akkor lesz szükséged, ha később a jelentkezéssel kapcsolatban írsz nekünk."}
html[lang="en"] .reg-success .reg-receipts:after{content:"You only need this reference ID if you contact us later about this registration."}

@media(hover:hover) and (pointer:fine){
  .reg-panel:hover:before{opacity:1}
  .reg-role:hover,.reg-activity:hover{transform:translateY(-2px);border-color:rgba(234,214,138,.32);box-shadow:0 14px 30px rgba(0,0,0,.09),inset 0 1px 0 rgba(255,255,255,.05)}
  .reg-role:hover:before,.reg-activity:hover:before{opacity:1}
  .reg-chip span:hover{border-color:rgba(234,214,138,.26);background:rgba(255,255,255,.035)}
  .reg-btn.primary:hover{filter:brightness(1.035);transform:translateY(-1px);box-shadow:0 13px 28px rgba(212,175,55,.16),inset 0 1px 0 rgba(255,255,255,.38)}
  .reg-btn.secondary:hover{border-color:rgba(234,214,138,.24);background:rgba(255,255,255,.065)}
}
.reg-role.is-pressing,.reg-activity.is-pressing,.reg-btn.is-pressing,.reg-chip.is-pressing span{transform:scale(.985)!important}

@media(max-width:760px){
  .registration-v2-shell{padding-top:8px}
  .reg-progress-caption{align-items:flex-start;gap:10px}.reg-progress-caption strong{font-size:10px;max-width:70%}
  .reg-panel{padding:20px 17px;border-radius:22px}
  .reg-role,.reg-activity{padding:16px;border-radius:18px}
  .reg-actions{gap:9px}
  .reg-btn{min-height:48px}
  .reg-field input,.reg-field textarea,.reg-field select{min-height:48px;font-size:16px}
  .reg-chip span{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  .reg-step,.reg-panel,.reg-role,.reg-activity,.reg-activity-mark,.reg-chip span,.reg-btn,.reg-field input,.reg-field textarea,.reg-field select,.reg-work-row input{transition:none!important}
  .reg-panel:before,.reg-role:before,.reg-activity:before{display:none!important}
  .reg-panel-enter,.reg-error-enter{animation:none!important}
}
