/*
Theme Name: Abelao Theme
Template: twentytwentyfive
Text Domain: abelao-theme
Version: 0.1.0
*/

/* Breadcrumb styling */
.abelao-breadcrumb {
	font-family: var(--wp--preset--font-family--league-spartan);
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.8);
}

.abelao-breadcrumb a {
	color: var(--wp--preset--color--snow);
	text-decoration: none;
	transition: color 0.2s ease;
}

.abelao-breadcrumb a:hover {
	color: var(--wp--preset--color--snow);
}

/* Header utility classes */
.abelao-header-top {
    background-color: var(--wp--preset--color--snow);
    padding: var(--wp--preset--spacing--8) 0;
    margin-block-start: 0;
    margin-block-end: 0;
}

.abelao-header-main {
    background-color: var(--wp--preset--color--blue-grey);
    color: var(--wp--preset--color--snow);
    padding: var(--wp--preset--spacing--48) 0;
    margin-block-start: 0;
    transition: padding 0.3s ease;
}


/* Navigation responsive adjustments */
@media (max-width: 782px) {
	.wp-block-navigation__responsive-container-open {
		background-color: var(--wp--preset--color--night-blue) !important;
	}
}

/* Footer : Index des cours */
.abelao-index-cours {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.abelao-index-cours__item {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid var(--wp--preset--color--snow);
    color: var(--wp--preset--color--snow);
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-size: 0.875rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.abelao-index-cours__item:hover {
    background-color: var(--wp--preset--color--snow);
    color: var(--wp--preset--color--night-blue);
}


/* === Course Card Vertical - Abelao Theme === */

.course-card-vertical {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    min-height: 600px;
    padding: var(--wp--preset--spacing--20);
    background-color: var(--wp--preset--color--green-sauge);
    border: 4px solid var(--wp--preset--color--night-blue);
    border-radius: 24px;
    box-sizing: border-box;
}

/* Alignement des sections */
.course-card-vertical__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* Image 1:1 de 120px */
.course-card-vertical__image-wrapper {
    width: 120px;
    height: 120px;
    margin: 16px auto;
    overflow: hidden;
    border-radius: 8px;
}

.course-card-vertical__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.course-card-vertical__image-placeholder {
    width: 100%;
    height: 100%;
    background-color: transparent;
}

/* Titre : League Spartan 32px Bold */
.course-card-vertical__title {
    /*font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;*/
    line-height: 1.15;
    color: var(--wp--preset--color--night-blue);
    text-align: center;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-card-vertical__level {
    font-weight: 400;
}

/* Labels & Enseignants : Libre Baskerville */
.course-card-vertical__section {
    text-align: center;
    /*margin-top: 10px;*/
}

/*.course-card-vertical__label {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-weight: 400;
    font-size: 16px;
    color: var(--wp--preset--color--night-blue);
    margin-bottom: 4px;
} */

.course-card-vertical__teacher-name,
.course-card-vertical__teacher-name a {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-weight: 400;
    /*font-size: var(--wp--preset--font-size--medium);*/
    color: var(--wp--preset--color--night-blue);
    text-decoration: none;
}

.course-card-vertical__teacher-name a:hover {
    text-decoration: underline;
}

/* Badge Statut : League Spartan 24px Bold */
.course-card-vertical__middle {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.course-card-vertical__badge {
    display: inline-block;
    color: var(--wp--preset--color--gold-antique);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--large);
    padding: 8px 20px;
    border-radius: 8px;
    margin-top: 5px;
}

/* Boutons */
.course-card-vertical__bottom {
    display: flex;
    flex-direction: column;
    gap: 12px;
    /*margin-top: auto;*/
    /*padding-top: 20px;*/
}

/* Bouton Informations : Primaire */
.course-card-vertical__btn-info {
    background-color: var(--wp--preset--color--night-blue);
    color: var(--wp--preset--color--snow);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    margin: auto;
    padding: 8px var(--wp--preset--spacing--64);
    border-radius: 40px;
    transition: opacity 0.2s;
    width: fit-content;
}

.course-card-vertical__btn-info:hover {
    opacity: 0.9;
}

/* Bouton Partager : Secondaire */
.summer-school-share__button {
    background: transparent;
    border:none;
    color: var(--wp--preset--color--night-blue);
    display:block;
    margin:auto;
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-weight: 700;
    font-size: 16px;
    padding: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.summer-school-share__button:hover {
    background: transparent;
    color: var(--wp--preset--color--blue-grey);
    border:none;
}

/* Message de confirmation copie */
[data-ss-copy-message="1"] {
    text-align: center;
    font-size: 14px;
    color: var(--wp--preset--color--night-blue);
    margin-top: 8px;
    font-family: var(--wp--preset--font-family--libre-baskerville);
}

[data-ss-copy-message="1"][hidden] {
    display: none;
}

[data-ss-copy-message="1"]:not([hidden]) {
    display: block;
}


/* === Grille de cours === */
.abelao-course-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--wp--preset--spacing--24);
    margin: 0 auto;
}

@media (max-width: 1320px) {
    .abelao-course-grid,
    .abelao-course-list {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 1024px) {
    .abelao-course-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .abelao-course-list {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 782px) {
    .abelao-course-grid {
        grid-template-columns: 1fr;
        padding: 20px 16px;
    }
}

/* ═══════════════════════════════════════════════════════════
   FORMULAIRE D'INSCRIPTION - AMÉLIORÉ
   ═══════════════════════════════════════════════════════════ */

.summer-school-enrollment {
    background-color: var(--wp--preset--color--green-sauge);
    padding: var(--wp--preset--spacing--32);
    border-radius: 8px;
}

/* Centrer le bouton S'inscrire */
.summer-school-enrollment .single_add_to_cart_button,
.summer-school-enrollment .wc-block-components-product-button__button {
    display: block;
    margin: var(--wp--preset--spacing--32) auto 0 auto !important;
    max-width: 400px;
}

/* ═══════════════════════════════════════════════════════════
   STATUT PRODUIT - Layout flex avec badges
   ═══════════════════════════════════════════════════════════ */

.summer-school-enrollment__status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--16);
    width: 100%;
    margin: var(--wp--preset--spacing--24) 0;
}

.summer-school-enrollment__status h3 {
    margin: 0;
    flex-shrink: 0;
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    color: var(--wp--preset--color--night-blue);
}

.summer-school-enrollment__badges {
    display: flex;
    gap: var(--wp--preset--spacing--8);
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Badge statut produit */
.ss-status-badge {
    display: inline-block;
    color: var(--wp--preset--color--gold-antique);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--large); /* 24px */
    padding: 6px 16px;
    border-radius: 6px;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 782px) {
    .summer-school-enrollment {
        padding: var(--wp--preset--spacing--24);
    }
    
    /* Stack H3 et badges verticalement */
    .summer-school-enrollment__status {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--wp--preset--spacing--12);
    }
    
    .summer-school-enrollment__badges {
        justify-content: flex-start;
        width: 100%;
    }
    
    /* Bouton pleine largeur sur mobile */
    .summer-school-enrollment .single_add_to_cart_button,
    .summer-school-enrollment .wc-block-components-product-button__button {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .summer-school-enrollment {
        padding: var(--wp--preset--spacing--16);
    }
    
    /* Badges en colonnes sur très petit écran si besoin */
    .summer-school-enrollment__badges {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* === Course Card Horizontal - Version améliorée === */

.course-card-horizontal {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: var(--wp--preset--spacing--24);
    padding: var(--wp--preset--spacing--24);
    background-color: var(--wp--preset--color--green-sauge);
    border: 3px solid var(--wp--preset--color--night-blue);
    border-radius: 24px;
    align-items: stretch; /* était: align-items: start */
    min-height: 200px; /* Hauteur minimale fixe pour homogénéité */
}

/* Image gauche 120x120 */
.course-card-horizontal__image-wrapper {
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 8px;
    flex-shrink: 0;
}

.course-card-horizontal__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.course-card-horizontal__image-placeholder {
    width: 100%;
    height: 100%;
    background-color: transparent;
}

/* Contenu droite - Distribution verticale avec space-between */
.course-card-horizontal__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distribue : titre en haut, badge au milieu, bouton en bas */
    height: 100%; /* Correspond à la hauteur de l'image */
}

/* Titre + Niveau - Reste en haut */
.course-card-horizontal__title {
    font-size: var(--wp--preset--font-size--large);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    line-height: 1.15;
    color: var(--wp--preset--color--night-blue);
    margin: 0;
}

.course-card-horizontal__level {
    font-weight: 400;
}

/* Badge Statut - Simplifié, au centre vertical */
.course-card-horizontal__badge {
    display: inline-block;
    color: var(--wp--preset--color--gold-antique);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--medium);
    padding: 4px 0; /* Réduit pour badge simplifié */
    width: fit-content;
    margin: 0; /* Enlève les marges pour que space-between fonctionne */
}

.course-card-horizontal__btn-wrapper {
    display: flex;
    justify-content: flex-end;
}

/* Bouton Informations - Reste en bas à droite */
.course-card-horizontal__btn-info {
    background-color: var(--wp--preset--color--night-blue);
    color: var(--wp--preset--color--snow);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    padding: 12px var(--wp--preset--spacing--48);
    border-radius: 40px;
    transition: opacity 0.2s;
    width: fit-content;
    display: inline-flex;
    align-items: center; /* Centre le texte verticalement */
    justify-content: center; /* Centre le texte horizontalement */
    margin-left: auto; /* ← Remplace align-self: flex-end pour pousser à droite */
    box-sizing: border-box;
}

.course-card-horizontal__btn-info:hover {
    opacity: 0.9;
}

/* Responsive */
@media (max-width: 782px) {
    .course-card-horizontal {
        grid-template-columns: 1fr;
        text-align: center;
        min-height: auto; /* Pas de hauteur fixe sur mobile */
    }

    .course-card-horizontal__image-wrapper {
        margin: 0 auto;
    }

    .course-card-horizontal__content {
        align-items: center; /* Centre tout sur mobile */
    }

    .course-card-horizontal__btn-info {
        align-self: center;
    }
}

/* === Grille de cours horizontaux (2 colonnes) === */
.abelao-course-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--wp--preset--spacing--24);
    margin: 0 auto;
    align-items: stretch; /* ajouté pour garantir space-between dans les cartes horizontales */
}

@media (max-width: 1320px) {
    .abelao-course-list {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 1024px) {
    .abelao-course-list {
        grid-template-columns: 1fr;
    }
}


/* === Bloc Enseignant avec cours === */
.abelao-teacher-block {
    margin-bottom: var(--wp--preset--spacing--40);
}

/* === Spacer fin de page Équipe === */
.abelao-teacher-block:last-child {
    margin-bottom: var(--wp--preset--spacing--80); /* 64px existant + 80px demandé = 144px */
}

.abelao-teacher-block__header {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--24);
}

.abelao-teacher-block__photo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.abelao-teacher-block__name {
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    color: var(--wp--preset--color--night-blue);
    margin: 0;
}

.abelao-teacher-block__name a {
    color: var(--wp--preset--color--night-blue);
    text-decoration: none;
    transition: color 0.2s;
}

.abelao-teacher-block__name a:hover {
    color: var(--wp--preset--color--blue-grey);
}

.abelao-teacher-block__no-courses {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-size: 16px;
    color: var(--wp--preset--color--night-blue);
    font-style: italic;
}


/* ════════════════════════════════════════════════════════════
   BOUTONS PAGE PRODUIT - Style uniforme
   ════════════════════════════════════════════════════════════ */

/* Bouton primaire S'inscrire - Style INFORMATIONS */
.single-product .wc-block-components-product-button__button,
.single-product button.single_add_to_cart_button,
.single-product .wp-block-button__link {
    background-color: var(--wp--preset--color--night-blue) !important;
    color: var(--wp--preset--color--snow) !important;
    font-family: var(--wp--preset--font-family--league-spartan) !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-align: center !important;
    padding: 12px var(--wp--preset--spacing--48) !important;
    border-radius: 40px !important;
    border: none !important;
    transition: opacity 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.single-product .wc-block-components-product-button__button:hover,
.single-product button.single_add_to_cart_button:hover,
.single-product .wp-block-button__link:hover {
    opacity: 0.9 !important;
    background-color: var(--wp--preset--color--night-blue) !important;
}


/* === Wrapper Statut + Alternative (fond blanc) === */
.summer-school-enrollment__status-alternative-wrapper {
    background-color: var(--wp--preset--color--snow);
    padding: var(--wp--preset--spacing--32);
    margin: var(--wp--preset--spacing--40) 0;
}


/* === Page enseignant - Masquer metas post === */
.single-teachers .entry-meta,
.single-teachers .post-navigation {
    display: none;
}


/* === Cours enseignant - Style cartes === */
.ss-teacher-courses ul {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
    gap: var(--wp--preset--spacing--24);
    margin: var(--wp--preset--spacing--32) 0;
}

.ss-teacher-courses li a {
    display: block;
    padding: var(--wp--preset--spacing--24);
    background: var(--wp--preset--color--green-sauge);
    border: 2px solid var(--wp--preset--color--night-blue);
    border-radius: 8px;
    color: var(--wp--preset--color--night-blue);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--medium);
    text-decoration: none;
    transition: all 0.2s;
}

.ss-teacher-courses li a:hover {
    background: var(--wp--preset--color--night-blue);
    color: var(--wp--preset--color--snow);
}

/* We don't need additionnal fields on the checkout */
.woocommerce-additional-fields {
  display: none;
}

#order_review_heading {
    display: none;
}


/* === Espacement cohérent après H2 de sections === */
.wp-block-group h2,
.wp-site-blocks h2 {
    margin-bottom: var(--wp--preset--spacing--24);
}


/* === Espacement entre sections === 
.wp-block-group + .wp-block-group {
    margin-top: var(--wp--preset--spacing--64);
} */


/* ═══════════════════════════════════════════════════════════
   STATUT PRODUIT FORMULAIRE INSCRIPTION - Layout flex avec badges
   ═══════════════════════════════════════════════════════════ */

.summer-school-enrollment__status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--16);
    width: 100%;
}

.summer-school-enrollment__status h3 {
    margin: 0;
    flex-shrink: 0;
}

.summer-school-enrollment__badges {
    display: flex;
    gap: var(--wp--preset--spacing--8);
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Badge statut produit - Inspiration du badge carte mais adapté */
.ss-status-badge {
    display: inline-block;
    color: var(--wp--preset--color--gold-antique);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--large); /* 24px au lieu de 28px */
    padding: 6px 16px; /* Plus compact */
    border-radius: 6px;
    white-space: nowrap; /* Empêche retour ligne dans le badge */
}

/* Responsive */
@media (max-width: 782px) {
    .summer-school-enrollment__status {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--wp--preset--spacing--12);
    }
    
    .summer-school-enrollment__badges {
        justify-content: flex-start;
    }
}


/* ═══════════════════════════════════════════════════════════
   CONTACT FORM 7 - STYLE ABELAO
   ═══════════════════════════════════════════════════════════ */

/* Container formulaire */
.wpcf7 {
    background-color: var(--wp--preset--color--green-sauge);
    padding: var(--wp--preset--spacing--32);
    border-radius: 8px;
}

/* Formulaire */
.wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--24);
}

/* Paragraphes wrapper (CF7 les génère automatiquement) */
.wpcf7-form p {
    margin: 0;
    width: 100%;
}

/* Labels */
.wpcf7-form label {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-weight: 400;
    font-size: var(--wp--preset--font-size--base);
    color: var(--wp--preset--color--night-blue);
    margin-bottom: var(--wp--preset--spacing--8);
    display: block;
}

/* Wrapper des champs - Fix width issues */
.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Tous les champs input, textarea, select */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-number,
.wpcf7-form-control.wpcf7-date,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form-control.wpcf7-select {
    width: 100%;
    max-width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--wp--preset--color--night-blue);
    border-radius: 4px;
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-size: var(--wp--preset--font-size--base);
    color: var(--wp--preset--color--night-blue);
    background-color: var(--wp--preset--color--snow);
    transition: border-color 0.2s ease;
    box-sizing: border-box; /* CRITIQUE : Inclut padding + border dans width */
}

/* Focus states */
.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-email:focus,
.wpcf7-form-control.wpcf7-tel:focus,
.wpcf7-form-control.wpcf7-number:focus,
.wpcf7-form-control.wpcf7-date:focus,
.wpcf7-form-control.wpcf7-textarea:focus,
.wpcf7-form-control.wpcf7-select:focus {
    outline: none;
    border-color: var(--wp--preset--color--blue-grey);
    box-shadow: 0 0 0 3px rgba(90, 118, 148, 0.1);
}

/* Textarea spécifique */
.wpcf7-form-control.wpcf7-textarea {
    min-height: 150px;
    resize: vertical;
}

/* Bouton submit - Style cohérent avec boutons site */
.wpcf7-form-control.wpcf7-submit {
    background-color: var(--wp--preset--color--night-blue);
    color: var(--wp--preset--color--snow);
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    padding: 12px var(--wp--preset--spacing--48);
    border: none;
    border-radius: 40px;
    cursor: pointer;
    transition: opacity 0.2s ease;
    display: block;
    margin: var(--wp--preset--spacing--24) auto 0 auto;
    max-width: 400px;
    width: 100%;
}

.wpcf7-form-control.wpcf7-submit:hover {
    opacity: 0.9;
}

.wpcf7-form-control.wpcf7-submit:active {
    transform: translateY(1px);
}

/* Messages de validation */
.wpcf7-not-valid-tip {
    color: #d63638;
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-size: 0.875rem;
    margin-top: var(--wp--preset--spacing--8);
    display: block;
}

/* Champ invalide */
.wpcf7-form-control.wpcf7-not-valid {
    border-color: #d63638;
}

/* Messages de réponse (succès/erreur) */
.wpcf7-response-output {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-size: var(--wp--preset--font-size--base);
    padding: var(--wp--preset--spacing--16);
    border-radius: 4px;
    margin-top: var(--wp--preset--spacing--24);
    border: 2px solid;
}

/* Message succès */
.wpcf7-mail-sent-ok {
    background-color: #d4edda;
    border-color: #28a745;
    color: #155724;
}

/* Message erreur */
.wpcf7-validation-errors,
.wpcf7-mail-sent-ng {
    background-color: #f8d7da;
    border-color: #d63638;
    color: #721c24;
}

/* Spinner de chargement */
.wpcf7-spinner {
    margin-left: var(--wp--preset--spacing--16);
}

/* Checkbox et radio */
.wpcf7-list-item {
    margin: var(--wp--preset--spacing--8) 0;
}

.wpcf7-list-item-label {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-size: var(--wp--preset--font-size--base);
    color: var(--wp--preset--color--night-blue);
    margin-left: var(--wp--preset--spacing--8);
}

/* Acceptance (RGPD, etc.) */
.wpcf7-acceptance {
    margin: var(--wp--preset--spacing--16) 0;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 782px) {
    .wpcf7 {
        padding: var(--wp--preset--spacing--24);
    }
    
    .wpcf7-form {
        gap: var(--wp--preset--spacing--16);
    }
    
    /* Bouton pleine largeur sur mobile */
    .wpcf7-form-control.wpcf7-submit {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .wpcf7 {
        padding: var(--wp--preset--spacing--16);
    }
    
    .wpcf7-form-control.wpcf7-text,
    .wpcf7-form-control.wpcf7-email,
    .wpcf7-form-control.wpcf7-tel,
    .wpcf7-form-control.wpcf7-textarea {
        font-size: 16px; /* Évite le zoom sur iOS */
    }
}


/* ═══════════════════════════════════════════════════════════
   PAGE PRODUIT - HEADER : Image + Titre + Niveau
   ═══════════════════════════════════════════════════════════ */

.ss-course-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--wp--preset--spacing--32);
    padding: var(--wp--preset--spacing--40) 0;
}

.ss-course-header__image-wrapper {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 8px;
}

.ss-course-header__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ss-course-header__meta {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--8);
}

.ss-course-header__title {
    font-family: var(--wp--preset--font-family--league-spartan);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--xxx-large);
    color: var(--wp--preset--color--night-blue);
    margin: 0;
    line-height: 1.1;
}

.ss-course-meta__badges {
    margin: 0;
}

.ss-badge--level {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-weight: 400;
    font-size: var(--wp--preset--font-size--base);
    color: var(--wp--preset--color--night-blue);
}

@media (max-width: 782px) {
    .ss-course-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--wp--preset--spacing--24);
    }

    .ss-course-header__title {
        font-size: var(--wp--preset--font-size--xx-large);
    }
}

/* ═══════════════════════════════════════════════════════════
   HEADER STICKY
   ═══════════════════════════════════════════════════════════ */

/* Sticky sur le wrapper entier (top + main) */
.abelao-header-wrapper {
    position: sticky;
    top: 0;
    z-index: 100;
}

/* Transitions */
.abelao-header-main {
    transition: padding 0.3s ease;
}

.abelao-header-main .wp-block-site-logo img {
    transition: width 0.3s ease, height 0.3s ease;
}

/* État sticky : header-main réduit à ~2× la hauteur du top-bar (~32px) */
.abelao-header-main.is-sticky {
    padding-top: var(--wp--preset--spacing--16) !important;
    padding-bottom: var(--wp--preset--spacing--16) !important;
}

/* Logo réduit plus intensément */
.abelao-header-main.is-sticky .wp-block-site-logo img {
    width: 35% !important;
    height: auto !important;
}