/*
 * Archiviste — refonte UX/UI d'après la maquette client
 * https://curated-archivist-mode.base44.app/
 * Chargé APRÈS custom.css : ne modifie que la présentation, jamais la logique.
 */

/* ============ 1. Design tokens ============ */
:root {
    --am-primary: #468491;          /* hsl(190 35% 42%) */
    --am-primary-dark: #3F7783;
    --am-primary-light: #70A7B2;    /* hsl(190 30% 57%) */
    --am-gold: #C1A067;             /* hsl(38 42% 58%) */
    --am-gold-dark: #B28F52;
    --am-fg: #152228;               /* hsl(200 30% 12%) */
    --am-muted-fg: #677A7E;         /* hsl(190 10% 45%) */
    --am-bg: #F9FAFB;               /* hsl(210 20% 98%) */
    --am-secondary: #F3F6F7;        /* hsl(190 20% 96%) */
    --am-muted: #EAEFF0;
    --am-border: #DCE3E5;           /* hsl(190 15% 88%) */
    --am-radius: 12px;
    --am-grad-hero: linear-gradient(165deg, #154a55 0%, #1e6271 40%, #2a8294 100%);
    --am-grad-banner: linear-gradient(150deg, #1e5f6b 0%, #2e7d8c 40%, #3a9aaa 100%);
    --am-grad-banner-2: linear-gradient(150deg, #154a55 0%, #1e6271 40%, #2a8294 100%);
    --am-grad-footer: linear-gradient(180deg, #1a2e35 0%, #0f1e24 100%);
    --am-grad-topbar: linear-gradient(90deg, #1e5f6b 0%, #2e7d8c 100%);
    --am-gold-line: linear-gradient(90deg, transparent 0%, #C1A067 50%, transparent 100%);
    --am-font-heading: "Poppins", sans-serif;
    --am-font-body: "Inter", "Poppins", sans-serif;
    --am-shadow-card: 0 20px 40px -20px rgba(70, 132, 145, 0.25);
}

/* ============ 2. Typographie globale ============ */
body {
    font-family: var(--am-font-body);
    color: var(--am-fg);
    --linkHoverColor: var(--am-primary);
}
h1, h2, h3, h4, h5, h6,
.stk-block-heading__text,
.wp-block-heading {
    font-family: var(--am-font-heading) !important;
    color: var(--am-fg);
    letter-spacing: -0.01em;
}
/* L'ancienne police maison "Euclid Flex" est remplacée partout */
.has-euclid-flex-font-family,
[class*="has-euclid-flex"] {
    font-family: var(--am-font-heading) !important;
}
.stk-block-text__text {
    font-family: var(--am-font-body) !important;
}

/* ============ 3. Barre top header ============ */
.am-topbar {
    background: var(--am-grad-topbar);
    color: #fff;
    font-size: 12px;
    font-family: var(--am-font-body);
    padding: 9px 24px;
}
.am-topbar__inner {
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.am-topbar a { color: #fff; opacity: .8; transition: opacity .2s; display: inline-flex; align-items: center; gap: 6px; }
.am-topbar a:hover { opacity: 1; color: #fff; }
.am-topbar__links { display: flex; align-items: center; gap: 24px; }
.am-topbar__tagline { opacity: .8; }
@media (max-width: 767.98px) { .am-topbar { display: none; } }

/* ============ 4. Header ============ */
#header [data-device] > [data-row] {
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .07);
}
/* Hauteurs et logo façon maquette (h-20 desktop / h-16 mobile, logo ~48px) */
#header [data-device="desktop"] [data-row*="middle"] { --height: 84px; }
#header [data-device="mobile"] [data-row*="middle"] { --height: 64px !important; }
#header .site-logo-container { --logo-max-height: 48px !important; }
#header .site-logo-container img {
    max-height: 48px !important;
    width: auto !important;
    height: auto;
    border-radius: 8px;
}
/* Panier = bouton primaire "Commander" de la maquette */
#header .ct-header-cart { margin: 0 !important; }
#header .ct-header-cart .ct-cart-item {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--am-primary) !important;
    color: #fff !important;
    border: none;
    border-radius: 10px;
    padding: 10px 16px !important;
    transition: background-color .2s;
    box-shadow: none;
}
#header .ct-header-cart .ct-cart-item:hover { background: var(--am-primary-dark) !important; }
#header .ct-cart-item .ct-label {
    color: #fff !important;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
}
#header .ct-cart-item svg { width: 21px; height: auto; }
#header .ct-cart-item svg path { fill: #fff !important; }
#header .ct-cart-item .ct-dynamic-count-cart {
    background: var(--am-gold) !important;
    color: var(--am-fg) !important;
    font-weight: 700;
}
/* Mon compte : lien sobre avec icône */
#header .head-account .wc-block-customer-account__link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border-radius: 8px;
}
#header .head-account .wc-block-customer-account__link:hover { background: rgba(70, 132, 145, .06); }
#header .head-account .wc-block-customer-account__link::before {
    content: "\f007";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 14px;
    color: var(--am-primary);
}
#header .ct-menu-link {
    font-family: var(--am-font-body) !important;
    font-size: 14px;
    font-weight: 500;
    color: var(--am-fg);
    border-radius: 8px;
    transition: color .2s, background-color .2s;
}
#header .ct-menu-link:hover {
    color: var(--am-primary) !important;
    background-color: rgba(70, 132, 145, .06);
}
#header .sub-menu {
    --dropdown-background: #fff;
    background: #fff !important;
    border: 1px solid var(--am-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 45px -18px rgba(21, 34, 40, .25);
}
#header .sub-menu .ct-menu-link {
    border-radius: 0;
    color: var(--am-fg) !important;
    --theme-link-initial-color: var(--am-fg);
}
#header .sub-menu .ct-menu-link:hover {
    background-color: var(--am-primary);
    color: #fff !important;
}
/* Bouton "Commander / Demander un devis" du header */
#header .ct-button,
#header [data-id^="button"] a {
    background-color: var(--am-primary) !important;
    color: #fff !important;
    border-radius: 10px;
    font-family: var(--am-font-body);
    font-weight: 600;
    font-size: 14px;
}
#header .ct-button:hover,
#header [data-id^="button"] a:hover {
    background-color: var(--am-primary-dark) !important;
}

/* Élément compte + panier du header (anciens styles blancs retirés) */
#header .head-account a,
#header .head-account a span {
    color: var(--am-fg);
    font-family: var(--am-font-body);
    font-weight: 500;
    font-size: 14px;
}
#header .head-account a:hover,
#header .head-account a:hover span { color: var(--am-primary); }
#header .ct-header-cart .ct-icon,
#header .ct-header-cart svg { fill: var(--am-fg); }
#header .ct-header-cart:hover .ct-icon { fill: var(--am-primary); }
/* Le numéro de téléphone est déjà dans la barre du haut : on masque l'ancien item de menu */
#header li.menu-item-794 { display: none; }

/* ============ 5. Footer ============ */
footer.ct-footer {
    background: var(--am-grad-footer) !important;
    color: #fff;
}
footer.ct-footer [data-row] { background: transparent !important; }
footer.ct-footer .bloc-footer-menu > p {
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 16px;
}
footer.ct-footer .new-menu-footer li { margin: 0 0 10px; }
footer.ct-footer .new-menu-footer a {
    font-family: var(--am-font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, .5) !important;
    border: none !important;
    padding: 0 !important;
    transition: color .2s;
}
footer.ct-footer .new-menu-footer a::before { display: none !important; }
footer.ct-footer .new-menu-footer a:hover { color: var(--am-primary-light) !important; }
footer.ct-footer .site-logo-container img {
    filter: brightness(0) invert(1);
    opacity: .85;
    max-height: 56px;
    width: auto;
}
footer.ct-footer .site-title a { color: rgba(255,255,255,.85); font-family: var(--am-font-heading); }
footer.ct-footer [data-row="bottom"] {
    border-top: 1px solid rgba(255, 255, 255, .1);
}
footer.ct-footer .ct-footer-copyright,
footer.ct-footer .ct-footer-copyright p {
    font-size: 12px;
    color: rgba(255, 255, 255, .3);
    font-family: var(--am-font-body);
}

/* ============ 6. Boutons globaux ============ */
.ct-button,
button.single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button,
.checkout-button {
    font-family: var(--am-font-body) !important;
    font-weight: 600;
    border-radius: var(--am-radius);
    letter-spacing: 0;
}

/* ============ 7. Héros pages boutique / catégories ============ */
[data-prefix="woo_categories"] .hero-section,
[data-prefix="categories"] .hero-section,
.post-type-archive-product .hero-section,
.tax-product_cat .hero-section {
    background: var(--am-grad-banner) !important;
    position: relative;
}
[data-prefix="woo_categories"] .hero-section .page-title,
.tax-product_cat .hero-section .page-title,
.post-type-archive-product .hero-section .page-title {
    color: #fff !important;
    --theme-heading-color: #fff;
    font-weight: 700;
}

/* ============ 7bis. Héros catalogue + pills (maquette /produits) ============ */
.am-cat-hero {
    background: linear-gradient(150deg, #1e5f6b 0%, #2e7d8c 35%, #3a9aaa 70%, #4db8c8 100%);
    position: relative;
    overflow: hidden;
    padding: 64px 24px 88px;
}
@media (min-width: 768px) { .am-cat-hero { padding: 88px 40px 96px; } }
.am-cat-hero__inner { max-width: 80rem; margin: 0 auto; }
.am-cat-hero h1 {
    font-family: var(--am-font-heading) !important;
    font-weight: 700;
    color: #fff !important;
    font-size: clamp(36px, 5vw, 58px);
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0 0 16px;
}
.am-cat-hero__sub {
    font-family: var(--am-font-body);
    color: rgba(255, 255, 255, .7);
    font-size: 16px;
    line-height: 1.6;
    max-width: 36rem;
    margin: 0 0 32px;
}
.am-cat-hero__search {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .1);
    overflow: hidden;
    max-width: 32rem;
}
.am-cat-hero__search i {
    color: var(--am-muted-fg);
    margin-left: 20px;
    flex-shrink: 0;
    font-size: 14px;
}
.am-cat-hero__search input[type="search"] {
    flex: 1;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 17px 16px;
    font-family: var(--am-font-body);
    font-size: 14px;
    color: var(--am-fg);
    min-width: 0;
}
.am-cat-hero__search input[type="search"]::placeholder { color: rgba(103, 122, 126, .7); }
.am-cat-hero__search input[type="search"]:focus { border: none !important; box-shadow: none !important; }

.am-cat-pills {
    background: #fff;
    padding: 36px 24px 28px;
}
@media (min-width: 768px) { .am-cat-pills { padding: 44px 40px 32px; } }
.am-cat-pills__inner {
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.am-pill {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 999px;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 500;
    border: 1px solid var(--am-border);
    background: #fff;
    color: var(--am-fg);
    transition: color .2s, border-color .2s, background-color .2s;
    text-decoration: none;
}
.am-pill:hover { border-color: rgba(193, 160, 103, .4); color: var(--am-gold-dark); }
.am-pill.is-active {
    background: var(--am-fg);
    color: #fff;
    border-color: var(--am-fg);
    border-bottom: 2px solid var(--am-gold);
}
.am-pill.is-active:hover { color: #fff; }
/* Sous-filtres par volume (rangée sous les catégories) */
.am-vol-pills {
    max-width: 80rem;
    margin: 16px auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.am-vpill {
    display: inline-block;
    padding: 7px 16px;
    border-radius: 999px;
    font-family: var(--am-font-body);
    font-size: 12.5px;
    font-weight: 500;
    border: 1px solid var(--am-border);
    background: rgba(243, 246, 247, .5);
    color: var(--am-muted-fg);
    transition: color .2s, border-color .2s, background-color .2s;
    text-decoration: none;
}
.am-vpill:hover { border-color: rgba(70, 132, 145, .4); color: var(--am-primary); }
.am-vpill.is-active {
    background: var(--am-primary);
    color: #fff;
    border-color: var(--am-primary);
}
.am-vpill.is-active:hover { color: #fff; }

/* Bandeau compatibilité exclusive (catégorie Kit Easy-fuzz) */
.am-amber-wrap {
    background: #fff;
    padding: 0 24px 8px;
}
@media (min-width: 768px) { .am-amber-wrap { padding: 0 40px 8px; } }
.am-amber-banner {
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 18px;
    border: 2px solid #fbbf24;
    border-radius: 16px;
    padding: 22px 28px;
    background: linear-gradient(90deg, #fef3c7 0%, #fde68a 50%, #fef3c7 100%);
    box-shadow: 0 10px 25px -12px rgba(180, 130, 20, .35);
}
.am-amber-banner__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 12px;
    background: #f59e0b;
    color: #fff;
    font-size: 26px;
    flex-shrink: 0;
}
.am-amber-banner h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 700;
    font-size: 19px;
    color: #78350f;
    margin: 0 0 4px;
}
.am-amber-banner p {
    font-family: var(--am-font-body);
    font-size: 15px;
    line-height: 1.55;
    color: #92400e;
    margin: 0;
}
.am-amber-banner p u { text-underline-offset: 2px; }

/* Zone tri / nombre de résultats */
.woo-listing-top {
    font-family: var(--am-font-body);
    font-size: 13px;
    color: var(--am-muted-fg);
}
.woo-listing-top .woocommerce-ordering select {
    border: 1px solid var(--am-border);
    border-radius: 10px;
    font-size: 13px;
    color: var(--am-fg);
    max-width: 230px;
}

/* ============ 8. Cartes produits WooCommerce ============ */
ul.products li.product {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color .3s, box-shadow .4s, transform .4s;
}
ul.products li.product:hover {
    border-color: rgba(193, 160, 103, .4);
    box-shadow: var(--am-shadow-card);
    transform: translateY(-3px);
}
ul.products li.product > figure {
    order: 0;
    margin: 0;
    padding: 20px;
    background: linear-gradient(180deg, rgba(243, 246, 247, .7) 0%, rgba(243, 246, 247, .15) 100%);
}
ul.products li.product > figure img { transition: transform .5s ease; }
ul.products li.product:hover > figure img { transform: scale(1.05); }
ul.products li.product .product-categories {
    order: 1;
    padding: 14px 18px 0;
    margin: 0;
}
ul.products li.product .product-categories a {
    font-family: var(--am-font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--am-primary) !important;
}
ul.products li.product .woocommerce-loop-product__title {
    order: 2;
    padding: 6px 18px 0;
    font-family: var(--am-font-body) !important;
    font-size: 14.5px !important;
    font-weight: 600;
    line-height: 1.45;
}
ul.products li.product .woocommerce-loop-product__title a { color: var(--am-fg); }
ul.products li.product:hover .woocommerce-loop-product__title a { color: var(--am-primary); }
ul.products li.product .price {
    order: 3;
    padding: 4px 18px 0;
    font-family: var(--am-font-heading);
    font-weight: 600;
    color: var(--am-fg) !important;
}
ul.products li.product .ct-woo-card-actions {
    order: 4;
    margin-top: auto;
    padding: 14px 18px 18px;
    border-top: 1px solid rgba(220, 227, 229, .6);
    margin-left: 0;
    margin-right: 0;
}
ul.products li.product .ct-woo-card-actions .single_add_to_cart_button,
ul.products li.product .add_to_cart_button {
    background: transparent !important;
    border: 1px solid var(--am-primary) !important;
    color: var(--am-primary) !important;
    border-radius: var(--am-radius);
    font-size: 12.5px;
    font-weight: 600;
    transition: background-color .2s, color .2s;
}
ul.products li.product .ct-woo-card-actions .single_add_to_cart_button:hover,
ul.products li.product .add_to_cart_button:hover {
    background: var(--am-primary) !important;
    color: #fff !important;
}
ul.products li.product select.qty,
ul.products li.product input.qty {
    border: 1px solid var(--am-border);
    border-radius: 10px;
    font-family: var(--am-font-body);
}
/* Extrait + chips dans la carte (ordre visuel façon maquette) */
ul.products li.product .am-loop-desc {
    order: 3;
    padding: 6px 18px 0;
    margin: 0;
    font-family: var(--am-font-body);
    font-size: 12px;
    line-height: 1.6;
    color: var(--am-muted-fg);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
ul.products li.product .am-loop-chips {
    order: 4;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 18px 0;
}
ul.products li.product .price { order: 5; }
ul.products li.product .ct-woo-card-actions { order: 6; }
.am-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--am-font-body);
    font-size: 11px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(243, 246, 247, .8);
    color: var(--am-muted-fg);
}
.am-chip--ce { color: var(--am-gold-dark); background: rgba(193, 160, 103, .1); font-weight: 600; }
.am-chip--fill { color: var(--am-gold-dark); background: rgba(193, 160, 103, .1); font-weight: 500; }
.am-chip--vol { color: var(--am-primary); background: rgba(70, 132, 145, .08); font-weight: 700; }
/* Étiquette couleur par débit (couleurs physiques D-FUZZ) */
.am-debit-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--am-font-body);
    font-size: 11px;
    font-weight: 700;
    color: #222 !important;
    padding: 4px 10px;
    border-radius: 6px;
    line-height: 1.4;
}
.am-debit-badge--lg { font-size: 12px; padding: 7px 12px; border-radius: 8px; }
.am-chip--ce i { color: var(--am-gold); }
.am-chip--dark { color: var(--am-fg); background: rgba(21, 34, 40, .05); }
.am-chip--dark i { color: var(--am-primary); }

/* ============ 8bis. Fiche produit (maquette /produit/:id) ============ */
.am-prod-eyebrow {
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.am-prod-eyebrow a { color: var(--am-primary) !important; }
.single-product .entry-summary .entry-title {
    font-family: var(--am-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(28px, 3.4vw, 40px) !important;
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.am-prod-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.am-prod-chips .am-chip { padding: 7px 12px; border-radius: 8px; font-size: 12px; border: 1px solid var(--am-border); }
.am-prod-chips .am-chip--ce { border-color: rgba(193, 160, 103, .3); }
.am-order-box {
    border: 1px solid var(--am-border);
    border-radius: 16px;
    padding: 22px;
    background: #fff;
}
.am-order-box__label {
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--am-fg);
    margin: 0 0 14px;
}
.am-order-box .cart { margin-bottom: 0 !important; }
.single-product .single_add_to_cart_button {
    background: var(--am-fg) !important;
    color: #fff !important;
    border-radius: var(--am-radius) !important;
    font-weight: 700;
}
.single-product .single_add_to_cart_button:hover { background: var(--am-primary) !important; }
.am-btn-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    width: 100%;
    border: 1px solid var(--am-border);
    background: #fff;
    color: var(--am-fg) !important;
    border-radius: var(--am-radius);
    padding: 13px 20px;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 700;
    transition: border-color .2s, color .2s;
}
.am-btn-call:hover { border-color: rgba(70, 132, 145, .4); color: var(--am-primary) !important; }
.am-btn-call i { color: var(--am-primary); }
.am-prod-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 18px;
}
.am-prod-trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 500;
    color: var(--am-muted-fg);
}
.am-prod-trust i { color: var(--am-primary); font-size: 13px; }
/* Quantité fiche produit */
.single-product .quantity { width: auto !important; }
.single-product .quantity input.qty, .single-product .quantity select.qty {
    border: 1px solid var(--am-border);
    border-radius: 10px;
    background: rgba(243, 246, 247, .5);
    color: var(--am-fg);
    font-family: var(--am-font-body);
}
/* Produits associés */
.single-product .related h2.ct-module-title,
.single-product section.related > h2 {
    font-family: var(--am-font-heading) !important;
    font-weight: 700;
    font-size: clamp(24px, 3vw, 30px);
    letter-spacing: -0.01em;
}

/* ============ 8ter. Séparateurs de contenance + actions cartes ============ */
ul.products li.am-vol-divider {
    grid-column: 1 / -1;
    display: flex !important;
    align-items: center;
    gap: 16px;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    padding: 28px 0 4px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
ul.products li.am-vol-divider::before,
ul.products li.am-vol-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(193, 160, 103, .35);
}
ul.products li.am-vol-divider span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 19px;
    color: var(--am-fg);
    white-space: nowrap;
}
ul.products li.am-vol-divider span::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--am-gold);
}
/* Le bouton commander des cartes reste toujours visible (pas d'auto-hide au survol) */
ul.products [data-add-to-cart] .ct-woo-card-actions,
ul.products li.product .ct-woo-card-actions {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: static !important;
    pointer-events: auto !important;
}

/* Conteneur produit : pas d'espace au-dessus du fil d'ariane */
.single-product .ct-container-full[data-vertical-spacing] {
    padding-top: 0 !important;
}
/* Prix : cohérent avec la maquette (Poppins, couleur foncée, suffixe discret) */
.single-product .entry-summary .price {
    font-family: var(--am-font-heading) !important;
    font-weight: 600 !important;
    font-size: 22px !important;
    --theme-text-color: var(--am-fg);
    color: var(--am-fg) !important;
}
.single-product .entry-summary .price .woocommerce-price-suffix {
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--am-muted-fg);
    letter-spacing: .06em;
}
/* Description courte type "Ce kit contient" : liste propre avec vignettes */
.single-product .woocommerce-product-details__short-description h6 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--am-font-body) !important;
    font-size: 14px !important;
    font-weight: 500;
    color: var(--am-fg);
    letter-spacing: 0;
    text-transform: none;
    margin: 0;
    padding: 9px 0;
    line-height: 1.5;
}
.single-product .woocommerce-product-details__short-description h6 img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    background: rgba(243, 246, 247, .8);
    border: 1px solid var(--am-border);
    border-radius: 8px;
    padding: 3px;
    flex-shrink: 0;
}
.single-product .woocommerce-product-details__short-description hr {
    border: none;
    border-top: 1px solid rgba(220, 227, 229, .6);
    margin: 0;
}
.single-product .woocommerce-product-details__short-description p:empty { display: none; }
.single-product .woocommerce-product-details__short-description > p:last-child { margin-bottom: 0; }
/* Contenu des onglets : typo et médias harmonisés */
.single-product .woocommerce-tabs .entry-content p,
.single-product .woocommerce-tabs .entry-content li {
    font-family: var(--am-font-body);
    font-size: 15px;
    line-height: 1.7;
    color: var(--am-muted-fg);
}
.single-product .woocommerce-tabs .entry-content img {
    max-width: 280px;
    height: auto;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    background: #fff;
    padding: 12px;
    margin-top: 8px;
}
.single-product .woocommerce-tabs .entry-content h6 {
    font-family: var(--am-font-body) !important;
    font-size: 14px !important;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    margin: 6px 0;
}
.single-product .ct-accordion-heading {
    font-family: var(--am-font-heading) !important;
    --theme-link-initial-color: var(--am-fg);
    --theme-link-hover-color: var(--am-primary);
    --tab-border-color: var(--am-border);
}
/* Fil d'ariane fiche produit : barre claire façon maquette */
.single-product nav.woocommerce-breadcrumb {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 44px;
    background: rgba(243, 246, 247, .45);
    border-bottom: 1px solid rgba(220, 227, 229, .6);
    padding: 14px max(24px, calc(50vw - 40rem));
    font-family: var(--am-font-body);
}
@media (max-width: 767.98px) { .single-product nav.woocommerce-breadcrumb { margin-bottom: 28px; } }
.single-product nav.woocommerce-breadcrumb span { color: rgba(103, 122, 126, .5); margin: 0 4px; }
/* Contenus produits saisis avec des couleurs inline de l'ancien design */
.single-product .woocommerce-product-details__short-description [style*="color"],
.single-product .woocommerce-product-details__short-description font {
    color: inherit !important;
}
.single-product .woocommerce-product-details__short-description {
    line-height: 1.7;
}
/* Encadré Indications (champ admin produit) */
.am-prod-indications {
    background: rgba(70, 132, 145, .05);
    border: 1px solid rgba(70, 132, 145, .15);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 8px 0 4px;
}
.am-prod-indications__label {
    font-family: var(--am-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--am-primary);
    margin: 0 0 6px;
}
.am-prod-indications p:last-child {
    font-family: var(--am-font-body);
    font-size: 14px;
    line-height: 1.65;
    color: var(--am-fg);
    margin: 0;
}
/* Lien fiche technique */
.am-fiche-technique {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--am-primary) !important;
}
.am-fiche-technique:hover { text-decoration: underline; }

/* ============ 8quater. Specs & caractéristiques fiche produit ============ */
.am-prod-specs {
    background: rgba(243, 246, 247, .45);
    border-top: 1px solid var(--am-border);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 56px;
    padding: 64px max(24px, calc(50vw - 40rem)) 72px;
}
@media (max-width: 767.98px) { .am-prod-specs { margin-top: 36px; } }
.am-prod-specs__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
}
@media (min-width: 1024px) { .am-prod-specs__grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.am-spec-table {
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    overflow: hidden;
    margin-top: 8px;
}
.am-spec-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 22px;
    border-bottom: 1px solid rgba(220, 227, 229, .5);
}
.am-spec-row:last-child { border-bottom: none; }
.am-spec-row--alt { background: rgba(243, 246, 247, .35); }
.am-spec-row span {
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--am-muted-fg);
}
.am-spec-row strong {
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--am-fg);
    text-align: right;
}
.am-feature-list { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.am-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border: 1px solid rgba(220, 227, 229, .6);
    border-radius: 12px;
    padding: 17px 20px;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--am-fg);
    line-height: 1.5;
}
.am-feature-item__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(70, 132, 145, .1);
    color: var(--am-primary);
    flex-shrink: 0;
    font-size: 14px;
}

/* ============ 8quinquies. Mon compte : navigation propre ============ */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0;
    position: static;
}
.woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    border-radius: 10px;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--am-fg);
    background: transparent;
    border: none;
    transition: background-color .2s, color .2s;
}
.woocommerce-MyAccount-navigation ul li a:hover {
    background: rgba(70, 132, 145, .07);
    color: var(--am-primary);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li[class*="--dashboard"].is-active a {
    background: var(--am-primary);
    color: #fff;
}
.woocommerce-MyAccount-content {
    font-family: var(--am-font-body);
}
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 {
    font-family: var(--am-font-heading) !important;
}
.wc-address-book-address-default-label {
    background: rgba(193, 160, 103, .15);
    color: var(--am-gold-dark);
    font-family: var(--am-font-body);
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
}

/* ============ 9. Formulaires ============ */
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="search"], input[type="number"],
select, textarea {
    font-family: var(--am-font-body);
    border-radius: 10px;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--am-primary) !important;
    box-shadow: 0 0 0 3px rgba(70, 132, 145, .15);
}

/* ============ 10. Utilitaires sections page d'accueil ============ */
.am-section { padding: 80px 24px; }
@media (min-width: 768px) { .am-section { padding: 104px 40px; } }
.am-section--flush { padding-top: 0; }
.am-container { max-width: 80rem; margin-left: auto; margin-right: auto; }
.am-container--narrow { max-width: 56rem; margin-left: auto; margin-right: auto; }
.am-bg-white { background: #fff; }
.am-bg-tint { background: rgba(243, 246, 247, .45); }

.am-eyebrow {
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--am-gold);
    margin: 0 0 12px;
}
.am-h2 {
    font-family: var(--am-font-heading) !important;
    font-weight: 700;
    font-size: clamp(28px, 4vw, 38px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--am-fg);
    margin: 0 0 18px;
}
.am-lead {
    font-family: var(--am-font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--am-muted-fg);
    max-width: 42rem;
    margin: 0 0 0;
}
.am-center { text-align: center; }
.am-center .am-lead { margin-left: auto; margin-right: auto; }
.am-section-head { margin-bottom: 56px; }

/* Ligne dorée décorative en haut des blocs sombres */
.am-goldline { position: relative; }
.am-goldline::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: var(--am-gold-line);
    z-index: 2;
}
/* Texture pointillée */
.am-dots { position: relative; }
.am-dots::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, .08) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: .5;
    pointer-events: none;
}
.am-dots > * { position: relative; z-index: 1; }

/* Boutons maquette */
.am-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
    border-radius: 16px;
    padding: 14px 28px;
    line-height: 1;
    transition: background-color .25s, color .25s, border-color .25s, transform .25s;
    position: relative;
    overflow: hidden;
    text-decoration: none;
}
.am-btn--gold { background: var(--am-gold); color: var(--am-fg) !important; }
.am-btn--gold:hover { background: var(--am-gold-dark); color: var(--am-fg) !important; }
.am-btn--dark {
    background: var(--am-fg);
    color: #fff !important;
    border-bottom: 2px solid var(--am-gold);
}
.am-btn--dark:hover { background: #2a3f48; color: #fff !important; }
.am-btn--outline {
    border: 1px solid var(--am-border);
    color: var(--am-fg) !important;
    background: #fff;
    border-radius: var(--am-radius);
}
.am-btn--outline:hover { border-color: var(--am-primary); color: var(--am-primary) !important; }
/* Effet reflet au survol */
.am-btn--shine::before {
    content: "";
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent);
    pointer-events: none;
}
.am-btn--shine:hover::before { animation: am-shine .8s ease-out; }
@keyframes am-shine { 0% { left: -100%; } 100% { left: 100%; } }

/* Bordure dorée au survol des cartes */
.am-goldhover { position: relative; }
.am-goldhover::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1.5px;
    background: linear-gradient(135deg, var(--am-gold), transparent 40%, transparent 60%, var(--am-gold));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity .4s ease;
    pointer-events: none;
}
.am-goldhover:hover::after { opacity: 1; }

/* Pastilles icône */
.am-tile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px; height: 52px;
    border-radius: 16px;
    background: rgba(193, 160, 103, .1);
    border: 1px solid rgba(193, 160, 103, .22);
    color: var(--am-gold);
    font-size: 20px;
    flex-shrink: 0;
}
.am-tile--primary {
    background: rgba(70, 132, 145, .1);
    border: none;
    color: var(--am-primary);
}
.am-tile--sm { width: 44px; height: 44px; border-radius: 12px; font-size: 17px; }

/* ============ 11. Héros accueil ============ */
.am-hero {
    background: var(--am-grad-hero);
    position: relative;
    overflow: hidden;
    padding: 90px 24px 100px;
    min-height: 540px;
    display: flex;
    align-items: center;
}
.am-hero::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: var(--am-gold-line);
    z-index: 2;
}
.am-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(ellipse at 75% 15%, rgba(255, 255, 255, .06) 0%, transparent 55%),
        radial-gradient(circle, rgba(255, 255, 255, .07) 1px, transparent 1px);
    background-size: auto, 24px 24px;
    pointer-events: none;
}
.am-hero__inner {
    max-width: 80rem;
    margin: 0 auto;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 3;
}
@media (min-width: 1024px) { .am-hero__inner { grid-template-columns: 7fr 5fr; } }
.am-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(193, 160, 103, .3);
    background: rgba(255, 255, 255, .05);
    color: rgba(255, 255, 255, .8);
    padding: 6px 16px 6px 10px;
    border-radius: 999px;
    font-family: var(--am-font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .03em;
    margin-bottom: 32px;
}
.am-hero__badge b {
    background: var(--am-gold);
    color: var(--am-fg);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.am-hero h1 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    color: #fff !important;
    font-size: clamp(40px, 5.2vw, 64px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 28px;
}
.am-hero h1 em {
    font-style: italic;
    font-weight: 300;
    color: var(--am-gold);
}
.am-hero__sub {
    font-family: var(--am-font-body);
    font-weight: 300;
    color: rgba(255, 255, 255, .55);
    font-size: 17px;
    line-height: 1.7;
    max-width: 36rem;
    margin: 0 0 40px;
}
.am-hero__search {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    overflow: hidden;
    max-width: 36rem;
    margin-bottom: 28px;
    transition: border-color .3s, background-color .3s;
    backdrop-filter: blur(4px);
}
.am-hero__search:focus-within {
    border-color: rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .12);
}
.am-hero__search .am-hero__search-icon {
    color: rgba(255, 255, 255, .4);
    margin-left: 20px;
    flex-shrink: 0;
}
.am-hero__search input[type="search"] {
    flex: 1;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 15px 16px;
    font-family: var(--am-font-body);
    font-size: 14px;
    color: #fff;
    min-width: 0;
}
.am-hero__search input[type="search"]::placeholder { color: rgba(255, 255, 255, .4); }
.am-hero__search button {
    background: var(--am-gold) !important;
    color: var(--am-fg) !important;
    border: none;
    border-radius: 999px;
    padding: 12px 22px;
    margin: 6px 6px 6px 0;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .2s;
}
.am-hero__search button:hover { background: var(--am-gold-dark) !important; }
.am-hero__pills { display: flex; flex-wrap: wrap; gap: 10px; }
.am-hero__pills a {
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, .7) !important;
    border: 1px solid rgba(255, 255, 255, .1);
    padding: 8px 16px;
    border-radius: 999px;
    transition: color .3s, border-color .3s;
    text-decoration: none;
}
.am-hero__pills a:hover { color: var(--am-gold) !important; border-color: rgba(193, 160, 103, .4); }

/* Vitrine produit du héros */
.am-hero__card {
    position: relative;
    border-radius: 32px;
    border: 1px solid rgba(193, 160, 103, .2);
    overflow: hidden;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, .4);
    display: none;
}
@media (min-width: 1024px) { .am-hero__card { display: block; } }
.am-hero__card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: var(--am-gold-line);
    z-index: 2;
}
.am-hero__card-img {
    background: linear-gradient(160deg, #f8fafb 0%, #eef4f6 100%);
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.am-hero__card-img img { max-height: 280px; width: auto; object-fit: contain; }
.am-hero__card-label {
    position: absolute;
    top: 20px; left: 20px;
    z-index: 3;
}
.am-hero__card-label small {
    display: block;
    font-family: var(--am-font-body);
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--am-primary-dark);
    margin-bottom: 2px;
}
.am-hero__card-label strong {
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: 14px;
    color: var(--am-fg);
}
.am-hero__card-badge {
    position: absolute;
    top: 20px; right: 20px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, .9);
    padding: 6px 12px;
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
    font-family: var(--am-font-body);
    font-size: 10px;
    font-weight: 500;
    color: var(--am-fg);
}
.am-hero__card-badge::before {
    content: "";
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--am-gold);
    animation: am-pulse 1.6s ease-in-out infinite;
}
@keyframes am-pulse { 50% { opacity: .35; } }
.am-hero__card-stats {
    position: absolute;
    bottom: 16px; left: 16px; right: 16px;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.am-hero__card-stats div {
    text-align: center;
    background: rgba(255, 255, 255, .85);
    backdrop-filter: blur(4px);
    border-radius: 10px;
    padding: 7px 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
.am-hero__card-stats strong {
    display: block;
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: 14px;
    color: var(--am-fg);
    line-height: 1;
}
.am-hero__card-stats span {
    font-family: var(--am-font-body);
    font-size: 8px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--am-muted-fg);
}

/* ============ 11bis. Page Easy-Fuzz ============ */
.am-ef-hero {
    background: var(--am-grad-hero);
    position: relative;
    overflow: hidden;
    padding: 88px 24px;
}
@media (min-width: 768px) { .am-ef-hero { padding: 112px 40px; } }
.am-ef-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(ellipse at 75% 15%, rgba(255, 255, 255, .06) 0%, transparent 55%),
        radial-gradient(circle, rgba(255, 255, 255, .07) 1px, transparent 1px);
    background-size: auto, 24px 24px;
    pointer-events: none;
}
.am-ef-hero__inner {
    max-width: 80rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 1;
}
@media (min-width: 1024px) { .am-ef-hero__inner { grid-template-columns: 1fr 1fr; gap: 64px; } }
.am-ef-hero .am-hero__badge { margin-bottom: 32px; }
.am-ef-hero .am-hero__badge i { color: var(--am-gold); }
.am-ef-hero h1 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    color: #fff !important;
    font-size: clamp(48px, 6vw, 72px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 20px;
}
.am-ef-hero h1 sup, .am-ef-hero h1 .am-reg { font-weight: 300; color: var(--am-gold); }
.am-ef-hero__sub {
    font-family: var(--am-font-body);
    font-weight: 300;
    color: rgba(255, 255, 255, .55);
    font-size: 19px;
    line-height: 1.6;
    max-width: 26rem;
    margin: 0 0 40px;
}
.am-ef-hero__ctas { display: flex; flex-wrap: wrap; gap: 16px; }
.am-btn--pill { border-radius: 999px !important; }
.am-btn--ghost-gold {
    border: 1px solid rgba(193, 160, 103, .4);
    color: var(--am-gold) !important;
    background: transparent;
}
.am-btn--ghost-gold:hover { background: rgba(193, 160, 103, .1); color: var(--am-gold) !important; }
.am-ef-hero__card {
    position: relative;
    background: #fff;
    border: 2px solid rgba(255, 255, 255, .15);
    border-radius: 32px;
    padding: 40px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, .4);
}
@media (min-width: 768px) { .am-ef-hero__card { padding: 48px; } }
.am-ef-hero__card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--am-gold-line);
    border-radius: 32px 32px 0 0;
}
.am-ef-hero__card img {
    display: block;
    max-width: 24rem;
    width: 100%;
    margin: 0 auto;
    filter: drop-shadow(0 15px 30px rgba(0, 0, 0, .2));
}
/* Vidéos */
.am-videos {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 768px) { .am-videos { grid-template-columns: repeat(2, 1fr); } }
.am-video-card {
    background: rgba(243, 246, 247, .4);
    border: 1px solid var(--am-border);
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow .3s;
}
.am-video-card:hover { box-shadow: 0 12px 30px -15px rgba(21, 34, 40, .25); }
.am-video-card .am-video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #154a55, #2a8294);
}
.am-video-card iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.am-video-card__body { padding: 20px; }
.am-video-card__body h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    font-size: 15px;
    margin: 0 0 4px;
}
.am-video-card__body p {
    font-family: var(--am-font-body);
    font-size: 12.5px;
    color: var(--am-muted-fg);
    margin: 0;
}
/* Section titre avec icône */
.am-icon-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 40px;
}
.am-icon-head i { color: var(--am-primary); font-size: 20px; }
.am-icon-head h2 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    font-size: clamp(24px, 3vw, 30px);
    margin: 0;
}
/* Carte documentation */
.am-doc-card {
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    padding: 36px 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
@media (min-width: 768px) {
    .am-doc-card { flex-direction: row; align-items: center; justify-content: space-between; }
}
.am-doc-card h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    font-size: 18px;
    margin: 0 0 4px;
}
.am-doc-card p {
    font-family: var(--am-font-body);
    font-size: 14px;
    color: var(--am-muted-fg);
    margin: 0;
}

/* ============ 12. Barre de stats sous le héros ============ */
.am-statbar {
    background: #fff;
    border-bottom: 1px solid var(--am-border);
    padding: 40px 24px;
    position: relative;
}
.am-statbar::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(193, 160, 103, .4) 50%, transparent 100%);
}
.am-statbar__grid {
    max-width: 80rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}
@media (min-width: 768px) { .am-statbar__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .am-statbar__grid { grid-template-columns: repeat(6, 1fr); } }
.am-stat { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.am-stat .am-tile--sm { border-radius: 16px; }
.am-stat strong {
    display: block;
    font-family: var(--am-font-body);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--am-fg);
    line-height: 1.35;
}
.am-stat span {
    font-family: var(--am-font-body);
    font-size: 10.5px;
    color: var(--am-muted-fg);
    line-height: 1.35;
}

/* ============ 13. Cartes catégories ============ */
.am-cats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 640px) { .am-cats { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-cats { grid-template-columns: repeat(4, 1fr); } }
.am-cat-card {
    display: block;
    border-radius: 24px;
    border: 1px solid rgba(220, 227, 229, .5);
    overflow: hidden;
    transition: box-shadow .4s, transform .4s;
    text-decoration: none;
}
.am-cat-card:hover {
    box-shadow: 0 25px 50px -20px rgba(70, 132, 145, .3);
    transform: translateY(-4px);
}
.am-cat-card--1 { background: linear-gradient(135deg, #eff6ff, #e0f2fe); }
.am-cat-card--2 { background: linear-gradient(135deg, #ecfeff, #ccfbf1); }
.am-cat-card--3 { background: linear-gradient(135deg, #f0fdfa, #cffafe); }
.am-cat-card--4 { background: linear-gradient(135deg, #f0f9ff, #ccfbf1); }
.am-cat-card figure {
    margin: 0;
    height: 190px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 32px 32px 8px;
}
.am-cat-card figure img {
    width: 144px; height: 144px;
    object-fit: contain;
    filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .15));
    transition: transform .4s;
}
.am-cat-card:hover figure img { transform: scale(1.08); }
.am-cat-card__body { padding: 16px 24px 24px; }
.am-cat-card__body h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 4px;
    color: var(--am-fg);
}
.am-cat-card__body p {
    font-family: var(--am-font-body);
    font-size: 14px;
    color: var(--am-muted-fg);
    margin: 0 0 16px;
}
.am-cat-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--am-primary);
    border: 1px solid rgba(70, 132, 145, .2);
    background: rgba(255, 255, 255, .6);
    padding: 7px 14px;
    border-radius: 999px;
    transition: background-color .2s, color .2s;
}
.am-cat-card:hover .am-cat-card__cta { background: var(--am-primary); color: #fff; }

/* ============ 14. Bannière D-Fuzz ============ */
.am-dfuzz {
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: var(--am-grad-banner);
}
.am-dfuzz::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: var(--am-gold-line);
    z-index: 2;
}
.am-dfuzz::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 1) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: .04;
    pointer-events: none;
}
.am-dfuzz__grid {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    position: relative;
    z-index: 1;
}
@media (min-width: 1024px) { .am-dfuzz__grid { grid-template-columns: 1fr 1fr; } }
.am-dfuzz__text { padding: 40px; }
@media (min-width: 768px) { .am-dfuzz__text { padding: 64px; } }
.am-dfuzz__tag {
    display: inline-block;
    background: rgba(193, 160, 103, .2);
    border: 1px solid rgba(193, 160, 103, .4);
    color: #fff;
    font-family: var(--am-font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 24px;
}
.am-dfuzz__text h2 {
    color: #fff !important;
    font-weight: 700;
    font-size: clamp(34px, 4.5vw, 48px);
    margin: 0 0 20px;
}
.am-dfuzz__text > p {
    font-family: var(--am-font-body);
    color: rgba(255, 255, 255, .7);
    font-size: 16px;
    line-height: 1.7;
    max-width: 28rem;
    margin: 0 0 32px;
}
.am-dfuzz__minis {
    padding: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
@media (min-width: 768px) { .am-dfuzz__minis { padding: 48px; } }
.am-dfuzz__mini {
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 16px;
    padding: 16px;
    text-align: center;
    transition: background-color .2s;
}
.am-dfuzz__mini:hover { background: rgba(255, 255, 255, .15); }
.am-dfuzz__mini img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    margin-bottom: 10px;
}
.am-dfuzz__mini p {
    font-family: var(--am-font-body);
    color: rgba(255, 255, 255, .8);
    font-size: 11px;
    font-weight: 500;
    margin: 0;
    line-height: 1.4;
}

/* Liste à puces check doré */
.am-checks { list-style: none; padding: 0; margin: 0 0 40px; }
.am-checks li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--am-font-body);
    font-size: 14px;
    margin-bottom: 12px;
    line-height: 1.5;
}
.am-checks li::before {
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--am-gold);
    flex-shrink: 0;
    margin-top: 1px;
}
.am-dfuzz .am-checks li { color: rgba(255, 255, 255, .85); }
.am-identity .am-checks li { color: var(--am-fg); }

/* ============ 15. Section best-sellers (titre + lien) ============ */
.am-split-head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 48px;
}
@media (min-width: 768px) {
    .am-split-head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.am-split-head .am-h2 { margin-bottom: 0; }
.am-split-head .am-side-note {
    font-family: var(--am-font-body);
    font-size: 14px;
    color: var(--am-muted-fg);
    max-width: 20rem;
}

/* ============ 16. Section identité ============ */
.am-identity__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 64px;
    align-items: center;
}
@media (min-width: 1024px) { .am-identity__grid { grid-template-columns: 1fr 1fr; gap: 80px; } }
.am-identity__media { position: relative; }
.am-identity__media > img {
    width: 100%;
    border-radius: 24px;
    box-shadow: 0 25px 60px -20px rgba(21, 34, 40, .35);
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.am-identity__stats {
    position: absolute;
    bottom: -24px;
    right: -8px;
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    box-shadow: 0 18px 40px -18px rgba(21, 34, 40, .3);
    padding: 16px 24px;
    display: flex;
    gap: 24px;
}
.am-identity__stats strong {
    display: block;
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 20px;
    color: var(--am-gold);
    line-height: 1;
}
.am-identity__stats span {
    font-family: var(--am-font-body);
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--am-muted-fg);
}

/* ============ 17. Cartes certifications / audiences / process ============ */
.am-grid-4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 640px) { .am-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-grid-4 { grid-template-columns: repeat(4, 1fr); } }
.am-grid-5 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 640px) { .am-grid-5 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-grid-5 { grid-template-columns: repeat(5, 1fr); } }
.am-grid-5 .am-card { padding: 22px; }
.am-grid-5 .am-card h3 { font-size: 15px; }
.am-grid-5 .am-card p { font-size: 12.5px; }
.am-grid-5 .am-tile { width: 44px; height: 44px; border-radius: 12px; font-size: 17px; }
.am-card {
    background: rgba(243, 246, 247, .45);
    border: 1px solid var(--am-border);
    border-radius: 16px;
    padding: 28px;
    transition: box-shadow .4s, border-color .3s;
}
.am-card:hover { box-shadow: 0 18px 36px -22px rgba(70, 132, 145, .35); }
.am-card--white { background: #fff; }
.am-card--center { text-align: center; }
.am-card--center .am-tile { margin: 0 auto 20px; }
.am-card h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    font-size: 17px;
    margin: 0 0 6px;
    color: var(--am-fg);
}
.am-card .am-card__sub {
    font-family: var(--am-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--am-primary);
    margin: 0 0 12px;
}
.am-card p {
    font-family: var(--am-font-body);
    font-size: 14px;
    line-height: 1.65;
    color: var(--am-muted-fg);
    margin: 0;
}

/* Étapes numérotées (traçabilité) */
.am-steps { position: relative; }
.am-step { text-align: center; position: relative; }
.am-step__icon {
    position: relative;
    width: 64px; height: 64px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--am-border);
    box-shadow: 0 2px 8px rgba(21, 34, 40, .05);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--am-primary);
    font-size: 22px;
}
.am-step__icon i { color: var(--am-primary); }
.am-step__num {
    position: absolute;
    top: -8px; right: -8px;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--am-gold);
    color: var(--am-fg);
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.am-step h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    font-size: 15.5px;
    margin: 0 0 8px;
}
.am-step p {
    font-family: var(--am-font-body);
    font-size: 13px;
    line-height: 1.6;
    color: var(--am-muted-fg);
    margin: 0;
}

/* Process : numéro filigrane */
.am-numcard { position: relative; background: #fff; }
.am-numcard .am-numcard__bignum {
    position: absolute;
    top: 12px; right: 20px;
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 52px;
    color: rgba(70, 132, 145, .06);
    line-height: 1;
    user-select: none;
}
.am-numcard .am-tile { margin-bottom: 20px; }

/* Encadré matériovigilance */
.am-notice {
    margin-top: 48px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border: 1px solid rgba(193, 160, 103, .25);
    border-radius: 16px;
    padding: 28px;
}
.am-notice h3 { font-family: var(--am-font-heading) !important; font-weight: 600; font-size: 16px; margin: 0 0 8px; }
.am-notice p { font-family: var(--am-font-body); font-size: 14px; line-height: 1.65; color: var(--am-muted-fg); margin: 0; }

/* ============ 18. Bandeau chiffres clés ============ */
.am-kpis {
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: var(--am-grad-banner-2);
    margin-top: 56px;
}
.am-kpis__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    padding: 44px;
}
@media (min-width: 768px) { .am-kpis__grid { grid-template-columns: repeat(4, 1fr); } }
.am-kpis strong {
    display: block;
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: clamp(22px, 3vw, 30px);
    color: #fff;
    text-align: center;
    margin-bottom: 4px;
}
.am-kpis span {
    display: block;
    font-family: var(--am-font-body);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
    text-align: center;
}

/* ============ 19. SAV + carte contact ============ */
.am-sav__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}
@media (min-width: 1024px) { .am-sav__grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.am-sav__items { display: flex; flex-direction: column; gap: 20px; }
.am-sav__item { display: flex; align-items: flex-start; gap: 16px; }
.am-sav__item h3 { font-family: var(--am-font-heading) !important; font-weight: 600; font-size: 15px; margin: 0 0 2px; }
.am-sav__item p { font-family: var(--am-font-body); font-size: 14px; line-height: 1.6; color: var(--am-muted-fg); margin: 0; }
.am-contact-card {
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: var(--am-grad-hero);
    padding: 44px;
}
.am-contact-card h3 {
    color: #fff !important;
    font-weight: 600;
    font-size: 20px;
    margin: 0 0 6px;
}
.am-contact-card > p {
    font-family: var(--am-font-body);
    color: rgba(255, 255, 255, .5);
    font-size: 14px;
    margin: 0 0 28px;
}
.am-contact-card__links { display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; }
.am-contact-card__links a {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    padding: 15px 20px;
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 500;
    color: #fff !important;
    text-decoration: none;
    transition: background-color .3s, border-color .3s;
}
.am-contact-card__links a:hover {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(193, 160, 103, .3);
}
.am-contact-card__links a i { color: var(--am-gold); width: 18px; text-align: center; }
.am-contact-card .am-btn { margin-top: 28px; width: 100%; justify-content: center; }

/* ============ 20. FAQ ============ */
.am-faq { display: flex; flex-direction: column; gap: 12px; }
.am-faq details {
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color .3s, box-shadow .3s;
}
.am-faq details[open] {
    border-color: rgba(193, 160, 103, .35);
    box-shadow: 0 8px 24px -12px rgba(21, 34, 40, .15);
}
.am-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    cursor: pointer;
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: 15px;
    color: var(--am-fg);
    list-style: none;
}
.am-faq summary::-webkit-details-marker { display: none; }
.am-faq summary::after {
    content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--am-gold);
    font-size: 14px;
    transition: transform .3s;
    flex-shrink: 0;
}
.am-faq details[open] summary::after { transform: rotate(180deg); }
.am-faq details p {
    font-family: var(--am-font-body);
    font-size: 14px;
    line-height: 1.7;
    color: var(--am-muted-fg);
    margin: 0;
    padding: 0 24px 20px;
}

/* ============ 21. Bandeau réassurance ============ */
.am-reassure {
    background: #fff;
    border-top: 1px solid var(--am-border);
    border-bottom: 1px solid var(--am-border);
    padding: 40px 24px;
}
.am-reassure__grid {
    max-width: 80rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
@media (min-width: 768px) { .am-reassure__grid { grid-template-columns: repeat(3, 1fr); } }
.am-reassure__item { display: flex; align-items: center; gap: 16px; }
.am-reassure__item strong {
    display: block;
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: 14px;
    color: var(--am-fg);
}
.am-reassure__item span {
    font-family: var(--am-font-body);
    font-size: 12px;
    color: var(--am-muted-fg);
    line-height: 1.45;
}

/* ============ 21bis-00. Outils infirmiers ============ */
.am-oi-hero {
    background: rgba(243, 246, 247, .5);
    border-bottom: 1px solid rgba(220, 227, 229, .6);
    padding: 48px 24px 56px;
}
@media (min-width: 768px) { .am-oi-hero { padding: 56px 40px; } }
.am-oi-hero .am-container { max-width: 64rem; }
.am-oi-hero__eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.am-oi-hero__eyebrow i { color: var(--am-gold); font-size: 17px; }
.am-oi-hero__eyebrow span { font-family: var(--am-font-body); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--am-primary); }
.am-oi-hero h1 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: clamp(28px, 3.6vw, 38px); margin: 0; }
.am-oi-hero p { font-family: var(--am-font-body); font-size: 14px; color: var(--am-muted-fg); margin: 8px 0 0; max-width: 42rem; }
.am-oi-wrap { background: #fff; padding: 40px 24px 80px; }
@media (min-width: 768px) { .am-oi-wrap { padding: 48px 40px 96px; } }
.am-oi-wrap > .am-container { max-width: 80rem; }
.am-oi__layout { display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 1024px) { .am-oi__layout { flex-direction: row; gap: 32px; align-items: flex-start; } }
.am-oi__sidebar { flex-shrink: 0; }
@media (min-width: 1024px) { .am-oi__sidebar { width: 290px; position: sticky; top: 104px; } }
.am-oi__main { flex: 1; min-width: 0; }
.am-oi-group__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: none;
    background: transparent;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color .2s;
}
.am-oi-group__toggle:hover { background: rgba(243, 246, 247, .7); }
.am-oi-group__icon {
    width: 28px; height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}
.am-oi-group__icon--blue { background: #dbeafe; color: #2563eb; }
.am-oi-group__icon--green { background: #dcfce7; color: #16a34a; }
.am-oi-group__icon--purple { background: #f3e8ff; color: #9333ea; }
.am-oi-group__icon--amber { background: #fef3c7; color: #d97706; }
.am-oi-group__label { font-family: var(--am-font-heading); font-weight: 700; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--am-fg); flex: 1; text-align: left; }
.am-oi-group__chev { font-size: 11px; color: var(--am-muted-fg); transition: transform .25s; }
.am-oi-group.is-open .am-oi-group__chev { transform: rotate(180deg); }
.am-oi-group__items { display: none; margin: 2px 0 6px 14px; padding-left: 14px; border-left: 1px solid var(--am-border); }
.am-oi-group.is-open .am-oi-group__items { display: block; }
.am-oi-tab {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-family: var(--am-font-body);
    font-size: 13.5px;
    color: var(--am-muted-fg);
    text-align: left;
    cursor: pointer;
    transition: color .15s, background-color .15s;
}
.am-oi-tab i { font-size: 12px; width: 15px; text-align: center; }
.am-oi-tab:hover { color: var(--am-fg); background: rgba(243, 246, 247, .6); }
.am-oi-tab.is-active { background: rgba(70, 132, 145, .1); color: var(--am-primary); font-weight: 600; }
.am-oi-disclaimer {
    padding: 14px 18px;
    border-radius: 12px;
    background: rgba(193, 160, 103, .05);
    border: 1px solid rgba(193, 160, 103, .2);
    font-family: var(--am-font-body);
    font-size: 12px;
    line-height: 1.6;
    color: var(--am-muted-fg);
    margin-bottom: 24px;
}
.am-oi-panel { display: none; }
.am-oi-panel.is-active { display: block; }
.am-oi-toolhead { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.am-oi-toolhead__icon {
    width: 40px; height: 40px;
    border-radius: 12px;
    background: rgba(70, 132, 145, .1);
    color: var(--am-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.am-oi-toolhead h2 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 18px; margin: 0; }
.am-oi-toolhead p { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); margin: 2px 0 0; }
.am-oi-grid2 { display: grid; grid-template-columns: 1fr; gap: 18px; }
.am-oi-grid3 { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 768px) { .am-oi-grid2 { grid-template-columns: repeat(2, 1fr); } .am-oi-grid3 { grid-template-columns: repeat(3, 1fr); } }
.am-oi-field label { display: block; font-family: var(--am-font-body); font-size: 13.5px; font-weight: 600; color: var(--am-fg); margin-bottom: 6px; }
.am-oi-field input, .am-oi-field select {
    width: 100%;
    padding: 12px 16px !important;
    border: 1px solid var(--am-border) !important;
    border-radius: 12px !important;
    background: #fff;
    font-family: var(--am-font-body);
    font-size: 14px;
}
.am-oi-inline { display: flex; gap: 8px; }
.am-oi-inline input { flex: 1; min-width: 0; }
.am-oi-inline select { width: auto; }
.am-oi-seg { display: flex; gap: 8px; }
.am-oi-seg button {
    flex: 1;
    padding: 12px;
    border: none;
    border-radius: 12px;
    background: var(--am-secondary);
    color: var(--am-muted-fg);
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
}
.am-oi-seg button.is-active { background: var(--am-primary); color: #fff; }
.am-oi-tabs { display: inline-flex; gap: 4px; background: rgba(243, 246, 247, .8); border-radius: 10px; padding: 4px; margin-bottom: 20px; flex-wrap: wrap; }
.am-oi-tabs button {
    padding: 8px 16px;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-family: var(--am-font-body);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--am-muted-fg);
    cursor: pointer;
}
.am-oi-tabs button.is-active { background: #fff; color: var(--am-primary); box-shadow: 0 1px 3px rgba(21, 34, 40, .08); border: 1px solid rgba(220, 227, 229, .5); }
.am-oi-swap { border: none; background: transparent; color: var(--am-primary); cursor: pointer; font-size: 12px; margin-left: 6px; }
.am-oi-result {
    margin-top: 24px;
    padding: 24px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(70, 132, 145, .05), rgba(193, 160, 103, .05));
    border: 1px solid var(--am-border);
}
.am-oi-result__hint { font-family: var(--am-font-body); font-size: 14px; color: var(--am-muted-fg); margin: 0; }
.am-oi-result__cols { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .am-oi-result__cols { grid-template-columns: repeat(2, 1fr); } }
.am-oi-result__label { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); margin: 0 0 4px; }
.am-oi-result__value { font-family: var(--am-font-heading); font-weight: 700; font-size: 30px; color: var(--am-primary); margin: 0; line-height: 1.1; }
.am-oi-result__value span { font-size: 16px; color: var(--am-muted-fg); font-weight: 600; }
.am-oi-result__block.gold .am-oi-result__value { color: var(--am-gold-dark); }
.am-oi-result__extra { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); margin: 6px 0 0; }
.am-oi-interp {
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
    margin: 12px 0 0;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid;
    line-height: 1.5;
}
.am-oi-result > .am-oi-interp:first-child { margin-top: 0; }
.am-oi-interp--green { background: #f0fdf4; color: #16a34a; border-color: #bbf7d0; }
.am-oi-interp--lime { background: #f7fee7; color: #65a30d; border-color: #d9f99d; }
.am-oi-interp--amber { background: #fffbeb; color: #d97706; border-color: #fde68a; }
.am-oi-interp--orange { background: #fff7ed; color: #ea580c; border-color: #fed7aa; }
.am-oi-interp--red { background: #fef2f2; color: #dc2626; border-color: #fecaca; }
.am-oi-reset {
    margin-top: 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: none;
    background: transparent;
    font-family: var(--am-font-body);
    font-size: 12px;
    color: var(--am-muted-fg);
    cursor: pointer;
    transition: color .15s;
}
.am-oi-reset:hover { color: var(--am-primary); }
/* Scores */
.am-score__group { margin-bottom: 20px; }
.am-score__group > p { font-family: var(--am-font-body); font-size: 14px; font-weight: 600; color: var(--am-fg); margin: 0 0 8px; }
.am-score__group button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 8px 8px 0;
    padding: 9px 16px;
    border: none;
    border-radius: 12px;
    background: var(--am-secondary);
    color: var(--am-muted-fg);
    font-family: var(--am-font-body);
    font-size: 13.5px;
    cursor: pointer;
    transition: all .15s;
}
.am-score__group button b { font-weight: 700; opacity: .6; }
.am-score__group button.is-active { background: var(--am-primary); color: #fff; }
.am-score__group button.is-active b { opacity: 1; }
/* Étapes / niveaux / guides */
.am-oi-step { border: 1px solid var(--am-border); border-radius: 16px; padding: 20px 24px; margin-bottom: 14px; background: #fff; }
.am-oi-step__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.am-oi-step__num {
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--am-gold);
    color: var(--am-fg);
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.am-oi-step__head i { color: var(--am-primary); }
.am-oi-step__head h3 { font-family: var(--am-font-heading) !important; font-weight: 600; font-size: 15.5px; margin: 0; }
.am-oi-step ul { margin: 0; padding-left: 20px; }
.am-oi-step li { font-family: var(--am-font-body); font-size: 13.5px; color: var(--am-muted-fg); line-height: 1.7; }
.am-oi-note {
    padding: 16px 20px;
    border-radius: 12px;
    background: rgba(193, 160, 103, .06);
    border: 1px solid rgba(193, 160, 103, .25);
    font-family: var(--am-font-body);
    font-size: 13px;
    line-height: 1.65;
    color: var(--am-fg);
}
.am-oi-note a { color: var(--am-primary); font-weight: 600; }
.am-oi-level { border: 1px solid; border-radius: 16px; padding: 20px 24px; margin-bottom: 14px; }
.am-oi-level--gold { background: rgba(193, 160, 103, .05); border-color: rgba(193, 160, 103, .3); }
.am-oi-level--primary { background: rgba(70, 132, 145, .05); border-color: rgba(70, 132, 145, .3); }
.am-oi-level--red { background: #fef2f2; border-color: #fecaca; }
.am-oi-level__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.am-oi-level__head h3 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 16px; margin: 0; }
.am-oi-level__head span { font-family: var(--am-font-body); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 4px 12px; border-radius: 999px; background: rgba(21, 34, 40, .07); }
.am-oi-level--red .am-oi-level__head span { background: #dc2626; color: #fff; }
.am-oi-level ul { margin: 0 0 12px; padding-left: 20px; }
.am-oi-level li { font-family: var(--am-font-body); font-size: 13.5px; color: var(--am-muted-fg); line-height: 1.7; }
.am-oi-level__cat { font-family: var(--am-font-body); font-size: 13px; margin: 0; line-height: 1.6; }
.am-oi-wound { border: 1px solid var(--am-border); border-left: 4px solid; border-radius: 12px; padding: 18px 22px; margin-bottom: 12px; background: #fff; }
.am-oi-wound h3 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 15px; margin: 0 0 4px; }
.am-oi-wound p { font-family: var(--am-font-body); font-size: 13px; color: var(--am-muted-fg); margin: 4px 0 0; line-height: 1.6; }
.am-oi-wound__desc { font-style: italic; }
.am-oi-wound--blue { border-left-color: #3b82f6; }
.am-oi-wound--gold { border-left-color: var(--am-gold); }
.am-oi-wound--green { border-left-color: #22c55e; }
.am-oi-wound--orange { border-left-color: #f97316; }
.am-oi-wound--red { border-left-color: #ef4444; }
.am-oi-wound--gray { border-left-color: #6b7280; }
.am-oi-wound--purple { border-left-color: #a855f7; }
.am-oi-checkcat { margin-bottom: 24px; }
.am-oi-checkcat h3 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 14.5px; margin: 0 0 12px; }
.am-oi-checkgrid { display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 640px) { .am-oi-checkgrid { grid-template-columns: repeat(2, 1fr); } }
.am-oi-check {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid var(--am-border);
    border-radius: 10px;
    background: #fff;
    font-family: var(--am-font-body);
    font-size: 13.5px;
    color: var(--am-fg);
    cursor: pointer;
}
.am-oi-check input { width: 16px; height: 16px; accent-color: var(--am-primary); }
.am-oi-check:has(input:checked) { background: rgba(70, 132, 145, .05); border-color: rgba(70, 132, 145, .3); }
.am-oi-check:has(input:checked) span { text-decoration: line-through; opacity: .6; }
.am-oi-site { border: 1px solid var(--am-border); border-radius: 12px; padding: 18px 22px; margin-bottom: 12px; background: #fff; }
.am-oi-site__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.am-oi-site__head h3 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 15px; margin: 0; }
.am-oi-site__tag { font-family: var(--am-font-body); font-size: 11px; font-weight: 700; padding: 3px 12px; border-radius: 999px; }
.am-oi-site__tag--sc { background: rgba(70, 132, 145, .1); color: var(--am-primary); }
.am-oi-site__tag--im { background: rgba(193, 160, 103, .15); color: var(--am-gold-dark); }
.am-oi-site p { font-family: var(--am-font-body); font-size: 13px; color: var(--am-muted-fg); margin: 3px 0 0; line-height: 1.6; }
.am-oi-table { border: 1px solid var(--am-border); border-radius: 12px; overflow: hidden; background: #fff; }
.am-oi-table__row { display: grid; grid-template-columns: 70px 90px 110px 1fr; gap: 12px; align-items: center; padding: 11px 18px; border-bottom: 1px solid rgba(220, 227, 229, .5); font-family: var(--am-font-body); font-size: 13px; color: var(--am-fg); }
.am-oi-table__row--3 { grid-template-columns: 1.4fr 1fr 1fr; }
.am-oi-table__row:last-child { border-bottom: none; }
.am-oi-table__row--head { background: rgba(243, 246, 247, .7); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--am-muted-fg); }
.am-oi-dot { display: inline-block; width: 14px; height: 14px; border-radius: 50%; vertical-align: -2px; border: 1px solid rgba(0, 0, 0, .1); }
.am-oi-classnote { font-family: var(--am-font-body); font-size: 12.5px; color: var(--am-muted-fg); margin: 10px 0 0; line-height: 1.6; }
.am-oi-med { border: 1px solid var(--am-border); border-radius: 12px; padding: 14px 18px; margin-bottom: 10px; background: #fff; }
.am-oi-med__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.am-oi-med__head strong { font-family: var(--am-font-heading); font-size: 14px; }
.am-oi-med__head span { font-family: var(--am-font-body); font-size: 11px; color: var(--am-gold-dark); font-weight: 600; }
.am-oi-med__dose { font-family: var(--am-font-body); font-size: 14px; font-weight: 600; color: var(--am-primary); margin: 4px 0 2px; }
.am-oi-med__note { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); margin: 0; }
.am-oi-fiche { border: 1px solid var(--am-border); border-radius: 12px; padding: 18px 22px; margin-bottom: 12px; background: rgba(243, 246, 247, .35); }
.am-oi-fiche h3 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 14.5px; margin: 0 0 6px; }
.am-oi-fiche p { font-family: var(--am-font-body); font-size: 13.5px; color: var(--am-muted-fg); margin: 0; line-height: 1.65; }
.am-oi-sub { font-family: var(--am-font-body); font-size: 13px; font-weight: 600; margin: 0 0 10px; }
.am-oi-dilrow { display: grid; gap: 8px; margin-top: 12px; font-family: var(--am-font-body); font-size: 13px; color: var(--am-muted-fg); }

/* ============ 21bis-0. Études de stabilité ============ */
.am-etudes-hero {
    background: linear-gradient(135deg, #1a2e35 0%, #2e7d8c 100%);
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--am-border);
    padding: 64px 24px 72px;
}
@media (min-width: 768px) { .am-etudes-hero { padding: 80px 40px; } }
.am-etudes-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, .08) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: .3;
    pointer-events: none;
}
.am-etudes-hero .am-container { position: relative; z-index: 1; max-width: 64rem; }
.am-etudes-hero__badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--am-gold);
    text-transform: uppercase;
    letter-spacing: .18em;
    margin-bottom: 16px;
}
.am-etudes-hero h1 {
    font-family: var(--am-font-heading) !important;
    font-weight: 800;
    color: #fff !important;
    font-size: clamp(28px, 4vw, 40px);
    margin: 0 0 12px;
}
.am-etudes-hero p {
    font-family: var(--am-font-body);
    color: rgba(255, 255, 255, .7);
    font-size: 15px;
    line-height: 1.7;
    max-width: 42rem;
    margin: 0;
}
.am-etudes-wrap { background: var(--am-bg); padding: 48px 24px 80px; }
@media (min-width: 768px) { .am-etudes-wrap { padding: 56px 40px 96px; } }
.am-etudes-wrap > .am-container { max-width: 72rem; }
.am-etudes-gate {
    max-width: 34rem;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 24px;
    padding: 56px 40px;
}
.am-etudes-gate h2 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 24px; margin: 0 0 12px; }
.am-etudes-gate p { font-family: var(--am-font-body); font-size: 14px; line-height: 1.7; color: var(--am-muted-fg); margin: 0 0 28px; }
.am-etudes-gate__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.am-etudes__search {
    position: relative;
    max-width: 36rem;
    margin-bottom: 20px;
}
.am-etudes__search i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--am-muted-fg);
    font-size: 14px;
}
.am-etudes__search input {
    width: 100%;
    padding: 13px 16px 13px 44px !important;
    border: 1px solid var(--am-border) !important;
    border-radius: 12px !important;
    background: #fff;
    font-family: var(--am-font-body);
    font-size: 14px;
}
.am-etudes__count { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); margin: 0 0 20px; }
.am-etudes__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 640px) { .am-etudes__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-etudes__grid { grid-template-columns: repeat(3, 1fr); } }
.am-study-card {
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: border-color .2s, box-shadow .3s;
}
.am-study-card:hover { border-color: rgba(70, 132, 145, .3); box-shadow: 0 10px 24px -14px rgba(21, 34, 40, .2); }
.am-study-card__head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; flex: 1; }
.am-study-card__icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    background: rgba(70, 132, 145, .06);
    color: var(--am-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
}
.am-study-card__icon--gold { background: rgba(193, 160, 103, .1); color: var(--am-gold); }
.am-study-card__name { font-family: var(--am-font-heading); font-weight: 600; font-size: 13.5px; line-height: 1.35; color: var(--am-fg); margin: 0; }
.am-study-card__desc { font-family: var(--am-font-body); font-size: 11.5px; line-height: 1.5; color: var(--am-muted-fg); margin: 6px 0 0; }
.am-study-cat {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 9px;
    border-radius: 999px;
    border: 1px solid;
    font-family: var(--am-font-body);
    font-size: 10px;
    font-weight: 500;
}
.am-cat-anti { background: rgba(70, 132, 145, .1); color: var(--am-primary); border-color: rgba(70, 132, 145, .2); }
.am-cat-onco { background: #fef2f2; color: #dc2626; border-color: #fecaca; }
.am-cat-anesth { background: #faf5ff; color: #9333ea; border-color: #e9d5ff; }
.am-cat-autre { background: rgba(193, 160, 103, .1); color: var(--am-gold-dark); border-color: rgba(193, 160, 103, .25); }
.am-cat-rapport { background: var(--am-secondary); color: var(--am-fg); border-color: var(--am-border); }
.am-study-card__actions { display: flex; gap: 8px; }
.am-study-card__view {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 12px;
    border-radius: 10px;
    background: var(--am-primary);
    color: #fff !important;
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 600;
    transition: background-color .2s;
}
.am-study-card__view:hover { background: var(--am-primary-dark); }
.am-study-card__dl {
    width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--am-border);
    border-radius: 10px;
    color: var(--am-fg) !important;
    transition: border-color .2s, background-color .2s;
}
.am-study-card__dl:hover { background: var(--am-secondary); border-color: rgba(70, 132, 145, .3); }
.am-etudes__empty { font-family: var(--am-font-body); font-size: 14px; color: var(--am-muted-fg); text-align: center; padding: 48px 0; }
.am-etudes__docs-head { display: flex; align-items: center; gap: 14px; margin: 48px 0 20px; }
.am-etudes__docs-head h2 { font-family: var(--am-font-heading) !important; font-weight: 700; font-size: 19px; margin: 0; }
.am-etudes__docs-head p { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); margin: 2px 0 0; }

/* ============ 21bis. Page Contact ============ */
.am-contact-hero {
    background: linear-gradient(135deg, #3a7d87 0%, #4a9aaa 60%, #5fb0be 100%);
    padding: 72px 24px 80px;
}
@media (min-width: 768px) { .am-contact-hero { padding: 88px 40px; } }
.am-contact-hero h1 {
    font-family: var(--am-font-heading) !important;
    font-weight: 700;
    color: #fff !important;
    font-size: clamp(34px, 4.5vw, 48px);
    margin: 0 0 10px;
}
.am-contact-hero p {
    font-family: var(--am-font-body);
    color: rgba(255, 255, 255, .8);
    font-size: 16px;
    margin: 0;
}
.am-contact-grid-wrap { background: var(--am-bg); padding: 64px 24px 80px; }
@media (min-width: 768px) { .am-contact-grid-wrap { padding: 80px 40px 96px; } }
.am-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}
@media (min-width: 1024px) { .am-contact-grid { grid-template-columns: 1fr 2fr; gap: 64px; } }
.am-contact-side h2, .am-contact-form-card h2 {
    font-family: var(--am-font-heading) !important;
    font-weight: 700;
    font-size: 20px;
    margin: 0 0 20px;
}
.am-coord-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 14px;
    transition: border-color .2s, box-shadow .2s;
    text-decoration: none;
}
.am-coord-card:hover { border-color: rgba(70, 132, 145, .3); box-shadow: 0 6px 16px -8px rgba(21, 34, 40, .12); }
.am-coord-card small {
    display: block;
    font-family: var(--am-font-body);
    font-size: 10.5px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--am-muted-fg);
    margin-bottom: 2px;
}
.am-coord-card strong {
    font-family: var(--am-font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--am-fg);
}
.am-hours-box {
    background: rgba(70, 132, 145, .05);
    border: 1px solid rgba(70, 132, 145, .15);
    border-radius: 16px;
    padding: 18px;
}
.am-hours-box__label {
    font-family: var(--am-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--am-primary);
    margin: 0 0 4px;
}
.am-hours-box__value { font-family: var(--am-font-body); font-size: 14px; color: var(--am-fg); margin: 0; }
.am-hours-box__note { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); margin: 4px 0 0; }
.am-contact-form-card {
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 16px;
    padding: 28px;
}
@media (min-width: 768px) { .am-contact-form-card { padding: 36px; } }
/* Habillage WPForms façon maquette */
.am-contact-form-card .wpforms-field-label {
    font-family: var(--am-font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--am-muted-fg) !important;
    margin-bottom: 6px !important;
}
.am-contact-form-card .wpforms-field input[type="text"],
.am-contact-form-card .wpforms-field input[type="email"],
.am-contact-form-card .wpforms-field select,
.am-contact-form-card .wpforms-field textarea {
    border: 1px solid var(--am-border) !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    font-family: var(--am-font-body) !important;
    font-size: 14px !important;
    background: #fff;
    max-width: 100%;
    width: 100%;
}
.am-contact-form-card .wpforms-field textarea { min-height: 140px; }
.am-contact-form-card .wpforms-submit,
.am-contact-form-card button[type="submit"] {
    background: var(--am-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px 28px !important;
    font-family: var(--am-font-body) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background-color .2s;
}
.am-contact-form-card .wpforms-submit:hover { background: var(--am-primary-dark) !important; }
.am-contact-form-card .wpforms-confirmation-container-full {
    background: rgba(70, 132, 145, .06);
    border: 1px solid rgba(70, 132, 145, .2);
    border-radius: 12px;
    font-family: var(--am-font-body);
}

/* ============ 21ter-0. Qui sommes-nous : layouts exacts maquette ============ */
.am-grid-3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 640px) { .am-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-grid-3 { grid-template-columns: repeat(3, 1fr); } }
/* En-têtes de section alignés à gauche, largeur limitée (maquette about) */
.am-head-left { max-width: 42rem; margin-bottom: 48px; }
.am-head-left .am-h2 { font-weight: 600; }
/* Étapes qualité horizontales */
.am-qsteps { position: relative; }
.am-qsteps::before {
    content: "";
    position: absolute;
    top: 24px; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(193, 160, 103, .3) 10%, rgba(193, 160, 103, .3) 90%, transparent 100%);
    display: none;
}
@media (min-width: 1024px) { .am-qsteps::before { display: block; } }
.am-qsteps__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 640px) { .am-qsteps__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-qsteps__grid { grid-template-columns: repeat(5, 1fr); } }
.am-qstep { display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; }
.am-qstep__circle {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgba(193, 160, 103, .3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--am-gold);
    font-size: 17px;
    margin-bottom: 16px;
    position: relative;
    z-index: 1;
    box-shadow: 0 1px 3px rgba(21, 34, 40, .08);
}
.am-qstep__num {
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 12px;
    color: rgba(193, 160, 103, .4);
    margin-bottom: 4px;
}
.am-qstep h3 { font-family: var(--am-font-heading) !important; font-weight: 600; font-size: 14px; margin: 0 0 8px; }
.am-qstep p { font-family: var(--am-font-body); font-size: 12px; line-height: 1.6; color: var(--am-muted-fg); margin: 0; }
/* Carte sombre organisme notifié */
.am-nb-card {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    padding: 40px;
    background: linear-gradient(165deg, #154a55 0%, #1e6271 50%, #0f1e24 100%);
}
@media (min-width: 768px) { .am-nb-card { padding: 56px; } }
.am-nb-card > * { position: relative; z-index: 1; }
.am-nb-card__badges { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.am-nb-card__badges .am-ce-pill {
    background: var(--am-gold);
    color: var(--am-fg);
    padding: 4px 12px;
    border-radius: 999px;
    font-family: var(--am-font-body);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.am-nb-card__badges span:last-child {
    font-family: var(--am-font-body);
    font-size: 11px;
    color: rgba(255, 255, 255, .5);
    text-transform: uppercase;
    letter-spacing: .18em;
}
.am-nb-card h2 {
    color: #fff !important;
    font-weight: 600;
    font-size: clamp(28px, 3.6vw, 38px);
    letter-spacing: -0.01em;
    max-width: 32rem;
    margin: 0 0 16px;
}
.am-nb-card > p {
    font-family: var(--am-font-body);
    color: rgba(255, 255, 255, .55);
    font-size: 15px;
    line-height: 1.7;
    max-width: 36rem;
    margin: 0 0 40px;
}
.am-nb-card__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 640px) { .am-nb-card__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-nb-card__grid { grid-template-columns: repeat(4, 1fr); } }
.am-nb-tile {
    background: rgba(255, 255, 255, .05);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    padding: 20px;
}
.am-nb-tile i { color: var(--am-gold); font-size: 18px; margin-bottom: 12px; display: block; }
.am-nb-tile small {
    display: block;
    font-family: var(--am-font-body);
    font-size: 10px;
    color: rgba(255, 255, 255, .5);
    text-transform: uppercase;
    letter-spacing: .18em;
    margin-bottom: 4px;
}
.am-nb-tile strong {
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: 14px;
    color: #fff;
    line-height: 1.3;
}
/* Barre matériovigilance sombre */
.am-mv-bar {
    margin-top: 32px;
    background: var(--am-fg);
    color: #fff;
    border-radius: 16px;
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
@media (min-width: 640px) { .am-mv-bar { flex-direction: row; align-items: center; justify-content: space-between; } }
.am-mv-bar strong {
    display: block;
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: 14px;
    color: #fff;
}
.am-mv-bar span {
    font-family: var(--am-font-body);
    font-size: 12px;
    color: rgba(255, 255, 255, .6);
}
.am-mv-bar .am-btn { padding: 11px 20px; font-size: 14px; }
/* Cartes coordonnées */
.am-coords-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 640px) { .am-coords-grid { grid-template-columns: repeat(3, 1fr); } }

/* ============ 21ter. Page Qui sommes-nous ============ */
.am-about-hero {
    background: var(--am-grad-hero);
    position: relative;
    overflow: hidden;
    padding: 88px 24px;
}
@media (min-width: 768px) { .am-about-hero { padding: 112px 40px; } }
.am-about-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(ellipse at 75% 15%, rgba(255, 255, 255, .06) 0%, transparent 55%);
    pointer-events: none;
}
.am-about-hero .am-container { position: relative; z-index: 1; }
.am-about-hero h1 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    color: #fff !important;
    font-size: clamp(38px, 5vw, 60px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
}
.am-about-hero h1 .am-dim { font-weight: 300; color: rgba(255, 255, 255, .5); }
.am-about-hero__sub {
    font-family: var(--am-font-body);
    font-weight: 300;
    color: rgba(255, 255, 255, .55);
    font-size: 18px;
    line-height: 1.7;
    max-width: 42rem;
    margin: 0;
}
.am-about-stats {
    background: rgba(243, 246, 247, .5);
    border-top: 1px solid var(--am-border);
    border-bottom: 1px solid var(--am-border);
    padding: 44px 24px;
}
.am-about-stats__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    text-align: center;
}
@media (min-width: 768px) { .am-about-stats__grid { grid-template-columns: repeat(5, 1fr); } }
.am-about-stats strong {
    display: block;
    font-family: var(--am-font-heading);
    font-weight: 600;
    font-size: clamp(20px, 2.6vw, 28px);
    color: var(--am-primary);
    margin-bottom: 4px;
}
.am-about-stats strong.am-gold-text { color: var(--am-gold); }
.am-about-stats span { font-family: var(--am-font-body); font-size: 12px; color: var(--am-muted-fg); }
.am-logistics-card {
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 24px;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: center;
    overflow: hidden;
    position: relative;
}
@media (min-width: 768px) { .am-logistics-card { grid-template-columns: auto 1fr; padding: 56px; } }
/* Timeline alternée (maquette base44) : ligne centrale, année d'un côté, carte de l'autre */
.am-timeline2 { position: relative; }
.am-timeline2::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 16px;
    width: 1px;
    background: var(--am-border);
}
.am-timeline2__item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 0 0 40px 48px;
}
.am-timeline2__item:last-child { padding-bottom: 0; }
.am-timeline2__item::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 6px;
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--am-gold);
    box-shadow: 0 0 0 4px #fff;
    z-index: 1;
}
.am-timeline2__year {
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 20px;
    color: var(--am-gold);
    line-height: 1.2;
}
.am-timeline2__card {
    background: rgba(243, 246, 247, .45);
    border: 1px solid var(--am-border);
    border-radius: 16px;
    padding: 22px 24px;
}
.am-timeline2__card h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    font-size: 15px;
    margin: 0 0 4px;
}
.am-timeline2__card p {
    font-family: var(--am-font-body);
    font-size: 13px;
    line-height: 1.6;
    color: var(--am-muted-fg);
    margin: 0;
}
@media (min-width: 768px) {
    .am-timeline2::before { left: 50%; transform: translateX(-.5px); }
    .am-timeline2__item {
        grid-template-columns: 1fr 1fr;
        gap: 0 96px;
        padding-left: 0;
        align-items: start;
    }
    .am-timeline2__item::before { left: 50%; }
    .am-timeline2__item:nth-child(odd) .am-timeline2__year { grid-column: 1; text-align: right; font-size: 28px; }
    .am-timeline2__item:nth-child(odd) .am-timeline2__card { grid-column: 2; grid-row: 1; }
    .am-timeline2__item:nth-child(even) .am-timeline2__year { grid-column: 2; text-align: left; font-size: 28px; }
    .am-timeline2__item:nth-child(even) .am-timeline2__card { grid-column: 1; grid-row: 1; text-align: right; }
}

/* Ancienne timeline simple (conservée par compatibilité) */
.am-timeline { position: relative; padding-left: 24px; }
.am-timeline::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: linear-gradient(180deg, var(--am-gold), rgba(193, 160, 103, .15));
}
.am-timeline__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 36px;
}
.am-timeline__item:last-child { padding-bottom: 0; }
.am-timeline__item::before {
    content: "";
    position: absolute;
    left: -24px;
    top: 6px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--am-gold);
    box-shadow: 0 0 0 4px rgba(193, 160, 103, .18);
}
.am-timeline__year {
    font-family: var(--am-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--am-gold-dark);
}
.am-timeline__item h3 {
    font-family: var(--am-font-heading) !important;
    font-weight: 600;
    font-size: 18px;
    margin: 2px 0;
}
.am-timeline__item p {
    font-family: var(--am-font-body);
    font-size: 14px;
    color: var(--am-muted-fg);
    line-height: 1.6;
    margin: 0;
}
.am-quality-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 640px) { .am-quality-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .am-quality-grid { grid-template-columns: repeat(5, 1fr); } }
.am-quality-grid .am-tile { margin-bottom: 16px; }
.am-ce-card {
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: 24px;
    padding: 44px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: center;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) { .am-ce-card { grid-template-columns: auto 1fr; gap: 48px; } }
.am-ce-card__badge {
    font-family: var(--am-font-heading);
    font-weight: 700;
    font-size: 34px;
    color: var(--am-fg);
    border: 2px solid var(--am-gold);
    border-radius: 20px;
    padding: 28px 36px;
    text-align: center;
    background: rgba(193, 160, 103, .06);
    white-space: nowrap;
}
.am-ce-card__rows { display: flex; flex-direction: column; gap: 0; }
.am-ce-card__rows > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(220, 227, 229, .6);
}
.am-ce-card__rows > div:last-child { border-bottom: none; }
.am-ce-card__rows span { font-family: var(--am-font-body); font-size: 13.5px; color: var(--am-muted-fg); }
.am-ce-card__rows strong { font-family: var(--am-font-body); font-size: 14px; font-weight: 600; color: var(--am-fg); text-align: right; }
.am-values-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 768px) { .am-values-grid { grid-template-columns: repeat(2, 1fr); } }
.am-values-grid .am-sav__item { border-radius: 16px; padding: 24px; border: 1px solid var(--am-border); }

/* ============ 22. Page d'accueil : pleine largeur sans espacements ============ */
.home.page .ct-container-full[data-vertical-spacing] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.home.page .entry-content > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-width: none;
}
/* Neutralise la contrainte de largeur Gutenberg (.is-layout-constrained)
   qui laissait un espace blanc autour des sections pleine largeur */
body { overflow-x: clip; }
.is-layout-constrained > .am-fullbleed,
.entry-content > .am-fullbleed,
.am-fullbleed {
    width: 100vw !important;
    max-width: 100vw !important;
}
/* Toute page composée de sections am-fullbleed : pas de marges entre sections
   ni d'espacement vertical Blocksy autour */
.entry-content > .am-fullbleed {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.page-id-1727 .ct-container-full[data-vertical-spacing],
.page-id-725 .ct-container-full[data-vertical-spacing],
.page-id-2822 .ct-container-full[data-vertical-spacing] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.home.page .entry-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
/* Grille "Produits les plus vendus" embarquée dans l'accueil */
.am-woo-best {
    background: #fff;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 8px max(24px, calc(50vw - 40rem)) 104px;
}
.am-woo-best + section { border-top: none; }

/* ============ 23. Harmonisation des anciennes pages (couleurs codées en dur) ============ */
span[style*="#008b95"], span[style*="#00737c"], span[style*="#008B95"],
.stk-highlight[style*="#008b95"], .stk-highlight[style*="#00737c"] {
    color: var(--am-primary) !important;
}

/* ============ 24. Divers ============ */
/* La page d'accueil est en pleine largeur : neutralise le gap de contenu */
.page-id-2233 .entry-content > .am-fullbleed,
.am-fullbleed {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}
.am-mb-0 { margin-bottom: 0 !important; }
