/*
 * FamePadi Form Visual-Only Final v4.3.0
 *
 * Scope: public individual form page only.
 * Preserve existing DOM and desktop two-column form structure.
 */

.fp-form-final{
    --fp430-text:#111827;
    --fp430-muted:#697588;
    --fp430-line:#e4e9ef;
    --fp430-white:#ffffff;
    --fp430-purple:#6540dc;
    --fp430-accent:#ffd84e;
}

/* ===== PAGE CANVAS: same light public-page treatment as event pages ===== */
.fp-form-final{
    background:#fff!important;
    color:var(--fp430-text)!important;
}

.fp-form-final .page-content{
    width:min(1280px,calc(100% - 48px))!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:28px 0 80px!important;
    background:linear-gradient(180deg,#f5f7fa 0,#fff 45%)!important;
}

/* ===== HERO: do not change markup, only make current v410 hero read like event page ===== */
.fp-form-final .vx-event-hero{
    width:100%!important;
    max-width:100%!important;
    padding:25px!important;
    border-radius:30px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:linear-gradient(135deg,#302075 0%,#345d98 55%,#177a70 100%)!important;
    box-shadow:0 28px 70px rgba(30,41,90,.18)!important;
}

.fp-form-final .vx-event-hero,
.fp-form-final .vx-event-hero *{
    box-sizing:border-box!important;
}

.fp-form-final .vx-event-media{
    border-radius:22px!important;
    overflow:hidden!important;
}

.fp-form-final .vx-event-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}

.fp-form-final .vx-event-copy{
    min-width:0!important;
}

.fp-form-final .vx-event-copy h1{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-shadow:none!important;
}

.fp-form-final .vx-event-kicker,
.fp-form-final .vx-event-count-wrap>span,
.fp-form-final .vx-event-dates span{
    color:rgba(255,255,255,.70)!important;
    -webkit-text-fill-color:rgba(255,255,255,.70)!important;
}

.fp-form-final .vx-form-meta-row>div{
    background:rgba(255,255,255,.075)!important;
    border-color:rgba(255,255,255,.14)!important;
}

.fp-form-final .vx-form-meta-row small{
    color:rgba(255,255,255,.58)!important;
    -webkit-text-fill-color:rgba(255,255,255,.58)!important;
}

.fp-form-final .vx-form-meta-row strong,
.fp-form-final .vx-event-dates b{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

.fp-form-final .vx-form-countdown{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:540px!important;
}

.fp-form-final .vx-form-countdown>div{
    min-width:0!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.09)!important;
    border-color:rgba(255,255,255,.14)!important;
}

.fp-form-final .vx-form-countdown strong{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

.fp-form-final .vx-form-countdown span{
    color:rgba(255,255,255,.58)!important;
    -webkit-text-fill-color:rgba(255,255,255,.58)!important;
}

/* ===== SHARE STRIP: keep current placement, style like event page ===== */
.fp-form-final .vx-form-share{
    display:grid!important;
    grid-template-columns:1fr auto auto!important;
    align-items:center!important;
    gap:24px!important;
    margin:22px 0!important;
    padding:18px 22px!important;
    border:1px solid var(--fp430-line)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 12px 35px rgba(15,23,42,.045)!important;
}

.fp-form-final .vx-form-share h2{
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
}

.fp-form-final .vx-form-share>div:first-child span{
    color:#8b95a5!important;
    -webkit-text-fill-color:#8b95a5!important;
}

/* ===== CRITICAL: PRESERVE THE REQUESTED TWO-COLUMN FORM LAYOUT ===== */
.fp-form-final .contest-content{
    margin-top:0!important;
}

.fp-form-final .contestants>.row{
    display:grid!important;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
    gap:22px!important;
    align-items:start!important;
    width:100%!important;
    margin:0!important;
}

.fp-form-final .contestants>.row>[class*="col-"]{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
    padding:0!important;
    margin:0!important;
}

/* LEFT: Form Details */
.fp-form-final .contestants>.row>.col-md-6:first-child{
    position:sticky!important;
    top:105px!important;
    align-self:start!important;
    padding:28px!important;
    border:1px solid var(--fp430-line)!important;
    border-radius:22px!important;
    background:#fff!important;
    color:var(--fp430-text)!important;
    box-shadow:0 12px 35px rgba(15,23,42,.045)!important;
}

.fp-form-final .contestants>.row>.col-md-6:first-child h5{
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
    font-weight:950!important;
}

.fp-form-final .contestants>.row>.col-md-6:first-child p{
    color:var(--fp430-muted)!important;
    -webkit-text-fill-color:var(--fp430-muted)!important;
}

.fp-form-final .contestants>.row>.col-md-6:first-child hr{
    border-color:#edf0f4!important;
}

/* RIGHT: Registration Form */
.fp-form-final .contestants .card{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    border:1px solid var(--fp430-line)!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 12px 35px rgba(15,23,42,.045)!important;
}

.fp-form-final .contestants .card-header{
    padding:28px 28px 12px!important;
    border:0!important;
    background:#fff!important;
}

.fp-form-final .contestants .card-header h5{
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
    font-weight:950!important;
}

.fp-form-final .contestants .card-header small{
    color:var(--fp430-muted)!important;
    -webkit-text-fill-color:var(--fp430-muted)!important;
}

.fp-form-final .contestants .card-body{
    padding:10px 28px 28px!important;
    background:#fff!important;
    color:var(--fp430-text)!important;
}

.fp-form-final .contestants .card-body h4{
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
}

.fp-form-final .contestants .card-body label{
    color:#334155!important;
    -webkit-text-fill-color:#334155!important;
    font-weight:850!important;
}

/* hidden fields remain hidden */
.fp-form-final input[type="hidden"],
.fp-form-final input[hidden],
.fp-form-final [hidden]{
    display:none!important;
}

/* normal controls */
.fp-form-final .contestants .card-body input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]):not([type="button"]),
.fp-form-final .contestants .card-body select,
.fp-form-final .contestants .card-body textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    padding:12px 13px!important;
    border:1px solid #dfe4ea!important;
    border-radius:11px!important;
    outline:0!important;
    background:#fff!important;
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
    box-shadow:none!important;
}

.fp-form-final .contestants .card-body textarea{
    min-height:120px!important;
}

/* multi-select: readable; do not let old dark CSS bleed through */
.fp-form-final .contestants .card-body select[multiple]{
    min-height:125px!important;
    padding:10px 12px!important;
    background:#fff!important;
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
}

.fp-form-final .contestants .card-body select[multiple] option{
    padding:6px!important;
    background:#fff!important;
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
}

/* file */
.fp-form-final .contestants .card-body input[type="file"]{
    width:100%!important;
    min-height:50px!important;
    padding:7px!important;
    border:1px solid #dfe4ea!important;
    border-radius:11px!important;
    background:#fff!important;
    color:var(--fp430-text)!important;
}

/* radio choices */
.fp-form-final .contestants .card-body .radio.radio-inline{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    min-height:42px!important;
    margin:0 8px 8px 0!important;
    padding:9px 12px!important;
    border:1px solid #dfe4ea!important;
    border-radius:11px!important;
    background:#fff!important;
}

.fp-form-final .contestants .card-body .radio.radio-inline input[type="radio"]{
    appearance:auto!important;
    -webkit-appearance:radio!important;
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    margin:0!important;
    position:static!important;
    opacity:1!important;
    accent-color:var(--fp430-purple)!important;
}

.fp-form-final .contestants .card-body .radio.radio-inline label{
    display:block!important;
    width:auto!important;
    margin:0!important;
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
}

/* keep every generated row inside the right card */
.fp-form-final .contestants .card-body .row{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
}

.fp-form-final .contestants .card-body .row>[class*="col-"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding-left:0!important;
    padding-right:0!important;
}

/* ===== PAYMENT: keep exact current position, just polish ===== */
.fp-form-final .fp300-payments{
    width:100%!important;
    max-width:100%!important;
    margin-top:24px!important;
    padding:20px!important;
    border:1px solid var(--fp430-line)!important;
    border-radius:17px!important;
    background:#f8fafc!important;
}

.fp-form-final .fp300-payment-heading p{
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
}

.fp-form-final .fp300-payment-heading small{
    color:#64748b!important;
    -webkit-text-fill-color:#64748b!important;
}

.fp-form-final .fp300-payment-grid{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
}

.fp-form-final .fp300-gateway-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

/* ===== TRACK PAYMENT: preserve existing placement and structure ===== */
.fp-form-final #payment{
    width:100%!important;
    max-width:100%!important;
    margin-top:20px!important;
    padding:23px!important;
    border:1px solid var(--fp430-line)!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 12px 35px rgba(15,23,42,.045)!important;
}

.fp-form-final #payment h4{
    color:var(--fp430-text)!important;
    -webkit-text-fill-color:var(--fp430-text)!important;
}

.fp-form-final #payment p{
    color:var(--fp430-muted)!important;
    -webkit-text-fill-color:var(--fp430-muted)!important;
}

/* ===== TABLET ===== */
@media(max-width:900px){
    .fp-form-final .page-content{
        width:min(100% - 28px,1280px)!important;
    }

    .fp-form-final .contestants>.row{
        grid-template-columns:1fr!important;
    }

    .fp-form-final .contestants>.row>.col-md-6:first-child{
        position:static!important;
    }

    .fp-form-final .vx-form-share{
        grid-template-columns:1fr!important;
    }
}

/* ===== PHONE ===== */
@media(max-width:600px){
    .fp-form-final .page-content{
        width:100%!important;
        padding:18px 14px 60px!important;
    }

    .fp-form-final .contestants>.row{
        gap:16px!important;
    }

    .fp-form-final .contestants>.row>.col-md-6:first-child{
        padding:20px!important;
    }

    .fp-form-final .contestants .card-header{
        padding:20px 20px 10px!important;
    }

    .fp-form-final .contestants .card-body{
        padding:8px 20px 20px!important;
    }

    .fp-form-final .contestants .card-body .radio.radio-inline{
        display:flex!important;
        width:100%!important;
        margin:0 0 7px!important;
    }

    .fp-form-final .fp300-payment-grid{
        grid-template-columns:1fr!important;
    }
}