/* ==========================================================================
   OREQUIP - Personnalisation thème Hummingbird  (v2)
   Cuisines professionnelles clé en main
   Palette : orange flamme #2E9E5B · charbon/inox #1B2129 · gris clair #F5F6F8
   Chargé auto par PrestaShop (priorité 1000, après theme.css)
   ========================================================================== */

:root {
  --orq-orange: #2E9E5B;
  --orq-orange-600: #26824B;
  --orq-orange-050: #e8f6ee;
  --orq-ink: #1b2129;
  --orq-steel: #2e3742;
  --orq-muted: #6b7580;
  --orq-surface: #f5f6f8;
  --orq-line: #e5e8ec;

  --bs-primary: var(--orq-orange);
  --bs-primary-rgb: 46, 158, 91;
  --bs-link-color: var(--orq-ink);
  --bs-link-color-rgb: 27, 33, 41;
  --bs-link-hover-color: var(--orq-orange);
  --bs-link-hover-color-rgb: 46, 158, 91;
  --bs-body-color: #29313b;
  --bs-body-bg: #ffffff;
  --bs-emphasis-color: var(--orq-ink);
  --bs-border-radius: .6rem;
  --bs-border-radius-lg: .9rem;
}

html, body { overflow-x: clip; }
body { color: var(--bs-body-color); -webkit-font-smoothing: antialiased; }
a { text-decoration: none; }
::selection { background: var(--orq-orange); color:#fff; }

h1,h2,h3,.h1,.h2,.h3 { color: var(--orq-ink); font-weight: 800; letter-spacing: -.015em; }

/* ---------------------------------------------------------------- Boutons */
.btn { border-radius: .55rem; padding-inline: 1.15rem; font-weight: 600; }
.btn-lg { padding: .8rem 1.7rem; font-size: 1.05rem; }
.btn { transition: transform .14s cubic-bezier(.2,.7,.3,1), box-shadow .14s ease, background-color .14s ease, color .14s ease, border-color .14s ease; }
/* Bouton principal moderne : aplat net, ombre discrète, interaction sobre */
.btn-primary {
  --bs-btn-color:#fff; --bs-btn-hover-color:#fff; --bs-btn-active-color:#fff; --bs-btn-disabled-color:#fff;
  --bs-btn-bg: var(--orq-orange); --bs-btn-border-color: var(--orq-orange);
  --bs-btn-hover-bg:#2a9153; --bs-btn-hover-border-color:#2a9153;
  --bs-btn-active-bg:#25834a; --bs-btn-active-border-color:#25834a;
  --bs-btn-disabled-bg: var(--orq-orange); --bs-btn-disabled-border-color: var(--orq-orange);
  border-width:1px; font-weight:600; letter-spacing:.005em;
  box-shadow: 0 1px 2px rgba(16,40,26,.08);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(46,158,91,.22); }
.btn-primary:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(16,40,26,.10); }
.btn-primary:focus-visible { outline:none; box-shadow: 0 0 0 3px rgba(46,158,91,.30); }
.btn-outline-primary {
  --bs-btn-color: var(--orq-ink); --bs-btn-border-color: var(--orq-line);
  --bs-btn-hover-bg: var(--orq-orange-050); --bs-btn-hover-color: var(--orq-orange); --bs-btn-hover-border-color: var(--orq-orange);
  --bs-btn-active-bg: var(--orq-orange-050); font-weight: 600;
}
.btn-outline-primary:hover { transform: translateY(-1px); }
.btn-outline-primary:focus-visible { outline:none; box-shadow: 0 0 0 3px rgba(46,158,91,.22); }
.btn-secondary {
  --bs-btn-bg: var(--orq-ink); --bs-btn-border-color: var(--orq-ink);
  --bs-btn-hover-bg: var(--orq-steel); --bs-btn-hover-border-color: var(--orq-steel);
}
.orq-btn-white {
  display:inline-block; background:#fff; color:var(--orq-ink); font-weight:800;
  border-radius:.55rem; padding:.85rem 1.9rem; transition:all .2s; white-space:nowrap;
}
.orq-btn-white:hover { background:var(--orq-ink); color:#fff; }

/* ---------------------------------------------------------------- En-tête */
#header { background:#fff; }
#header .header-nav, #header .header-top { position: relative; z-index: 2; }
#header.js-sticky-header { box-shadow: 0 6px 24px rgba(27,33,41,.08); }
/* bandeau annonce */
#header::before {
  content:"🔥  Fours rapides Cuisines pro clé en main · étude, agencement inox & installation snacking chaud · installation Cuisines pro clé en main · étude, agencement inox & installation SAV clé en main";
  display:block; background:var(--orq-ink); color:#f4f6f8; font-size:.8rem;
  font-weight:600; letter-spacing:.02em; text-align:center; padding:.5rem 1rem;
}
.header-top { padding-block:.65rem; border-bottom:1px solid var(--orq-line); }
.header-top a, .header-top .header-block__title, .header-top .material-icons { color: var(--orq-ink); }
.header-top a:hover { color: var(--orq-orange); }
.navbar-brand img, .navbar-brand svg { height: 48px; width:auto; }
.header-block__badge { background: var(--orq-orange) !important; color:#fff !important; }
/* recherche */
.search-widget form, .search-widget input[type="text"], #search_widget input {
  border-radius: 100px !important;
}
.search-widget input[type="text"], #search_widget input {
  background: var(--orq-surface); border:1px solid var(--orq-line);
}
/* menu principal : soulignement animé */
.ps-mainmenu .top-menu a, .ps-mainmenu a.dropdown-item { font-weight:600; color:var(--orq-ink); }
.ps-mainmenu .top-menu > li > a { position:relative; }
.ps-mainmenu .top-menu > li > a::after {
  content:""; position:absolute; left:.75rem; right:.75rem; bottom:.15rem; height:2px;
  background:var(--orq-orange); transform:scaleX(0); transform-origin:left; transition:transform .22s;
}
.ps-mainmenu .top-menu > li > a:hover::after { transform:scaleX(1); }
.ps-mainmenu .top-menu > li > a:hover { color:var(--orq-orange); }

/* ------------------------------------------------ Sections de marque (helpers) */
.orq-section {
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  padding-block: clamp(2.2rem, 3.6vw, 3.6rem);
}
.orq-section--alt { background: var(--orq-surface); }
.orq-section--ink { background: var(--orq-ink); color:#fff; }
.orq-wrap { max-width: 1200px; margin-inline:auto; padding-inline:1.25rem; }
.orq-head { text-align:center; max-width: 760px; margin:0 auto clamp(1.2rem,2.4vw,1.9rem); }
.orq-eyebrow {
  display:inline-block; text-transform:uppercase; letter-spacing:.18em; font-size:.76rem;
  font-weight:800; color:var(--orq-orange); margin-bottom:.7rem;
}
.orq-head h2 { font-size: clamp(1.7rem, 3.2vw, 2.6rem); margin:0 0 .6rem; }
.orq-head p { color:var(--orq-muted); font-size:1.06rem; margin:0; }

/* ------------------------------------------------------------------ HERO */
.orq-hero {
  position:relative; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  margin-top:0; margin-bottom:0; padding: clamp(3.5rem,7vw,6.5rem) 1rem clamp(4.5rem,8vw,7rem);
  background:
    radial-gradient(1100px 420px at 82% -8%, rgba(46,158,91,.30), transparent 60%),
    linear-gradient(135deg,#161b22 0%, #232c37 55%, #2e3742 100%);
  color:#fff; overflow:hidden;
}
.orq-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 68px);
}
.orq-hero__inner { max-width:1200px; margin:0 auto; padding-inline:1.25rem; position:relative; z-index:1; }
.orq-hero__eyebrow {
  display:inline-block; text-transform:uppercase; letter-spacing:.18em; font-size:.78rem; font-weight:700;
  color:var(--orq-orange); background:rgba(46,158,91,.12); border:1px solid rgba(46,158,91,.35);
  padding:.4rem .85rem; border-radius:100px; margin-bottom:1.3rem;
}
.orq-hero__title { color:#fff; font-size:clamp(2.1rem,5vw,3.8rem); font-weight:800; line-height:1.04; letter-spacing:-.025em; margin:0 0 1.1rem; max-width:20ch; }
.orq-hero__title span { color:var(--orq-orange); }
.orq-hero__lead { font-size:clamp(1.03rem,1.6vw,1.25rem); color:#c7ced6; max-width:62ch; margin-bottom:2rem; }
.orq-hero__cta { display:flex; flex-wrap:wrap; gap:.9rem; }
.orq-hero__ghost { color:#fff; border:1.5px solid rgba(255,255,255,.5); background:transparent; border-radius:.55rem; padding:.8rem 1.7rem; font-weight:700; transition:all .2s; }
.orq-hero__ghost:hover { background:#fff; color:var(--orq-ink); border-color:#fff; }

/* --------------------------------------------------- Bandeau services (USP) */
.orq-usps {
  max-width:1200px; margin:-2.8rem auto 0; padding:0 1.25rem;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; position:relative; z-index:3;
}
.orq-usp { background:#fff; border:1px solid var(--orq-line); border-radius:.9rem; padding:1.15rem; display:flex; gap:.85rem; align-items:flex-start; box-shadow:0 12px 34px rgba(27,33,41,.08); }
.orq-usp .material-icons { color:var(--orq-orange); font-size:1.9rem; line-height:1; }
.orq-usp b { display:block; color:var(--orq-ink); font-size:.99rem; }
.orq-usp span { color:var(--orq-muted); font-size:.85rem; }

/* --------------------------------------------------------- Univers (tuiles) */
.orq-univers { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.orq-tile {
  position:relative; display:flex; flex-direction:column; justify-content:flex-end; gap:.15rem;
  min-height:180px; padding:1.6rem 1.4rem; border-radius:1rem; overflow:hidden;
  color:#fff; border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg,#283440 0%, #171d24 100%);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.orq-tile::before { content:""; position:absolute; inset:auto -30% -40% auto; width:220px; height:220px; background:radial-gradient(circle, rgba(46,158,91,.35), transparent 65%); }
.orq-tile .material-icons { position:absolute; top:1.1rem; right:1.1rem; font-size:2.7rem; color:var(--orq-orange); opacity:.95; }
.orq-tile b { font-size:1.18rem; position:relative; }
.orq-tile small { color:#aab2bc; position:relative; }
.orq-tile:hover { transform:translateY(-6px); box-shadow:0 20px 40px rgba(20,25,31,.35); border-color:rgba(46,158,91,.6); color:#fff; }

/* ------------------------------------------------------------- Méthode / étapes */
.orq-process { display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.orq-step { position:relative; }
.orq-step__num { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--orq-orange); color:#fff; font-weight:800; font-size:1.15rem; margin-bottom:1rem; box-shadow:0 8px 20px rgba(46,158,91,.3); }
.orq-step b { display:block; color:var(--orq-ink); font-size:1.12rem; margin-bottom:.35rem; }
.orq-step p { color:var(--orq-muted); font-size:.94rem; margin:0; }
@media (min-width:768px){
  .orq-step:not(:last-child)::after { content:""; position:absolute; top:24px; left:64px; right:-1.6rem; height:2px; background:linear-gradient(90deg,var(--orq-line),transparent); }
}

/* --------------------------------------------------------------- Chiffres clés */
.orq-stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; text-align:center; }
.orq-stats b { display:block; font-size:clamp(1.9rem,4.2vw,3rem); font-weight:800; color:var(--orq-orange); line-height:1; }
.orq-stats span { color:#aeb6c0; font-size:.95rem; display:block; margin-top:.4rem; }

/* --------------------------------------------------------------- Bande CTA */
.orq-cta {
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  background:linear-gradient(120deg,var(--orq-orange) 0%, #46c07d 100%); color:#fff;
  padding-block: clamp(2.5rem,5vw,3.8rem);
}
.orq-cta__inner { max-width:1200px; margin:0 auto; padding-inline:1.25rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.orq-cta h2 { color:#fff; margin:0 0 .3rem; font-size:clamp(1.5rem,2.8vw,2.1rem); }
.orq-cta p { color:rgba(255,255,255,.9); margin:0; font-size:1.05rem; }

/* ------------------------------------------------------ Titres de section (modules) */
.products-section-title, .featured-products .h2, .section-title, h2.h1.products-section-title {
  text-align:center; position:relative; margin:0 auto 1.8rem;
  font-size:clamp(1.5rem,2.8vw,2.1rem); letter-spacing:-.01em;
}
.products-section-title::after, .section-title::after {
  content:""; display:block; width:56px; height:4px; border-radius:4px; background:var(--orq-orange); margin:.75rem auto 0;
}

/* --------------------------------------------------------- Cartes produit */
.product-miniature .card, article.product-miniature, .js-product-miniature {
  border:1px solid var(--orq-line); border-radius:.85rem; overflow:hidden; background:#fff;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-miniature:hover .card, .product-miniature:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(27,33,41,.12); border-color:#d7dbe0; }
.product-miniature .thumbnail-container, .product-miniature .product-thumbnail { background:#fff; }
.product-miniature img { transition:transform .3s ease; }
.product-miniature:hover img { transform:scale(1.04); }
.product-title a { color:var(--orq-ink); font-weight:700; }
.product-title a:hover { color:var(--orq-orange); }
.product-price-and-shipping .price, .product-miniature .price { color:var(--orq-orange); font-weight:800; }
.regular-price { color:var(--orq-muted); }
.product-flag { background:var(--orq-ink); color:#fff; border-radius:100px; font-weight:700; letter-spacing:.02em; padding:.28rem .7rem; font-size:.72rem; }
.product-flag.discount, .product-flag.on-sale, .product-flag.sale { background:var(--orq-orange); }
.product-flag.new { background:var(--orq-steel); }

/* ---------------------------------------------------------- Réassurance */
.blockreassurance .block-reassurance-item .material-icons,
.blockreassurance i, .blockreassurance .material-icons { color:var(--orq-orange) !important; }
.blockreassurance svg path[fill]:not([fill="none"]) { fill:var(--orq-orange) !important; }

/* ---------------------------------------------------------------- Formulaires */
.form-control:focus, .form-select:focus, .search-widget input:focus {
  border-color:var(--orq-orange); box-shadow:0 0 0 .2rem rgba(46,158,91,.18);
}

/* ------------------------------------------------------------------- Footer */
.footer-container, #footer { background:var(--orq-ink); color:#c7ced6; }
#footer { padding-top:2.5rem; }
#footer .footer-block__title, #footer h3, #footer .h3 { color:#fff; font-weight:700; }
#footer a, #footer .footer-block__list a { color:#aeb6c0; }
#footer a:hover { color:var(--orq-orange); }
#footer hr, #footer .footer-block { border-color:rgba(255,255,255,.08); }
#footer .form-control { background:#2a323c; border-color:#3a434e; color:#fff; }
#footer .form-control::placeholder { color:#8b95a1; }
.ps-emailsubscription .btn, #footer .btn-primary { background:var(--orq-orange); border-color:var(--orq-orange); color:#fff; }
.footer__copyright, #footer .text-sm-center, #footer small { color:#8b95a1; }

/* --------------------------------------------------------------- Responsive */
@media (max-width:991px){
  .orq-usps, .orq-univers, .orq-process, .orq-stats__grid { grid-template-columns:repeat(2,1fr); }
  .orq-usps { margin-top:-1.5rem; }
  .orq-step:not(:last-child)::after { display:none; }
}
@media (max-width:575px){
  .orq-usps, .orq-univers, .orq-stats__grid { grid-template-columns:1fr; }
  .orq-cta__inner { flex-direction:column; text-align:center; }
}

.page-content--home { padding-top:0 !important; }
.card { border-radius:.85rem; }

/* =========================================================================
   PASSE 3 - finitions premium
   ========================================================================= */

/* --- Apparition au défilement --- */
.orq-reveal { opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); }
.orq-reveal.is-in { opacity:1; transform:none; }
.orq-reveal.d1 { transition-delay:.08s; } .orq-reveal.d2 { transition-delay:.16s; } .orq-reveal.d3 { transition-delay:.24s; }
@media (prefers-reduced-motion: reduce){ .orq-reveal { opacity:1 !important; transform:none !important; transition:none !important; } }

/* --- Header compact au scroll --- */
#header { transition: box-shadow .25s ease; }
#header.orq-shrink::before { display:none; }
#header.orq-shrink .header-top { padding-block:.3rem; }
#header.orq-shrink .navbar-brand img, #header.orq-shrink .navbar-brand svg { height:38px; }
#header.orq-shrink { box-shadow:0 8px 30px rgba(27,33,41,.14); }

/* --- HERO : 2 colonnes + visuel plan --- */
.orq-hero__inner { display:flex; align-items:center; gap:2.5rem; }
.orq-hero__text { flex:1 1 58%; min-width:0; }
.orq-hero__art { flex:0 0 38%; display:flex; justify-content:center; }
.orq-hero__art svg { width:100%; max-width:420px; height:auto; filter: drop-shadow(0 20px 40px rgba(0,0,0,.35)); }
@media (max-width: 991px){ .orq-hero__art { display:none; } .orq-hero__inner { display:block; } }

/* --- Témoignages --- */
.orq-quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.orq-quote { background:#fff; border:1px solid var(--orq-line); border-radius:1rem; padding:1.7rem 1.6rem; box-shadow:0 12px 30px rgba(27,33,41,.06); display:flex; flex-direction:column; }
.orq-quote__mark { color:var(--orq-orange); font-size:2.6rem; line-height:.6; font-weight:800; font-family:Georgia,serif; margin-bottom:.4rem; }
.orq-quote p { color:#3a434e; font-size:1.02rem; line-height:1.55; margin:0 0 1.2rem; }
.orq-quote__who { display:flex; align-items:center; gap:.8rem; margin-top:auto; }
.orq-quote__avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(140deg,var(--orq-orange),#5fce93); color:#fff; display:grid; place-items:center; font-weight:800; }
.orq-quote__who b { color:var(--orq-ink); display:block; font-size:.95rem; }
.orq-quote__who span { color:var(--orq-muted); font-size:.83rem; }
.orq-quote__stars { color:var(--orq-orange); letter-spacing:2px; margin-bottom:.8rem; font-size:.9rem; }
@media (max-width:991px){ .orq-quotes { grid-template-columns:1fr; } }

/* --- En-tête de page (catégorie / CMS) --- */
#js-product-list-header, .block-category, .page-header--category { }
h1.page-title-section, #main .page-header h1, .page-header h1.h1 {
  position:relative; padding-left:1rem; margin-block:1.2rem 1.4rem;
}
h1.page-title-section::before, #main .page-header h1::before {
  content:""; position:absolute; left:0; top:.15em; bottom:.15em; width:5px; border-radius:5px; background:var(--orq-orange);
}
.category__description.rich-text { color:var(--orq-muted); max-width:70ch; }

/* --- Page produit --- */
.product-cover img, .js-qv-product-cover { border-radius:1rem !important; box-shadow:0 16px 40px rgba(27,33,41,.10); }
.product__prices .current-price, .current-price span, .product-prices .current-price {
  color:var(--orq-orange) !important; font-weight:800;
}
.product__prices .current-price { font-size:2rem; }
.product__add-to-cart-button.btn-primary, .product-add-to-cart .btn-primary { padding:.85rem 1.8rem; font-size:1.05rem; border-radius:.6rem; }
.product-information, .product__quantity .btn { border-radius:.5rem; }
.product-flags .product-flag { box-shadow:0 6px 16px rgba(27,33,41,.18); }

/* --- Petits raffinements globaux --- */
.breadcrumb { font-size:.85rem; }
.breadcrumb a { color:var(--orq-muted); }
.breadcrumb a:hover { color:var(--orq-orange); }
.pagination .page-item.active .page-link, .page-link:hover { background:var(--orq-orange); border-color:var(--orq-orange); color:#fff; }
.page-link { color:var(--orq-ink); }

/* =========================================================================
   PASSE 4 - resserrage des espacements de la page d'accueil
   ========================================================================= */
/* sections produits (hooks Hummingbird) : moins d'air */
.page-content--home .featured-products,
.page-content--home .ps-featuredproducts,
.page-content--home .ps-newproducts,
.page-content--home .ps-bestsellers,
.page-content--home .products-section {
  padding-block: clamp(1.4rem, 3vw, 2.6rem) !important;
  margin-block: 0 !important;
}
/* le bloc catalogue colle un peu moins au bandeau du dessus */
#orq-catalogue + .orq-reveal { padding-top: .4rem; }
/* réduire le grand vide sous le hero avant le bandeau services */
.orq-hero { padding-bottom: clamp(3.4rem, 6vw, 5rem); }
.orq-usps { margin-bottom: clamp(1rem, 2.5vw, 2rem); }
/* masquer d'éventuels wrappers de modules vides résiduels */
.page-content--home .ps-banner:empty,
.page-content--home .ps-customtext:empty,
.page-content--home .ps-specials:empty,
.page-content--home section:empty,
.page-content--home .clearfix:empty { display:none !important; }
/* titres de section produits : marge basse resserrée */
.page-content--home .products-section-title { margin-bottom: 1.2rem; }

/* =========================================================================
   PASSE 5 - suppression des vides entre sections (cause: grille + gap)
   ========================================================================= */
/* La home est une grille avec gap:2.5rem -> c'est LUI qui crée les bandes vides */
.page-content--home { gap: 0 !important; }
/* Le thème ajoute .wrapper{padding-top:3rem} : on colle le hero au header sur la home */
#wrapper.wrapper:has(.page-content--home) { padding-top: 0 !important; padding-bottom: 0 !important; }
#main-content:has(.page-content--home) { margin-bottom: 0 !important; }

/* Newsletter : bande sombre cohérente (au lieu du gris clair bg-body-tertiary) */
.footer__before { background: #232c37; }
section.ps-emailsubscription.bg-body-tertiary,
.footer__before .ps-emailsubscription {
  background: #232c37 !important;
  padding-block: 2.2rem !important;
  color: #c7ced6;
}
.footer__before .ps-emailsubscription .h3,
.footer__before .ps-emailsubscription h3,
.footer__before .ps-emailsubscription label,
.footer__before .ps-emailsubscription p,
.footer__before .ps-emailsubscription .ps-emailsubscription__title { color: #fff !important; }
.footer__before .ps-emailsubscription .form-control { background:#2a323c; border-color:#3a434e; color:#fff; }
.footer__before .ps-emailsubscription .form-control::placeholder { color:#8b95a1; }
/* enchaînement fluide CTA -> newsletter -> colonnes footer */
.footer__main { background: var(--orq-ink) !important; }

/* =========================================================================
   PASSE 6 - footer d'un seul bloc sombre, aucun vide (sélecteurs par ID)
   ========================================================================= */
#footer { margin-top: 0 !important; padding-top: 0 !important; background: var(--orq-ink) !important; }
.footer__main { padding-top: clamp(1.6rem, 3vw, 2.4rem) !important; }
#footer .footer__before, .footer__before { background: var(--orq-ink) !important; padding: 0 !important; }
/* newsletter : fond sombre garanti via l'ID + texte clair */
#emailsubscription_anchor_displayFooterBefore,
section.ps-emailsubscription.bg-body-tertiary,
.footer__before .ps-emailsubscription {
  background: var(--orq-ink) !important;
  padding-block: 2.4rem !important;
  margin: 0 !important;
}
#emailsubscription_anchor_displayFooterBefore .h3,
#emailsubscription_anchor_displayFooterBefore h3,
#emailsubscription_anchor_displayFooterBefore label,
#emailsubscription_anchor_displayFooterBefore p,
#emailsubscription_anchor_displayFooterBefore span { color:#c7ced6 !important; }
#emailsubscription_anchor_displayFooterBefore .h3,
#emailsubscription_anchor_displayFooterBefore h3 { color:#fff !important; }
#emailsubscription_anchor_displayFooterBefore .form-control { background:#2a323c !important; border-color:#3a434e !important; color:#fff !important; }

/* zéro espace entre le contenu de la home et le footer */
main#wrapper:has(.page-content--home), #wrapper:has(.page-content--home) { padding-bottom:0 !important; margin-bottom:0 !important; }
.page-content--home { margin-bottom:0 !important; padding-bottom:0 !important; }

/* =========================================================================
   PASSE 7 - LE vide sous le CTA : .page:not(body){padding-bottom:2rem}
   (#center-column a la classe "page") -> neutralisé sur l'accueil
   ========================================================================= */
.page:has(.page-content--home) { padding-bottom: 0 !important; }
#center-column.page:has(.page-content--home) { padding-bottom: 0 !important; }

/* =========================================================================
   PASSE 8 - Newsletter : bloc centré, lisible et soigné
   ========================================================================= */
#emailsubscription_anchor_displayFooterBefore,
section.ps-emailsubscription#emailsubscription_anchor_displayFooterBefore.bg-body-tertiary {
  background: #1b2129 !important;
  background-color: #1b2129 !important;
  padding-block: clamp(2.5rem, 5vw, 3.5rem) !important;
  border-top: 1px solid rgba(255,255,255,.06);
}
/* empile et centre titre + formulaire */
#emailsubscription_anchor_displayFooterBefore .row {
  flex-direction: column; align-items: center; text-align: center; gap: 0;
}
#emailsubscription_anchor_displayFooterBefore .h3.col-lg-4,
#emailsubscription_anchor_displayFooterBefore .h3 {
  flex: none !important; width: auto !important; max-width: none !important;
  color: #fff !important; font-size: clamp(1.4rem, 2.4vw, 1.85rem) !important;
  font-weight: 800 !important; margin: 0 !important; line-height: 1.15;
}
/* sur-titre orange */
#emailsubscription_anchor_displayFooterBefore .h3::before {
  content: "NEWSLETTER"; display: block; color: var(--orq-orange);
  font-size: .72rem; letter-spacing: .2em; font-weight: 800; margin-bottom: .55rem;
}
/* sous-titre */
#emailsubscription_anchor_displayFooterBefore .h3::after {
  content: "Nouveautés, offres pro et conseils d'équipement. 1 e-mail par mois, sans spam.";
  display: block; margin: .55rem auto 0; max-width: 52ch;
  color: #aeb6c0; font-size: .96rem; font-weight: 400; line-height: 1.5;
}
/* formulaire centré */
#emailsubscription_anchor_displayFooterBefore form.col-lg-6,
#emailsubscription_anchor_displayFooterBefore form {
  flex: none !important; width: 100% !important; max-width: 580px !important;
  margin: 1.4rem auto 0 !important;
}
#emailsubscription_anchor_displayFooterBefore .d-flex { gap: .6rem !important; margin-bottom: .8rem !important; }
/* champ blanc lisible */
#emailsubscription_anchor_displayFooterBefore .form-control {
  background: #fff !important; color: #1b2129 !important; border: 2px solid transparent !important;
  border-radius: .6rem !important; height: 54px !important; padding: 0 1.1rem !important;
  font-size: 1rem !important; box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
#emailsubscription_anchor_displayFooterBefore .form-control::placeholder { color: #8b95a1 !important; }
#emailsubscription_anchor_displayFooterBefore .form-control:focus {
  border-color: var(--orq-orange) !important; box-shadow: 0 0 0 .22rem rgba(46,158,91,.30) !important;
}
/* bouton */
#emailsubscription_anchor_displayFooterBefore .btn-primary {
  height: 54px !important; border-radius: .6rem !important; padding-inline: 1.7rem !important;
  font-weight: 700 !important; white-space: nowrap !important;
}
/* mention légale : discrète mais lisible */
#emailsubscription_anchor_displayFooterBefore .text-body-secondary,
#emailsubscription_anchor_displayFooterBefore form > p {
  color: #7f8a97 !important; font-size: .82rem !important;
  max-width: 560px; margin: 0 auto !important; line-height: 1.45;
}
@media (max-width: 575px){
  #emailsubscription_anchor_displayFooterBefore .d-flex { flex-direction: column; }
  #emailsubscription_anchor_displayFooterBefore .btn-primary { width: 100%; }
}


/* =========================================================================
   PASSE 9 - Page CONTACT
   ========================================================================= */
#wrapper.wrapper:has(.orq-contact) { padding-top: 0 !important; }
.page:has(.orq-contact) { padding-bottom: 0 !important; }

/* En-tête de marque (pleine largeur) */
.orq-contact__head {
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  background:
    radial-gradient(900px 340px at 82% -20%, rgba(46,158,91,.28), transparent 60%),
    linear-gradient(135deg,#161b22 0%, #232c37 60%, #2e3742 100%);
  color:#fff; padding: clamp(2.6rem,5vw,4rem) 1.25rem;
}
.orq-contact__head-inner { max-width:1160px; margin:0 auto; }
.orq-contact__head h1 { color:#fff; font-size:clamp(1.8rem,3.4vw,2.7rem); font-weight:800; letter-spacing:-.02em; margin:.2rem 0 .6rem; }
.orq-contact__head p { color:#c7ced6; font-size:1.08rem; max-width:60ch; margin:0; }

/* Grille formulaire + aside */
.orq-contact__grid {
  max-width:1160px; margin:0 auto; padding: clamp(2rem,4vw,3.2rem) 1.25rem clamp(2.5rem,5vw,4rem);
  display:grid; grid-template-columns: 1.7fr 1fr; gap:1.8rem; align-items:start;
}
@media (max-width: 900px){ .orq-contact__grid { grid-template-columns:1fr; } }

/* Formulaire en carte blanche */
.orq-contact__form .contact-form {
  background:#fff; border:1px solid var(--orq-line); border-radius:1rem;
  box-shadow:0 16px 40px rgba(27,33,41,.07); padding: clamp(1.4rem,3vw,2rem);
}
.orq-contact__form .page-title-section { display:none; } /* titre déjà dans l'en-tête */
.orq-contact .form-label { font-weight:600; color:var(--orq-ink); margin-bottom:.35rem; }
.orq-contact .form-label.required::after { content:" *"; color:var(--orq-orange); font-weight:800; }
.orq-contact .form-control, .orq-contact .form-select {
  border:1.5px solid var(--orq-line); border-radius:.6rem; padding:.7rem .9rem; min-height:48px;
}
.orq-contact textarea.form-control { min-height:150px; }
.orq-contact .form-control:focus, .orq-contact .form-select:focus {
  border-color:var(--orq-orange); box-shadow:0 0 0 .22rem rgba(46,158,91,.20);
}
.orq-contact .form-text { color:var(--orq-muted); font-size:.82rem; }
.orq-contact .buttons-wrapper { margin-top:.5rem; }
.orq-contact .contact-form .btn-primary { padding:.85rem 2rem; font-size:1.05rem; }

/* Panneau coordonnées (sombre) */
.orq-contact__card {
  background:var(--orq-ink); color:#c7ced6; border-radius:1rem; padding:1.6rem 1.5rem;
  box-shadow:0 16px 40px rgba(27,33,41,.12);
}
.orq-contact__card h2 { color:#fff; font-size:1.15rem; margin:0 0 1.1rem; }
.orq-contact__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1.1rem; }
.orq-contact__list li { display:flex; gap:.85rem; align-items:flex-start; }
.orq-contact__list .material-icons { color:var(--orq-orange); font-size:1.5rem; line-height:1; margin-top:.15rem; }
.orq-contact__list b { display:block; color:#fff; font-size:.95rem; margin-bottom:.1rem; }
.orq-contact__list a, .orq-contact__list span { color:#c7ced6; text-decoration:none; }
.orq-contact__list a:hover { color:var(--orq-orange); }
.orq-contact__list small { display:block; color:#8b95a1; font-size:.8rem; margin-top:.15rem; }

/* Carte promesse (accent orange) */
.orq-contact__promise {
  margin-top:1.1rem; display:flex; gap:.9rem; align-items:flex-start;
  background:var(--orq-orange-050); border:1px solid rgba(46,158,91,.22); border-radius:1rem; padding:1.2rem 1.3rem;
}
.orq-contact__promise .material-icons { color:var(--orq-orange); font-size:1.7rem; }
.orq-contact__promise b { color:var(--orq-ink); display:block; margin-bottom:.2rem; }
.orq-contact__promise p { color:#5b6670; font-size:.9rem; margin:0; line-height:1.5; }

/* =========================================================================
   PASSE 10 - Page CONTACT (niveau supérieur)
   ========================================================================= */
/* chips de réassurance dans l'en-tête */
.orq-contact__chips { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem; }
.orq-contact__chips span {
  display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16); color:#e7ecf1; padding:.45rem .85rem;
  border-radius:100px; font-size:.86rem; font-weight:600;
}
.orq-contact__chips .material-icons { font-size:1.05rem; color:var(--orq-orange); }

/* corps sur fond gris pour faire ressortir la carte */
.orq-contact__body {
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  background:var(--orq-surface); padding-block: clamp(2rem,4vw,3.4rem);
}
.orq-contact__grid { padding-block:0 !important; }

/* titre interne de la carte formulaire */
.orq-contact__form .contact-form::before {
  content:"Décrivez votre projet"; display:block; font-size:1.25rem; font-weight:800;
  color:var(--orq-ink); margin-bottom:1.2rem; padding-bottom:.9rem; border-bottom:1px solid var(--orq-line);
}
/* champ fichier stylé */
.orq-contact input[type="file"].form-control { padding:.5rem .6rem; }
.orq-contact input[type="file"]::file-selector-button {
  background:var(--orq-ink); color:#fff; border:0; border-radius:.45rem; padding:.55rem .9rem;
  margin-right:.85rem; font-weight:600; cursor:pointer; transition:background .2s;
}
.orq-contact input[type="file"]::file-selector-button:hover { background:var(--orq-orange); }

/* bande de garanties sous le formulaire */
.orq-contact__reassure { display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin-top:1.2rem; }
.orq-contact__reassure div {
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:.35rem;
  background:#fff; border:1px solid var(--orq-line); border-radius:.7rem; padding:.9rem .5rem;
}
.orq-contact__reassure .material-icons { color:var(--orq-orange); font-size:1.5rem; }
.orq-contact__reassure span { font-size:.78rem; color:var(--orq-ink); font-weight:600; line-height:1.2; }
@media (max-width:575px){ .orq-contact__reassure { grid-template-columns:repeat(2,1fr); } }

/* panneau plan */
.orq-contact__map {
  margin-top:1.1rem; background:#fff; border:1px solid var(--orq-line); border-radius:1rem;
  overflow:hidden; box-shadow:0 10px 30px rgba(27,33,41,.06);
}
.orq-contact__map svg { display:block; width:100%; height:150px; }
.orq-contact__map-cap { display:flex; align-items:center; gap:.5rem; padding:.75rem 1rem; font-size:.85rem; color:var(--orq-ink); font-weight:600; }
.orq-contact__map-cap .material-icons { color:var(--orq-orange); font-size:1.1rem; }

/* =========================================================================
   PASSE 11 - Newsletter : fond CLAIR + texte FONCÉ (remplace le sombre)
   ========================================================================= */
#emailsubscription_anchor_displayFooterBefore,
.footer__before .ps-emailsubscription,
section.ps-emailsubscription.orq-newsletter {
  background: #f5f6f8 !important;
  border-top: 1px solid #e5e8ec !important;
  padding-block: clamp(2.4rem, 4.5vw, 3.2rem) !important;
}
.footer__before { background: #f5f6f8 !important; }
#emailsubscription_anchor_displayFooterBefore .h3 { color: #1b2129 !important; }
#emailsubscription_anchor_displayFooterBefore .h3::before { color: var(--orq-orange) !important; }
#emailsubscription_anchor_displayFooterBefore .h3::after { color: #6b7580 !important; }
#emailsubscription_anchor_displayFooterBefore .form-control {
  background: #fff !important; color: #1b2129 !important; border: 1.5px solid #d7dbe0 !important;
}
#emailsubscription_anchor_displayFooterBefore .form-control::placeholder { color: #8b95a1 !important; }
#emailsubscription_anchor_displayFooterBefore .text-body-secondary,
#emailsubscription_anchor_displayFooterBefore form > p,
#emailsubscription_anchor_displayFooterBefore p { color: #5b6670 !important; }

/* =========================================================================
   PASSE 12 - Bouton "Aperçu rapide" : pastille flottante compacte
   (au lieu de la barre pleine largeur qui coulisse)
   ========================================================================= */
.product-miniature__quickview-button {
  position:absolute !important; top:auto !important; bottom:.85rem !important;
  left:50% !important; right:auto !important; width:auto !important; height:auto !important; margin:0 !important;
  transform: translate(-50%, .5rem) !important; opacity:0 !important; pointer-events:none !important;
  display:inline-flex !important; align-items:center !important; gap:.4rem !important;
  padding:.5rem .95rem !important; border-radius:100px !important;
  background:#fff !important; color:var(--orq-ink) !important; border:0 !important;
  font-size:.82rem !important; font-weight:700 !important; line-height:1 !important; white-space:nowrap !important;
  box-shadow:0 8px 20px rgba(27,33,41,.22) !important;
  transition:opacity .2s ease, transform .2s ease, background .15s ease, color .15s ease !important;
}
.product-miniature__quickview-button .material-icons { font-size:1.05rem !important; margin:0 !important; }
.product-miniature:hover .product-miniature__quickview-button,
.js-product-miniature:hover .product-miniature__quickview-button,
.product-miniature__image-container:hover .product-miniature__quickview-button {
  opacity:1 !important; transform:translate(-50%, 0) !important; pointer-events:auto !important;
}
.product-miniature__quickview-button:hover {
  background:var(--orq-orange) !important; color:#fff !important;
  box-shadow:0 10px 24px rgba(46,158,91,.35) !important;
}
/* version tactile : petit rond discret */
.product-miniature__quickview-touch {
  width:40px !important; height:40px !important; border-radius:50% !important; padding:0 !important;
  background:#fff !important; color:var(--orq-ink) !important;
  box-shadow:0 6px 16px rgba(27,33,41,.2) !important;
  align-items:center !important; justify-content:center !important;
}
.product-miniature__quickview-touch .material-icons { font-size:1.15rem !important; }

/* PASSE — bouton Demande de prix (prix masqués) */
.orq-quote-btn{white-space:nowrap;}
.product-miniature__quote-btn{margin-top:.5rem;display:inline-block;}

/* =========================================================================
   PASSE PRO — finition (typographie, élévation, hero trust, secteurs)
   ========================================================================= */
body { line-height:1.6; text-rendering:optimizeLegibility; }
h1,.h1,h2,.h2,h3,.h3 { letter-spacing:-.022em; line-height:1.12; }
.orq-hero__title { font-size:clamp(2.3rem,5.2vw,4rem); line-height:1.03; }
.orq-hero__lead { font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.6; }
.btn { font-weight:700; transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease; }
.btn-lg { padding:.9rem 1.9rem; }
.btn-primary:hover, .orq-hero__ghost:hover, .orq-btn-white:hover { transform:translateY(-2px); }
.orq-usp, .orq-quote, .orq-contact__card, .orq-contact__map { box-shadow:0 10px 30px rgba(20,30,25,.08); }
.orq-hero__trust { display:flex; flex-wrap:wrap; gap:1.4rem 2.4rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.14); }
.orq-hero__trust > div { display:flex; flex-direction:column; }
.orq-hero__trust b { color:#fff; font-size:1.35rem; font-weight:800; line-height:1; }
.orq-hero__trust span { color:#aeb8c2; font-size:.84rem; margin-top:.25rem; }
.orq-sectors { display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; }
.orq-sector { display:flex; flex-direction:column; align-items:center; gap:.6rem; text-align:center; padding:1.5rem .8rem; background:#fff; border:1px solid var(--orq-line); border-radius:1rem; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.orq-sector:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(20,30,25,.1); border-color:#cfe6d8; }
.orq-sector .material-icons { font-size:2rem; color:var(--orq-orange); }
.orq-sector span { font-weight:700; color:var(--orq-ink); font-size:.9rem; line-height:1.2; }
@media (max-width:991px){ .orq-sectors { grid-template-columns:repeat(3,1fr);} }
@media (max-width:575px){ .orq-sectors { grid-template-columns:repeat(2,1fr);} }

/* =========================================================================
   PASSE PRO 2 — Hero enrichi (fond multi-couches, halo, four animé)
   ========================================================================= */
.orq-hero {
  background:
    radial-gradient(900px 520px at 86% -12%, rgba(46,158,91,.30), transparent 60%),
    radial-gradient(760px 520px at 6% 118%, rgba(46,158,91,.12), transparent 55%),
    linear-gradient(135deg,#12161c 0%, #1b222b 52%, #232c37 100%) !important;
}
.orq-hero__art { position:relative; }
.orq-hero__art::before {
  content:""; position:absolute; inset:6% 4% 10%; z-index:0;
  background:radial-gradient(circle at 52% 55%, rgba(46,158,91,.28), transparent 66%);
  filter:blur(34px);
}
.orq-hero__art svg { position:relative; z-index:1; animation:orqFloat 6.5s ease-in-out infinite; }
@keyframes orqFloat { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
@media (prefers-reduced-motion: reduce){ .orq-hero__art svg { animation:none; } }

/* =========================================================================
   PASSE PRO 3 — direction validée (mono eyebrows, univers 01-04, CTA carte + halo doré)
   ========================================================================= */
.orq-eyebrow, .orq-hero__eyebrow { font-family: ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace !important; }
.orq-hero__eyebrow { background:none !important; border:none !important; padding:0 !important; letter-spacing:.2em; }
.orq-tile__idx { font-family: ui-monospace,Menlo,Consolas,monospace; font-size:.72rem; letter-spacing:.14em; color:var(--orq-orange); display:block; margin-bottom:.2rem; position:relative; }
.orq-cta { width:auto !important; margin-left:0 !important; margin-right:0 !important; background:none !important; padding-block: clamp(1rem,3vw,2.4rem) !important; }
.orq-cta__inner { border-radius:22px; padding:clamp(2rem,4vw,3rem) clamp(1.6rem,3vw,3rem); background: radial-gradient(420px 300px at 90% 10%, rgba(233,195,122,.30), transparent 60%), linear-gradient(120deg, var(--orq-orange-600), var(--orq-orange)); box-shadow:0 20px 50px rgba(20,30,25,.18); }

/* =========================================================================
   PASSE PRO 4 — pages Catégorie & Fiche produit
   ========================================================================= */
/* --- Catégorie --- */
.category__header { padding-top:1.2rem; }
.page-title-section { font-size:clamp(1.6rem,3vw,2.3rem); }
.category__description.rich-text { color:var(--orq-muted); max-width:72ch; }
.ps-facetedsearch.left-block { background:#fff; border:1px solid var(--orq-line); border-radius:1rem; padding:1.1rem 1.2rem; box-shadow:0 8px 24px rgba(20,30,25,.05); }
.ps-facetedsearch .accordion-button { font-weight:700; color:var(--orq-ink); }
.ps-facetedsearch .accordion-button:not(.collapsed) { color:var(--orq-orange); background:transparent; box-shadow:none; }
.search-filters__item.facet-label:hover { color:var(--orq-orange); }
.active-filters { background:var(--orq-orange-050); border:1px solid rgba(46,158,91,.22); border-radius:.8rem; }
.pagination__number.current, .pagination__number:hover { background:var(--orq-orange); border-color:var(--orq-orange); color:#fff; }
.subcategory__link { border-radius:1rem; overflow:hidden; border:1px solid var(--orq-line); transition:transform .18s ease, box-shadow .18s ease; }
.subcategory__link:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(20,30,25,.1); }
.subcategory__name { font-weight:700; color:var(--orq-ink); }

/* --- Fiche produit --- */
.product__name { font-weight:800; letter-spacing:-.02em; font-size:clamp(1.5rem,2.6vw,2.1rem); }
.product__manufacturer { color:var(--orq-muted); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
.product__prices .current-price, .product__prices .current-price span { color:var(--orq-orange) !important; font-weight:800; }
.product__prices .current-price { font-size:2.1rem; }
.product__thumbnail.active .product__thumbnail-image, .product__thumbnail-image.js-thumb-selected { outline:2px solid var(--orq-orange); outline-offset:1px; }
.product__accordion .accordion-button:not(.collapsed) { color:var(--orq-orange); background:var(--orq-orange-050); box-shadow:none; }
.product__accordion .accordion-button:focus { box-shadow:0 0 0 .2rem rgba(46,158,91,.2); }
.product__add-to-cart-button.btn-primary, .product-add-to-cart .btn-primary { padding:.95rem 1.7rem; font-size:1.05rem; }
.product__actions .btn:hover { transform:translateY(-2px); }
.blockreassurance--product { border-top:1px solid var(--orq-line); padding-top:1rem; margin-top:1rem; }

/* =========================================================================
   PASSE PHOTO — Hero photo (Croust'wich) + voile lisibilité
   ========================================================================= */
.orq-hero{
  background:
    linear-gradient(90deg, rgba(12,16,20,.95) 0%, rgba(12,16,20,.86) 36%, rgba(12,16,20,.5) 62%, rgba(12,16,20,.12) 100%),
    url("../img/hero.jpg") center/cover no-repeat,
    #12161c !important;
}
.orq-hero::after{ opacity:.5; }
.orq-hero__inner{ display:block !important; }
.orq-hero__text{ max-width:640px; }
.orq-hero__art{ display:none !important; }
@media (max-width:900px){
  .orq-hero{
    background:
      linear-gradient(180deg, rgba(12,16,20,.92) 0%, rgba(12,16,20,.7) 55%, rgba(12,16,20,.9) 100%),
      url("../img/hero.jpg") center/cover no-repeat, #12161c !important;
  }
}

/* Logo co-brandé (plus large) */
.navbar-brand img, .navbar-brand svg { height:52px !important; }
#header.orq-shrink .navbar-brand img { height:42px !important; }

/* =========================================================================
   PASSE — Colonne gauche catégorie : nav propre (facettes démo retirées)
   ========================================================================= */
#left-column .ps-categorytree, .ps-categorytree { background:#fff; border:1px solid var(--orq-line); border-radius:1rem; padding:1rem 1.1rem; box-shadow:0 8px 24px rgba(20,30,25,.05); }
.ps-categorytree a { color:var(--orq-ink); font-weight:600; }
.ps-categorytree a:hover { color:var(--orq-orange); }
.ps-categorytree li { padding-block:.15rem; }
.ps-categorytree .category-sub-menu, .ps-categorytree ul ul { padding-left:.8rem; }

/* =========================================================================
   PASSE 13 — Carte produit : refonte propre
   (déclinaisons de démo supprimées, aperçu rapide retiré, boutons unifiés)
   ========================================================================= */
/* on masque les vestiges éventuels (cache, autres listes) */
.product-miniature__quickview-button,
.product-miniature__quickview-touch,
.product-miniature__variants { display:none !important; }

article.product-miniature{
  border:1px solid var(--orq-line); border-radius:1.15rem; background:#fff;
  overflow:hidden; height:100%;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-miniature:hover{
  transform:translateY(-5px); box-shadow:0 20px 42px rgba(20,30,25,.12); border-color:transparent;
}
.product-miniature__inner{ display:flex; flex-direction:column; height:100%; }

/* visuel : panneau clair, image centrée sans déformation */
.product-miniature__top{ position:relative; }
.product-miniature__top .thumbnail-container,
.product-miniature__image-container{
  display:block; background:#fff; padding:1.1rem 1.1rem .4rem;
}
.product-miniature__top img, .product-miniature__image-container img{
  width:100%; aspect-ratio:4/3; object-fit:contain; transition:transform .3s ease;
}
.product-miniature:hover .product-miniature__image-container img{ transform:scale(1.04); }

/* corps de carte */
.product-miniature__bottom{
  padding:.35rem 1.1rem 1.15rem; display:flex; flex-direction:column; gap:.85rem; flex:1;
  border-top:1px solid var(--orq-line);
}
.product-miniature__infos{ display:flex; flex-direction:column; gap:.7rem; flex:1; }
.product-miniature__title{
  font-weight:700; font-size:1.02rem; line-height:1.3; color:var(--orq-ink); text-decoration:none;
  /* 2 lignes max + hauteur réservée -> boutons alignés d'une carte à l'autre */
  display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:2.65rem;
}
.product-miniature__title:hover{ color:var(--orq-orange); }

/* actions : deux boutons pleine largeur, hiérarchie nette */
.product-miniature__actions{ margin-top:auto; width:100%; }
.product-miniature__actions form{ width:100%; }
.product-miniature__quote-btn.btn,
.product-miniature__details.btn,
.product-miniature__add.btn{
  display:flex !important; align-items:center; justify-content:center; gap:.4rem;
  width:100%; margin:0 !important; border-radius:.6rem;
  padding:.68rem 1rem; font-weight:600; font-size:.9rem; letter-spacing:.005em;
}
.product-miniature__quote-btn.btn,
.product-miniature__details.btn{
  color:#fff; border:1px solid var(--orq-orange); background:var(--orq-orange);
  box-shadow:0 1px 2px rgba(16,40,26,.08);
}
.product-miniature__quote-btn.btn:hover,
.product-miniature__details.btn:hover{
  color:#fff; background:#2a9153; border-color:#2a9153;
  transform:translateY(-1px); box-shadow:0 4px 14px rgba(46,158,91,.22);
}
.product-miniature__quote-btn.btn:active,
.product-miniature__details.btn:active{
  background:#25834a; border-color:#25834a; transform:translateY(0); box-shadow:0 1px 2px rgba(16,40,26,.10);
}

/* =========================================================================
   PASSE 14 — Fiche produit : padding horizontal de l'accordéon
   (accordion-flush supprime le padding latéral -> texte collé au bord)
   ========================================================================= */
.product__accordion .accordion-button{ padding-inline:1.25rem; }
.product__accordion .accordion-body{ padding-inline:1.25rem; padding-bottom:1.25rem; }
