/* Bonviver join.css - see page-join.php for full styles */
.bv-join-body{background:var(--navy);font-family:var(--font-body);min-height:100vh}
.bv-join-nav{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 6%;background:rgba(26,47,78,0.6);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.08);position:sticky;top:0;z-index:100}
.bv-join-nav-logo{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--white);text-decoration:none}
.bv-join-nav-logo .dot{color:var(--gold)}
.bv-join-signin{font-size:0.83rem;color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.2s}
.bv-join-signin:hover{color:var(--gold)}
.bv-join-main{max-width:860px;margin:0 auto;padding:4rem 2rem 6rem;position:relative;z-index:1}
.bv-join-body::before,.bv-join-body::after{content:'';position:fixed;border-radius:50%;pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%)}
.bv-join-body::before{width:700px;height:700px;border:1px solid rgba(201,168,76,0.08)}
.bv-join-body::after{width:1200px;height:1200px;border:1px solid rgba(201,168,76,0.04)}
.bv-step{display:none;animation:bvStepIn 0.35s ease}
.bv-step.active{display:block}
@keyframes bvStepIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.bv-join-header{text-align:center;margin-bottom:3rem}
.bv-join-eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,168,76,0.35);border-radius:var(--r-xl);padding:0.35rem 1rem;color:var(--gold);font-size:0.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1.25rem}
.bv-join-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:bvPulse 2s infinite}
.bv-join-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--white);line-height:1.15;margin-bottom:0.85rem}
.bv-join-title em{font-style:italic;color:var(--gold)}
.bv-join-sub{font-size:1rem;color:rgba(255,255,255,0.55);max-width:560px;margin:0 auto;line-height:1.7;font-weight:300}
.bv-quiz-progress{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}
.bv-quiz-progress-track{flex:1;height:6px;background:rgba(255,255,255,0.1);border-radius:10px;overflow:hidden}
.bv-quiz-progress-fill{height:100%;background:var(--gold);border-radius:10px;transition:width 0.4s ease}
.bv-quiz-progress-label{font-size:0.78rem;color:rgba(255,255,255,0.4);white-space:nowrap}
.bv-quiz-question{display:none}
.bv-quiz-question.active{display:block;animation:bvStepIn 0.3s ease}
.bv-quiz-q-label{font-size:0.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--champagne);margin-bottom:0.6rem}
.bv-quiz-q-title{font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:700;color:var(--white);margin-bottom:0.6rem;line-height:1.2}
.bv-quiz-q-sub{font-size:0.875rem;color:rgba(255,255,255,0.45);margin-bottom:2rem;line-height:1.6}
.bv-quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem;margin-bottom:1.5rem}
.bv-quiz-opt{display:flex;align-items:center;gap:1rem;background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.1);border-radius:var(--r-md);padding:1.25rem;cursor:pointer;text-align:left;font-family:var(--font-body);transition:all 0.2s;position:relative;width:100%}
.bv-quiz-opt:hover{background:rgba(255,255,255,0.10);border-color:rgba(226,184,74,0.4)}
.bv-quiz-opt.selected{background:rgba(226,184,74,0.12);border-color:var(--gold)}
.bv-quiz-opt-icon{font-size:1.6rem;flex-shrink:0}
.bv-quiz-opt-title{font-weight:600;font-size:0.9rem;color:var(--white);margin-bottom:0.2rem}
.bv-quiz-opt-desc{font-size:0.78rem;color:rgba(255,255,255,0.45);line-height:1.4}
.bv-quiz-check{position:absolute;top:0.75rem;right:0.75rem;width:20px;height:20px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:0.65rem;font-weight:700;display:none;align-items:center;justify-content:center}
.bv-quiz-opt.multi.selected .bv-quiz-check{display:flex}
.bv-quiz-next-btn{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:var(--r-xl);padding:0.75rem 2rem;color:var(--white);font-size:0.9rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all 0.2s;display:block;margin:0 auto}
.bv-quiz-next-btn:hover{background:rgba(226,184,74,0.15);border-color:var(--gold);color:var(--gold)}
.bv-result-card{background:var(--white);border-radius:var(--r-lg);padding:2.5rem;margin-bottom:2rem}
.bv-result-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}
.bv-result-stage-num{font-size:0.72rem;font-weight:600;color:var(--mist);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:0.4rem}
.bv-result-stage-name{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--navy);margin-bottom:0.25rem}
.bv-result-stage-price{font-size:0.9rem;color:var(--champagne);font-weight:600}
.bv-result-badge{background:var(--gold-pale);border:1px solid #F0D8A0;border-radius:var(--r-xl);padding:0.45rem 1rem;font-size:0.78rem;font-weight:600;color:var(--champagne);white-space:nowrap}
.bv-result-desc{font-size:0.95rem;color:var(--slate);line-height:1.7;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--cream-dark)}
.bv-result-benefits{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;margin-bottom:1.5rem;padding:0}
.bv-result-benefits li{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.83rem;color:var(--ink);line-height:1.4}
.bv-result-benefits li::before{content:'✓';color:var(--sky);font-weight:700;flex-shrink:0;margin-top:1px}
.bv-result-compliance{background:var(--gold-pale);border-left:3px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:0.875rem 1rem;font-size:0.78rem;color:#7A5700;line-height:1.6}
.bv-result-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}
.bv-btn-primary-lg{background:var(--gold);color:var(--navy);border:none;border-radius:var(--r-xl);padding:1rem 2.5rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all 0.25s;text-decoration:none;display:inline-flex;align-items:center}
.bv-btn-primary-lg:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,0.4);color:var(--navy)}
.bv-btn-ghost-lg{background:transparent;color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.25);border-radius:var(--r-xl);padding:1rem 2rem;font-size:1rem;font-weight:400;cursor:pointer;font-family:var(--font-body);transition:all 0.2s}
.bv-btn-ghost-lg:hover{border-color:rgba(255,255,255,0.6);color:var(--white)}
.bv-all-stages{text-align:center}
.bv-all-stages-title{font-size:0.82rem;color:rgba(255,255,255,0.4);margin-bottom:1rem}
.bv-all-stages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem}
.bv-mini-stage{background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.1);border-radius:var(--r-md);padding:1.1rem;cursor:pointer;transition:all 0.2s;text-align:center}
.bv-mini-stage:hover{background:rgba(255,255,255,0.10);border-color:rgba(226,184,74,0.4)}
.bv-mini-stage.active{border-color:var(--gold);background:rgba(226,184,74,0.1)}
.bv-mini-num{font-size:0.68rem;color:var(--mist);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:0.3rem}
.bv-mini-name{font-family:var(--font-display);font-size:0.95rem;font-weight:700;color:var(--white);margin-bottom:0.2rem}
.bv-mini-price{font-size:0.78rem;color:var(--champagne);font-weight:600}
.bv-reg-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;align-items:start}
.bv-reg-form-wrap{background:var(--white);border-radius:var(--r-lg);padding:2.5rem}
.bv-form-group{margin-bottom:1.25rem}
.bv-form-group label{display:block;font-size:0.82rem;font-weight:600;color:var(--navy);margin-bottom:0.4rem}
.bv-form-group input,.bv-form-group select{width:100%;padding:0.75rem 1rem;border:1.5px solid var(--parchment);border-radius:var(--r-sm);font-size:0.93rem;font-family:var(--font-body);color:var(--ink);background:var(--cream);transition:border-color 0.2s,box-shadow 0.2s;appearance:none;-webkit-appearance:none;line-height:1.5;height:auto;box-sizing:border-box;vertical-align:top}
.bv-form-group select{padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239AABB8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}
.bv-form-group select option{color:var(--ink);background:var(--white);font-family:var(--font-body);font-size:0.93rem;padding:0.5rem}
.bv-form-group select option[value=""]{color:var(--mist)}
.bv-form-group input:focus,.bv-form-group select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(46,109,164,0.12);background:var(--white)}
.bv-form-hint{font-size:0.75rem;color:var(--mist);margin-top:0.35rem;line-height:1.5}
.bv-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.req{color:#E05A5A}
.bv-optional{font-size:0.72rem;font-weight:400;color:var(--mist);background:var(--cream-dark);border-radius:20px;padding:1px 8px;margin-left:4px}
.bv-password-wrap{position:relative}
.bv-password-wrap input{padding-right:3rem}
.bv-pw-toggle{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;opacity:0.5;transition:opacity 0.2s}
.bv-pw-toggle:hover{opacity:1}
.bv-form-checkbox{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:1rem}
.bv-form-checkbox input[type="checkbox"]{margin-top:2px;flex-shrink:0;accent-color:var(--blue);width:16px;height:16px;cursor:pointer}
.bv-form-checkbox label{font-size:0.82rem;color:var(--slate);line-height:1.5;cursor:pointer}
.bv-form-checkbox label a{color:var(--blue)}
.bv-btn-submit{width:100%;padding:1rem;background:var(--navy);color:var(--gold);border:none;border-radius:var(--r-sm);font-size:1rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all 0.2s;margin-top:0.5rem;margin-bottom:1rem}
.bv-btn-submit:hover{background:var(--navy-lite);transform:translateY(-1px);box-shadow:0 4px 16px rgba(26,47,78,0.3)}
.bv-reg-disclaimer{font-size:0.75rem;color:var(--mist);line-height:1.6;text-align:center}
.bv-reg-sidebar{position:sticky;top:6rem}
.bv-reg-summary{background:var(--white);border-radius:var(--r-lg);padding:1.75rem;margin-bottom:0.75rem}
.bv-reg-summary-label{font-size:0.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--mist);margin-bottom:0.4rem}
.bv-reg-summary-stage{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:0.2rem}
.bv-reg-summary-price{font-size:0.88rem;color:var(--champagne);font-weight:600}
.bv-reg-summary-divider{height:1px;background:var(--parchment);margin:1.25rem 0}
.bv-reg-summary-benefits{list-style:none;padding:0;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:0.5rem}
.bv-reg-summary-benefits li{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.8rem;color:var(--slate);line-height:1.4}
.bv-reg-summary-benefits li::before{content:'✓';color:var(--sky);font-weight:700;flex-shrink:0}
.bv-reg-summary-note{display:flex;flex-direction:column;gap:0.4rem;background:var(--cream-dark);border-radius:var(--r-sm);padding:1rem}
.bv-reg-summary-note p{font-size:0.78rem;color:var(--slate);margin:0}
.bv-reg-change-stage{width:100%;background:transparent;border:1px solid rgba(255,255,255,0.2);border-radius:var(--r-sm);padding:0.65rem;color:rgba(255,255,255,0.55);font-size:0.82rem;cursor:pointer;font-family:var(--font-body);transition:all 0.2s}
.bv-reg-change-stage:hover{border-color:rgba(255,255,255,0.5);color:var(--white)}
.bv-confirm-wrap{max-width:620px;margin:0 auto;text-align:center}
.bv-confirm-icon{width:72px;height:72px;border-radius:50%;background:rgba(226,184,74,0.15);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--gold);margin:0 auto 1.75rem}
.bv-confirm-card{background:var(--white);border-radius:var(--r-lg);padding:2rem;margin:2rem 0;text-align:left}
.bv-confirm-row{display:flex;align-items:center;justify-content:space-between;padding:0.85rem 0;border-bottom:1px solid var(--cream-dark);gap:1rem;flex-wrap:wrap}
.bv-confirm-label{font-size:0.83rem;color:var(--slate)}
.bv-confirm-val{font-size:0.83rem;font-weight:600;color:var(--navy)}
.bv-confirm-next{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--r-lg);padding:2rem;margin-bottom:2rem;text-align:left}
.bv-confirm-next-title{font-family:var(--font-display);font-size:1rem;color:var(--gold);font-weight:600;margin-bottom:1.5rem}
.bv-confirm-steps{display:flex;flex-direction:column;gap:1.25rem}
.bv-confirm-step{display:flex;gap:1rem;align-items:flex-start}
.bv-confirm-step-num{width:28px;height:28px;border-radius:50%;background:rgba(226,184,74,0.2);border:1px solid rgba(226,184,74,0.35);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;color:var(--gold);flex-shrink:0}
.bv-confirm-step-title{font-weight:600;font-size:0.875rem;color:var(--white);margin-bottom:0.2rem}
.bv-confirm-step-text{font-size:0.8rem;color:rgba(255,255,255,0.45);line-height:1.5}
.bv-confirm-actions{margin-bottom:2rem}
.bv-confirm-legal{font-size:0.72rem;color:rgba(255,255,255,0.3);line-height:1.7}
@media(max-width:900px){.bv-reg-layout{grid-template-columns:1fr}.bv-reg-sidebar{position:static}}
@media(max-width:640px){.bv-quiz-options{grid-template-columns:1fr}.bv-result-benefits{grid-template-columns:1fr}.bv-all-stages-grid{grid-template-columns:1fr 1fr}.bv-form-row-2{grid-template-columns:1fr}.bv-result-actions{flex-direction:column;align-items:center}.bv-join-main{padding:2.5rem 1.25rem 4rem}}

/* ── LIVE FIELD AVAILABILITY CHECKS ── */
.bv-field-check { font-size:0.78rem; margin-top:0.35rem; font-weight:600; min-height:1.2em; transition:color 0.2s; }
.bv-field-check.checking  { color:var(--mist); }
.bv-field-check.available { color:var(--alert-green,#2E8B5E); }
.bv-field-check.taken     { color:var(--alert-red,#E05A5A); }

/* ── BENEFITS STRIP ── */
.bv-join-benefits-strip { display:flex; gap:1rem; margin-bottom:3rem; flex-wrap:wrap; }
.bv-join-benefit { flex:1; min-width:160px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:var(--r-md); padding:1.25rem 1rem; text-align:center; }
.bv-join-benefit span { font-size:1.5rem; display:block; margin-bottom:0.5rem; }
.bv-join-benefit p { font-size:0.8rem; color:rgba(255,255,255,0.55); margin:0; line-height:1.5; }

/* ── MINI JOURNEY SIDEBAR ── */
.bv-join-journey-mini { background:var(--navy); border-radius:var(--r-md); padding:1.25rem; margin-top:0.75rem; }
.bv-join-journey-mini-title { font-family:var(--font-display); font-size:0.88rem; font-weight:600; color:var(--gold); margin-bottom:1rem; }
.bv-join-journey-mini-steps { display:flex; flex-direction:column; gap:0.6rem; }
.bv-join-journey-mini-step { display:flex; align-items:center; gap:0.75rem; }
.bv-jjm-num { width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; font-size:0.7rem; font-weight:700; color:rgba(255,255,255,0.4); flex-shrink:0; }
.bv-join-journey-mini-step.active-step .bv-jjm-num { background:var(--gold); color:var(--navy); }
.bv-jjm-label { font-size:0.8rem; color:rgba(255,255,255,0.42); }
.bv-join-journey-mini-step.active-step .bv-jjm-label { color:var(--white); font-weight:500; }

@media(max-width:640px){ .bv-join-benefits-strip{gap:0.75rem} .bv-join-benefit{min-width:130px} }
