.visitor-wizard{max-width:1000px;margin:0 auto;padding:1rem 0 4rem;color:var(--text)}
.visitor-wizard__header{text-align:center;margin-bottom:1.6rem}
.visitor-wizard__back-home{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.5rem;color:var(--muted);font-size:.88rem;text-decoration:none}
.visitor-wizard__back-home:hover{color:var(--text)}
.visitor-wizard__eyebrow{color:#69b0ff;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.visitor-wizard__header h1{max-width:760px;margin:.5rem auto .65rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:850;letter-spacing:-.05em;line-height:1.05}
.visitor-wizard__header p{margin:0;color:var(--muted);font-size:1.05rem}
.visitor-wizard__progress{position:relative;display:grid;grid-template-columns:repeat(4,1fr);max-width:760px;margin:0 auto 1.6rem}
.visitor-wizard__progress::before{content:"";position:absolute;top:18px;left:12.5%;right:12.5%;height:2px;background:var(--border-subtle)}
.brewer-wizard .visitor-wizard__progress{grid-template-columns:repeat(5,1fr)}
.brewer-wizard .visitor-wizard__progress::before{left:10%;right:10%}
.visitor-wizard__progress-item{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:.45rem;color:var(--muted);text-align:center}
.visitor-wizard__progress-item>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid var(--border-subtle);border-radius:50%;background:var(--surface);font-size:.82rem;font-weight:800}
.visitor-wizard__progress-item small{font-size:.72rem;font-weight:700}
.visitor-wizard__progress-item.is-active{color:var(--text)}
.visitor-wizard__progress-item.is-active>span{border-color:#3a86ff;background:#3a86ff;color:#fff;box-shadow:0 0 0 5px rgba(58,134,255,.14)}
.visitor-wizard__progress-item.is-complete>span{border-color:#24a47a;background:#24a47a;color:#fff}
.visitor-wizard__panel{padding:clamp(1.2rem,4vw,2.5rem);border:1px solid var(--border-subtle);border-radius:24px;background:var(--surface);box-shadow:0 20px 55px rgba(0,0,0,.2)}
.visitor-wizard__section-heading{max-width:760px;margin:0 auto 1.75rem;text-align:center}
.visitor-wizard__step-label{display:block;margin-bottom:.45rem;color:#69b0ff;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.visitor-wizard__section-heading h2{margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.035em}
.visitor-wizard__section-heading p{margin:0;color:var(--muted);line-height:1.55}
.visitor-wizard__form--narrow{max-width:700px;margin-inline:auto}
.visitor-wizard__form .form-label{font-weight:700}
.visitor-wizard__form .form-control{min-height:48px;border-color:var(--border-subtle);border-radius:11px}
.visitor-wizard__form textarea.form-control{min-height:105px}
.visitor-wizard__actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle)}
.visitor-wizard__actions--end{justify-content:flex-end;border:0;margin-top:1.25rem;padding:0}
.visitor-event-list{display:grid;gap:.85rem}
.visitor-event-option{position:relative;display:block;cursor:pointer}
.visitor-event-option>input{position:absolute;width:1px;height:1px;opacity:0}
.visitor-event-option__body{display:block;padding:1.15rem 1.2rem 1.15rem 3.6rem;border:2px solid var(--border-subtle);border-radius:16px;background:var(--surface-2);transition:border-color .15s ease,transform .15s ease,background .15s ease}
.visitor-event-option:hover .visitor-event-option__body{border-color:rgba(99,169,255,.55);transform:translateY(-1px)}
.visitor-event-option>input:checked+.visitor-event-option__check+.visitor-event-option__body{border-color:#3a86ff;background:linear-gradient(110deg,rgba(58,134,255,.12),var(--surface-2))}
.visitor-event-option>input:focus-visible+.visitor-event-option__check+.visitor-event-option__body{outline:3px solid rgba(122,162,255,.5);outline-offset:2px}
.visitor-event-option__check{position:absolute;z-index:2;top:1.2rem;left:1.15rem;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:2px solid var(--border-subtle);border-radius:50%;color:transparent}
.visitor-event-option>input:checked+.visitor-event-option__check{border-color:#3a86ff;background:#3a86ff;color:#fff}
.visitor-event-option__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.visitor-event-option__top>strong{font-size:1.12rem}
.visitor-event-option__facts,.visitor-event-option__footer{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin-top:.6rem;color:var(--muted);font-size:.82rem}
.visitor-event-option__facts span,.visitor-event-option__footer span{display:inline-flex;align-items:center;gap:.35rem}
.visitor-event-option__footer{padding-top:.7rem;border-top:1px solid var(--border-subtle)}
.visitor-event-option__footer i{color:#67afff}
.visitor-wizard__empty{display:flex;align-items:center;flex-direction:column;padding:2rem;border:1px dashed var(--border-subtle);border-radius:16px;color:var(--muted);text-align:center}
.visitor-wizard__empty>i{margin-bottom:.7rem;font-size:2rem}
.visitor-wizard__empty p{margin:.3rem 0 0}
.visitor-event-code{display:grid;grid-template-columns:auto 1fr minmax(280px,420px);gap:1rem;align-items:center;margin-top:2rem;padding:1.1rem;border:1px solid rgba(58,134,255,.2);border-radius:16px;background:rgba(58,134,255,.07)}
.visitor-event-code__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(58,134,255,.17);color:#76b6ff;font-size:1.15rem}
.visitor-event-code h3{margin:0;font-size:1rem}
.visitor-event-code p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}
.visitor-event-code__form>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.visitor-event-code__form .form-control{min-height:43px}
.visitor-wizard__selected-event{display:flex;align-items:center;gap:.8rem;max-width:700px;margin:0 auto 1.5rem;padding:.9rem 1rem;border:1px solid rgba(36,164,122,.3);border-radius:13px;background:rgba(36,164,122,.08)}
.visitor-wizard__selected-event>i{color:#42cfa8;font-size:1.3rem}
.visitor-wizard__selected-event span{display:flex;flex:1;flex-direction:column}
.visitor-wizard__selected-event small{color:var(--muted)}
.visitor-wizard__selected-event a{font-size:.82rem}
.visitor-wizard-guests{margin-top:1.25rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface-2)}
.visitor-wizard-guest{margin-bottom:.8rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:13px;background:var(--surface)}
.visitor-wizard-guest__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}
.visitor-wizard__event-question{margin-bottom:1.2rem}
.visitor-wizard__terms{margin-top:1.25rem;padding:1rem;border:1px solid rgba(245,158,11,.3);border-radius:14px;background:rgba(245,158,11,.07)}
.visitor-wizard__terms>div{margin-top:.45rem;color:var(--muted);font-size:.88rem;line-height:1.5}
.visitor-wizard__terms .form-check{display:flex;gap:.55rem;align-items:flex-start}
.visitor-wizard__terms .form-check-input{margin-top:.25rem}
.visitor-wizard__password-explainer{display:flex;gap:1rem;max-width:700px;margin:0 auto 1.2rem;padding:1rem;border:1px solid rgba(58,134,255,.25);border-radius:15px;background:rgba(58,134,255,.08)}
.visitor-wizard__password-explainer>span{display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:rgba(58,134,255,.17);color:#79b8ff;font-size:1.25rem}
.visitor-wizard__password-explainer p{margin:.3rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}
.visitor-wizard-summary{max-width:700px;margin:0 auto 1.35rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:15px;background:var(--surface-2)}
.visitor-wizard-summary h3{margin:0 0 .65rem;font-size:1rem}
.visitor-wizard-summary dl{display:grid;gap:.45rem;margin:0}
.visitor-wizard-summary dl>div{display:flex;justify-content:space-between;gap:1rem}
.visitor-wizard-summary dt{color:var(--muted);font-weight:500}
.visitor-wizard-summary dd{margin:0;text-align:right;font-weight:700}
.visitor-wizard__privacy{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem;border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:.8rem;line-height:1.45}
.visitor-wizard__privacy i{color:#42cfa8;font-size:1rem}
.brewer-wizard__questions{display:grid;gap:.85rem;padding:1rem;border:1px solid rgba(58,134,255,.25);border-radius:15px;background:rgba(58,134,255,.07)}
.brewer-wizard__questions .form-check{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding-left:0}
.brewer-wizard__questions .form-check-input{position:static;flex:0 0 auto;margin:.2rem 0 0}
.brewer-wizard-beer{margin-bottom:1rem;padding:1.1rem;border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface-2)}
.brewer-wizard-beer__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}
.brewer-wizard-beer__header>div{display:flex;flex-direction:column}
.brewer-wizard-beer__header>div>span{font-weight:800}
.brewer-wizard-beer__header small{color:var(--muted)}
.brewer-wizard-beer .form-select{min-height:48px;border-color:var(--border-subtle);border-radius:11px}
.visitor-wizard__restart{text-align:center;margin-top:1rem}
.visitor-wizard__restart .btn-link{color:var(--muted);font-size:.82rem}
.theme-light .visitor-event-option__body,.theme-light .visitor-wizard-guests,.theme-light .visitor-wizard-summary{background:#f8fafc}

@media(max-width:767.98px){
  .visitor-wizard{padding-top:.25rem}
  .visitor-wizard__header h1{font-size:2.15rem}
  .visitor-wizard__progress-item small{font-size:.62rem}
  .brewer-wizard .visitor-wizard__progress-item small{max-width:60px}
  .visitor-wizard__progress-item>span{width:34px;height:34px}
  .visitor-wizard__progress::before{top:16px}
  .visitor-wizard__panel{padding:1.1rem;border-radius:18px}
  .visitor-event-code{grid-template-columns:auto 1fr}
  .visitor-event-code__form{grid-column:1/-1}
  .visitor-wizard__actions{align-items:stretch;flex-direction:column-reverse}
  .visitor-wizard__actions .btn{width:100%}
  .visitor-event-option__top{align-items:flex-start;flex-direction:column}
  .brewer-wizard-beer__header{align-items:flex-start}
}

@media(max-width:430px){
  .visitor-wizard__progress-item small{max-width:70px}
  .visitor-event-option__body{padding:1rem 1rem 1rem 3rem}
  .visitor-event-option__check{left:.85rem;top:1rem}
  .visitor-event-option__facts,.visitor-event-option__footer{align-items:flex-start;flex-direction:column}
  .visitor-wizard__selected-event{align-items:flex-start;flex-wrap:wrap}
  .visitor-wizard__selected-event a{margin-left:2.1rem}
}
