/* ═══════════════════════════════════════════════════════════════
   Forma — DA « Bauhaus minimal »
   blanc #FFFFFF · encre #101012 · gris #6F7076 · filets #ECECEE
   accent unique : cobalt #1D4ED8 · Hanken Grotesk · arrondis 4px max
   ═══════════════════════════════════════════════════════════════ */

html{overflow-x:hidden;}
body{
	background:var(--fm-white);
	color:var(--fm-ink);
	font-family:'Hanken Grotesk',-apple-system,sans-serif;
	overflow-x:hidden;
}
body,button,input,select,textarea,.button{font-family:'Hanken Grotesk',-apple-system,sans-serif;}
h1,h2,h3,h4,h5,h6{font-family:'Hanken Grotesk',sans-serif;color:var(--fm-ink);font-weight:700;letter-spacing:-.02em;}
a{color:var(--fm-cobalt);}
a:hover{color:var(--fm-cobalt-d);}

/* Formes géométriques utilitaires */
.fm-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--fm-cobalt);flex:0 0 auto;}

/* ── Topbar : filet encre, texte fin ───────────────────────── */
.fm-topbar{background:var(--fm-ink);color:#FFFFFF;font-size:12.5px;font-weight:500;letter-spacing:.02em;}
.fm-topbar__in{max-width:1240px;margin:0 auto;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.fm-topbar__msg{display:inline-flex;align-items:center;gap:8px;}
.fm-topbar__msg--alt{color:#B9B9BE;}
.fm-topbar__link{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);}
.fm-topbar__link:hover{color:#fff;border-color:#fff;}
@media(max-width:767px){
	.fm-topbar__msg--alt,.fm-topbar__link{display:none;}
	.fm-topbar__in{padding:7px 14px;justify-content:center;}
}

/* ── Header : blanc, filet bas, nav sobre ──────────────────── */
.fm-head{background:#fff;border-bottom:1px solid var(--fm-line);position:relative;z-index:900;}
.fm-head__in{max-width:1240px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.fm-logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0;line-height:1;}
.fm-logo__mk{display:flex;align-items:flex-end;gap:3px;height:18px;}
.fm-logo__c{width:12px;height:12px;border-radius:50%;background:var(--fm-cobalt);}
.fm-logo__s{width:12px;height:12px;background:var(--fm-ink);}
.fm-logo__t{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--fm-grey);}
.fm-logo__txt{font-family:'Hanken Grotesk',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.04em;color:var(--fm-ink);}
.fm-logo__txt em{font-style:normal;color:var(--fm-cobalt);}
.fm-nav{display:flex;gap:28px;align-items:center;}
.fm-nav a{font-size:14px;font-weight:600;color:var(--fm-ink);text-decoration:none;padding:6px 0;position:relative;white-space:nowrap;transition:color .2s;}
.fm-nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--fm-cobalt);transform:scaleX(0);transform-origin:left;transition:transform .22s;}
.fm-nav a:hover{color:var(--fm-cobalt);}
.fm-nav a:hover::after{transform:scaleX(1);}
.fm-head__actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.fm-icobtn{width:40px;height:40px;border-radius:var(--fm-r);display:grid;place-items:center;color:var(--fm-ink);background:#fff;border:1px solid var(--fm-line);text-decoration:none;position:relative;transition:border-color .2s,color .2s;}
.fm-icobtn svg{width:20px;height:20px;}
.fm-icobtn:hover{border-color:var(--fm-cobalt);color:var(--fm-cobalt);}
.fm-cart-count{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:50%;background:var(--fm-cobalt);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;line-height:1;}
.fm-burger{display:none;width:40px;height:40px;border-radius:var(--fm-r);border:1px solid var(--fm-line);background:#fff;color:var(--fm-ink);cursor:pointer;place-items:center;padding:0;}
.fm-burger svg{width:22px;height:22px;}
.fm-mobnav{display:none;}
@media(max-width:900px){
	.fm-nav{display:none;}
	.fm-burger{display:grid;}
	.fm-head__in{padding:12px 14px;}
	.fm-mobnav{display:flex;flex-direction:column;border-top:1px solid var(--fm-line);background:#fff;padding:8px 14px 14px;}
	.fm-mobnav[hidden]{display:none;}
	.fm-mobnav a{padding:12px 6px;font-size:15.5px;font-weight:600;color:var(--fm-ink);text-decoration:none;border-bottom:1px solid var(--fm-line);}
	.fm-mobnav a:last-child{border-bottom:0;}
}

/* ── Footer : blanc, double filet, bas encre ───────────────── */
.fm-foot{background:#fff;border-top:2px solid var(--fm-ink);margin-top:72px;}
.fm-foot__in{max-width:1240px;margin:0 auto;padding:52px 24px 44px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;}
.fm-foot__brand p{font-size:14px;line-height:1.7;color:var(--fm-grey);margin:16px 0 0;max-width:320px;}
.fm-foot__col{display:flex;flex-direction:column;gap:10px;}
.fm-foot__col h4{color:var(--fm-ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin:0 0 8px;}
.fm-foot__col a{color:var(--fm-grey);text-decoration:none;font-size:14px;transition:color .2s;}
.fm-foot__col a:hover{color:var(--fm-cobalt);}
.fm-foot__bottom{background:var(--fm-ink);}
.fm-foot__bottom-in{max-width:1240px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;gap:16px;font-size:12.5px;color:#B9B9BE;flex-wrap:wrap;}
@media(max-width:900px){.fm-foot__in{grid-template-columns:1fr 1fr;padding:40px 20px 28px;gap:28px;}.fm-foot__brand{grid-column:1/-1;}}

/* ── Étoiles (vrais avis uniquement) ───────────────────────── */
.fm-stars{display:inline-flex;align-items:center;gap:2px;}
.fm-stars__n{font-size:12.5px;color:var(--fm-grey);margin-left:4px;font-weight:600;}

/* ── Contenu général / pages ───────────────────────────────── */
.site-content{background:var(--fm-white);}
.hentry .entry-header h1,.page .entry-title,h1.entry-title{font-weight:700;letter-spacing:-.025em;}
.site-main{padding-top:24px;}
body.page .entry-content{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r);padding:36px 40px;max-width:860px;margin:0 auto 48px;}
body.page .entry-content h3{margin-top:1.6em;font-size:20px;}
body.page .entry-content hr{border:0;border-top:1px solid var(--fm-line);margin:26px 0;}
body.woocommerce-page .entry-content,body.woocommerce .entry-content{background:transparent;border:0;padding:0;max-width:none;}
body.home .entry-content{background:transparent;border:0;padding:0;max-width:none;}

/* ── Boutons : rectangles cobalt, pas d'ombre ──────────────── */
.button,button.button,input[type=submit],.woocommerce #respond input#submit,
.wc-block-components-button,.added_to_cart{
	background:var(--fm-cobalt) !important;color:#fff !important;
	border:0 !important;border-radius:var(--fm-r) !important;
	font-weight:700 !important;letter-spacing:.01em !important;text-transform:none !important;
	box-shadow:none !important;
	transition:background .2s !important;
}
.button:hover,button.button:hover,input[type=submit]:hover,.added_to_cart:hover{
	background:var(--fm-cobalt-d) !important;color:#fff !important;
}
.single_add_to_cart_button,.checkout-button{
	background:var(--fm-cobalt) !important;color:#fff !important;
}
.single_add_to_cart_button:hover,.checkout-button:hover{background:var(--fm-cobalt-d) !important;color:#fff !important;}

/* ── Grilles produits (boutique + catégories) ──────────────── */
ul.products li.product{
	background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r);
	padding:12px;box-shadow:none;
	transition:border-color .2s,box-shadow .2s;
}
ul.products li.product:hover{border-color:var(--fm-ink);box-shadow:0 6px 16px -10px rgba(16,16,18,.18);}
ul.products li.product img{border-radius:2px;}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2{font-size:15.5px;font-weight:700;color:var(--fm-ink);letter-spacing:-.01em;}
ul.products li.product .price,.price{color:var(--fm-cobalt) !important;font-weight:800;}
.price del{color:var(--fm-grey) !important;font-weight:500;opacity:.7;}
.price ins{color:var(--fm-cobalt) !important;text-decoration:none;}
.onsale,span.onsale{
	background:var(--fm-ink) !important;color:#fff !important;
	border-radius:var(--fm-r) !important;font-weight:700 !important;
	padding:4px 10px !important;min-width:0 !important;min-height:0 !important;line-height:1.5 !important;
}
.woocommerce-breadcrumb,.shoptimizer-breadcrumb{color:var(--fm-grey);font-size:13px;background:transparent;}
.woocommerce-breadcrumb a{color:var(--fm-grey);}
.woocommerce-result-count{color:var(--fm-grey);}
.woocommerce-ordering select{border:1px solid var(--fm-line);border-radius:var(--fm-r);background:#fff;color:var(--fm-ink);}
.woocommerce-pagination ul.page-numbers{border:0;}
.woocommerce-pagination ul.page-numbers li{border:0;margin:0 3px;}
.woocommerce-pagination ul.page-numbers li .page-numbers{
	border-radius:var(--fm-r);border:1px solid var(--fm-line);background:#fff;color:var(--fm-ink);
	padding:9px 14px;font-weight:600;
}
.woocommerce-pagination ul.page-numbers li .page-numbers.current{background:var(--fm-cobalt);border-color:var(--fm-cobalt);color:#fff;}

/* ── Pages collection : pleine largeur, pas de colonne fantôme ── */
body.archive .widget-area,body.woocommerce-page .widget-area,
body.post-type-archive-product .widget-area{display:none !important;}
body.archive #primary.content-area,body.woocommerce-page #primary.content-area,
body.post-type-archive-product #primary.content-area{
	width:100% !important;max-width:none !important;float:none !important;
	margin-left:0 !important;margin-right:0 !important;flex:1 1 100% !important;
}
body[class*="woocommerce-sidebar"] #primary.content-area{width:100% !important;}

/* ── Fiche produit ─────────────────────────────────────────── */
.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery img{border-radius:var(--fm-r);}
.single-product div.product .product_title{font-size:30px;font-weight:700;letter-spacing:-.025em;}
.single-product div.product p.price{font-size:24px;color:var(--fm-cobalt) !important;font-weight:800;}
.single-product div.product .woocommerce-product-details__short-description{color:var(--fm-grey);line-height:1.7;}
.single-product div.product form.cart div.quantity .qty{border:1px solid var(--fm-line);border-radius:var(--fm-r);background:#fff;}
.single-product div.product .product_meta{color:var(--fm-grey);font-size:13.5px;border-top:1px solid var(--fm-line);padding-top:16px;}
.single-product div.product .product_meta a{color:var(--fm-cobalt);font-weight:600;}
.woocommerce-tabs ul.tabs li{border:0 !important;background:transparent !important;}
.woocommerce-tabs ul.tabs li a{font-weight:700;color:var(--fm-grey);}
.woocommerce-tabs ul.tabs li.active a{color:var(--fm-ink);border-bottom:2px solid var(--fm-cobalt);}
.woocommerce-tabs .panel{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r);padding:28px 30px;}
.related.products > h2,.up-sells > h2{font-size:24px;letter-spacing:-.02em;}
.woocommerce-product-gallery__trigger{border-radius:50%;}
.star-rating span::before{color:var(--fm-cobalt);}
p.stars a{color:var(--fm-cobalt);}

/* ── Panier ────────────────────────────────────────────────── */
.woocommerce-cart table.cart{background:#fff;border:1px solid var(--fm-line) !important;border-radius:var(--fm-r);overflow:hidden;}
.woocommerce-cart table.cart th{background:var(--fm-paper);color:var(--fm-ink);font-weight:700;}
.woocommerce-cart table.cart td{border-color:var(--fm-line) !important;}
.woocommerce-cart table.cart img{border-radius:2px;}
.cart_totals{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r);padding:22px;}
.cart_totals h2{font-size:20px;}
.cart_totals table{border:0 !important;}
.woocommerce-cart .cart-collaterals .cart_totals tr td,.woocommerce-cart .cart-collaterals .cart_totals tr th{border-color:var(--fm-line);}
.coupon .input-text{border:1px solid var(--fm-line);border-radius:var(--fm-r);}
.woocommerce-message,.woocommerce-info,.woocommerce-noreviews{
	background:#fff;border:1px solid var(--fm-line);border-left:3px solid var(--fm-cobalt);
	border-radius:var(--fm-r);color:var(--fm-ink);
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--fm-cobalt);}
.woocommerce-error{border-radius:var(--fm-r);}

/* ── Formulaires / compte ──────────────────────────────────── */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
input[type=text],input[type=email],input[type=tel],input[type=password],textarea{
	border:1px solid var(--fm-line);border-radius:var(--fm-r);background:#fff;color:var(--fm-ink);
}
.woocommerce form .form-row input.input-text:focus,input:focus,textarea:focus{border-color:var(--fm-cobalt);outline:0;box-shadow:0 0 0 3px rgba(29,78,216,.14);}
.woocommerce-MyAccount-navigation ul li a{color:var(--fm-ink);font-weight:600;}
.woocommerce-MyAccount-navigation ul li.is-active a{color:var(--fm-cobalt);}

/* ── Fix police : kirki-inline-styles sort après le child → !important ── */
body, p, li, td, th, dd, dt, label, input, select, textarea, button,
.site-main, .woocommerce-breadcrumb, .woocommerce-ordering select {
  font-family: "Hanken Grotesk", system-ui, -apple-system, sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .price, .woocommerce-loop-product__title {
  font-family: "Hanken Grotesk", system-ui, sans-serif !important;
}

/* ══ Fiche produit — description stable (sans JS) ══ */
.woocommerce-tabs ul.wc-tabs { display: none !important; }
.woocommerce-tabs .woocommerce-Tabs-panel {
  display: block !important; width: 100% !important; max-width: 100% !important;
  float: none !important; opacity: 1 !important; padding: 24px 0 8px !important;
}
.woocommerce-Tabs-panel--description, .woocommerce-Tabs-panel--description p, .woocommerce-Tabs-panel--description li, .woocommerce-Tabs-panel--description td { color: #3A3B40 !important; font-size: 16px; line-height: 1.75; }
.woocommerce-Tabs-panel--description h1, .woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--description h3, .woocommerce-Tabs-panel--description h4, .woocommerce-Tabs-panel--description strong, .woocommerce-Tabs-panel--description b { color: #101012 !important; }
.woocommerce-Tabs-panel--description a { color: #1D4ED8 !important; }
.woocommerce-Tabs-panel--description hr { border: 0; border-top: 1px solid #ECECEE; margin: 28px 0; }

/* ══ Encart réassurance fiche produit — DA Bauhaus minimal ══ */
.fm-reassure { margin-top: 30px; background: #FFFFFF; border: 1px solid #ECECEE; border-radius: 4px; overflow: hidden; }
.fm-reassure__head { padding: 12px 20px; border-bottom: 1px solid #ECECEE; font-size: 11.5px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #101012; background: #F7F7F8; }
.fm-reassure__item { display: flex; gap: 14px; align-items: flex-start; padding: 14px 20px; border-bottom: 1px solid #F2F2F4; }
.fm-reassure__item:last-child { border-bottom: 0; }
.fm-reassure__item svg { flex: 0 0 22px; width: 22px; height: 22px; color: #1D4ED8; margin-top: 2px; }
.fm-reassure__item strong { display: block; font-weight: 700; font-size: 15px; color: #101012; margin-bottom: 2px; }
.fm-reassure__item span { font-size: 13.5px; line-height: 1.5; color: #6F7076; }

/* ── logo : « Maison » épuré ── */
.fm-logo__m { font-weight: 400; color: #6F7076; }
