/* Accueil, blocs du bas. Spec : docs/superpowers/specs/2026-09-18-accueil-blocs-bas-maquette.html */
.bam-hb{
  --hb-purple:#6b3d8f;--hb-purple-dark:#4a2a66;--hb-soft:#f3eef7;--hb-price:#a35f00;
  --hb-paper:#fffdfe;--hb-border:#e8e0ef;--hb-text:#1f2937;--hb-text-2:#4b5563;--hb-muted:#6b7280;
  --hb-r-md:12px;--hb-r-lg:16px;--hb-shadow:0 8px 24px rgb(75 42 102 / .08);
  --hb-ease:cubic-bezier(.16,1,.3,1);
  font-family:Nunito,system-ui,sans-serif;color:var(--hb-text);padding-block:clamp(28px,4vw,44px)
}
@media (max-width:767px){
  .bam-hb{padding-inline:16px}
  #content .bam-slot-marques .bam-hb{padding-inline:27px}
}
.bam-hb h1,.bam-hb h2,.bam-hb h3{font-family:inherit;text-wrap:balance;letter-spacing:-.015em}
.bam-hb p{margin:0}
#content .bam-hb a{color:var(--hb-purple);text-underline-offset:.18em}
#content .bam-hb a:hover{color:var(--hb-purple-dark)}
.bam-hb :focus-visible{outline:2px solid var(--hb-purple);outline-offset:3px;border-radius:4px}
.bam-hb__head{display:flex;justify-content:space-between;align-items:end;gap:16px 24px;flex-wrap:wrap;margin-bottom:24px}
.bam-hb__title{margin:0}
.bam-hb__sub{color:var(--hb-text-2);margin-top:8px;max-width:60ch;text-wrap:pretty}
.bam-hb__more{font-weight:800;font-size:.9375rem;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.bam-hb__more svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .25s var(--hb-ease)}
.bam-hb__more:hover svg{transform:translateX(3px)}
.bam-hb__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:8px;font-weight:700;font-size:.9375rem;text-decoration:none;transition:background .2s,color .2s}
#content a.bam-hb__btn--solid{background:var(--hb-purple);color:#fff}
#content a.bam-hb__btn--solid:hover{background:var(--hb-purple-dark);color:#fff}
#content a.bam-hb__btn--ghost{border:1.5px solid var(--hb-purple);color:var(--hb-purple)}
#content a.bam-hb__btn--ghost:hover{background:var(--hb-purple);color:#fff}
#content a.bam-hb__btn--light{background:#fff;color:var(--hb-purple-dark)}
#content a.bam-hb__btn--light:hover{background:var(--hb-soft);color:var(--hb-purple-dark)}
.bam-hb__btns{display:flex;flex-wrap:wrap;gap:10px}
.bam-hb__tag{display:inline-flex;align-self:flex-start;justify-self:start;font-size:.75rem;font-weight:800;color:var(--hb-purple-dark);background:var(--hb-soft);padding:3px 9px;border-radius:999px}

/* Marques */
.bam-brands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 28px}
.bam-brands h3{margin:0 0 4px}
.bam-brands p{font-size:.8125rem;color:var(--hb-text-2);margin-bottom:12px;min-height:2.6em}
.bam-brands ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bam-brands ul a{display:block;aspect-ratio:2/1;border-radius:var(--hb-r-md);background:#fff;border:1px solid var(--hb-border);overflow:hidden;transition:border-color .2s,box-shadow .3s var(--hb-ease),transform .3s var(--hb-ease)}
.bam-brands img{width:100%;height:100%;object-fit:cover;transform:scale(var(--s,1))}
@media (hover:hover){.bam-brands ul a:hover{border-color:#d4c3e3;box-shadow:var(--hb-shadow);transform:translateY(-2px)}}
@media (max-width:1000px){.bam-brands{grid-template-columns:repeat(2,minmax(0,1fr))}.bam-brands p{min-height:0}}
@media (max-width:560px){
  .bam-brands{grid-template-columns:1fr;gap:20px}
  .bam-brands ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .bam-brands ul a{aspect-ratio:1.35;border-radius:8px}
  .bam-brands p{margin-bottom:8px}
}

/* Bloc H1 SEO / GEO */
.bam-seo{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
@media (min-width:901px){.bam-seo{grid-template-columns:1.5fr 1fr;gap:48px}}
.bam-seo h1{margin:0 0 18px;max-width:20ch}
.bam-seo__entity{font-size:1.125rem;line-height:1.65;max-width:64ch;text-wrap:pretty}
.bam-seo__h2{margin:30px 0 10px}
.bam-seo__p{color:var(--hb-text-2);max-width:66ch;line-height:1.75;text-wrap:pretty}
#content .bam-seo__p a{font-weight:600;color:var(--hb-purple-dark);text-decoration-color:#cdb9df;text-decoration-thickness:1.5px;text-underline-offset:.2em}
#content .bam-seo__p a:hover{color:var(--hb-purple);text-decoration-color:currentColor}
.bam-shop{padding:24px 24px 26px;border-radius:var(--hb-r-lg);background:var(--hb-soft);align-self:start;scroll-margin-top:100px}
.bam-shop .bam-seo__h2{margin-top:0}
.bam-hours{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;font-size:.875rem;margin:16px 0 20px}
.bam-hours dt{font-weight:700}
.bam-hours dd{margin:0;color:var(--hb-text-2)}
.bam-faq{margin-top:44px;padding-top:8px;border-top:1px solid var(--hb-border)}
.bam-faq__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.bam-faq__list{display:grid;grid-template-columns:1fr;gap:0 40px;align-items:start}
@media (min-width:901px){.bam-faq__list{grid-template-columns:1fr 1fr}}
.bam-faq details{border-bottom:1px solid var(--hb-border)}
.bam-faq summary{cursor:pointer;list-style:none;font-weight:800;padding:16px 32px 16px 0;position:relative;min-height:44px}
.bam-faq summary::-webkit-details-marker{display:none}
.bam-faq summary::after{content:"";position:absolute;right:6px;top:22px;width:9px;height:9px;border-right:2px solid var(--hb-purple);border-bottom:2px solid var(--hb-purple);transform:rotate(45deg);transition:transform .25s var(--hb-ease)}
.bam-faq details[open] summary::after{transform:rotate(-135deg);top:26px}
.bam-faq summary:hover{color:var(--hb-purple-dark)}
.bam-faq details p{padding:0 0 18px;color:var(--hb-text-2);max-width:62ch;animation:bamFaqIn .35s var(--hb-ease)}
@keyframes bamFaqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Guides */
.bam-guides{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
@media (min-width:901px){.bam-guides{grid-template-columns:1.1fr 1fr}}
.bam-feat{border-radius:var(--hb-r-lg);overflow:hidden;background:var(--hb-paper);border:1px solid var(--hb-border)}
.bam-feat img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}
.bam-feat__body{padding:22px 24px 24px;display:grid;gap:12px}
.bam-feat h3{margin:0}
#content .bam-feat h3 a{color:var(--hb-text);text-decoration:none}
.bam-feat__quick{padding:14px 16px;background:#faf7fc;border-radius:var(--hb-r-md);font-size:.9375rem;color:var(--hb-text-2)}
.bam-feat__quick b{color:var(--hb-text)}
.bam-feat__by{font-size:.8125rem;color:var(--hb-muted)}
.bam-glist{list-style:none;margin:0;padding:0;border-top:1px solid var(--hb-border)}
.bam-glist li{border-bottom:1px solid var(--hb-border)}
#content .bam-glist a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:18px 4px;text-decoration:none;color:var(--hb-text);align-items:center}
.bam-glist .bam-hb__tag{grid-column:1;margin-bottom:4px}
.bam-glist__t{grid-column:1;font-weight:800;line-height:1.35}
.bam-glist__d{grid-column:1;font-size:.875rem;color:var(--hb-text-2)}
.bam-glist svg{grid-column:2;grid-row:1 / span 3;width:20px;height:20px;stroke:var(--hb-purple);fill:none;stroke-width:2;transition:transform .25s var(--hb-ease)}
@media (hover:hover){.bam-glist a:hover .bam-glist__t{color:var(--hb-purple)}.bam-glist a:hover svg{transform:translateX(4px)}}

/* Réassurance */
.bam-reas{display:grid;grid-template-columns:1fr;gap:24px;align-items:stretch}
@media (min-width:901px){.bam-reas{grid-template-columns:1.9fr 1fr}}
.bam-reas__main{border-radius:var(--hb-r-lg);background:var(--hb-paper);border:1px solid var(--hb-border);overflow:hidden}
#content a.bam-reas__hero{display:flex;align-items:center;gap:28px;padding:26px 28px;text-decoration:none;color:var(--hb-text);border-bottom:1px solid var(--hb-border);transition:background .2s}
#content a.bam-reas__hero:hover{background:#fbf6ee;color:var(--hb-text)}
.bam-reas__big{font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;font-weight:800;color:var(--hb-price);letter-spacing:-.03em;white-space:nowrap}
.bam-reas__txt{color:var(--hb-text-2);max-width:40ch;text-wrap:pretty}
.bam-reas__txt b{display:block;color:var(--hb-text);font-size:1.0625rem;margin-bottom:2px}
.bam-reas__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.bam-reas__row li{padding:20px 24px;display:grid;gap:4px;align-content:start;font-size:.9rem;color:var(--hb-text-2)}
.bam-reas__row li:nth-child(even){border-left:1px solid var(--hb-border)}
.bam-reas__row li:nth-child(n+3){border-top:1px solid var(--hb-border)}
.bam-reas__row b{color:var(--hb-text);font-size:.9375rem}
.bam-reas__row a{font-weight:700;white-space:nowrap}
@media (max-width:700px){
  #content a.bam-reas__hero{flex-direction:column;align-items:flex-start;gap:10px;padding:22px 20px}
  .bam-reas__row{grid-template-columns:1fr}
  .bam-reas__row li{padding:16px 20px}
  .bam-reas__row li:nth-child(even){border-left:0}
  .bam-reas__row li+li{border-top:1px solid var(--hb-border)}
}
.bam-gift{background:var(--hb-purple);color:#f5eefa;border-radius:var(--hb-r-lg);padding:32px 30px;display:grid;gap:14px;align-content:center;position:relative;overflow:hidden}
.bam-gift::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:34px solid rgb(255 255 255 / .07)}
.bam-gift h3{margin:0;color:#fff;max-width:18ch}
.bam-gift p{max-width:44ch}
.bam-gift .bam-hb__btns{position:relative;z-index:1;margin-top:6px}

/* Miniatures produit, accueil seulement : marque au-dessus du nom, pas de rayon */
.page-home .product-miniature .product-description{display:flex;flex-direction:column}
.page-home .product-miniature .product-category-name{display:none}
/* Seule exception !important du fichier : contre la règle du Theme Editor
   (iqitthemeeditor custom_s_1.css) qui masque la marque sur toutes les grilles. */
.page-home .products-grid .product-miniature .product-brand{display:block !important;order:-1;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
#content.page-home .product-miniature .product-brand a{color:#6b3d8f}

/* Échelle des titres de l'accueil : un style par niveau, blocs Elementor et blocs bam confondus.
   Le préfixe #content.page-home passe devant les tailles posées par Elementor sur chaque widget. */
#content.page-home{
  --hb-t-h1:clamp(1.75rem,1.2rem + 2.2vw,2.5rem);
  --hb-t-h2:clamp(1.375rem,1.1rem + 1.1vw,1.75rem);
  --hb-t-h3:1.125rem;
  --hb-t-ink:#4a2a66
}
#content.page-home h1{font-size:var(--hb-t-h1);font-weight:800;line-height:1.12;letter-spacing:-.02em;color:var(--hb-t-ink)}
#content.page-home h2:not(.product-title),
#content.page-home .elementor-widget-heading .elementor-heading-title{font-family:Nunito,system-ui,sans-serif;font-size:var(--hb-t-h2);font-weight:800;line-height:1.2;letter-spacing:-.015em;color:var(--hb-t-ink);text-align:start}
#content.page-home h3:not(.product-title){font-size:var(--hb-t-h3);font-weight:800;line-height:1.3}

/* Onglets produits : alignés sur les titres, soulignement violet au lieu de l'orange Warehouse */
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .nav-tabs{justify-content:flex-start;gap:24px;border-bottom:1px solid #e8e0ef}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .nav-link{font-size:1rem;font-weight:800;color:#6b7280;border-bottom:3px solid transparent;padding:0 0 10px;margin:0 0 -1px}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .nav-link:hover{color:#4a2a66}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .nav-link.active{color:#4a2a66;border-bottom-color:#6b3d8f}

/* Bloc produits : cartes de la maquette validée (fond d'image teinté, texte à gauche,
   prix en encre, badge % couleur prix). Le bouton garde le violet plein des CTA shop
   (custom.css, PRODUCT.md). Limité aux onglets de l'accueil :
   les listes catégorie gardent la carte du thème. */
#content.page-home .bam-produits-sub p{margin:6px 0 0;color:#4b5563;max-width:60ch;text-wrap:pretty}
#content.page-home .elementor-widget.bam-produits-sub{margin-bottom:24px}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .products-grid{row-gap:28px}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-miniature{border:0;background:none;text-align:start}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .thumbnail-container{border-radius:12px;background:#f5f1f8;overflow:hidden;margin-bottom:10px}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-thumbnail img{mix-blend-mode:multiply;transition:transform .5s cubic-bezier(.16,1,.3,1)}
@media (hover:hover){#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-miniature:hover .product-thumbnail img{transform:scale(1.04)}}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-flag.new{display:none}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-flag.discount{background:#a35f00;color:#fff;font-size:.8125rem;font-weight:800;border-radius:6px;padding:3px 8px}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-description{padding:0;text-align:start;align-items:stretch}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-reference{display:none}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-title{font-size:.9375rem;font-weight:700;line-height:1.35;margin:2px 0 0;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-title a{color:#1f2937}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-title a:hover{color:#6b3d8f}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-price-and-shipping{text-align:start;margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-price{color:#1f2937;font-size:1.0625rem;font-weight:800}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs .product-add-cart{margin-top:10px}
/* Lien de pied de bloc au lieu du gros bouton centré */
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs + .elementor-widget-button{text-align:end}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs + .elementor-widget-button .elementor-button{background:none;border:0;padding:0;min-height:44px;display:inline-flex;align-items:center;gap:6px;color:#6b3d8f;font-weight:800;font-size:.9375rem;box-shadow:none}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs + .elementor-widget-button .elementor-button::after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .25s cubic-bezier(.16,1,.3,1)}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs + .elementor-widget-button .elementor-button:hover{color:#4a2a66}
#content.page-home .elementor-widget-prestashop-widget-ProductsListTabs + .elementor-widget-button .elementor-button:hover::after{transform:translateX(3px) rotate(45deg)}

/* Alignement : le bloc produits (section pleine largeur, sans gouttière) et le bloc marques
   s'alignent sur le repère des autres blocs (26 px desktop, 27 px mobile). */
#content.page-home .elementor-widget-wrap:has(> .elementor-widget-prestashop-widget-ProductsListTabs){padding-inline:26px}
@media (min-width:768px){#content .bam-slot-marques .bam-hb{padding-inline:11px}}
@media (max-width:767px){#content.page-home .elementor-widget-wrap:has(> .elementor-widget-prestashop-widget-ProductsListTabs){padding-inline:27px}}

@media (prefers-reduced-motion:reduce){
  .bam-hb *,.bam-hb *::before,.bam-hb *::after{transition:none;animation:none}
}
