
/* ==========================================
   LES PASS DU FESTIVAL
   ========================================== */

.fvd-passes {
    border-top: 2px solid #e6e2da;
    margin-top: 1.5rem;
    padding-top: 1rem;
    text-align: left;
}

.fvd-passes h3 {
    margin-bottom: 0.6rem;
}

.fvd-passes label {
    display: block;
    font-weight: 600;
}


/* ==========================================
   CHAMPS ET SÉLECTEURS
   ========================================== */

.fvd-passes select,
.fvd-passes input[type="number"] {
    padding: 0.55rem;
    border: 1px solid #999;
    border-radius: 5px;
    background: #fff;
    color: #222;
}

.fvd-passes input[type="number"] {
    width: 5.5rem;
}


/* ==========================================
   SÉLECTION DES SOIRÉES
   ========================================== */

.fvd-passes fieldset {
    padding: 1rem;
    margin-top: 1rem;
}

.fvd-passes fieldset label {
    font-weight: 400;
    margin: 0.6rem 0;
}

.fvd-passes [hidden] {
    display: none !important;
}


/* ==========================================
   ACTIONS ET BOUTONS
   ========================================== */

.fvd-pass-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.fvd-passes button {
    padding: 0.65rem 1rem;
    border-radius: 6px;
    cursor: pointer;
}

.fvd-passes button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}


/* ==========================================
   PANIER DES PASS
   ========================================== */

.fvd-pass-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    border-top: 1px solid #ddd;
}

.fvd-pass-row > div {
    flex: 1;
}

.fvd-pass-row p {
    font-size: 0.85rem;
    line-height: 1.5;
}

.fvd-pass-row input {
    max-width: 100%;
}


/* ==========================================
   AFFICHAGE DES TARIFS
   ========================================== */

.staff-price-original {
    color: #6b7280;
    font-size: 0.9em;
    margin-right: 0.35em;
}

.staff-price-reduced {
    color: #16733b;
    font-weight: 700;
}

.staff-price-reduced span {
    font-size: 0.85em;
}


/* ==========================================
   RÉCAPITULATIF
   ========================================== */

#recap-tickets-list li {
    margin-bottom: 1rem;
}


/* ==========================================
   RESPONSIVE — MOBILE
   ========================================== */

@media (max-width: 600px) {

    .fvd-pass-row {
        flex-wrap: wrap;
    }

    .fvd-pass-row > div {
        flex-basis: 100%;
    }

    .fvd-passes select {
        max-width: 100%;
    }

}



/* ================================================================
   Billetterie publique 2027 — pass noir et bronze, sélecteur + / −
   Styles volontairement limités à #main-content.
   Le parcours Staff conserve son champ numérique historique.
   ================================================================ */
#main-content #ticket-selection .fvd-passes h3 {
    text-align: center;
    margin-bottom: 10px;
}

#main-content #ticket-selection .fvd-passes > .fvd-pass-benefits {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 24px;
    line-height: 1.6;
    color: #f2e6d0;
    font-size: 16px;
}

#main-content #ticket-selection .fvd-passes > .fvd-pass-benefits strong {
    color: #b69063;
    font-weight: 700;
}

#main-content #ticket-selection .fvd-passes select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 54px;
    background-color: #24211e;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23B69063' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5l5 5 5-5'/%3E%3C/svg%3E");
    background-position: right 18px center;
    background-repeat: no-repeat;
    background-size: 16px;
}

#main-content .fvd-pass-actions .fvd-pass-quantity-field {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

#main-content .fvd-pass-quantity-caption {
    color: #fff9f1;
    font-size: .88rem;
    font-weight: 700;
    white-space: nowrap;
}

#main-content .fvd-pass-quantity-stepper {
    display: inline-flex;
    align-items: stretch;
    flex: 0 0 auto;
    overflow: visible;
    gap: 8px;
    min-height: 46px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

#main-content .fvd-passes .fvd-pass-quantity-stepper input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
    display: block;
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    min-height: 44px;
    height: 44px;
    margin: 0;
    padding: 0 2px;
    text-align: center;
    border: 1px solid #806748;
    border-radius: 9px;
    box-shadow: none;
    background: #130f0c;
    color: #fff9f1;
    font-weight: 700;
}

#main-content .fvd-pass-quantity-stepper input[type="number"]::-webkit-inner-spin-button,
#main-content .fvd-pass-quantity-stepper input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#main-content .fvd-passes .fvd-pass-quantity-stepper .fvd-stepper-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    min-width: 43px;
    min-height: 44px;
    padding: 0;
    margin: 0;
    border: 1px solid #806748;
    border-radius: 9px;
    background: #24211e;
    color: #b69063;
    font: inherit;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
}

#main-content .fvd-passes .fvd-pass-quantity-stepper .fvd-stepper-minus {
    border: 1px solid #806748;
}

#main-content .fvd-passes .fvd-pass-quantity-stepper .fvd-stepper-plus {
    border: 1px solid #b69063;
    background: #b69063;
    color: #130f0c;
}

#main-content .fvd-passes .fvd-pass-quantity-stepper .fvd-stepper-button:not(:disabled):hover {
    background: #dfbb8b;
    color: #130f0c;
}

#main-content .fvd-passes .fvd-pass-quantity-stepper .fvd-stepper-button:disabled {
    opacity: .35;
    cursor: not-allowed;
}

#main-content .fvd-passes .fvd-pass-quantity-stepper :is(button, input):focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px #dfbb8b;
}
