/* ========================================
   Socle commun de la refonte « même DA » (octobre 2026)
   Chargé sur tout le site (functions.php), avant accueil.css.
   Les règles de mise en page des titres et des filtres ne visent que les pages déjà harmonisées,
   listées dans les :is(...) : accueil, catalogue (boutique) et collections (catégories de produits) ;
   les fiches produit ont leur propre section (body.single-product, hors formations).
======================================== */

:root {
    --exv-vert: #003d2d;
    --exv-vert-clair: #0c8568;
    --exv-orange: #cd4e10;
    --exv-orange-fonce: #b2420c;
    --exv-gris: #77827e;
    --exv-ligne: #e6e9eb;
    --exv-ombre: 0 2px 12px rgba(0, 30, 20, .06);
    --exv-ombre-survol: 0 10px 28px rgba(0, 30, 20, .12);
    --exv-rayon: 10px;
}

/* ========================================
   Cartes produits (gabarit Kadence « Loop produit ») : partout sur le site
   Même hauteur, un seul orange, bouton qui ne mord plus sur le prix
======================================== */
ul.wc-block-grid__products > li.product,
.woocommerce ul.products > li.product {
    display: flex !important;
    flex-direction: column;
    background: #fff;
    border-radius: var(--exv-rayon);
    box-shadow: var(--exv-ombre);
    overflow: hidden;
    transition: box-shadow .25s, transform .25s;
}
ul.wc-block-grid__products > li.product:hover,
.woocommerce ul.products > li.product:hover {
    box-shadow: var(--exv-ombre-survol);
    transform: translateY(-3px);
}
li.product > .wp-block-kadence-column:last-of-type {
    margin-top: auto;
}
li.product .kwt-add-to-cart-wrap {
    margin-top: -8px !important;
}
li.product .price,
li.product .price ins,
li.product .price ins .amount,
li.product .price > .amount {
    color: var(--exv-orange) !important;
}
li.product .price del,
li.product .price del .amount {
    color: var(--exv-gris) !important;
}
li.product .onsale {
    background: var(--exv-orange) !important;
}

/* ========================================
   Bandeau de réassurance [exuvie_reassurance] : accueil et fiches produit (format compact)
======================================== */
.exv-reassurance {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 22px 0 10px;
    background: #fff;
    border-radius: var(--exv-rayon);
    box-shadow: var(--exv-ombre);
}
.exv-reassurance__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    font-size: 15px;
    line-height: 1.35;
    color: var(--exv-gris);
    text-decoration: none !important;
}
.exv-reassurance__item + .exv-reassurance__item { border-left: 1px solid var(--exv-ligne); }
a.exv-reassurance__item:hover strong { color: var(--exv-orange); }
.exv-reassurance__picto { width: 26px; height: 26px; flex: none; color: var(--exv-vert); }
.exv-reassurance__item strong { display: block; font-family: neutra-text-bold, sans-serif; font-weight: 400; font-size: 16px; color: var(--exv-vert); transition: color .2s; }

.exv-reassurance--compact {
    grid-template-columns: repeat(2, 1fr);
    margin: 18px 0 0;
    box-shadow: none;
    border: 1px solid var(--exv-ligne);
}
.exv-reassurance--compact .exv-reassurance__item { padding: 12px 14px; font-size: 13.5px; }
.exv-reassurance--compact .exv-reassurance__item strong { font-size: 14.5px; }
.exv-reassurance--compact .exv-reassurance__item:nth-child(3) { border-left: 0; }
.exv-reassurance--compact .exv-reassurance__item:nth-child(n + 3) { border-top: 1px solid var(--exv-ligne); }
.exv-reassurance--compact .exv-reassurance__picto { width: 22px; height: 22px; }

@media (max-width: 1024px) {
    .exv-reassurance { grid-template-columns: repeat(2, 1fr); }
    .exv-reassurance__item:nth-child(3) { border-left: 0; }
    .exv-reassurance__item:nth-child(n + 3) { border-top: 1px solid var(--exv-ligne); }
}
@media (max-width: 767px) {
    .exv-reassurance { margin-top: 16px; }
    .exv-reassurance__item { padding: 12px; gap: 10px; }
    .exv-reassurance__item > span > span { display: none; }
    .exv-reassurance__picto { width: 22px; height: 22px; }
    .exv-reassurance__item strong { font-size: 14.5px; }
    .exv-reassurance--compact { grid-template-columns: 1fr; }
    .exv-reassurance--compact .exv-reassurance__item + .exv-reassurance__item { border-left: 0; border-top: 1px solid var(--exv-ligne); }
}

/* ========================================
   Titres de section : petite icône, titre et lien « Tous nos… » sur une ligne, alignés à gauche
   (rangées Kadence ne contenant qu'une icône, un titre et éventuellement un bouton)
======================================== */
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) {
    margin-bottom: 26px !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) > .kt-row-column-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) > .kt-row-column-wrap > .wp-block-kadence-column {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .wp-block-kadence-column:has(.kb-button) {
    margin-left: auto !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .wp-block-kadence-column:has(.wp-block-image) {
    flex-shrink: 0 !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) :is(.wp-block-image, figure) {
    margin: 0 !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .wp-block-image img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) h2.wp-block-heading {
    margin: 0 !important;
    font-size: 36px !important;
    line-height: 1.15 !important;
    text-align: left !important;
    color: var(--exv-vert);
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kb-button {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--exv-vert) !important;
    font-family: neutra-text-bold, sans-serif;
    font-size: 17px !important;
    white-space: nowrap;
    gap: 8px;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kb-button svg {
    color: var(--exv-orange);
    transition: transform .2s;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kb-button:hover {
    color: var(--exv-orange) !important;
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kb-button:hover svg {
    transform: translateX(3px);
}

/* Titre seul dans une colonne Kadence (sans icône ni lien) : même taille, aligné à gauche */
:is(body.home, body.woocommerce-shop, body.tax-product_cat) .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading:only-child:not(.site-footer *) {
    margin: 0 0 26px !important;
    font-size: 36px !important;
    line-height: 1.15 !important;
    text-align: left !important;
    color: var(--exv-vert);
}
:is(body.home, body.woocommerce-shop, body.tax-product_cat) main > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading:only-child {
    box-sizing: border-box;
    max-width: var(--global-content-width, 1290px);
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--global-content-edge-padding, 1.5rem);
    padding-right: var(--global-content-edge-padding, 1.5rem);
}

/* ========================================
   Filtres (liens vers une section de la page) : pastilles cerclées de vert, pleines au survol
======================================== */
:is(body.woocommerce-shop, body.tax-product_cat) a[href^="#"][style*="background"],
:is(body.woocommerce-shop, body.tax-product_cat) a.kb-button[href^="#"] {
    padding: 10px 22px !important;
    border: 1.5px solid var(--exv-vert) !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 61, 45, .08) !important;
    color: var(--exv-vert) !important;
    font-family: neutra-text-bold, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    transition: background .2s, color .2s;
}
:is(body.woocommerce-shop, body.tax-product_cat) a[href^="#"][style*="background"]:hover,
:is(body.woocommerce-shop, body.tax-product_cat) a.kb-button[href^="#"]:hover {
    background: var(--exv-vert) !important;
    color: #fff !important;
}
:is(body.woocommerce-shop, body.tax-product_cat) .site-container [id] {
    scroll-margin-top: 150px;
}

/* ========================================
   Fiches produit (gabarit Kadence « Loop fiche produit »), sauf les formations qui ont leur propre mise en page
   Titre en casse normale, un seul orange, bouton panier aux coins arrondis, accordéons clairs
======================================== */
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-title-wrap h1 {
    text-transform: none !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-breadcrumbs-wrap,
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-breadcrumbs-wrap a {
    color: var(--exv-orange) !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-price-wrap,
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-price-wrap ins,
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-price-wrap .amount {
    color: var(--exv-orange) !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-price-wrap del,
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-price-wrap del .amount {
    color: var(--exv-gris) !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) button.single_add_to_cart_button {
    border-radius: 8px !important;
    background: var(--exv-orange) !important;
    box-shadow: none !important;
    font-size: 17px !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    transition: background .2s;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) button.single_add_to_cart_button:hover {
    background: var(--exv-orange-fonce) !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .quantity input.qty {
    border-radius: 8px !important;
    border-color: #d6dcda !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-accordion-title > a {
    margin-top: 8px;
    padding: 14px 18px !important;
    border: 1px solid var(--exv-ligne) !important;
    border-radius: 8px;
    background: #fff;
    color: var(--exv-vert) !important;
    font-family: neutra-text-bold, sans-serif;
    font-size: 16px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transition: border-color .2s;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-accordion-title > a:hover,
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-accordion-title.active > a {
    border-color: var(--exv-vert-clair) !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-accordion-title.active > a {
    border-radius: 8px 8px 0 0;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-accordion-title .kwt-accordion-trigger {
    color: var(--exv-orange) !important;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-tabs-wrap .woocommerce-Tabs-panel {
    padding: 16px 18px !important;
    border: 1px solid var(--exv-vert-clair);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #fff;
}
body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) h2.wp-block-heading:not(.site-footer *) {
    color: var(--exv-vert) !important;
    font-size: 30px !important;
}

/* ========================================
   Titre de page ajouté par les scripts de deploy/accueil (classe exv-titre-page)
======================================== */
h1.exv-titre-page {
    margin: 10px 0 40px !important;
    font-size: 36px !important;
    line-height: 1.15 !important;
    color: var(--exv-vert);
}

/* ========================================
   Liste des auteurs (page « Auteurs », blocs Kadence infobox) : cartes comme les produits
======================================== */
body.page-id-1804 .wp-block-kadence-column:has(> .kt-inside-inner-col > .wp-block-kadence-infobox) > .kt-inside-inner-col,
body.page-id-1804 .wp-block-kadence-infobox {
    height: 100%;
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-link-wrap {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    border: 0 !important;
    border-radius: var(--exv-rayon) !important;
    background: #fff !important;
    box-shadow: var(--exv-ombre) !important;
    transition: box-shadow .25s, transform .25s;
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-link-wrap:hover {
    box-shadow: var(--exv-ombre-survol) !important;
    transform: translateY(-3px);
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-media {
    border: 3px solid #fff !important;
    box-shadow: 0 2px 12px rgba(0, 30, 20, .14);
}
body.page-id-1804 .wp-block-kadence-infobox .kt-infobox-textcontent {
    display: flex;
    flex-direction: column;
    flex: 1;
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-title {
    font-size: 21px !important;
    line-height: 1.25 !important;
    color: var(--exv-vert) !important;
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-text {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
    color: #55625d !important;
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-learnmore-wrap {
    align-self: center;
    margin-top: auto;
    padding-top: 12px;
    text-align: center;
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-learnmore {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--exv-orange) !important;
    font-family: neutra-text-bold, sans-serif;
    font-size: 15.5px !important;
}
body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-learnmore::after {
    content: " →";
}

/* ========================================
   Page d'un auteur (type « auteur ») : panneaux arrondis, titres et pictos dans le vert du thème
======================================== */
body.single-auteur .entry-content > .kb-row-layout-wrap.kt-row-has-bg {
    border-radius: var(--exv-rayon);
    box-shadow: var(--exv-ombre);
    overflow: hidden;
}
body.single-auteur .entry-content h2.wp-block-heading {
    color: var(--exv-vert) !important;
    font-size: 30px !important;
    line-height: 1.2 !important;
}
body.single-auteur .wp-block-social-links .wp-social-link {
    background-color: var(--exv-vert) !important;
    color: #fff !important;
}

/* ========================================
   Pages de texte (classe exv-page-texte posée par inc/accueil.php) : FAQ, présentation, pages légales
   Accordéons clairs comme sur les fiches produit, titres dans le vert du thème, largeur de lecture
======================================== */
body.exv-page-texte .kt-blocks-accordion-header {
    padding: 14px 18px !important;
    border: 1px solid var(--exv-ligne) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--exv-vert) !important;
    font-family: neutra-text-bold, sans-serif;
    font-size: 16px !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    transition: border-color .2s;
}
body.exv-page-texte .kt-blocks-accordion-header .kt-blocks-accordion-title {
    color: inherit !important;
    font-size: inherit !important;
    text-transform: none !important;
}
body.exv-page-texte .kt-blocks-accordion-header:hover,
body.exv-page-texte .kt-blocks-accordion-header.kt-accordion-panel-active {
    border-color: var(--exv-vert-clair) !important;
}
body.exv-page-texte .kt-blocks-accordion-header.kt-accordion-panel-active {
    border-radius: 8px 8px 0 0 !important;
}
body.exv-page-texte .kt-blocks-accordion-icon-trigger {
    background: transparent !important;
    border-color: transparent !important;
}
body.exv-page-texte .kt-blocks-accordion-icon-trigger::before,
body.exv-page-texte .kt-blocks-accordion-icon-trigger::after {
    background: var(--exv-orange) !important;
}
body.exv-page-texte .kt-accordion-pane + .kt-accordion-pane {
    margin-top: 8px;
}
body.exv-page-texte .kt-accordion-panel-inner {
    padding: 16px 18px !important;
    border: 1px solid var(--exv-vert-clair) !important;
    border-top: 0 !important;
    border-radius: 0 0 8px 8px;
    background: #fff !important;
}
body.exv-page-texte .entry-content :is(h1, h2, h3).wp-block-heading:not(.site-footer *) {
    color: var(--exv-vert) !important;
    line-height: 1.2 !important;
}
/* Les pages mélangent h1 et h2 pour leurs titres : même taille pour les deux */
body.exv-page-texte .entry-content :is(h1, h2).wp-block-heading { font-size: 32px !important; }
body.exv-page-texte .entry-content h3.wp-block-heading { font-size: 24px !important; }
body.exv-page-lecture .entry-content {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}
/* Pictos des titres de section (FAQ) : même taille que sur l'accueil */
body.exv-page-texte .kb-row-layout-wrap:has(:is(h2, h3).wp-block-heading):not(:has(p, li, form)) .wp-block-image img {
    width: 40px !important;
    height: auto !important;
}

/* ========================================
   Panier, caisse et compte (codes courts WooCommerce classiques)
   Avis, champs et boutons comme le reste du site ; l'orange reste pour l'action principale
======================================== */
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    border: 1px solid var(--exv-ligne) !important;
    border-left: 4px solid var(--exv-vert-clair) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: var(--exv-ombre);
    color: #3c4a45 !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce-error {
    border-left-color: #b82105 !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce :is(input.input-text, input[type="email"], input[type="password"], input[type="tel"], input.qty, textarea, select) {
    border-color: #d6dcda !important;
    border-radius: 8px !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce :is(input.input-text, input[type="email"], input[type="password"], input[type="tel"]) {
    min-height: 46px;
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce :is(input.input-text, input[type="email"], input[type="password"], input[type="tel"], textarea, select):focus {
    border-color: var(--exv-vert-clair) !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(12, 133, 104, .15);
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce :is(.button, button.button, #place_order) {
    border-radius: 8px !important;
    text-transform: none !important;
    letter-spacing: .01em;
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce :is(.checkout-button, #place_order, button[name="login"], button[name="register"]) {
    background: var(--exv-orange) !important;
    color: #fff !important;
    font-size: 17px !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce :is(.checkout-button, #place_order, button[name="login"], button[name="register"]):hover {
    background: var(--exv-orange-fonce) !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) .woocommerce :is(button[name="update_cart"], button[name="apply_coupon"]) {
    border: 1.5px solid var(--exv-vert) !important;
    background: #fff !important;
    color: var(--exv-vert) !important;
    font-family: neutra-text-bold, sans-serif;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) .woocommerce :is(button[name="update_cart"], button[name="apply_coupon"]):hover:not(:disabled) {
    background: var(--exv-vert) !important;
    color: #fff !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) .woocommerce button[name="update_cart"]:disabled {
    opacity: .45;
}
body.woocommerce-cart .kadence-woo-cart-form-wrap,
body.woocommerce-cart .cart_totals,
body.woocommerce-account .woocommerce :is(form.login, form.register, form.lost_reset_password),
body.woocommerce-checkout .woocommerce :is(form.login, form.register) {
    padding: 24px !important;
    border: 0 !important;
    border-radius: var(--exv-rayon) !important;
    background: #fff !important;
    box-shadow: var(--exv-ombre);
}
:is(body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account) .woocommerce h2:not(.woocommerce-loop-product__title):not(.wp-block-kadence-advancedheading) {
    margin-bottom: 16px;
    font-size: 26px !important;
    text-align: left !important;
    color: var(--exv-vert) !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
    color: var(--exv-orange) !important;
}
body.woocommerce-cart .return-to-shop {
    display: none;
}
body.woocommerce-cart .woocommerce.alignwide {
    box-sizing: border-box;
    max-width: var(--global-content-width, 1290px);
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--global-content-edge-padding, 1.5rem);
    padding-right: var(--global-content-edge-padding, 1.5rem);
}
.exv-panier-vide__action {
    margin: 18px 0 40px;
    text-align: center;
}
.exv-panier-vide__titre {
    margin: 0 0 22px !important;
}
.exv-panier-vide .exv-reassurance {
    margin-top: 36px;
}

/* ========================================
   Téléphone
======================================== */
@media (max-width: 767px) {
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) {
        margin-bottom: 18px !important;
    }
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) > .kt-row-column-wrap {
        gap: 10px !important;
    }
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .wp-block-image img {
        width: 24px !important;
        height: 24px !important;
    }
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) h2.wp-block-heading,
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading:only-child:not(.site-footer *) {
        font-size: 25px !important;
    }
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kb-button {
        gap: 6px;
    }
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kt-btn-inner-text {
        font-size: 0 !important;
    }
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kt-btn-inner-text::after {
        content: "Tout voir";
        font-size: 15px;
    }
    :is(body.home, body.woocommerce-shop, body.tax-product_cat) .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading):not(:has(p, form, li)) .kb-button svg {
        width: 16px;
        height: 16px;
    }
    ul.wc-block-grid__products > li.product:hover,
    .woocommerce ul.products > li.product:hover {
        transform: none;
    }
    body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) h2.wp-block-heading:not(.site-footer *) {
        font-size: 25px !important;
    }
    body.single-product:not(:has(.kadence-woo-template-wrap.product_cat-formation)) .kwt-title-wrap h1 {
        font-size: 26px !important;
    }
    h1.exv-titre-page {
        margin-bottom: 24px !important;
        font-size: 28px !important;
    }
    body.single-auteur .entry-content h2.wp-block-heading {
        font-size: 25px !important;
    }
    body.page-id-1804 .kb-row-layout-wrap:has(.wp-block-kadence-infobox) > .kt-row-column-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-link-wrap {
        margin: 0 !important;
        padding: 14px 10px !important;
    }
    body.page-id-1804 .kb-row-layout-wrap:has(.wp-block-kadence-infobox) > .kt-row-column-wrap {
        padding: 7px 0 !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-learnmore-wrap {
        margin: 8px 0 0 !important;
        padding: 0 !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-learnmore {
        margin: 0 !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-media-container {
        margin: 0 auto 4px !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-media {
        width: 96px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox :is(.kadence-info-box-image-inner-intrisic-container, .kadence-info-box-image-intrisic) {
        width: 90px !important;
        max-width: 90px !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-title {
        margin-top: 8px !important;
        font-size: 16px !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-text {
        display: none !important;
    }
    body.page-id-1804 .wp-block-kadence-infobox .kt-blocks-info-box-learnmore {
        font-size: 14px !important;
    }
    body.exv-page-texte .entry-content :is(h1, h2).wp-block-heading { font-size: 26px !important; }
    body.exv-page-texte .entry-content h3.wp-block-heading { font-size: 20px !important; }
    body.exv-page-texte .kt-blocks-accordion-header { padding: 12px 14px !important; font-size: 15px !important; }
    body.exv-page-texte .kb-row-layout-wrap:has(:is(h2, h3).wp-block-heading):not(:has(p, li, form)) .wp-block-image img { width: 32px !important; }
    body.woocommerce-cart .woocommerce-cart-form .coupon {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
    }
    body.woocommerce-cart .woocommerce-cart-form .coupon :is(input.input-text, button) {
        width: 100% !important;
        margin: 0 !important;
    }
    :is(body.woocommerce-cart, body.woocommerce-checkout) .woocommerce :is(button[name="update_cart"], button[name="apply_coupon"]) {
        width: 100%;
        height: auto !important;
        padding: 10px 14px !important;
        font-size: 15px !important;
        white-space: normal;
    }
}
