/* FIGF Umbria - Iscrizioni Gare Individuali 1.1.1
   Colori volutamente espliciti per evitare conflitti con il tema WordPress. */

.figf-ind-wrap{
    max-width:900px;
    margin:30px auto;
    padding:25px;
    border:1px solid #d7dce2;
    border-radius:10px;
    background:#ffffff !important;
    color:#1f2933 !important;
    box-sizing:border-box;
}

.figf-ind-wrap,
.figf-ind-wrap p,
.figf-ind-wrap div,
.figf-ind-wrap span,
.figf-ind-wrap label,
.figf-ind-wrap small,
.figf-ind-wrap strong{
    color:#1f2933;
}

.figf-ind-wrap h2,
.figf-ind-wrap h3{
    color:#111827 !important;
}

.figf-ind-wrap h2{
    margin-top:0;
}

.figf-ind-wrap h3{
    margin-top:26px;
    margin-bottom:14px;
}

.figf-ind-event-info,
.figf-ind-edit-notice{
    padding:12px;
    background:#f3f6f9 !important;
    color:#1f2933 !important;
    border-radius:6px;
    margin-bottom:20px;
}

.figf-ind-edit-notice{
    background:#eef7ff !important;
    border-left:4px solid #2271b1;
}

.figf-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 18px;
}

.figf-ind-form label{
    display:block;
    font-weight:600;
    color:#1f2933 !important;
}

.figf-ind-form input[type=text],
.figf-ind-form input[type=email],
.figf-ind-form input[type=file]{
    display:block;
    width:100%;
    box-sizing:border-box;
    margin-top:6px;
    padding:11px 12px;
    border:1px solid #8c959f !important;
    border-radius:5px;
    background:#ffffff !important;
    color:#111827 !important;
    opacity:1 !important;
}

/* Evita che alcuni temi WordPress applichino al campo email un'altezza anomala. */
.figf-ind-form input[type=email]{
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    line-height:22px !important;
}

.figf-ind-form input::placeholder{
    color:#6b7280 !important;
    opacity:1 !important;
}

.figf-ind-form input:focus{
    outline:2px solid rgba(34,113,177,.22);
    border-color:#2271b1 !important;
}

.figf-player-row{
    display:grid;
    grid-template-columns:35px minmax(0,1fr) minmax(0,1fr) 115px 110px 38px;
    gap:8px;
    align-items:center;
    margin-bottom:10px;
}

.figf-player-row input[type=text]{
    margin:0;
}

.figf-num{
    font-weight:700;
    text-align:center;
    color:#374151 !important;
}

.figf-u18{
    font-size:14px !important;
    white-space:nowrap;
    color:#1f2933 !important;
}

.figf-u18 input{
    display:inline-block !important;
    width:auto !important;
    margin:0 6px 0 0 !important;
    vertical-align:middle;
}

.figf-remove{
    border:1px solid #9ca3af !important;
    background:#f3f4f6 !important;
    color:#111827 !important;
    border-radius:5px;
    font-size:20px;
    cursor:pointer;
    height:40px;
    line-height:1;
}

.figf-add{
    margin-top:4px !important;
    color:#111827 !important;
}

.figf-total-box{
    margin-top:22px;
    padding:18px;
    background:#f1f5f9 !important;
    color:#1f2933 !important;
    border-radius:8px;
    line-height:1.8;
}

.figf-total-box *{
    color:#1f2933 !important;
}

.figf-total{
    font-size:20px;
    margin-top:5px;
}

.figf-payment{
    margin-top:20px;
    padding:18px;
    border-left:4px solid #2271b1;
    background:#f6f9fc !important;
    color:#1f2933 !important;
}

.figf-payment *{
    color:#1f2933 !important;
}

.figf-check{
    margin:20px 0;
    font-weight:400 !important;
    color:#1f2933 !important;
}

.figf-check input{
    width:auto !important;
    display:inline-block !important;
}

.figf-submit{
    display:block;
    width:100%;
    padding:14px 20px;
    border:0;
    border-radius:6px;
    background:#2271b1 !important;
    color:#ffffff !important;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
}

.figf-submit:hover,
.figf-submit:focus{
    background:#185a8d !important;
    color:#ffffff !important;
}

.figf-ind-alert{
    padding:18px;
    background:#fff3cd !important;
    color:#3f3a20 !important;
    border:1px solid #ffe69c;
    border-radius:6px;
}

.figf-success-overlay{
    position:fixed;
    z-index:999999;
    inset:0;
    background:rgba(0,0,0,.55);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.figf-success{
    background:#ffffff !important;
    color:#1f2933 !important;
    padding:30px;
    border-radius:10px;
    max-width:500px;
    text-align:center;
    box-shadow:0 10px 40px rgba(0,0,0,.25);
}

.figf-success *{
    color:#1f2933 !important;
}

.figf-success button{
    padding:10px 20px;
    cursor:pointer;
    color:#111827 !important;
}

/* Smartphone */
@media(max-width:700px){
    .figf-ind-wrap{
        margin:0 auto;
        padding:18px 14px;
        border-radius:0;
    }

    .figf-grid{
        grid-template-columns:1fr;
        gap:4px;
    }

    .figf-ind-form p{
        margin-bottom:18px;
    }

    .figf-player-row{
        grid-template-columns:28px minmax(0,1fr) 38px;
        gap:8px;
        padding:10px 0;
        border-bottom:1px solid #e5e7eb;
    }

    .figf-player-row .figf-num{
        grid-column:1;
        grid-row:1 / span 4;
        align-self:start;
        padding-top:11px;
    }

    .figf-player-row input[name*="[nome]"]{
        grid-column:2;
        grid-row:1;
        min-width:0;
    }

    .figf-player-row input[name*="[cognome]"]{
        grid-column:2;
        grid-row:2;
        min-width:0;
    }

    .figf-player-row .figf-u18{
        grid-column:2;
        grid-row:4;
        white-space:normal;
        display:flex;
        align-items:center;
        min-height:32px;
    }

    .figf-player-row .figf-gender{
        grid-column:2;
        grid-row:3;
    }

    .figf-player-row .figf-remove{
        grid-column:3;
        grid-row:1 / span 4;
        align-self:center;
    }

    .figf-add{
        width:100%;
        padding:10px 12px !important;
    }

    .figf-total-box,
    .figf-payment{
        padding:15px;
    }
}

.figf-rankings-wrap{max-width:1000px;margin:25px auto;color:#1f2933!important}
.figf-ranking-block{margin-bottom:32px;background:#fff!important;color:#1f2933!important;border:1px solid #d7dce2;border-radius:10px;padding:18px}
.figf-ranking-block h3{margin-top:0;color:#111827!important}
.figf-ranking-scroll{overflow-x:auto}
.figf-ranking-table{width:100%;border-collapse:collapse;background:#fff!important;color:#1f2933!important}
.figf-ranking-table th,.figf-ranking-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;color:#1f2933!important;background:#fff!important}
.figf-ranking-table th{background:#f3f6f9!important;color:#111827!important}
.figf-ranking-table tr:last-child td{border-bottom:0}
@media(max-width:700px){.figf-ranking-block{padding:12px}.figf-ranking-table th,.figf-ranking-table td{padding:9px 8px;font-size:14px}}

/* 1.3.10 - campi anagrafici compatti e uniformi anche su smartphone */
.figf-ind-form .figf-grid > p{
    display:block !important;
    width:100% !important;
    margin:0 0 14px !important;
}
.figf-ind-form .figf-grid > p > label{
    display:block !important;
    width:100% !important;
}
.figf-ind-form .figf-grid input[name="club_name"],
.figf-ind-form .figf-grid input[name="contact_name"],
.figf-ind-form .figf-grid input[name="email"],
.figf-ind-form .figf-grid input[name="phone"]{
    display:block !important;
    width:100% !important;
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    margin:6px 0 0 !important;
    padding:6px 10px !important;
    line-height:22px !important;
    box-sizing:border-box !important;
    border:1px solid #8c959f !important;
    border-radius:5px !important;
    background:#fff !important;
    font:inherit !important;
}

/* 1.3.11: menu ASD / Dart Club nel modulo pubblico. */
.figf-ind-form .figf-grid select{
    display:block;
    width:100%;
    box-sizing:border-box;
    margin-top:6px;
    padding:8px 10px;
    min-height:36px;
    border:1px solid #8c959f !important;
    border-radius:5px;
    background:#ffffff !important;
    color:#111827 !important;
}
.figf-club-warning{display:block;margin-top:6px;color:#b32d2e !important;font-weight:600;}
.figf-payment-methods{display:flex;gap:22px;flex-wrap:wrap;margin:10px 0 16px}.figf-payment-methods label{font-weight:600!important}.figf-payment-methods input{width:auto!important;display:inline-block!important}.figf-bank-details,.figf-satispay-details{padding:12px 0}.figf-satispay-button{display:inline-block;padding:13px 18px;border-radius:6px;background:#2271b1!important;color:#fff!important;text-decoration:none!important;font-weight:700}.figf-satispay-button:hover{color:#fff!important}.figf-satispay-note{font-size:.92em;margin-top:10px}

/* Volantino gara: dimensione controllata su desktop e responsive su mobile */
.figf-event-flyer{max-width:760px;margin:0 auto 24px;text-align:center}
.figf-event-flyer img{display:block;width:100%;max-width:760px;height:auto;margin:0 auto;object-fit:contain}
@media (max-width:780px){.figf-event-flyer{max-width:100%;margin-bottom:18px}.figf-event-flyer img{max-width:100%;height:auto}}

/* 1.4.3 - numero chiuso e lista riserve */
.figf-capacity-box{max-width:760px;margin:0 auto 20px;padding:14px 16px;border:1px solid #b8c7d9;border-radius:8px;background:#f5f9fd;color:#1f2933;display:flex;gap:10px 22px;align-items:center;flex-wrap:wrap}
.figf-capacity-box.is-full{border-color:#d9b66f;background:#fff8e8}
.figf-capacity-box>strong{font-size:1.08em}.figf-capacity-hint{margin:0 0 12px!important;padding:10px 12px;background:#f6f7f7;border-left:4px solid #2271b1}.figf-reserve-note{margin:18px 0;padding:14px 16px;background:#fff8e8;border:1px solid #d9b66f;border-radius:7px;color:#3c2f12}
@media(max-width:700px){.figf-capacity-box{display:block}.figf-capacity-box span{display:block;margin-top:5px}}
