/* BV Elite Fight I — fighter registration UI
   Scoped to the fighter registration page to avoid changing other pages. */

.page-hero--fighter-registration{
    background:
        radial-gradient(circle at 50% 8%,rgba(202,155,82,.18),transparent 34%),
        linear-gradient(180deg,#0d0b08 0%,#080807 100%);
}

.fighter-registration-page{
    background:
        radial-gradient(circle at 50% 0,rgba(170,117,40,.065),transparent 32%),
        #080807;
}

.registration-shell{max-width:1120px}

/* Intro */
.registration-intro{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
    gap:24px;
    margin-bottom:30px;
    align-items:stretch;
}
.registration-intro__copy{
    padding:34px;
    border:1px solid var(--line);
    background:linear-gradient(145deg,#16130f,#0c0b09 72%);
    min-width:0;
}
.registration-intro__copy .section-title{font-size:clamp(2.8rem,5vw,4.35rem);margin-bottom:16px}
.registration-intro__copy>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:.88rem;line-height:1.8}
.registration-intro__note{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:14px;
    margin-top:24px;
    padding:16px 18px;
    border-left:2px solid var(--gold);
    background:rgba(211,166,91,.055);
}
.registration-intro__note strong{
    font-family:var(--font-label);
    font-size:.58rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--gold-2);
}
.registration-intro__note span{font-size:.74rem;line-height:1.65;color:#c9beac}

.registration-intro__facts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    padding:1px;
    background:var(--line);
    border:1px solid var(--line);
    min-width:0;
}
.registration-fact{
    min-height:135px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:11px;
    padding:22px;
    background:linear-gradient(180deg,#12100d,#0b0a08);
    min-width:0;
}
.registration-fact__label{
    display:block;
    font-family:var(--font-label);
    font-size:.53rem;
    line-height:1.3;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--gold);
}
.registration-fact__value{
    display:block;
    max-width:100%;
    font-size:.82rem;
    line-height:1.55;
    color:#f0e5d2;
    overflow-wrap:anywhere;
}

.registration-errors{margin-bottom:26px}
.fighter-registration-form{display:grid;gap:20px}

/* Section cards */
.registration-section,
.registration-timeline{
    border:1px solid var(--line);
    background:linear-gradient(180deg,#14110e,#0a0908);
    overflow:hidden;
}
.registration-section__head{
    display:grid;
    grid-template-columns:78px minmax(0,1fr);
    align-items:stretch;
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.008);
}
.registration-section__head>span{
    display:grid;
    place-items:center;
    min-height:88px;
    border-right:1px solid var(--line);
    font-family:var(--font-display);
    font-size:3.2rem;
    line-height:1;
    color:var(--gold-3);
}
.registration-section__head>div{padding:19px 26px;min-width:0}
.registration-section__head .eyebrow{margin:0 0 5px;font-size:.56rem}
.registration-section__head h2{
    margin:0;
    font-family:var(--font-display);
    font-size:2.5rem;
    font-weight:400;
    line-height:1;
    text-transform:uppercase;
    color:#f5ead7;
}
.registration-section__lead{padding:21px 28px 0;color:var(--muted);font-size:.76rem;line-height:1.7}

.form-grid--registration{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:21px 22px;
    padding:28px;
}
.form-grid--registration .field{min-width:0;display:flex;flex-direction:column;gap:8px}
.form-grid--registration .field--full{grid-column:1/-1}
.form-grid--registration .field>label{
    display:block;
    margin:0;
    font-family:var(--font-label);
    font-size:.57rem;
    line-height:1.55;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#d5c6ad;
}
.form-grid--registration .field>label small{
    display:inline;
    font-family:var(--font-body);
    font-size:.68rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing:0;
    text-transform:none;
    color:#756e63;
}
.form-grid--registration input[type="text"],
.form-grid--registration input[type="email"],
.form-grid--registration input[type="tel"],
.form-grid--registration input[type="url"],
.form-grid--registration input[type="date"],
.form-grid--registration input[type="number"],
.form-grid--registration select,
.form-grid--registration textarea{
    width:100%;
    min-height:50px;
    border:1px solid rgba(211,171,100,.26);
    border-radius:5px;
    background:#070706;
    color:#f1e7d6;
    padding:13px 14px;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.form-grid--registration textarea{min-height:118px;resize:vertical}
.form-grid--registration input:focus,
.form-grid--registration select:focus,
.form-grid--registration textarea:focus{
    border-color:var(--gold);
    background:#0a0907;
    box-shadow:0 0 0 3px rgba(207,162,89,.07);
}
.form-grid--registration input::placeholder,
.form-grid--registration textarea::placeholder{color:#5f5a52}

/* Yes / No & gender choices */
.choice-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:100%;
}
.choice-row--compact{max-width:430px}
.form-grid--registration .choice-card{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    min-height:48px;
    margin:0;
    padding:11px 14px;
    border:1px solid rgba(211,171,100,.22);
    border-radius:5px;
    background:#080706;
    cursor:pointer;
    font-family:var(--font-body);
    font-size:.76rem;
    line-height:1.3;
    letter-spacing:0;
    text-transform:none;
    color:#d9cfbe;
    transition:.2s ease;
}
.form-grid--registration .choice-card:hover{border-color:rgba(211,171,100,.5);background:rgba(211,171,100,.045)}
.form-grid--registration .choice-card input{
    width:17px;
    height:17px;
    flex:0 0 auto;
    margin:0;
    padding:0;
    accent-color:var(--gold);
}
.form-grid--registration .choice-card span{display:block}
.form-grid--registration .choice-card:has(input:checked){border-color:var(--gold);background:rgba(211,171,100,.08);color:#f3e7d3}

.registration-callout{
    margin:0 28px 26px;
    padding:20px 22px;
    border-left:2px solid var(--gold);
    background:rgba(209,164,89,.055);
}
.registration-callout>strong{display:block;font-family:var(--font-label);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-2);margin-bottom:8px}
.registration-callout>p{font-size:.78rem;color:var(--muted);line-height:1.65;margin-bottom:12px}
.registration-callout ul{list-style:disc;display:grid;gap:7px;padding-left:19px;color:#cfc3af;font-size:.74rem;line-height:1.58}

/* File upload */
.upload-grid{align-items:stretch}
.upload-field input[type="file"]{
    min-height:54px;
    padding:10px;
    border:1px dashed rgba(211,171,100,.35);
    background:#080706;
    color:#bfb3a1;
}
.upload-field input[type="file"]::file-selector-button{
    margin-right:12px;
    border:1px solid var(--line-strong);
    border-radius:4px;
    background:#15120e;
    color:var(--gold-2);
    padding:8px 11px;
    font-family:var(--font-label);
    font-size:.53rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    cursor:pointer;
}

/* Timeline */
.registration-timeline__head{padding:23px 28px;border-bottom:1px solid var(--line)}
.registration-timeline__head .eyebrow{margin-bottom:5px;font-size:.56rem}
.registration-timeline__head h2{font-family:var(--font-display);font-size:2.5rem;font-weight:400;line-height:1;text-transform:uppercase;margin:0}
.registration-timeline__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.registration-timeline__grid>div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    min-height:58px;
    padding:15px 20px;
    border-right:1px solid rgba(216,176,106,.1);
    border-bottom:1px solid rgba(216,176,106,.1);
}
.registration-timeline__grid>div:nth-child(2n){border-right:0}
.registration-timeline__grid span{font-size:.74rem;line-height:1.5;color:#d8ccb9}
.registration-timeline__grid strong{font-family:var(--font-label);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2);white-space:nowrap}

/* Terms summary */
.registration-section--terms{overflow:visible}
.terms-summary-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    margin:28px 28px 0;
    padding:26px;
    border:1px solid var(--line);
    border-radius:7px;
    background:
        radial-gradient(circle at 100% 0,rgba(215,171,98,.09),transparent 38%),
        #090806;
}
.terms-summary-card__copy{min-width:0}
.terms-required-badge{
    display:inline-flex;
    margin-bottom:12px;
    padding:5px 8px;
    border:1px solid rgba(218,177,105,.3);
    border-radius:999px;
    font-family:var(--font-label);
    font-size:.47rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--gold-2);
    background:rgba(211,166,91,.05);
}
.terms-summary-card h3{font-family:var(--font-display);font-size:2rem;font-weight:400;line-height:1.05;text-transform:uppercase;color:#f4e9d7;margin:0 0 9px}
.terms-summary-card p{max-width:710px;color:var(--muted);font-size:.76rem;line-height:1.7}
.terms-summary-card__meta{display:flex;align-items:center;gap:9px;margin-top:15px}
.terms-summary-card__meta span{font-family:var(--font-label);font-size:.48rem;letter-spacing:.1em;text-transform:uppercase;color:#746d62}
.terms-summary-card__meta strong{font-size:.68rem;color:#d7cab5;font-weight:600}
.terms-open-btn{min-width:230px;white-space:nowrap}

.terms-consent--clean{
    position:relative;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    align-items:start;
    gap:14px;
    margin:16px 28px 28px;
    padding:20px;
    border:1px solid var(--line-strong);
    border-radius:7px;
    background:linear-gradient(110deg,rgba(209,164,89,.07),rgba(209,164,89,.025));
    cursor:pointer;
}
.terms-consent--clean>input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.terms-consent__box{
    position:relative;
    width:21px;
    height:21px;
    margin-top:2px;
    border:1px solid rgba(224,194,142,.62);
    border-radius:4px;
    background:#080706;
    transition:.2s ease;
}
.terms-consent__box::after{
    content:"";
    position:absolute;
    left:6px;
    top:2px;
    width:6px;
    height:11px;
    border:solid #0b0905;
    border-width:0 2px 2px 0;
    transform:rotate(45deg) scale(0);
    transform-origin:center;
    transition:.15s ease;
}
.terms-consent--clean>input:checked + .terms-consent__box{background:var(--gold-2);border-color:var(--gold-2)}
.terms-consent--clean>input:checked + .terms-consent__box::after{transform:rotate(45deg) scale(1)}
.terms-consent--clean>input:focus-visible + .terms-consent__box{box-shadow:0 0 0 3px rgba(224,194,142,.14)}
.terms-consent__copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.terms-consent__copy strong{font-size:.82rem;line-height:1.5;color:#f0e2cc}
.terms-consent__copy small{font-size:.71rem;line-height:1.65;color:var(--muted)}

/* Submit */
.registration-submit{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:26px 28px;
    border:1px solid var(--line-strong);
    background:linear-gradient(110deg,#17120d,#0a0908);
}
.registration-submit>div{display:flex;flex-direction:column;gap:6px;max-width:700px}
.registration-submit .eyebrow{margin:0 0 2px;font-size:.54rem}
.registration-submit strong{font-size:.86rem;color:#ebdec9}
.registration-submit span{font-size:.72rem;line-height:1.6;color:var(--muted)}
.registration-submit .btn{min-width:275px}

/* Terms modal */
.terms-modal{
    position:fixed;
    inset:0;
    z-index:1200;
    display:grid;
    place-items:center;
    padding:28px;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
}
.terms-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.terms-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(10px)}
.terms-modal__dialog{
    position:relative;
    z-index:1;
    width:min(920px,100%);
    max-height:min(86vh,900px);
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden;
    border:1px solid rgba(224,194,142,.46);
    border-radius:10px;
    background:#0b0a08;
    box-shadow:0 34px 100px rgba(0,0,0,.72);
}
.terms-modal__header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:26px 28px 22px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(135deg,#17130f,#0c0b09);
}
.terms-modal__header .eyebrow{margin-bottom:6px;font-size:.54rem}
.terms-modal__header h2{font-family:var(--font-display);font-size:2.75rem;line-height:1;font-weight:400;text-transform:uppercase;color:#f5ead7}
.terms-modal__header p:last-child{margin-top:7px;color:var(--muted);font-size:.72rem}
.terms-modal__close{
    width:42px;
    height:42px;
    flex:0 0 auto;
    border:1px solid var(--line);
    border-radius:5px;
    background:#0b0a08;
    color:var(--gold-2);
    font-size:1.65rem;
    line-height:1;
    cursor:pointer;
    transition:.2s ease;
}
.terms-modal__close:hover{border-color:var(--gold);background:rgba(211,166,91,.07)}
.terms-modal__body{overflow:auto;padding:24px 28px 30px;overscroll-behavior:contain}
.terms-modal__notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px 16px;border-left:2px solid var(--gold);background:rgba(211,166,91,.055)}
.terms-modal__notice strong{white-space:nowrap;color:var(--gold-2);font-size:.74rem}
.terms-modal__notice span{color:var(--muted);font-size:.71rem;line-height:1.55}
.terms-modal__sections{display:grid;gap:12px}
.terms-modal__section{padding:19px 20px;border:1px solid rgba(216,176,106,.16);border-radius:6px;background:#090806}
.terms-modal__section h3{margin-bottom:11px;font-family:var(--font-label);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2)}
.terms-modal__section ol{display:grid;gap:8px;list-style:decimal;padding-left:20px}
.terms-modal__section li{padding-left:3px;color:#c9bead;font-size:.73rem;line-height:1.65}
.terms-modal__section li::marker{color:var(--gold-3);font-weight:700}
.terms-modal__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:18px 28px;
    border-top:1px solid var(--line);
    background:#0d0b09;
}
.terms-modal__footer>div{display:flex;flex-direction:column;gap:3px}
.terms-modal__footer span{font-family:var(--font-label);font-size:.46rem;letter-spacing:.1em;text-transform:uppercase;color:#716a60}
.terms-modal__footer strong{font-size:.7rem;color:#d8ccb9}
body.terms-modal-open{overflow:hidden}

/* Responsive */
@media(max-width:900px){
    .registration-intro{grid-template-columns:1fr}
    .registration-intro__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
    .registration-fact{min-height:110px}
}

@media(max-width:760px){
    .fighter-registration-page.section-pad{padding:70px 0}
    .registration-intro__copy{padding:24px 20px}
    .registration-section__head{grid-template-columns:58px minmax(0,1fr)}
    .registration-section__head>span{min-height:76px;font-size:2.45rem}
    .registration-section__head>div{padding:16px 18px}
    .registration-section__head h2{font-size:2rem}
    .form-grid--registration{grid-template-columns:1fr;padding:21px 18px;gap:18px}
    .form-grid--registration .field--full{grid-column:auto}
    .registration-callout{margin:0 18px 20px}
    .registration-timeline__grid{grid-template-columns:1fr}
    .registration-timeline__grid>div{border-right:0}
    .terms-summary-card{grid-template-columns:1fr;margin:20px 18px 0;padding:20px}
    .terms-open-btn{width:100%;min-width:0}
    .terms-consent--clean{margin:14px 18px 20px;padding:17px}
    .registration-submit{align-items:stretch;flex-direction:column;padding:22px 20px}
    .registration-submit .btn{width:100%;min-width:0}
    .terms-modal{padding:12px}
    .terms-modal__dialog{max-height:92vh}
    .terms-modal__header{padding:20px}
    .terms-modal__header h2{font-size:2.15rem}
    .terms-modal__body{padding:18px}
    .terms-modal__notice{flex-direction:column}
    .terms-modal__footer{align-items:stretch;flex-direction:column;padding:16px 18px}
    .terms-modal__footer .btn{width:100%}
}

@media(max-width:520px){
    .registration-intro__facts{grid-template-columns:1fr}
    .registration-fact{min-height:auto;padding:18px}
    .registration-intro__note{grid-template-columns:1fr;gap:5px}
    .choice-row,.choice-row--compact{grid-template-columns:1fr;max-width:none}
    .terms-summary-card h3{font-size:1.75rem}
}
