/*
Theme Name: Oenovino Child
Theme URI: https://www.oenovino.paris
Description: Child Theme optimisé performance + styles personnalisés
Author: Oenovino
Template: educationpack
Version: 2.0
*/

@import url("../educationpack/style.css");
@import url("../educationpack/css/grid12.css");

/* ==============================================================
   OENOVINO CHILD — style.css refactorisé 2026-05-30
   --------------------------------------------------------------
   Table des matières :
   1. VARIABLES
   2. TYPOGRAPHIE & BASE
   3. SYSTÈME DE BOUTONS
   4. FORMULAIRES (CF7, WC, Stripe)
   5. WOOCOMMERCE — produit, checkout, payment
   6. QUIZ CAT
   7. COMPOSANTS — cookie, modal, sticky menu, footer
   8. OVERRIDES NICDARK
   9. RESPONSIVE
   ============================================================== */


/* ==============================================================
   1. VARIABLES
   ============================================================== */
:root {
    --brand: #701414;
    --brand-hover: #5a1010;
    --brand-halo: rgba(112, 20, 20, 0.1);
    --brand-shadow: 0 6px 16px rgba(112, 20, 20, 0.22);
    --charcoal: #222629;
    --charcoal-hover: #5a5a5a;
    --charcoal-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
    --muted: #6b6b6c;
    --light-muted: #888;
    --rule: #d0d0d0;
    --bg-input: #f9f9f9;
    --bg-card: #ffffff;
    --bg-soft: #f4f4f4;

    --line-tight: 1.25;
    --line-base: 1.6;
    --line-heading: 1.3;

    --radius: 8px;
    --radius-sm: 3px;
    --radius-lg: 12px;

    --transition-base: 0.2s ease;
}


/* ==============================================================
   2. TYPOGRAPHIE & BASE
   ============================================================== */
#start_nicdark_framework {
    font-family: 'Open Sans', sans-serif;
    color: #000000;
}

/* Hiérarchie titres — tailles inchangées, line-height & weight harmonisés */
h1, h2 {
    text-transform: uppercase;
    color: var(--charcoal);
    line-height: var(--line-heading);
}

h1 {
    margin-top: 20px;
    margin-bottom: 20px;
}

h2, h3, h4, h5 {
    font-weight: bold;
    line-height: var(--line-heading);
}

/* Paragraphes — line-height lisible (fix du bug `initial`) */
p {
    margin-bottom: 20px;
    line-height: var(--line-base);
}

/* Listes — bullets propres, indent cohérent sur pages produit et contenu */
.entry-content ul,
.entry-content ol,
.woocommerce-product-details__short-description ul,
.woocommerce-product-details__short-description ol,
.woocommerce-Tabs-panel ul,
.woocommerce-Tabs-panel ol,
.vc_column_text ul,
.vc_column_text ol,
.product-content ul,
.product-content ol {
    padding-left: 1.5em;
    margin-left: 0;
    margin-top: 12px;
    margin-bottom: 16px;
    list-style-position: outside;
}

.entry-content ul li,
.woocommerce-product-details__short-description ul li,
.woocommerce-Tabs-panel ul li,
.vc_column_text ul li,
.product-content ul li,
.entry-content ol li,
.woocommerce-product-details__short-description ol li,
.woocommerce-Tabs-panel ol li,
.vc_column_text ol li,
.product-content ol li {
    margin-bottom: 6px;
    line-height: var(--line-base);
}

/* Textes blancs (sections sombres) */
.texte-blanc h2,
.texte-blanc p,
.texte-blanc a {
    color: #ffffff !important;
}

/* Liens dans le contenu — brand color */
p a,
.entry-content p a,
.post-content p a,
.vc_column_text p a {
    color: var(--brand) !important;
}

p a:hover {
    color: var(--muted) !important;
}

.entry-content p a {
    font-weight: bold;
}

.nd_options_container p a {
    font-weight: bold;
}

.nd_options_container a {
    color: var(--brand);
}

a.nd_options_color_grey {
    color: #fff !important;
    background: var(--charcoal);
}

/* Footer / Exception couleurs */
.footer_gris,
a.footer_gris {
    color: #727272 !important;
    font-weight: bold !important;
}


/* ==============================================================
   3. SYSTÈME DE BOUTONS
   --------------------------------------------------------------
   3 niveaux :
     - .btn-primary  → rouge plein (action de conversion)
     - .btn-cpf      → rouge outline + étoile (financement officiel)
     - .btn-tertiary → charcoal (action secondaire, utilitaire)
   Rétrocompatibilité IDs existants conservée.
   ============================================================== */

.btn,
a.btn,
button.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: var(--radius) !important;
    border: 2px solid transparent !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: var(--line-tight) !important;
    white-space: nowrap !important;
    transition: background-color var(--transition-base),
                color var(--transition-base),
                border-color var(--transition-base),
                transform 0.15s ease,
                box-shadow var(--transition-base) !important;
}

/* === PRIMARY === */
.btn-primary,
a.btn-primary,
button.btn-primary,
#reserver-formation,
#reserver-formation-lms,
#reserver-formation-hero,
#reserver-formation-bottom,
#place_order,
.button.alt,
.fca_qc_next_question,
button.fca_qc_button,
.fca_qc_score_container a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 28px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: var(--radius) !important;
    border: 2px solid var(--brand) !important;
    background-color: var(--brand) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: var(--line-tight) !important;
    white-space: nowrap !important;
    transition: background-color var(--transition-base),
                border-color var(--transition-base),
                transform 0.15s ease,
                box-shadow var(--transition-base) !important;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
#reserver-formation:hover,
#reserver-formation-lms:hover,
#reserver-formation-hero:hover,
#reserver-formation-bottom:hover,
#place_order:hover,
.button.alt:hover,
.fca_qc_next_question:hover,
button.fca_qc_button:hover,
.fca_qc_score_container a:hover {
    background-color: var(--brand-hover) !important;
    border-color: var(--brand-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--brand-shadow) !important;
}

/* === CPF (outline) === */
.btn-cpf,
a.btn-cpf,
#reserver-CPF,
a#reserver-CPF {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 28px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: var(--radius) !important;
    border: 2px solid var(--brand) !important;
    background-color: transparent !important;
    color: var(--brand) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: var(--line-tight) !important;
    white-space: nowrap !important;
    transition: background-color var(--transition-base),
                color var(--transition-base),
                transform 0.15s ease,
                box-shadow var(--transition-base) !important;
}

.btn-cpf::before,
#reserver-CPF::before {
    content: "★" !important;
    font-size: 11px !important;
    margin-right: 2px !important;
}

.btn-cpf:hover,
#reserver-CPF:hover {
    background-color: var(--brand) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--brand-shadow) !important;
}

/* === TERTIARY === */
.btn-tertiary,
a.btn-tertiary,
button.btn-tertiary,
.wpcf7 input[type="submit"],
.nd_options_customizer_forms input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 28px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: var(--radius) !important;
    border: 2px solid var(--charcoal) !important;
    background-color: var(--charcoal) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: var(--line-tight) !important;
    white-space: nowrap !important;
    -webkit-appearance: none !important;
    transition: background-color var(--transition-base),
                border-color var(--transition-base),
                transform 0.15s ease,
                box-shadow var(--transition-base) !important;
}

.btn-tertiary:hover,
button.btn-tertiary:hover,
.wpcf7 input[type="submit"]:hover,
.nd_options_customizer_forms input[type="submit"]:hover {
    background-color: var(--charcoal-hover) !important;
    border-color: var(--charcoal-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--charcoal-shadow) !important;
}

/* === Modificateurs de taille === */
.btn-lg,
a.btn-lg {
    padding: 18px 36px !important;
    font-size: 14px !important;
    letter-spacing: 2.5px !important;
}

.btn-sm,
a.btn-sm {
    padding: 10px 18px !important;
    font-size: 11px !important;
    letter-spacing: 1.4px !important;
}


/* ==============================================================
   4. FORMULAIRES
   ============================================================== */

/* Inputs CF7 — cohérence avec WC checkout */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="password"],
.wpcf7 select,
.wpcf7 textarea {
    border: 1px solid var(--rule) !important;
    padding: 10px !important;
    border-radius: var(--radius) !important;
    background: var(--bg-input) !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    color: var(--charcoal) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    -webkit-appearance: none !important;
    transition: border-color var(--transition-base),
                background var(--transition-base),
                box-shadow var(--transition-base) !important;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 input[type="password"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    border-color: var(--brand) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px var(--brand-halo) !important;
}

/* Messages success/error CF7 — fusionnés (anciennement éparpillés) */
.nd_options_customizer_forms .wpcf7-response-output.wpcf7-mail-sent-ok {
    background-color: #FFFFFF !important;
    color: black;
}

.nd_options_customizer_forms span.wpcf7-not-valid-tip,
.nd_options_customizer_forms .wpcf7-response-output.wpcf7-validation-errors {
    background-color: #ffffff;
    color: black;
}

/* WC form inputs — radius cohérent */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row.woocommerce-validated input.input-text {
    border: 1px solid var(--rule);
    padding: 10px;
    border-radius: var(--radius);
    background: var(--bg-input);
}

/* Checkbox MC4WP */
mc4wp-checkbox mc4wp-checkbox-contact-form-7 {
    display: inline;
    text-align: left;
}


/* ==============================================================
   5. WOOCOMMERCE — produits, checkout, payment
   ============================================================== */

/* Produit — espacement & tabs */
.woocommerce div.product {
    margin-top: 3%;
}

.woocommerce div.product .woocommerce-product-rating,
.woocommerce.woocommerce-page .product .summary.entry-summary .product_meta,
.related.products,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-Tabs-panel.woocommerce-Tabs-panel--description h2 {
    display: none;
}

.woocommerce.woocommerce-page .product .woocommerce-tabs ul {
    border: none;
    margin-bottom: 20px;
    margin-left: 50px;
}

.woocommerce.woocommerce-page .product .woocommerce-tabs p {
    margin-left: 50px;
}

.woocommerce div.product .woocommerce-tabs .panel {
    margin-top: 50px !important;
}

/* Stock out */
.stock.out-of-stock,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .out-of-stock {
    color: #FFFFFF;
}

/* Cache bouton variable inutilisé */
.button.product_type_variable {
    display: none !important;
}

/* Images responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Checkout & payment — wrapper */
#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-checkout.checkout .woocommerce-checkout-payment {
    background-color: #fff !important;
    margin-bottom: 28px;
}

.woocommerce-checkout.checkout .woocommerce-checkout-payment .wc_payment_method div {
    background-color: var(--bg-input) !important;
    padding: 0px;
}

.woocommerce-checkout.checkout .woocommerce-checkout-payment .wc_payment_method div:before {
    display: none !important;
}

/* Label méthode paiement — fusionné */
.woocommerce-checkout.checkout .woocommerce-checkout-payment .wc_payment_method label {
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    text-transform: none;
}

.woocommerce-checkout .woocommerce .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
    margin-top: 50px;
}

.woocommerce-info {
    margin-top: 50px !important;
}

.woocommerce-additional-fields {
    margin-top: 100px;
}

.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    float: none;
}

.custom_checkbox {
    margin-top: 50px;
}

/* Payment box restylée */
.woocommerce-checkout #payment {
    background: #ffffff !important;
    padding: 40px 35px !important;
    border: 1px solid var(--rule) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
}

.woocommerce-checkout #payment h3 {
    color: var(--charcoal) !important;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 1.45rem !important;
    margin-bottom: 30px !important;
}

#payment ul.payment_methods li.wc_payment_method {
    border: 2px solid var(--rule) !important;
    border-radius: 10px !important;
    padding: 22px 26px !important;
    margin-bottom: 18px !important;
    background: #ffffff !important;
    transition: all var(--transition-base) !important;
}

#payment ul.payment_methods li.wc_payment_method:hover,
#payment ul.payment_methods li.payment_method_stripe {
    border-color: var(--brand) !important;
    background: #fdf4f4 !important;
}

#payment ul.payment_methods li label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.5px !important;
    font-weight: 600 !important;
    color: var(--charcoal) !important;
    padding-left: 45px !important;
    cursor: pointer;
    display: flex;
    align-items: center;
}

#payment ul.payment_methods input[type="radio"] {
    position: absolute !important;
    left: 26px !important;
    top: 27px !important;
    accent-color: var(--brand) !important;
    transform: scale(1.25);
}

/* Payment box — centrage final */
#payment .payment_box {
    background: #ffffff !important;
    border: 1px solid var(--rule) !important;
    border-radius: var(--radius) !important;
    padding: 20px !important;
    margin-top: 18px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Saved payment methods */
#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods {
    margin: 30px;
}

#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods label,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods label,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods label {
    font-size: 12px;
}

/* Stripe */
.payment_method_stripe .payment_box,
#wc-stripe-upe-form,
.wc-stripe-upe-element,
#wc-stripe-upe-form > div {
    background: #ffffff !important;
}

.payment_method_stripe [style*="background"] {
    background: #ffffff !important;
}

.payment_method_stripe .payment_box {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    margin-top: 20px !important;
}

.StripeElement,
.__PrivateStripeElement,
.StripeElement iframe {
    background: var(--bg-input) !important;
    border: 1px solid var(--rule) !important;
    border-radius: var(--radius) !important;
    width: 100% !important;
    padding: 14px !important;
}

/* Autres méthodes */
.payment_method_bitpay_checkout_gateway .payment_box,
.payment_method_bacs .payment_box,
.payment_method_cheque .payment_box {
    margin-left: 0 !important;
    width: 100% !important;
}


/* ==============================================================
   6. QUIZ CAT (FCA Quiz)
   --------------------------------------------------------------
   Reproduit l'état final cascadé de l'ancien CSS :
     - questions (.fca-qc-front, .fca-qc-flipper, #fca_qc_answer_container)
       → container plein écran, blanc, sans ornement, padding 40×30
     - feedback réponse (.fca-qc-back) → encart gris #f9f9f9 distinct
   ============================================================== */

/* === Containers QUESTIONS — pleine largeur, sobre, blanc === */
.fca-qc-front,
.fca-qc-flipper,
#fca_qc_answer_container,
.flip-container.fca_qc_quiz_div {
    background-color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 0 0 transparent !important;
    border-radius: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    margin-bottom: 60px !important;
    padding: 40px 30px !important;
    box-sizing: border-box !important;
    clear: both !important;
    position: relative !important;
    z-index: 1 !important;
    height: auto !important;
    min-height: auto !important;
}

/* === Container FEEDBACK RÉPONSE — encart gris distinct === */
.fca-qc-back,
#fca_qc_back_container {
    background: var(--bg-input) !important;
    padding: 40px !important;
    border-radius: var(--radius-lg) !important;
    max-width: 920px !important;
    margin: 40px auto !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1) !important;
    box-sizing: border-box !important;
}

/* Container global */
div.fca_qc_quiz,
.fca-qc-quiz_div {
    max-width: 620px !important;
    margin: 0 auto !important;
    width: 100% !important;
    padding: 30px 15px !important;
    box-sizing: border-box !important;
}

/* Largeur max si dans container principal */
.nd_options_box_sizing_border_box:nth-child(1) .fca-qc-quiz_div,
.nd_options_box_sizing_border_box:nth-child(1) .flip-container.fca_qc_quiz_div,
.nd_options_box_sizing_border_box:nth-child(1) .fca-qc-flipper,
.nd_options_box_sizing_border_box:nth-child(1) .fca-qc-front,
.nd_options_box_sizing_border_box:nth-child(1) #fca_qc_answer_container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 35px 20px !important;
    margin: 0 auto 50px auto !important;
}

/* Réponses — style carte cliquable (liste verticale) */
.fca_qc_answer_div,
.fca-qc-answer-div {
    border: 2px solid var(--rule) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    font-size: 1.08rem !important;
    height: auto !important;
    min-height: auto !important;
    width: 100% !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    margin-bottom: 18px !important;
    padding: 22px 28px !important;
    box-sizing: border-box !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    cursor: pointer;
    transition: border-color var(--transition-base), background-color var(--transition-base);
}

.fca_qc_answer_div:hover {
    border-color: var(--brand) !important;
    background-color: #fdf4f4 !important;
}

.fca-qc-answers,
.fca_qc_answers_container {
    display: block !important;
    grid-template-columns: none !important;
    flex-direction: column !important;
}

/* Cache images quiz */
.fca_qc_quiz_answer_img,
.fca_qc_quiz_description_img,
.fca_qc_quiz_question_img {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
}

/* Cache checkbox / rectangle */
.fca_qc_rectancle,
.fca_qc_checkbox,
.fca_qc_answer_span svg {
    display: none !important;
}

/* Typo quiz — héritage thème */
.fca_qc_question,
.fca_qc_answer_span,
.fca_qc_next_question,
.fca_qc_score_text,
.fca_qc_back_response {
    font-family: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

.fca_qc_question {
    font-size: 1.08rem !important;
    font-weight: 700 !important;
}

.fca_qc_answer_span {
    font-size: 1.08rem !important;
    font-weight: 400 !important;
    color: var(--charcoal) !important;
}

.fca_qc_next_question {
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}

/* Score container — borderé brand */
.fca_qc_score_container {
    padding: 40px 30px !important;
    margin: 40px 0 !important;
    background: #ffffff !important;
    border: 2px solid var(--brand) !important;
    border-radius: var(--radius-lg) !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(112, 20, 20, 0.08) !important;
}

.fca_qc_score_text {
    font-size: 2.1rem !important;
    font-weight: 700 !important;
    color: var(--brand) !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.fca_qc_score_title {
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    color: var(--charcoal) !important;
    margin: 0 0 25px 0 !important;
}

.fca_qc_score_desc {
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
    color: #444 !important;
    max-width: 580px !important;
    margin: 0 auto 30px auto !important;
}

.fca_qc_score_desc > div[style*="margin-bottom: 30px"] {
    display: none !important;
}

#fca_qc_question_right_or_wrong,
#fca_qc_back_response_p,
#fca_qc_correct_answer_p {
    color: var(--charcoal) !important;
    font-size: 1.1rem !important;
}


/* ==============================================================
   7. COMPOSANTS
   ============================================================== */

/* === Cookie notice === */
#cookie-notice {
    line-height: 28px;
}

#cookie-notice .button {
    margin-left: 10px;
    color: white;
    border: 1px solid white;
    padding: 5px;
    border-radius: 5px;
}

/* === Modals (WPH) === */
.wph-modal.wph-modal--popup {
    width: 80% !important;
}

.wph-modal--2.wph-modal--2.wph-modal.wph-modal--minimal .wph-modal--content h2.wph-modal--title {
    font-size: 13px !important;
    letter-spacing: 3px !important;
}

.wph-modal .wph-modal--close a {
    color: var(--brand);
}

.wph-modal .wph-modal--content .wph-modal--message *:not(.button):not(.wph-modal--cta):not(a) {
    color: none;
}

/* === YARPP (related posts) === */
.yarpp-thumbnails-horizontal .yarpp-thumbnail {
    margin: 43px;
    margin-left: 0px;
    vertical-align: top;
    border: none;
}

.yarpp-thumbnails-horizontal .yarpp-thumbnail > img,
.yarpp-thumbnails-horizontal .yarpp-thumbnail-default {
    margin: 5px;
}

.yarpp-thumbnails-horizontal .yarpp-thumbnail-title {
    font-size: 96%;
    max-height: none;
}

.yarpp-related h3 {
    text-transform: none;
}

/* === Sticky menu === */
#mysticky-nav {
    width: 100%;
    position: static;
    height: auto !important;
}

#mysticky-nav.wrapfixed {
    position: fixed;
    left: 0px;
    margin-top: 0px;
    z-index: 1000000;
    transition: 0.3s;
    opacity: 1;
    background-color: #F39A30;
}

#mysticky-nav.wrapfixed .myfixed {
    background-color: #F39A30;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
}

.myfixed {
    margin: 0 auto !important;
    float: none !important;
    border: 0px !important;
    background: none !important;
    max-width: 100% !important;
}

/* === Footer === */
#h2-footer {
    color: #fff;
    margin-top: 10px;
    margin-bottom: -10px;
    font-size: 12pt;
}

#telephone {
    width: 20px;
    margin-bottom: -4px;
    margin-left: 2px;
    padding-right: 1px;
}

#logo-wset-footer {
    width: 14%;
    margin-bottom: 1%;
}

.logo-foot {
    width: 14%;
}

#paiement-secure {
    width: 100px;
    margin: 19px;
}

/* === Sharing === */
#content div.sharedaddy,
#main div.sharedaddy,
div.sharedaddy {
    margin-top: 40px;
    margin-bottom: 40px;
}

/* === Bug MAJ 01/2023 — top header icons === */
.nd_options_navigation_top_header_2 a img {
    width: 20px;
    margin-left: 2px;
    padding-right: 1px;
}

.nd_options_navigation_top_header_2 .nd_options_margin_right_10 {
    width: 15px;
}

/* === Google reviews === */
.njt-google-places-reviews-wap {
    border-top: 8px solid #4285f4;
}

.njt-review .njt-review-content {
    color: #000000;
}

/* === Event booking (Amelia) === */
.amelia-app-booking a,
.am-modal.am-in-body a {
    color: var(--brand) !important;
}


/* --------------------------------------------------------------
   SIDEBAR WIDGETS — pages article (.nd_options_sidebar)
   --------------------------------------------------------------
   Le parent theme cible `.wpb_widgetised_column` mais les sidebars
   article utilisent `.nd_options_sidebar` — règles non appliquées
   par défaut. On reconstruit un système cohérent.
   -------------------------------------------------------------- */

.nd_options_sidebar .widget {
    margin-bottom: 50px;
    border: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.nd_options_sidebar .widget:last-child {
    margin-bottom: 0;
}

/* === Widget Texte (text) — adresse, infos lieu, etc. === */
.nd_options_sidebar .widget_text .textwidget {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: var(--line-base);
    color: var(--charcoal);
}

.nd_options_sidebar .widget_text .textwidget a {
    color: var(--brand);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition-base);
}

.nd_options_sidebar .widget_text .textwidget a:hover {
    color: var(--brand-hover);
    text-decoration: underline;
}

.nd_options_sidebar .widget_text .textwidget img {
    width: 100%;
    height: auto;
    border-radius: var(--radius);
    margin-top: 14px;
    display: block;
}

/* Titres de widget — harmonisés brand
   (neutralise le background dark hérité du parent theme) */
.nd_options_sidebar .widget > h3,
.nd_options_sidebar .widget .widgettitle,
.nd_options_sidebar .widget h3.widgettitle,
.nd_options_section.nd_options_sidebar .widget h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--brand) !important;
    background: transparent !important;
    background-color: transparent !important;
    margin: 0 0 20px 0 !important;
    padding: 0 0 12px 0 !important;
    border: 0 !important;
    border-bottom: 2px solid var(--brand) !important;
    border-radius: 0 !important;
    line-height: var(--line-tight) !important;
    text-align: left !important;
    box-shadow: none !important;
}

/* === Widget WooCommerce Products (sidebar) === */
.nd_options_sidebar .widget_products .product_list_widget {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nd_options_sidebar .widget_products .product_list_widget li {
    display: block;
    padding: 18px 0;
    border-bottom: 1px solid #ebebeb;
    overflow: hidden;
}

.nd_options_sidebar .widget_products .product_list_widget li:first-child {
    padding-top: 0;
}

.nd_options_sidebar .widget_products .product_list_widget li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.nd_options_sidebar .widget_products .product_list_widget li a {
    display: block;
    text-decoration: none;
    color: var(--charcoal);
}

.nd_options_sidebar .widget_products .product_list_widget li a img {
    border-radius: var(--radius);
    margin-bottom: 10px;
    display: block;
    width: 100%;
    height: auto;
}

.nd_options_sidebar .widget_products .product_list_widget li .product-title {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: none;
    margin-bottom: 6px;
    color: var(--charcoal);
    transition: color var(--transition-base);
}

.nd_options_sidebar .widget_products .product_list_widget li a:hover .product-title {
    color: var(--brand);
}

/* Prix produit sidebar */
.nd_options_sidebar .widget_products .product_list_widget .woocommerce-Price-amount {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: var(--brand);
}

.nd_options_sidebar .widget_products .product_list_widget del .woocommerce-Price-amount {
    color: #999;
    font-size: 13px;
    margin-right: 6px;
}

.nd_options_sidebar .widget_products .product_list_widget ins {
    text-decoration: none;
    background: none;
}

.nd_options_sidebar .widget_products .product_list_widget .woocommerce-price-suffix {
    font-size: 11px;
    color: var(--light-muted);
    margin-left: 4px;
    font-weight: 400;
}

/* === Widget Search (sidebar) — input + bouton EN COLONNE === */
.nd_options_sidebar .widget_search .searchform > div {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.nd_options_sidebar .widget_search input[type="text"],
.nd_options_sidebar .widget_search input[type="search"] {
    width: 100% !important;
    border: 1px solid var(--rule) !important;
    padding: 10px 14px !important;
    border-radius: var(--radius) !important;
    background: var(--bg-input) !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    color: var(--charcoal) !important;
    outline: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    transition: border-color var(--transition-base),
                background var(--transition-base),
                box-shadow var(--transition-base) !important;
}

.nd_options_sidebar .widget_search input[type="text"]:focus,
.nd_options_sidebar .widget_search input[type="search"]:focus {
    border-color: var(--brand) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px var(--brand-halo) !important;
}

.nd_options_sidebar .widget_search input[type="submit"] {
    width: 100% !important;
    background: var(--brand) !important;
    color: #ffffff !important;
    border: 0 !important;
    padding: 12px 18px !important;
    border-radius: var(--radius) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.6px !important;
    cursor: pointer !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transition: background-color var(--transition-base) !important;
}

.nd_options_sidebar .widget_search input[type="submit"]:hover {
    background: var(--brand-hover) !important;
}

/* === Widget Google Calendar Events (simcal) — Agenda Formations === */
.nd_options_sidebar .widget_gce_widget .simcal-calendar {
    background: #ffffff;
    border: 1px solid #ebebeb;
    border-radius: var(--radius);
    overflow: hidden;
    font-family: 'Open Sans', sans-serif;
}

.nd_options_sidebar .simcal-calendar-grid {
    width: 100%;
    border-collapse: collapse;
}

/* Header navigation (mois précédent / courant / suivant) */
.nd_options_sidebar .simcal-calendar-head {
    background: var(--charcoal);
    color: #ffffff;
}

.nd_options_sidebar .simcal-calendar-head th {
    padding: 12px 8px;
    color: #ffffff;
    text-align: center;
    border: 0;
    background: transparent;
}

.nd_options_sidebar .simcal-calendar-head .simcal-current h3 {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #ffffff;
}

.nd_options_sidebar .simcal-current-month,
.nd_options_sidebar .simcal-current-year {
    color: #ffffff;
}

.nd_options_sidebar .simcal-nav-button {
    background: transparent;
    border: 0;
    color: #ffffff;
    cursor: pointer;
    padding: 4px 10px;
    transition: opacity var(--transition-base);
    font-size: 16px;
}

.nd_options_sidebar .simcal-nav-button:hover {
    opacity: 0.7;
}

/* Jours de la semaine */
.nd_options_sidebar .simcal-week-day {
    background: #f5f5f5;
    color: var(--muted);
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    padding: 8px 4px;
    border-bottom: 1px solid #ebebeb;
    font-weight: 700;
}

/* Cellules de jours */
.nd_options_sidebar .simcal-calendar-grid td {
    text-align: center;
    padding: 8px 2px;
    font-size: 12px;
    color: var(--charcoal);
    border: 1px solid #f5f5f5;
    vertical-align: top;
    min-height: 36px;
    background: #ffffff;
}

/* Jour avec event — fond rouge transparent visible + petit point indicateur */
.nd_options_sidebar .simcal-day-has-events {
    background: rgba(112, 20, 22, 0.22);
    cursor: pointer;
    font-weight: 700;
    color: var(--brand);
    position: relative;
    transition: background-color var(--transition-base), color var(--transition-base);
}

.nd_options_sidebar .simcal-day-has-events::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--brand);
}

.nd_options_sidebar .simcal-day-has-events:hover {
    background: var(--brand);
    color: #ffffff;
}

.nd_options_sidebar .simcal-day-has-events:hover::after {
    background: #ffffff;
}

/* Jour aujourd'hui */
.nd_options_sidebar .simcal-today {
    background: var(--brand) !important;
    color: #ffffff !important;
    font-weight: 700;
}

/* Jour vide (mois précédent/suivant) */
.nd_options_sidebar .simcal-day-void {
    color: #ccc;
    background: #fafafa;
}


/* ==============================================================
   8. OVERRIDES NICDARK
   ============================================================== */

/* Menu principal — fusion des 2 anciennes déclarations */
.nd_options_navigation_2 a,
.nd_options_navigation_2 div li a,
.nd_options_navigation_2 > div > ul > li > a,
#nd_options_menu_main a,
.menu-item > a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    line-height: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 2.1px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
}

.nd_options_navigation_2 a:hover,
.nd_options_navigation_2 div li a:hover {
    color: #f9f9f9 !important;
}

.nd_options_navigation_2 div > ul > li:after {
    margin: 0px 10px;
    color: #ffffff;
}

.nd_options_navigation_2_sidebar div li > a {
    padding: 10px 0px;
    display: inline-block;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 3px;
}

.nd_options_navigation_top_header_2 {
    font-size: 15px;
    padding-right: 0%;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Espacement / Layout */
.nd_options_height_50,
.nd_options_height_20 {
    display: none;
}

.nd_options_border_bottom_1_solid_grey {
    margin-bottom: 50px;
}

.nd_options_font_size_60 {
    font-size: 40px;
}

/* WPML 2023 */
ul .wpml-ls-menu-item a {
    display: inline-block;
}

.nd_options_navigation_2 div > ul li > ul.sub-menu > li.wpml-ls-menu-item {
    width: auto;
}


/* ==============================================================
   9. ICÔNES / DÉCO / PAGE-SPECIFIC
   ============================================================== */

.iconalign {
    margin-left: 2.5%;
    margin-right: 2.5%;
    margin-bottom: 0;
}

.iconaligntiers {
    margin-left: 4% !important;
    margin-right: 4% !important;
    margin-bottom: 0 !important;
    vertical-align: middle;
}

.three_boxes h2 {
    margin-bottom: 20px;
    line-height: var(--line-heading);
}

.post-1457 {
    margin-top: 50px;
}

.vc_custom_1490352498364 {
    padding-top: 6%;
}

.formation-diplomante .nd_options_float_left {
    margin-top: 30px;
}

.formation-diplomante h3 {
    font-size: 30px;
    line-height: 40px;
}


/* ==============================================================
   10. RESPONSIVE
   ============================================================== */

@media screen and (max-width: 768px) {
    .woocommerce-checkout #payment {
        padding: 30px 20px !important;
    }

    div.fca_qc_quiz,
    .fca-qc-quiz_div,
    .flip-container.fca_qc_quiz_div {
        max-width: 98% !important;
        padding: 25px 8px !important;
    }

    .fca_qc_score_container {
        padding: 30px 20px !important;
    }

    .fca_qc_score_text {
        font-size: 1.85rem !important;
    }
}

@media screen and (max-width: 667px) {
    .formation-diplomante h3 {
        font-size: 15px;
        line-height: 20px;
    }

    .nd_options_font_size_40 {
        font-size: 26px;
    }
}

@media only screen and (max-width: 959px) {
    .njt-google-places-reviews-wap .njt-fr-starslist-wrapper .njt-fr-star {
        width: 12px;
        margin-right: 1px;
    }
}

@media only screen and (min-width: 320px) and (max-width: 1199px) {
    #mysticky-nav.wrapfixed {
        width: inherit;
        background-color: var(--charcoal);
    }
}


/* ==========================================================================
   OENOVINO — Fiche produit : additifs (réservation en bas + barre CTA + pictos)
   --------------------------------------------------------------------------
   ADDITIF UNIQUEMENT : uniquement des classes .oeno-* + ré-application ciblée
   du look bouton/options dans le nouveau contexte #reservation.
   N'override AUCUN style existant du hero/résumé.
   À APPENDRE à la fin de style.css (child-oenovino), après backup.
   Réutilise les variables déjà définies dans :root (--brand, --charcoal, --bg-soft…).
   ========================================================================== */

/* --- 1. Bande de 3 pictos (à coller dans le short description, mode HTML) ---------------- */
.oeno-pictos{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;
	margin:18px 0 22px;padding:18px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.oeno-pictos figure{flex:1 1 0;min-width:90px;margin:0;text-align:center}
.oeno-pictos img{height:58px;width:auto;display:block;margin:0 auto 8px}
.oeno-pictos figcaption{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;
	line-height:1.3;text-transform:uppercase;letter-spacing:.2px;color:var(--charcoal)}

/* --- 2. Bouton-ancre du hero : LOOK = .btn-primary (système harmonisé), ici on le rend
       LARGE (full-width) comme le bouton de commande, + la note dessous. ------------------- */
.oeno-hero-cta{display:flex !important;width:100% !important;margin-top:12px}
.oeno-hero-note{display:block;margin-top:8px;font-family:'Open Sans',sans-serif;font-size:12px;
	color:var(--muted);text-align:center}

/* --- 3. Section réservation (tout en bas, au-dessus du footer) --------------------------- */
.oeno-reservation{margin:50px 0 0;padding:46px 16px 56px;background:#ece7e3;
	border-top:3px solid var(--brand)}
.oeno-reservation-inner{max-width:760px;margin:0 auto}
.oeno-reservation-title{font-family:'Montserrat',sans-serif;text-transform:uppercase;
	color:var(--charcoal);font-size:20px;line-height:1.25;text-align:center;margin:0 0 24px}

/* "form card" blanche autour du formulaire — cadre bien visible sur le fond de section */
.oeno-formcard{max-width:600px;margin:0 auto;background:#fff;border:1px solid #ddd;
	border-radius:var(--radius,8px);padding:30px 32px;box-shadow:0 10px 30px rgba(0,0,0,.08);
	box-sizing:border-box}
/* le formulaire relocalisé occupe toute la largeur de la card (il n'est plus dans .summary à 48%) */
.oeno-formcard form.cart{float:none;width:100%;margin:0}
/* bouton de commande : LARGE + centré dans la card (override du .btn-primary inline-flex) */
.oeno-formcard .single_add_to_cart_button{display:flex !important;width:100% !important;margin-top:20px}
/* champ quantité (si présent) : au-dessus, centré ; les produits "sold-individually" n'en ont pas */
.oeno-formcard form.cart div.quantity{float:none;display:block;margin:0 auto 14px;text-align:center}

/* ----------------------------------------------------------------------------
   HIÉRARCHIE TYPO de la form card — 3 TAILLES SEULEMENT, alignées sur le site :
   20px (= h2 du site) · 14px (corps / libellés) · 12px (petits textes)
   ---------------------------------------------------------------------------- */

/* espace régulier entre les groupes d'options YITH */
.oeno-formcard .yith-wapo-addon{margin:0 0 22px}
.oeno-formcard .yith-wapo-addon:last-of-type{margin-bottom:6px}

/* 14px — titre de groupe d'options (uppercase) */
.oeno-formcard .wapo-addon-title{
	font-family:'Montserrat',sans-serif !important;font-size:14px !important;font-weight:700 !important;
	text-transform:uppercase;letter-spacing:.4px;color:var(--charcoal) !important;line-height:1.3;margin:0 0 4px}

/* 12px — descriptions (groupe + option) */
.oeno-formcard .wapo-addon-description,
.oeno-formcard .yith-wapo-option .description{
	font-family:'Open Sans',sans-serif;font-size:12px;line-height:1.5;color:var(--muted)}
.oeno-formcard .wapo-addon-description{margin:0 0 12px}
.oeno-formcard .yith-wapo-option .description{margin:4px 0 0}

/* 14px — libellés d'options + select ; 12px — prix d'option */
.oeno-formcard .yith-wapo-option{padding:9px 0;border-top:1px solid #f4f4f4}
.oeno-formcard .yith-wapo-addon-label{font-family:'Open Sans',sans-serif;font-size:14px;color:var(--charcoal);font-weight:600}
.oeno-formcard .option-price{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;color:var(--charcoal)}
.oeno-formcard .option-price del{color:#aaa;font-weight:400;margin-right:4px}
/* select de date — largeur 75% = style INLINE !important de YITH (réglable dans l'addon YITH → 100%) */
.oeno-formcard select{box-sizing:border-box;padding:11px 13px;font-family:'Open Sans',sans-serif;
	font-size:14px;color:var(--charcoal);border:1px solid var(--rule);border-radius:var(--radius,8px);background:var(--bg-input)}

/* Total (IDs, pas classes) : sous-lignes 12px, montant total 20px */
.oeno-formcard #wapo-total-price-table{margin-top:14px;padding-top:16px;border-top:1px solid #e2e2e2}
.oeno-formcard #wapo-total-price-table table.all{width:100%;font-family:'Montserrat',sans-serif;font-size:12px;color:var(--muted)}
.oeno-formcard #wapo-total-price-table th{text-align:left;font-weight:400;padding:3px 0}
.oeno-formcard #wapo-total-price-table td{text-align:right;padding:3px 0}
.oeno-formcard .wapo-total-order th,
.oeno-formcard .wapo-total-order td{color:var(--charcoal);font-weight:700;font-size:20px;padding-top:8px}

@media(max-width:600px){
	.oeno-reservation{padding-left:14px;padding-right:14px}
	.oeno-formcard{padding:22px 18px}
}

/* --- 3b. Le BOUTON add-to-cart garde son rouge tout seul : .button.alt est mappé sur
       .btn-primary GLOBALEMENT (non scopé à .summary) → survit au déplacement.
       (largeur/centrage + quantité gérés plus haut, dans .oeno-formcard)
       On ré-applique juste le label des variations, scopé à .summary à l'origine : --- */
.oeno-reservation .variations .label label{
	font-size:14px;line-height:1.3;color:var(--charcoal);font-family:'Montserrat',sans-serif;font-weight:600}

/* --- 4. Barre CTA sticky en bas (fiches produit) ---------------------------------------- */
.oeno-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;
	justify-content:space-between;gap:18px;background:#fff;border-top:1px solid #e2e2e2;
	box-shadow:0 -4px 16px rgba(0,0,0,.10);padding:12px 22px;
	transform:translateY(120%);transition:transform .25s ease;visibility:hidden}
.oeno-cta-bar.is-visible{transform:translateY(0);visibility:visible}
.oeno-cta-price{font-family:'Montserrat',sans-serif;font-weight:700;font-size:20px;color:var(--charcoal)}
.oeno-cta-price del{color:#aaa;font-weight:400;font-size:15px;margin-right:6px}
.oeno-cta-price ins{text-decoration:none}
/* "TVA incluse" dans la barre : plus petit que le prix */
.oeno-cta-price .woocommerce-price-suffix{font-size:12px;font-weight:400;color:var(--muted);margin-left:5px}
.oeno-cta-price .woocommerce-Price-currencySymbol{font-size:.72em}
/* le bouton de la barre = .btn-primary (look + hover hérités). Ici juste un layout flex. */
.oeno-cta-btn{flex:0 0 auto}

@media(max-width:600px){
	.oeno-cta-price{font-size:17px}
}

/* --- 5. Prix du HERO — hiérarchie TITRE(30) > PRIX(26) > TVA(13) ------------------------
   Le thème met le prix à 40px (> titre 30px) et passe "TVA incluse" À LA LIGNE
   (.woocommerce-Price-amount{display:table}). On corrige : prix 26px, TVA inline 13px. --- */
.woocommerce div.product .summary.entry-summary p.price{
	font-size:26px !important;line-height:1.2 !important}
/* annule le display:table → le montant et "TVA incluse" restent sur la même ligne */
.woocommerce div.product .summary.entry-summary p.price .woocommerce-Price-amount{
	display:inline !important}
/* symbole € proportionnel et inline (au lieu de table-cell 20px) */
.woocommerce div.product .summary.entry-summary p.price .woocommerce-Price-currencySymbol{
	display:inline !important;font-size:.62em !important;line-height:inherit !important;
	padding:0 !important;vertical-align:baseline !important}
/* "TVA incluse" : inline, plus petit que le prix, discret */
.woocommerce div.product .summary.entry-summary p.price .woocommerce-price-suffix{
	display:inline !important;font-size:13px !important;font-weight:400 !important;
	color:var(--muted) !important;margin-left:8px !important;white-space:nowrap}

/* smooth scroll vers la réservation (si pas déjà global) */
html{scroll-behavior:smooth}

