.site-main {
    min-height: calc(100vh - 150px) !important;
}

main>.ct-container:first-child {
    margin-bottom: 20px;
}

/* --------- Pile de police ------------------------------------------*/

:root {
    --brand-font-body: "optima-nova-lt-pro", "Open Sans", Verdana, sans-serif;

    --brand-font-heading: "linotype-didot", "GFS Didot", Georgia, serif;
}

:root,
h4,
h5,
h6 {
    --theme-font-family: var(--brand-font-body) !important;
}

h1,
h2,
h3,
.wp-block-pullquote {
    --theme-font-family: var(--brand-font-heading) !important;
}

/* --------- Menu d'en-tête ------------------------------------------*/

/* Le « capitalize » du personnalisateur forçait « d'Offrir » → « D'Offrir »
   (CSS ne sait pas épargner les élisions). On le neutralise : les libellés
   du menu et les titres de pages portent leurs majuscules eux-mêmes. */
[data-header*="type-1"] .ct-header [data-id="menu"] .ct-menu-link,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu .ct-menu-link,
.ct-breadcrumbs {
    --theme-text-transform: none;
}

/* --------- Product page ------------------------------------------*/
.flexy-pills ol li,
.flex-control-nav li {
    flex: 0 0 25%;
}

.product_meta>.sku_wrapper {
    display: none !important;
}

.woocommerce .woocommerce-tabs .entry-content {
    padding-top: 50px;
    width: var(--theme-container-width) !important;
    max-width: var(--theme-block-max-width) !important;
    margin: auto !important;
    margin-bottom: 50px !important;
}

.upsells {
    padding-top: 25px;
    padding-bottom: 25px;
    width: var(--theme-container-width) !important;
    max-width: var(--theme-block-max-width) !important;
    margin: auto !important;
}

.up-sells>h2 {
    font-size: var(--theme-font-size);
}

blockquote {
    margin-left: 5px;
    padding-left: 15px;
    font-style: italic;
    text-align: left;
    border-left: 3px solid var(--theme-border-color);
    margin-block-end: var(--theme-content-spacing);
}

.ct-product-stock-scarcity>div.ct-progress-bar {
    display: none !important;
}

.ct-dynamic-data-layer>span:first-child {
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding-bottom: 15px;
}

/* Styles pour tous les spans SAUF le premier */
.ct-dynamic-data-layer>span:not(:first-child) {
    display: block;
    padding-bottom: 5px;
    padding-left: 20px;
    text-indent: -20px;
}

/* Styles pour le tiret (pseudo-élément) */
.ct-dynamic-data-layer>span:not(:first-child)::before {
    content: "- ";
    margin-right: 10px;
}

.ct-dynamic-data-layer>span b {
    font-weight: 600;
}


.custom-preference-fieldset {
    border: 1px solid #ddd !important;
    padding: 20px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    margin-bottom: 20px
}

.custom-preference-fieldset legend {
    margin-left: -10px;
    /* Pour aligner visuellement le texte au bord */
}

.delivery-estimate-block {
    margin-top: calc(-1 * var(--theme-content-spacing));
    margin-bottom: var(--theme-content-spacing);

}

.delivery-estimate-date,
.delivery-estimate-date {
    color: var(--theme-button-background-initial-color);
}

/*
Hide quantity for gift-card otherwise only + and - are there
*/
.woocommerce_gc_giftcard_form+.woocommerce-variation+.woocommerce-variation-add-to-cart .quantity {
    display: none !important;
}

.product .ct-payment-methods {
    margin: auto;
    padding-left: 5px !important;
    padding-right: 5px !important;
}

@media (max-width: 480px) {
    .product .ct-payment-methods {
        gap: 12px !important;
    }
}

.entry-summary .ct-payment-methods::after {
    content: "Possibilité de règlement en 3 ou 4 fois sans frais.";
    display: block;
    width: 100%;
    font-size: 0.9em;
    text-align: center;
}


/* --------- Wishlist -----------------------------------*/
/* Masquer le message d'invitation pour les clients connectés */
body.logged-in #message-whishlist {
    display: none !important;
}

/* --------- Woocommerce account -----------------------------------*/
.woocommerce .order-info {
    font-size: 15px;
    padding: 1.5em;
    border-radius: 5px;
    border: 1px dashed var(--theme-border-color);
}

.woocommerce .order-info mark {
    background-color: var(--theme-palette-color-1);
    padding: 5px;
    color: var(--theme-palette-color-8);
}

.woocommerce-MyAccount-content>table>tbody>tr>th {
    vertical-align: middle;
}

.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--ambassadeur a:before {
    content: "";
    /* oeil:"" plus:"" cercle : "";*/
}

.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--giftcards a:before {
    content: "\f454";
    font-family: "dashicons";
    font-size: 20px;
    margin-left: -2px;
}

/* ambassadeur */
.slicewp-user-notice.slicewp-warning {
    background: var(--theme-palette-color-6);
    border-color: var(--theme-palette-color-5);
    text-align: center;
}

.slicewp-nav-tab-wrapper .slicewp-nav-tab {
    flex: auto;
}

#slicewp-affiliate-register-form {
    margin-bottom: 20px;
}

/* --------- Woocommerce checkout -----------------------------------*/

/* Cache les breadcrumbs UNIQUEMENT sur la page de paiement */
.woocommerce-checkout .ct-breadcrumbs {
    display: none !important;
}

.woocommerce-checkout .ct-container-full {
    padding-top: 0px;
    margin-top: -15px;
}

.woocommerce-checkout #ship-to-different-address>label>span {
    font-family: var(--brand-font-body) !important;
    font-weight: normal;
    text-transform: none !important;
    font-size: 15px
}

/* Mention CGV passive sous le bouton « Commander » (calagioia-core,
   checkout/terms-passive-notice.php) */
.cala-terms-notice {
    margin-top: 16px;
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    color: var(--theme-text-color);
    opacity: 0.75;
}

.cala-terms-notice a {
    text-decoration: underline;
}

/* --- Bloc contact : email premier champ + connexion inline ---------------
   (calagioia-core includes/checkout/email-first.php + override
   blocksy-child/woocommerce/checkout/form-billing.php) */

/* De l'air au-dessus du champ « Un mot à l'attention de l'Atelier ? »
   (collé au téléphone quand le bloc expédition est déplié) */
.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 24px;
}

/* Un peu d'air entre « Détails de facturation » et le premier champ */
.woocommerce-checkout .woocommerce-billing-fields > h3 {
    margin-bottom: 22px;
}

/* Lien « Déjà client ? Se connecter » à droite du label email */
#billing_email_field label {
    display: flex;
    align-items: baseline;
    gap: 8px;
    width: 100%;
}

#billing_email_field label .cala-login-inline {
    margin-left: auto;
    order: 3;
    font-weight: normal;
    font-size: 13px;
    white-space: nowrap;
}

#billing_email_field label .cala-login-inline a {
    text-decoration: underline;
}

/* Case « créer un compte » insérée dans la grille des champs : pleine largeur */
.woocommerce-billing-fields__field-wrapper .woocommerce-account-fields {
    grid-column: 1 / -1;
    width: 100%;
    float: none;
    clear: both;
    margin-bottom: 10px;
}

/* Panneau de connexion replié sous le champ email (le formulaire natif du
   haut de page est retiré du checkout par email-first.php) */
.woocommerce-billing-fields__field-wrapper .cala-checkout-login {
    grid-column: 1 / -1;
    width: 100%;
    float: none;
    clear: both;
    /* marge haute négative : accroche la carte au champ email dont elle dépend
       (l'écart vient du margin-bottom ~22px du champ) */
    margin: -10px 0 16px;
    padding: 16px 20px;
    border: 1px solid var(--theme-palette-color-5);
    border-radius: 4px;
}

.cala-checkout-login[hidden] {
    display: none !important;
}

/* Le p mot de passe ne porte pas .form-row (il serait extrait du panneau
   par le tri address-i18n de WooCommerce) : on refait son espacement ici */
.cala-checkout-login .cala-checkout-login-password {
    margin: 0;
}

.cala-checkout-login .cala-checkout-login-password label {
    display: block;
    margin: 0 0 6px;
}

.cala-checkout-login .cala-checkout-login-password .input-text {
    width: 100%;
}

.cala-checkout-login .cala-checkout-login-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 12px 0 0;
}

.cala-checkout-login .cala-checkout-login-actions a {
    font-size: 13px;
    text-decoration: underline;
}

/* Contenu CGV déplié par le clic sur le lien de la mention (JS natif WC) */
#order_review .woocommerce-terms-and-conditions {
    margin-top: 12px;
    padding: 16px 20px;
    background: rgba(0, 0, 0, 0.03);
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
}

#sendcloudshipping_service_point_select {

    display: block;
    max-width: 330px;
    width: calc(100% - 50px);
    margin-left: 25px;
    margin-right: 25px;
    margin-top: 5px;
    margin-bottom: 10px;
}

/* ------------Reviews--------------------------------- */

.reviews {
    border-top: 1px solid var(--theme-palette-color-5);
    width: var(--theme-container-width) !important;
    max-width: var(--theme-block-max-width) !important;
    margin: auto !important;
}


.cr-reviews-grid {
    width: var(--theme-container-width) !important;
    max-width: var(--theme-block-max-width) !important;
    margin: auto !important;
    margin-bottom: 25px !important;
    border: none !important;
}

.cr-review-card {
    border: none !important;
    border-color: transparent !important;
    box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
}

.reviewer-name,
.rating-label,
.reviewer-verified {
    font-family: var(--theme-font-family) !important;
}

.review-product .product-title a {
    font-family: var(--brand-font-heading) !important;
    text-transform: uppercase;
    font-size: 13px !important;
    /*color: unset !important;*/
}

.cr-reviews-slider .review-thumbnail,
.cr-reviews-grid .review-thumbnail {
    display: none !important;
}

.cr-reviews-slider .datetime,
.cr-reviews-grid .datetime {
    display: none !important;
}



.cr-review-card .reviewer-verified {
    background-color: var(--theme-palette-color-2) !important;
    color: white !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    fill: white !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
}

.cr-review-card .reviewer-verified img.cr-reviewer-verified {
    display: none !important;
}

.cr-review-card .rating .cr-rating-icon-frnt svg {
    fill: var(--theme-palette-color-11) !important;
}

.cr-average-rating-stars .cr-rating-icon-frnt svg {
    fill: var(--theme-palette-color-11) !important;
}

.cr-average-rating-stars .cr-rating-icon-bg {
    stroke: var(--theme-palette-color-11) !important;
}

.cr-histogramTable .ivole-meter-bar {
    background: var(--theme-palette-color-11) !important;
}

/* Étoile de l'histogramme (icône ajoutée par une MAJ de CusRev) */
.cr-histogramTable .ivole-histogramRow .cr-histogram-rating-icon {
    fill: var(--theme-palette-color-11) !important;
}

/* Réduit la taille de la police pour le nom de l'acheteur */
.cr-review-card .reviewer-name {
    font-size: 0.9em !important;
}

.cr-reviews-slider .cr-review-card .top-row,
.cr-reviews-grid .cr-review-card .top-row {
    border: none !important;
    padding-bottom: 0 !important;
}

.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-base .cr-rating-icon-bg,
.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt .cr-rating-icon,
.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-base .cr-rating-icon-bg,
.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt .cr-rating-icon {
    width: 20px !important;
    height: 20px !important;
}


.cr-review-card .rating {
    display: flex;
    align-items: center;
    vertical-align: middle !important;
}

.crstar-rating-svg {
    line-height: 1 !important;
    height: 20px !important;
}

.cr-reviews-slider .cr-review-card {
    box-shadow: none !important;
}


.cr-review-card .middle-row,
.cr-reviews-slider .cr-review-card .cr-incentivized-row {
    font-family: var(--theme-font-family), sans-serif !important;
}


.review-title {
    padding-left: 25px;
    padding-right: 25px;
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 10px;
    padding-top: 30px;
}

.review-content {
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 15px;
    padding-top: 5px;
    font-size: var(--theme-font-size);
}

.cr-all-reviews-shortcode .cr-summaryBox-wrap,
.cr-reviews-grid .cr-summaryBox-wrap,
.cr-reviews-grid .cr-review-card .review-product,
.cr-reviews-slider .cr-review-card .review-product {
    background-color: var(--theme-palette-color-9) !important;
}

.cr-reviews-slider .cr-review-card .middle-row,
.cr-reviews-slider .cr-review-card .cr-incentivized-row,
.cr-reviews-grid .cr-review-card .middle-row,
.cr-reviews-grid .cr-review-card .cr-incentivized-row {
    background-color: var(--theme-palette-color-10) !important;
}


/* Bouton « Afficher plus d'avis » : bordures aux couleurs du thème
   (le plugin met un gris-bleu #BCCCD4 et un teal #00A79D au survol/focus) */
.cr-reviews-grid .cr-show-more-button,
.cr-all-reviews-shortcode .cr-show-more-button {
    border-color: var(--theme-palette-color-5, #dedede) !important;
    color: var(--theme-palette-color-4, #333) !important;
}

.cr-reviews-grid .cr-show-more-button:hover,
.cr-reviews-grid .cr-show-more-button:focus,
.cr-all-reviews-shortcode .cr-show-more-button:hover,
.cr-all-reviews-shortcode .cr-show-more-button:focus {
    border-color: var(--theme-palette-color-1, #B2594D) !important;
    color: var(--theme-palette-color-2, #8E473D) !important;
}


/* --------- CusRev : réponse de la boutique (rendu éditorial) ---------
   Pastille dé-chromée en label terracotta + filet à gauche + message en
   italique serif. Le libellé « Réponse de l'atelier » vient de la
   traduction Loco ; le bloc auteur (prénom + rôle) est masqué. */

/* Traits connecteurs gris → supprimés */
.cr-review-card .cr-grid-replies-line {
    display: none !important;
}

/* Conteneur : filet terracotta à gauche + hairline en haut, inset 15px
   (le margin sur les 4 côtés évite que le trait du haut touche les bords) */
.cr-review-card .cr-grid-replies-container {
    border-top: 1px solid #EDE3DE !important;
    border-left: 2px solid var(--theme-palette-color-1) !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    padding-left: 16px !important;
    margin: 15px !important;
}

/* Pastille → label en petites capitales terracotta, aligné à gauche */
.cr-review-card .cr-grid-replies {
    justify-content: flex-start !important;
    margin: 0 0 8px !important;
}

.cr-review-card .cr-grid-replies-pill {
    border: none !important;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.cr-review-card .cr-grid-replies-pill-label {
    font-family: var(--theme-font-family) !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--theme-palette-color-2) !important;
}

.cr-review-card .cr-grid-replies-pill-count {
    display: none !important;
}

/* Bloc auteur (prénom + « Gestionnaire de boutique » vert) masqué :
   l'identité est portée par le label « Réponse de l'atelier ». */
.cr-review-card .cr-grid-reply-top-row {
    display: none !important;
}

/* Message : italique serif, sans le cadre gris */
.cr-review-card .cr-grid-reply-middle-row {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.cr-review-card .cr-grid-reply-content,
.cr-review-card .cr-grid-reply-content p {
    font-family: var(--brand-font-heading) !important;
    font-style: italic !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #5a524e !important;
    margin: 0 !important;
}


/*--------- Page dacceuil-------------------------------------------*/
.home div.hero-section.ct-constrained-width>header>div {
    display: none;
}

.home #main>div {
    padding-top: 0px !important;
    margin-top: -30px !important;
}

.home .ct-breadcrumbs {
    display: none !important;
}

/*--------- Footer-------------------------------------------*/

.ct-footer .ct-payment-methods {
    padding: 0px !important;
    max-width: 150px;
    margin: auto;
    margin-top: 10px
}

.ct-footer .ct-payment-methods .ct-icon-container svg .icon-bg {
    fill: #4B4F58 !important;
}

.ct-footer .ct-payment-methods .ct-icon-container svg path:not(.icon-bg) {
    fill: white !important;
}

.ct-footer .ct-payment-methods .ct-icon-container svg.ct-icon {
    width: 35px !important;
    height: 35px !important;
}

.ct-footer .ct-payment-methods {
    gap: 0px 10px
}

/*--------- Carte Cadeau-------------------------------------------*/

/* Vous pouvez aussi cibler la classe input-text si elle est plus spécifique */
.woocommerce-MyAccount-Giftcards-form {
    margin-bottom: 45px;
}

.woocommerce-Giftcards+form h4 {
    font-size: 18px !important;
}

.woocommerce-MyAccount-Giftcards-balance-amount {
    font-size: 30px !important;
}

/*--------- Mon compte Mobile-------------------------------------------*/

/* MASQUER LE LIEN "SE DÉCONNECTER" SUR MOBILE */
.woocommerce-MyAccount-navigation-link--customer-logout {
    display: none !important;
}

.account-title,
.account-mobile-link {
    display: none;
}

/* seulement sur mobile */
@media only screen and (max-width: 689px) {

    .account-title,
    .account-mobile-link {
        display: block;
    }

    /* 1. STRUCTURE FIXE ET COMPACTE */
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        margin-bottom: 5px;
        border-right: none !important;
        box-shadow: none;
        overflow: hidden;
        border-bottom: 1px solid #eee;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: hidden;
        justify-content: space-around;
        padding: 0;
        margin: 0;
        padding-right: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        /* Flex 1 1 0 garantit que les 8 éléments restants se partagent bien l'espace */
        flex: 1 1 0;
        border: none !important;
        margin: 0;
        padding: 0 !important;
        text-align: center;
    }

    /* Masquage du texte pour TOUS les liens */
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 10px 0;
        min-height: 40px;
        white-space: nowrap;
        color: #666;

        font-size: 0px !important;
        line-height: 0;
        overflow: hidden;

        background: transparent !important;
        transition: color 0.2s ease;
        border-bottom: 2px solid transparent !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        color: var(--theme-palette-color-1) !important;
        border-bottom: 2px solid var(--theme-palette-color-1) !important;
    }

}

/* ==========================================================================
   MODALE CONNEXION
   ========================================================================== */
#account-modal .ct-account-modal>ul {
    display: none !important;
}

#account-modal .ct-panel-content {
    padding-top: 15px !important;
}

#account-modal .ct-account-modal #loginform>h2:first-child {
    display: block !important;
    text-align: center !important;
    font-family: var(--heading-font-family, inherit) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    margin-top: 0px !important;
    margin-bottom: 20px !important;
    color: var(--theme-palette-color-4, #333) !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
}

#account-modal .cala-nouveau-client-prompt {
    display: block !important;
    text-align: center !important;
    margin-top: 20px !important;
    padding-top: 25px !important;
    position: relative !important;
}

#account-modal .cala-nouveau-client-prompt::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 50px !important;
    height: 1px !important;
    background-color: rgba(0, 0, 0, 0.08) !important;
}

#account-modal .cala-separator {
    display: none !important;
}

#account-modal .cala-nouveau-client-prompt h2 {
    font-family: var(--heading-font-family, inherit) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    color: var(--theme-palette-color-4, #333) !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
}

#account-modal .cala-nouveau-client-prompt p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--color-text, #666) !important;
    margin-bottom: 20px !important;
    padding: 0 15px !important;
}

#account-modal .cala-btn-inscription-modale {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 20px !important;
    line-height: 1 !important;
    text-align: center !important;
    letter-spacing: 1px !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    background-color: transparent !important;
    border: 1px solid var(--theme-palette-color-4, #333333) !important;
    color: var(--theme-palette-color-4, #333333) !important;
}

#account-modal .cala-btn-inscription-modale:hover {
    background-color: transparent !important;
    border-color: var(--theme-palette-color-2, #a05946) !important;
    color: var(--theme-palette-color-2, #a05946) !important;
}

@media (max-width: 480px) {
    #account-modal .cala-nouveau-client-prompt h2 {
        font-size: 16px !important;
        letter-spacing: 1.5px !important;
    }

    #account-modal .ct-account-modal #loginform>h2:first-child {
        font-size: 20px !important;
    }

    #account-modal .cala-nouveau-client-prompt {
        margin-top: 15px !important;
        padding-top: 20px !important;
    }
}