/* ==============================================================
   INGEN SOLUTIONS — UX / CRO  (theme Blocksy)
   Design system "premium & simple" — refonte 2026-05-19
   Reference de langage : eu.store.emlid.com
   Principes : fond blanc dominant, beaucoup de blanc, 1 accent
   (bleu INGEN), typo large, visuels produits genereux.
   ============================================================== */
:root{
  --blue:#0047AB; --blue-dark:#00347e; --blue-soft:#eef3fb;
  --ink:#14171c; --ink-soft:#3a4049; --muted:#6a7280;
  --line:#e8eaee; --line-strong:#d7dbe1;
  --bg:#ffffff; --bg-soft:#f6f7f9;
  --dark:#0d1119; --dark-soft:#171d2a;
  --radius:14px; --radius-sm:10px;
  --maxw:1240px;
  --pad:clamp(20px,5vw,64px);
  --doc-w:100vw;
}

/* ---------- base ---------- */
body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--blue-dark);}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.015em;line-height:1.18;}
img{height:auto;}

.ingen-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.ingen-fb{width:var(--doc-w,100vw);max-width:var(--doc-w,100vw);
  margin-left:calc(50% - var(--doc-w,100vw)/2);
  margin-right:calc(50% - var(--doc-w,100vw)/2);}
body.home{overflow-x:hidden;}

/* home : on masque le bandeau de titre de page Blocksy */
.home .hero-section,.home .entry-header,.home .page-title{display:none!important;}
.home #main,.home .entry-content{margin-top:0!important;padding-top:0!important;}
.home article,.home .entry-content>*{margin:0!important;}

/* eyebrow / kicker */
.ingen-kicker{display:inline-block;font-size:.74rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--blue);
  margin-bottom:14px;}

/* ---------- boutons ---------- */
.ingen-cta,.ingen-cta-ghost,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce .button.alt,.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 28px;border-radius:var(--radius-sm);
  font-weight:600;font-size:.97rem;line-height:1.2;letter-spacing:.005em;
  text-decoration:none;cursor:pointer;transition:.16s ease;
  border:1.5px solid var(--blue);background:var(--blue);color:#fff!important;}
.ingen-cta:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .button.alt:hover,.woocommerce div.product form.cart .button:hover{
  background:var(--blue-dark);border-color:var(--blue-dark);color:#fff!important;}
.ingen-cta-ghost{background:transparent;border-color:rgba(255,255,255,.45);
  color:#fff!important;}
.ingen-cta-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
/* bouton secondaire clair (outline) */
.ingen-btn-2{background:transparent!important;border-color:var(--line-strong)!important;
  color:var(--ink)!important;}
.ingen-btn-2:hover{border-color:var(--ink)!important;background:var(--bg-soft)!important;}

/* ---------- barre de reassurance ---------- */
.ingen-topbar{background:var(--dark);color:#aeb6c4;font-size:.8rem;}
.ingen-topbar-in{max-width:var(--maxw);margin:0 auto;padding:9px var(--pad);
  display:flex;flex-wrap:wrap;gap:6px 32px;justify-content:center;}
.ingen-topbar-in span{display:flex;align-items:center;gap:8px;}
.ingen-topbar-in span::before{content:"";width:5px;height:5px;border-radius:50%;
  background:var(--blue);flex:none;}

/* ================= HERO ================= */
.ingen-hero{background:var(--dark);padding:clamp(64px,9vw,112px) 0;}
.ingen-hero-in{max-width:var(--maxw);}
.ingen-hero .ingen-kicker{color:#7aa6ff;}
.ingen-hero-title{color:#fff!important;font-size:clamp(2.1rem,4.6vw,3.5rem);
  font-weight:700;margin:0 0 18px;max-width:17ch;}
.ingen-hero-sub{color:#b9c0cd;font-size:clamp(1rem,1.4vw,1.18rem);
  line-height:1.6;margin:0 0 30px;max-width:56ch;}
.ingen-hero-actions{display:flex;flex-wrap:wrap;gap:14px;}

/* ================= BANDEAU USP ================= */
.ingen-usps-band{background:var(--bg);border-bottom:1px solid var(--line);
  padding:34px 0;}
.ingen-usps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.ingen-usp{padding-left:18px;border-left:2px solid var(--blue);}
.ingen-usp b{display:block;font-size:1rem;margin-bottom:5px;}
.ingen-usp span{color:var(--muted);font-size:.9rem;line-height:1.55;}

/* ================= SHOWCASE PRODUIT (sections grand format) ===== */
.ingen-showcase{padding:clamp(56px,7vw,96px) 0;background:var(--bg);}
.ingen-showcase:nth-of-type(even){background:var(--bg-soft);}
.ingen-showcase-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);
  align-items:center;}
.ingen-showcase:nth-of-type(even) .ingen-showcase-media{order:2;}
.ingen-showcase-media{background:var(--bg);border:1px solid var(--line);
  border-radius:var(--radius);aspect-ratio:4/3;display:flex;
  align-items:center;justify-content:center;padding:40px;}
.ingen-showcase-media img{max-width:100%;max-height:100%;object-fit:contain;}
.ingen-showcase h2{font-size:clamp(1.6rem,2.6vw,2.3rem);margin:0 0 14px;}
.ingen-showcase p{color:var(--ink-soft);font-size:1.03rem;line-height:1.62;
  margin:0 0 20px;}
.ingen-showcase-price{font-size:1.5rem;font-weight:700;margin:0 0 20px;}
.ingen-showcase-price small{font-size:.82rem;font-weight:500;color:var(--muted);}
.ingen-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;
  margin:24px 0 0;padding:22px 0 0;border-top:1px solid var(--line);}
.ingen-specs div{font-size:.9rem;color:var(--muted);}
.ingen-specs b{display:block;color:var(--ink);font-weight:600;font-size:.95rem;}

/* ================= SECTIONS CATEGORIE (grilles aerees) ========= */
.ingen-brandrow{background:var(--bg);padding:clamp(48px,6vw,80px) 0;}
.ingen-brandrow:nth-of-type(even){background:var(--bg-soft);}
.ingen-brandrow-head{display:flex;align-items:baseline;gap:18px;
  max-width:var(--maxw);margin:0 auto 26px;padding:0 var(--pad);}
.ingen-brandrow-head h2{margin:0 auto 0 0;font-size:clamp(1.4rem,2.2vw,1.85rem);}
.ingen-brandrow-head a{font-weight:600;font-size:.92rem;white-space:nowrap;}
.ingen-brandrow-head a:hover{color:var(--blue-dark);}

/* grille produits — rendu natif Blocksy (shortcode [products]) */
.ingen-brandrow .woocommerce{margin:0;}
.ingen-brandrow ul.products{max-width:var(--maxw);margin:0 auto!important;
  padding:0 var(--pad)!important;}

/* ====== CARTE PRODUIT — rendu natif Blocksy conserve (stopgap) ======
   2 refontes CSS de la carte ont disloque le layout : surcharger la
   carte WooCommerce de Blocksy en CSS est trop fragile. On laisse donc
   Blocksy gerer la mise en page de la carte et on se limite a la
   palette INGEN. La carte "premium" facon Emlid sera reconstruite dans
   le WooCommerce Builder d'Elementor Pro (quand la licence sera dispo).
   ==================================================================== */
.woocommerce ul.products li.product{width:auto!important;margin:0!important;}
.woocommerce ul.products li.product .price{
  color:var(--ink)!important;font-weight:700;}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button{
  background:var(--blue)!important;border-color:var(--blue)!important;
  color:#fff!important;padding:9px 18px!important;font-size:.85rem!important;}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover{
  background:var(--blue-dark)!important;border-color:var(--blue-dark)!important;}
.woocommerce ul.products li.product .ingen-tax-note{display:none;}

/* ================= BANDEAU "POURQUOI" ================= */
.ingen-why-band{background:var(--bg-soft);padding:clamp(56px,7vw,88px) 0;}
.ingen-h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 30px;}
.ingen-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ingen-why-grid>div{background:var(--bg);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px;}
.ingen-why-grid b{display:block;font-size:1.1rem;margin-bottom:10px;color:var(--ink);}
.ingen-why-grid p{color:var(--muted);font-size:.95rem;line-height:1.65;margin:0;}

/* ================= BANDEAU CTA ================= */
.ingen-cta-band{background:var(--dark);padding:clamp(56px,7vw,88px) 0;
  text-align:center;}
.ingen-cta-band h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 10px;}
.ingen-cta-band p{color:#b9c0cd;margin:0 0 26px;font-size:1.03rem;}

/* ================= FICHE PRODUIT ================= */
.woocommerce div.product{display:flex;flex-wrap:wrap;align-items:flex-start;
  gap:clamp(28px,4vw,56px);background:transparent;padding:0;margin:28px 0 72px;}
.woocommerce div.product .woocommerce-product-gallery{
  width:54%!important;float:none!important;margin:0!important;
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(20px,3vw,36px);}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:8px;}
.woocommerce div.product .summary{
  width:calc(46% - 56px)!important;float:none!important;margin:0!important;
  position:sticky;top:24px;align-self:flex-start;color:var(--ink);}
.summary .product_title{font-size:clamp(1.6rem,2.6vw,2.15rem);
  color:var(--ink)!important;margin:0 0 6px;}
.summary p.price,.summary span.price{color:var(--ink)!important;
  font-size:1.8rem!important;font-weight:700;margin:10px 0 2px;}
.summary p.price del{color:var(--muted);font-weight:400;font-size:1.1rem;}
.ingen-tax-note{display:block;font-size:.82rem;color:var(--muted);
  margin:4px 0 18px;}
.summary .woocommerce-product-details__short-description{
  color:var(--ink-soft);font-size:.98rem;line-height:1.62;
  border-top:1px solid var(--line);padding-top:18px;margin-top:8px;}

/* selecteur de configuration */
.ingen-config{margin:20px 0 4px;}
.ingen-config label{display:block;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-weight:700;}
.ingen-config select,.summary form.cart .quantity input.qty{
  width:100%;padding:13px 14px;border-radius:var(--radius-sm);
  border:1.5px solid var(--line-strong);background:var(--bg);
  color:var(--ink);font-size:.97rem;}
.summary form.cart{margin:18px 0 0;display:flex;flex-direction:column;gap:12px;}
.woocommerce div.product form.cart .button,
.single_add_to_cart_button{width:100%;padding:16px 24px!important;
  font-size:1.03rem!important;font-weight:600!important;border-radius:var(--radius-sm)!important;
  float:none!important;}

/* deuxieme CTA (paiement CB) — modele hybride */
.ingen-pay-cb{width:100%;margin-top:2px;}

/* reassurance */
.ingen-trust{display:flex;flex-direction:column;gap:12px;margin-top:22px;
  border-top:1px solid var(--line);padding-top:20px;}
.ingen-trust div{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;
  color:var(--muted);line-height:1.5;}
.ingen-trust div b{color:var(--ink);font-weight:600;}
.ingen-ic{flex:none;width:20px;height:20px;border-radius:50%;
  background:var(--blue-soft);display:inline-flex;align-items:center;
  justify-content:center;margin-top:1px;}
.ingen-ic::before{content:"\2713";color:var(--blue);font-size:.7rem;font-weight:700;}

/* points cles depliables */
.ingen-features{width:100%;margin:8px 0 48px;}
.ingen-features h2{font-size:clamp(1.3rem,2vw,1.6rem);margin-bottom:18px;}
.ingen-feature{background:var(--bg);border:1px solid var(--line);
  border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden;}
.ingen-feature summary{list-style:none;cursor:pointer;padding:18px 22px;
  font-weight:600;font-size:1.03rem;display:flex;justify-content:space-between;
  align-items:center;}
.ingen-feature summary::-webkit-details-marker{display:none;}
.ingen-feature summary::after{content:"+";color:var(--blue);font-size:1.5rem;
  font-weight:400;line-height:1;}
.ingen-feature[open] summary::after{content:"\2013";}
.ingen-feature .ingen-feature-body{padding:0 22px 20px;color:var(--ink-soft);
  line-height:1.7;}

/* onglets + produits lies */
.woocommerce-tabs{width:100%;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--radius);padding:clamp(20px,3vw,32px);margin-bottom:48px;}
.woocommerce-tabs ul.tabs li.active a{color:var(--blue);}
.related.products,.upsells.products{width:100%;}
.related.products>h2,.upsells.products>h2{
  font-size:clamp(1.3rem,2vw,1.65rem);margin-bottom:22px;}
.related.products ul.products,.upsells.products ul.products{
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;
  gap:24px!important;}

/* ---- barre sticky fiche produit ---- */
.ingen-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9990;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:13px var(--pad);background:var(--bg);
  border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(13,17,25,.10);
  transform:translateY(110%);transition:transform .25s ease;}
.ingen-sticky-atc.is-visible{transform:translateY(0);}
.ingen-sticky-atc .ingen-sticky-info{display:flex;gap:16px;align-items:baseline;
  min-width:0;}
.ingen-sticky-atc .ingen-sticky-title{font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ingen-sticky-atc .ingen-sticky-price{font-size:1.15rem;font-weight:700;
  color:var(--ink);}
.ingen-sticky-atc .ingen-sticky-btn{flex:none;background:var(--blue);
  color:#fff!important;padding:13px 32px;border-radius:var(--radius-sm);
  font-weight:600;}
.ingen-sticky-atc .ingen-sticky-btn:hover{background:var(--blue-dark);}
body.single-product{padding-bottom:88px;}

/* ================= HEADER / FOOTER (Blocksy) ================= */
.ct-footer{background:var(--dark)!important;}
.ct-footer,.ct-footer p,.ct-footer li,.ct-footer span,.ct-footer a{
  color:#9aa3b3!important;}
.ct-footer a:hover{color:#fff!important;}
.ct-footer h3,.ct-footer .widget-title{color:#fff!important;}

/* ================= RESPONSIVE ================= */
@media (max-width:1024px){
  .ingen-brandrow ul.products,
  .related.products ul.products,.upsells.products ul.products{
    grid-template-columns:repeat(2,1fr)!important;}
}
@media (max-width:860px){
  .ingen-usps{grid-template-columns:repeat(2,1fr);}
  .ingen-why-grid{grid-template-columns:1fr;}
  .ingen-showcase-in{grid-template-columns:1fr;}
  .ingen-showcase:nth-of-type(even) .ingen-showcase-media{order:0;}
  .ingen-specs{grid-template-columns:1fr 1fr;}
  .woocommerce div.product{flex-direction:column;gap:22px;}
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary{width:100%!important;position:static;}
}
@media (max-width:560px){
  .ingen-usps{grid-template-columns:1fr;}
  .ingen-brandrow ul.products,
  .related.products ul.products,.upsells.products ul.products{
    grid-template-columns:1fr!important;}
  .ingen-sticky-atc .ingen-sticky-info{display:none;}
  .ingen-sticky-atc{justify-content:stretch;}
  .ingen-sticky-atc .ingen-sticky-btn{flex:1;text-align:center;}
}

/* ============ v6 : contact (tel/email/devis) + footer maison ============ */
/* Topbar : message a gauche, contact a droite */
.ingen-topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.ingen-topbar-msg{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.ingen-topbar-contact{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.ingen-topbar-contact a{color:#fff;text-decoration:none;font-weight:600;font-size:.86rem;white-space:nowrap;}
.ingen-tc-phone{font-weight:700;}
.ingen-tc-mail{opacity:.85;}
.ingen-tc-mail:hover,.ingen-tc-phone:hover{opacity:1;text-decoration:underline;}
.ingen-tc-devis{background:var(--blue,#0047AB);color:#fff!important;padding:5px 14px;border-radius:6px;}
.ingen-tc-devis:hover{background:var(--blue-dark,#00337a);}
@media(max-width:880px){.ingen-tb-sec{display:none;}.ingen-tc-mail{display:none;}}

/* Fiche produit : bouton "Demander un devis pour ce produit" */
.ingen-rfq-btn{display:inline-block;margin:10px 0 0;padding:12px 22px;border:2px solid var(--blue,#0047AB);
  color:var(--blue,#0047AB)!important;background:#fff;border-radius:8px;font-weight:700;text-decoration:none;}
.ingen-rfq-btn:hover{background:var(--blue,#0047AB);color:#fff!important;}

/* Footer maison (remplace le footer Blocksy par defaut) */
footer#footer,.ct-footer{display:none!important;}
.ingen-footer{background:#0f1722;color:#cfd8e3;padding:54px 20px 0;margin-top:60px;}
.ingen-footer-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;}
.ingen-flogo{font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:12px;}
.ingen-fbrand p{font-size:.9rem;line-height:1.6;opacity:.8;}
.ingen-footer h4{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;}
.ingen-fcol a{display:block;color:#cfd8e3;text-decoration:none;font-size:.9rem;margin-bottom:9px;}
.ingen-fcol a:hover{color:#fff;}
.ingen-fbig{font-size:1.15rem!important;font-weight:800;color:#fff!important;}
.ingen-fnote{display:block;font-size:.82rem;opacity:.7;margin-top:6px;}
.ingen-fcta p{font-size:.88rem;opacity:.8;margin-bottom:12px;}
.ingen-fdevis{display:inline-block;background:var(--blue,#0047AB);color:#fff!important;padding:11px 20px;border-radius:8px;font-weight:700;margin-top:4px;}
.ingen-fdevis:hover{background:#fff;color:var(--blue,#0047AB)!important;}
.ingen-footer-legal{max-width:1200px;margin:40px auto 0;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;opacity:.7;}
.ingen-footer-legal a{color:#cfd8e3;}
@media(max-width:880px){.ingen-footer-in{grid-template-columns:1fr 1fr;gap:24px;}}
@media(max-width:520px){.ingen-footer-in{grid-template-columns:1fr;}}
