/* ==========================================================================
   INSUN Design – charte graphique
   Encre #1C1A18 (remplace le noir) · Rouille #B8461A (couleur secondaire)
   ========================================================================== */
:root {
	--insun-ink: #1C1A18;
	--insun-ink-2: #2A2724;
	--insun-ink-3: #3A3631;
	--insun-rust: #B8461A;
	--insun-rust-dark: #963813;
	--insun-rust-light: #E0835C;   /* rouille éclaircie : texte sur fond encre */
	--insun-sand: #F5F0E9;
	--insun-sand-2: #EAE2D7;
	--insun-line: #DDD4C8;
	--insun-muted: #6E665D;
	--insun-white: #FFFFFF;
	--insun-radius: 6px;
	--insun-radius-lg: 14px;
	--insun-shadow: 0 10px 30px rgba(28, 26, 24, .08);
	--insun-shadow-lg: 0 18px 50px rgba(28, 26, 24, .16);
	--insun-font: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--insun-display: 'Bebas Neue', 'Oswald', Impact, sans-serif;
	--insun-wrap: 1240px;
}

/* ---------- Base ---------- */
body.insun { font-family: var(--insun-font); color: var(--insun-ink); background: var(--insun-white); -webkit-font-smoothing: antialiased; }
body.insun, body.insun p, body.insun li, body.insun td, body.insun th, body.insun label, body.insun input, body.insun select, body.insun textarea { font-family: var(--insun-font); }
body.insun h1, body.insun h2, body.insun h3, body.insun h4, body.insun .entry-title, body.insun .product_title,
body.insun .woocommerce-loop-product__title, body.insun .woocommerce-loop-category__title, body.insun .elementor-heading-title {
	font-family: var(--insun-display); font-weight: 400; letter-spacing: .02em; color: var(--insun-ink); line-height: 1.05;
}
body.insun a { color: var(--insun-rust); transition: color .2s, background-color .2s, border-color .2s, opacity .2s; }
body.insun a:hover { color: var(--insun-rust-dark); }
body.insun ::selection { background: var(--insun-rust); color: #fff; }
body.insun :focus-visible { outline: 2px solid var(--insun-rust); outline-offset: 2px; }
.insun-wrap { width: 100%; max-width: var(--insun-wrap); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* ---------- Barre du haut et en-tête (OceanWP) ---------- */
body.insun #top-bar-wrap { background: var(--insun-rust); border: 0; }
body.insun #top-bar-wrap, body.insun #top-bar-wrap a, body.insun #top-bar-content, body.insun #top-bar-social li a { color: #fff; font-size: 12px; letter-spacing: .04em; }
body.insun #top-bar-wrap a:hover { color: var(--insun-ink); }
body.insun #site-header, body.insun #site-header.minimal-header, body.insun #site-header-inner, body.insun .oceanwp-sticky-header-holder #site-header { background: var(--insun-ink); border-bottom: 0; }
body.insun #site-navigation-wrap .dropdown-menu > li > a, body.insun #site-header .oceanwp-mobile-menu-icon a,
body.insun #site-navigation-wrap .dropdown-menu > li > a .nav-arrow, body.insun .wcmenucart, body.insun .site-search-toggle { color: #fff; }
body.insun #site-navigation-wrap .dropdown-menu > li > a { font-family: var(--insun-font); font-weight: 500; font-size: 13px; letter-spacing: .08em; }
body.insun #site-navigation-wrap .dropdown-menu > li > a:hover,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-item > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-ancestor > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-parent > a { color: var(--insun-rust-light); }
body.insun .dropdown-menu .sub-menu { background: var(--insun-ink-2); border-top: 3px solid var(--insun-rust); box-shadow: var(--insun-shadow-lg); }
body.insun .dropdown-menu ul li a.menu-link { color: #EDE7DF; border-color: var(--insun-ink-3); font-size: 13px; text-transform: none; letter-spacing: .01em; font-weight: 400; }
body.insun .dropdown-menu ul li a.menu-link:hover { background: var(--insun-ink-3); color: #fff; }
body.insun .wcmenucart-details.count, body.insun .wcmenucart-cart-icon .wcmenucart-count { background: var(--insun-rust); border-color: var(--insun-rust); color: #fff; }
body.insun .custom-logo { filter: none; }
body.insun #mobile-fullscreen { background: rgba(28, 26, 24, .97); }
body.insun #mobile-fullscreen a, body.insun #mobile-fullscreen .close { color: #fff; }
body.insun #mobile-fullscreen a:hover { color: var(--insun-rust-light); }
body.insun #searchform-overlay { background: rgba(28, 26, 24, .95); }
body.insun #searchform-overlay form input, body.insun #searchform-overlay form label { color: #fff; border-color: rgba(255,255,255,.4); }

/* ---------- Boutons ---------- */
body.insun .button, body.insun button.button, body.insun input[type="submit"], body.insun input[type="button"], body.insun button[type="submit"],
body.insun .wp-block-button__link, body.insun .wc-block-components-button:not(.is-link), body.insun .wpforms-submit,
body.insun .elementor-button, body.insun #respond #submit, body.insun .woocommerce .button.alt, body.insun .added_to_cart {
	background: var(--insun-rust); color: #fff; border: 1px solid var(--insun-rust); border-radius: var(--insun-radius);
	font-family: var(--insun-font); font-weight: 500; letter-spacing: .06em; text-transform: uppercase; font-size: 13px;
	padding: 12px 22px; line-height: 1.2; box-shadow: none; transition: background-color .2s, border-color .2s, color .2s;
}
body.insun .button:hover, body.insun button.button:hover, body.insun input[type="submit"]:hover, body.insun button[type="submit"]:hover,
body.insun .wp-block-button__link:hover, body.insun .wc-block-components-button:not(.is-link):hover, body.insun .wpforms-submit:hover,
body.insun .elementor-button:hover, body.insun .woocommerce .button.alt:hover, body.insun .added_to_cart:hover {
	background: var(--insun-ink); border-color: var(--insun-ink); color: #fff;
}
.insun-btn { display: inline-flex; align-items: center; gap: .5em; padding: 14px 26px; border-radius: var(--insun-radius); font-weight: 500; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border: 1px solid transparent; }
body.insun .insun-btn--primary { background: var(--insun-rust); color: #fff; border-color: var(--insun-rust); }
body.insun .insun-btn--primary:hover { background: var(--insun-ink); border-color: var(--insun-ink); color: #fff; }
body.insun .insun-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
body.insun .insun-btn--ghost:hover { background: #fff; color: var(--insun-ink); }
body.insun .insun-btn--link { padding: 0 0 4px; border-radius: 0; color: var(--insun-ink); border-bottom: 2px solid var(--insun-rust); white-space: nowrap; }
body.insun .insun-btn--link:hover { color: var(--insun-rust); }
body.insun .insun-section--ink .insun-btn--link { color: #fff; }

/* ---------- Formulaires ---------- */
body.insun input[type="text"], body.insun input[type="email"], body.insun input[type="tel"], body.insun input[type="number"], body.insun input[type="password"],
body.insun input[type="search"], body.insun input[type="url"], body.insun input[type="date"], body.insun select, body.insun textarea,
body.insun .wpforms-container .wpforms-field input, body.insun .wpforms-container .wpforms-field select, body.insun .wpforms-container .wpforms-field textarea {
	border: 1px solid var(--insun-line); border-radius: var(--insun-radius); background: #fff; color: var(--insun-ink); padding: 11px 14px; font-size: 14px; box-shadow: none;
}
body.insun input:focus, body.insun select:focus, body.insun textarea:focus, body.insun .wpforms-field input:focus, body.insun .wpforms-field textarea:focus { border-color: var(--insun-rust); outline: none; box-shadow: 0 0 0 3px rgba(184, 70, 26, .15); }
body.insun .wpforms-container .wpforms-field-label { font-weight: 500; color: var(--insun-ink); font-size: 14px; }
body.insun .wpforms-container .wpforms-required-label { color: var(--insun-rust); }

/* ---------- WooCommerce : listes de produits ---------- */
body.insun ul.products li.product .product-inner { background: #fff; border: 1px solid var(--insun-sand-2); border-radius: var(--insun-radius-lg); padding: 14px 14px 18px; height: 100%; transition: box-shadow .25s, transform .25s; }
body.insun ul.products li.product:hover .product-inner { box-shadow: var(--insun-shadow); transform: translateY(-2px); }
body.insun ul.products li.product .woo-entry-image img, body.insun ul.products li.product img { border-radius: 10px; }
body.insun ul.products li.product .woocommerce-loop-product__title, body.insun ul.products li.product li.title a, body.insun ul.products li.product .title a {
	font-family: var(--insun-font); font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--insun-ink); line-height: 1.35; text-transform: none;
}
body.insun ul.products li.product li.category a, body.insun ul.products li.product .category { color: var(--insun-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
body.insun .price, body.insun .price .amount, body.insun ul.products li.product .price, body.insun .woocommerce-Price-amount { color: var(--insun-ink); font-weight: 600; }
body.insun .price del, body.insun .price del .amount { color: var(--insun-muted); font-weight: 400; opacity: .8; }
body.insun .price ins, body.insun .price ins .amount { color: var(--insun-rust); text-decoration: none; }
body.insun .onsale, body.insun span.onsale, body.insun .woocommerce span.onsale { background: var(--insun-rust); color: #fff; border-radius: 999px; font-weight: 600; letter-spacing: .06em; font-size: 11px; padding: 5px 10px; }
body.insun .outofstock-badge { background: var(--insun-ink); color: #fff; border-radius: 999px; }
body.insun ul.products li.product .button { width: 100%; text-align: center; background: transparent; color: var(--insun-ink); border: 1px solid var(--insun-ink); padding: 10px 14px; font-size: 12px; }
body.insun ul.products li.product .button:hover { background: var(--insun-ink); color: #fff; }
body.insun .star-rating span::before, body.insun .star-rating::before { color: var(--insun-rust); }

/* Catégories (cartes) */
body.insun ul.products li.product-category .product-inner, body.insun .products .product-category .product-inner,
body.insun ul.products.subcategories li.product-category { background: var(--insun-ink); border: 0; border-radius: var(--insun-radius-lg); padding: 10px; overflow: hidden; }
body.insun .products .product-category .product-inner:hover, body.insun ul.products.subcategories li.product-category:hover { background: var(--insun-rust); }
body.insun .products .product-category h2, body.insun ul.products.subcategories li.product-category h2,
body.insun .woocommerce-loop-category__title { color: #fff !important; font-family: var(--insun-display); font-size: 22px; letter-spacing: .04em; padding: 10px 6px 4px; margin: 0; }
body.insun .woocommerce-loop-category__title mark { background: none; color: rgba(255,255,255,.7); font-family: var(--insun-font); font-size: 12px; }

/* Fiche produit */
body.insun.single-product .product_title { font-size: clamp(32px, 4vw, 48px); margin-bottom: 12px; }
body.insun.single-product .summary .price { font-size: 26px; }
body.insun.single-product .woocommerce-product-details__short-description { color: var(--insun-ink-3); font-size: 15px; line-height: 1.7; }
body.insun .woocommerce-tabs ul.tabs li a { color: var(--insun-muted); font-weight: 500; letter-spacing: .06em; }
body.insun .woocommerce-tabs ul.tabs li.active a { color: var(--insun-ink); border-color: var(--insun-rust); }
body.insun .woocommerce-tabs .panel h2:first-child { display: none; }
body.insun .woocommerce-tabs .panel h2, body.insun .woocommerce-tabs .panel h3 { margin: 28px 0 10px; }
body.insun .woocommerce div.product .woocommerce-tabs .panel, body.insun .woocommerce-Tabs-panel { line-height: 1.75; }
body.insun table.shop_attributes th, body.insun table.shop_attributes td { border-color: var(--insun-sand-2); padding: 10px 14px; }
body.insun table.shop_attributes tr:nth-child(even) th, body.insun table.shop_attributes tr:nth-child(even) td { background: var(--insun-sand); }
body.insun .product_meta { color: var(--insun-muted); font-size: 13px; }
body.insun .product_meta a { color: var(--insun-ink); }
body.insun .quantity .qty, body.insun .quantity .minus, body.insun .quantity .plus { border-color: var(--insun-line); color: var(--insun-ink); }
body.insun .woocommerce-message, body.insun .woocommerce-info, body.insun .wc-block-components-notice-banner { border-color: var(--insun-rust); border-radius: var(--insun-radius); }
body.insun .woocommerce-message::before, body.insun .woocommerce-info::before { color: var(--insun-rust); }
body.insun .woocommerce-pagination .page-numbers li a, body.insun .woocommerce-pagination .page-numbers li span { border-color: var(--insun-line); color: var(--insun-ink); border-radius: var(--insun-radius); }
body.insun .woocommerce-pagination .page-numbers li span.current, body.insun .woocommerce-pagination .page-numbers li a:hover { background: var(--insun-ink); border-color: var(--insun-ink); color: #fff; }
body.insun .woocommerce-breadcrumb, body.insun .woocommerce-breadcrumb a { color: var(--insun-muted); font-size: 12px; }
body.insun .wc-block-cart__submit-container a, body.insun .wc-block-components-checkout-place-order-button { background: var(--insun-rust); color: #fff; }
body.insun .wc-block-cart__submit-container a:hover, body.insun .wc-block-components-checkout-place-order-button:hover { background: var(--insun-ink); }
body.insun .woocommerce .woocommerce-ordering select, body.insun .oceanwp-grid-list a.active, body.insun .oceanwp-grid-list a:hover { border-color: var(--insun-ink); color: var(--insun-ink); }
/* titre de la boutique / catégorie */
body.insun.woocommerce-shop .page-header, body.insun.tax-product_cat .page-header { background: var(--insun-sand); }

/* ---------- Blog (OceanWP) ---------- */
body.insun .blog-entry .blog-entry-inner, body.insun .blog-entry.grid-entry .blog-entry-inner { border: 1px solid var(--insun-sand-2); border-radius: var(--insun-radius-lg); overflow: hidden; }
body.insun .blog-entry-readmore a, body.insun .blog-entry .blog-entry-title a:hover { color: var(--insun-rust); }
body.insun .single-post .entry-content h2, body.insun .single-post .entry-content h3 { margin-top: 1.4em; }

/* ---------- Sections génériques ---------- */
.insun-section { padding: clamp(56px, 7vw, 96px) 0; }
.insun-section--sand { background: var(--insun-sand); }
.insun-section--ink { background: var(--insun-ink); color: #EDE7DF; }
body.insun .insun-section--ink h2, body.insun .insun-section--ink h3 { color: #fff; }
.insun-kicker { font-family: var(--insun-font); font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--insun-rust); margin: 0 0 10px; }
.insun-section--ink .insun-kicker { color: var(--insun-rust-light); }
.insun-head { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.insun-head h2 { font-size: clamp(36px, 4.6vw, 58px); margin: 0 0 12px; }
.insun-head p { color: var(--insun-muted); font-size: 15px; line-height: 1.7; margin: 0; }
.insun-section--ink .insun-head p { color: #BDB4A9; }
.insun-head--split { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; text-align: left; }
.insun-head--split > div { max-width: 680px; }
.insun-card { background: #fff; border-radius: var(--insun-radius-lg); padding: clamp(24px, 3vw, 40px); box-shadow: var(--insun-shadow); }
.insun-card--ink { background: var(--insun-ink); color: #EDE7DF; }
body.insun .insun-card--ink h2 { color: #fff; }
.insun-page-head { background: var(--insun-ink); color: #EDE7DF; padding: clamp(56px, 8vw, 110px) 0 clamp(40px, 5vw, 70px); }
body.insun .insun-page-head h1 { color: #fff; font-size: clamp(44px, 6vw, 80px); margin: 0 0 12px; }
.insun-page-head p { max-width: 640px; color: #BDB4A9; font-size: 16px; line-height: 1.7; margin: 0; }
.insun-page-head .insun-kicker { color: var(--insun-rust-light); }

/* ---------- Accueil ---------- */
.insun-home ul.products { margin-bottom: 0; }
.insun-hero { position: relative; min-height: clamp(520px, 80vh, 780px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: var(--insun-ink); }
.insun-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; }
.insun-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,26,24,.15) 0%, rgba(28,26,24,.35) 45%, rgba(28,26,24,.88) 100%); }
.insun-hero__inner { position: relative; z-index: 1; padding-top: 120px; padding-bottom: clamp(48px, 8vw, 96px); }
.insun-hero .insun-kicker { color: var(--insun-rust-light); }
body.insun .insun-hero__title { color: #fff; font-size: clamp(56px, 9vw, 128px); line-height: .92; margin: 0 0 18px; max-width: 900px; }
.insun-hero__text { max-width: 560px; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; color: #EDE7DF; margin: 0 0 28px; }
.insun-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }

.insun-trust { background: var(--insun-ink); color: #EDE7DF; border-top: 1px solid var(--insun-ink-3); }
.insun-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.insun-trust__grid > div { padding: 22px 18px; border-left: 1px solid var(--insun-ink-3); display: flex; flex-direction: column; gap: 2px; }
.insun-trust__grid > div:first-child { border-left: 0; }
.insun-trust strong { font-family: var(--insun-display); font-weight: 400; font-size: 22px; letter-spacing: .04em; color: #fff; }
.insun-trust span { font-size: 13px; color: #BDB4A9; }

.insun-universes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.insun-universe { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: var(--insun-radius-lg); overflow: hidden; color: #fff; text-decoration: none; background: var(--insun-ink); }
.insun-universe img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease, opacity .3s; opacity: .85; }
.insun-universe::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,26,24,0) 35%, rgba(28,26,24,.9) 100%); }
.insun-universe:hover img { transform: scale(1.05); opacity: .7; }
.insun-universe__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 22px; display: flex; flex-direction: column; gap: 4px; }
.insun-universe__brand { font-family: var(--insun-display); font-size: 40px; letter-spacing: .06em; line-height: 1; color: #fff; }
.insun-universe__title { font-size: 14px; color: #EDE7DF; line-height: 1.4; }
.insun-universe__more { margin-top: 10px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--insun-rust-light); }

.insun-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.insun-duo img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--insun-radius-lg); display: block; }

.insun-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.insun-split--reverse .insun-split__media { order: 2; }
.insun-split__media img { width: 100%; height: auto; border-radius: var(--insun-radius-lg); display: block; box-shadow: var(--insun-shadow); }
.insun-split__text h2 { font-size: clamp(36px, 4.4vw, 56px); margin: 0 0 16px; }
.insun-split__text p { color: var(--insun-ink-3); font-size: 15px; line-height: 1.8; margin: 0 0 26px; }

.insun-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.insun-post { display: flex; flex-direction: column; gap: 8px; background: #fff; border-radius: var(--insun-radius-lg); overflow: hidden; text-decoration: none; color: var(--insun-ink); padding-bottom: 22px; transition: box-shadow .25s, transform .25s; }
.insun-post:hover { box-shadow: var(--insun-shadow); transform: translateY(-2px); }
.insun-post__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--insun-sand-2); }
.insun-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.insun-post__date, .insun-post__title, .insun-post__more { padding: 0 22px; }
.insun-post__date { margin-top: 10px; font-size: 12px; color: var(--insun-muted); letter-spacing: .06em; text-transform: uppercase; }
.insun-post__title { font-family: var(--insun-display); font-size: 26px; line-height: 1.05; letter-spacing: .02em; color: var(--insun-ink); }
.insun-post__more { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--insun-rust); }

.insun-about { position: relative; padding: clamp(70px, 10vw, 140px) 0; background: var(--insun-ink); overflow: hidden; }
.insun-about__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.insun-about .insun-wrap { position: relative; z-index: 1; }
.insun-about__box { max-width: 640px; background: rgba(245, 240, 233, .96); border-radius: var(--insun-radius-lg); padding: clamp(28px, 4vw, 52px); }
.insun-about__box h2 { font-size: clamp(36px, 4.4vw, 56px); margin: 0 0 18px; }
.insun-values { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.insun-values li { padding-left: 18px; border-left: 3px solid var(--insun-rust); font-size: 14px; line-height: 1.6; color: var(--insun-ink-3); }
.insun-values strong { display: block; color: var(--insun-ink); font-weight: 600; }

/* ---------- Contact ---------- */
.insun-contact__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: start; margin-top: -90px; position: relative; z-index: 2; }
.insun-contact__info h2 { font-size: 34px; margin: 0 0 20px; }
.insun-map iframe { display: block; width: 100%; height: 380px; border: 0; filter: grayscale(.6) contrast(1.05); }

/* Coordonnées */
.insun-coords { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.insun-coords li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.55; }
.insun-ico { flex: 0 0 30px; height: 30px; border-radius: 50%; background: var(--insun-rust); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
.insun-card--ink .insun-coords a, .insun-footer .insun-coords a { color: #fff; }
.insun-card--ink .insun-coords a:hover, .insun-footer .insun-coords a:hover { color: var(--insun-rust-light); }
.insun-social { display: flex; gap: 10px; flex-wrap: wrap; }
body.insun .insun-social a { display: inline-block; padding: 8px 14px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: #fff; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
body.insun .insun-social a:hover { background: var(--insun-rust); border-color: var(--insun-rust); color: #fff; }

/* ---------- Footer ---------- */
.insun-footer { background: var(--insun-ink); color: #BDB4A9; font-size: 14px; }
.insun-footer__perks { background: var(--insun-sand); color: var(--insun-ink); }
.insun-footer__perks-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.insun-footer__perks-grid > * { padding: 26px 20px; border-left: 1px solid var(--insun-line); display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--insun-ink); }
.insun-footer__perks-grid > *:first-child { border-left: 0; }
body.insun .insun-footer__perks-grid a:hover { background: var(--insun-sand-2); color: var(--insun-ink); }
.insun-footer__perks strong { font-family: var(--insun-display); font-weight: 400; font-size: 24px; letter-spacing: .04em; color: var(--insun-ink); }
.insun-footer__perks span { font-size: 13px; color: var(--insun-muted); }
.insun-footer__main { padding: 64px 0 48px; }
.insun-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.5fr; gap: 40px; }
.insun-footer__logo img { max-width: 170px; height: auto; display: block; margin-bottom: 18px; }
.insun-footer__brand p { line-height: 1.7; margin: 0; max-width: 320px; }
body.insun .insun-footer h3 { font-family: var(--insun-display); color: #fff; font-size: 22px; letter-spacing: .06em; margin: 0 0 16px; }
.insun-footer__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
body.insun .insun-footer__nav a { color: #BDB4A9; text-decoration: none; }
body.insun .insun-footer__nav a:hover { color: #fff; }
.insun-footer__bottom { border-top: 1px solid var(--insun-ink-3); padding: 18px 0; font-size: 12px; }
.insun-footer__bottom .insun-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.insun-footer__bottom span { display: flex; flex-wrap: wrap; gap: 18px; }
body.insun .insun-footer__bottom a { color: #BDB4A9; text-decoration: none; }
body.insun .insun-footer__bottom a:hover { color: #fff; }

/* ---------- Popup ---------- */
.insun-popup { position: fixed; inset: 0; z-index: 99999; background: rgba(28, 26, 24, .7); display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; transition: opacity .25s; }
.insun-popup.is-open { opacity: 1; }
.insun-popup[hidden] { display: none; }
.insun-popup__box { position: relative; max-width: 560px; width: 100%; border-radius: var(--insun-radius-lg); overflow: hidden; box-shadow: var(--insun-shadow-lg); transform: translateY(12px); transition: transform .25s; background: #fff; }
.insun-popup.is-open .insun-popup__box { transform: none; }
.insun-popup__box img { display: block; width: 100%; height: auto; }
body.insun .insun-popup__close { position: absolute; top: 10px; right: 10px; width: 38px; height: 38px; padding: 0; border-radius: 50%; background: var(--insun-ink); border: 0; color: #fff; font-size: 22px; line-height: 38px; text-align: center; cursor: pointer; }
body.insun .insun-popup__close:hover { background: var(--insun-rust); }

/* ---------- Pages Elementor restantes : harmonisation ---------- */
body.insun .elementor-widget-text-editor { color: var(--insun-ink-3); line-height: 1.75; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.insun-universes { grid-template-columns: repeat(2, 1fr); }
	.insun-trust__grid, .insun-footer__perks-grid { grid-template-columns: repeat(2, 1fr); }
	.insun-trust__grid > div:nth-child(3), .insun-footer__perks-grid > *:nth-child(3) { border-left: 0; }
	.insun-trust__grid > div:nth-child(n+3), .insun-footer__perks-grid > *:nth-child(n+3) { border-top: 1px solid var(--insun-ink-3); }
	.insun-footer__perks-grid > *:nth-child(n+3) { border-top-color: var(--insun-line); }
	.insun-footer__grid { grid-template-columns: 1fr 1fr; }
	.insun-posts { grid-template-columns: repeat(2, 1fr); }
	.insun-contact__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.insun-head--split { flex-direction: column; align-items: flex-start; }
	.insun-split, .insun-duo { grid-template-columns: 1fr; }
	.insun-split--reverse .insun-split__media { order: 0; }
	.insun-posts { grid-template-columns: 1fr; }
	.insun-footer__grid { grid-template-columns: 1fr; gap: 32px; }
	.insun-universe { aspect-ratio: 4 / 5; }
	.insun-universe__brand { font-size: 32px; }
	.insun-contact__grid { margin-top: -50px; }
}
@media (max-width: 480px) {
	.insun-universes { grid-template-columns: 1fr; }
	.insun-trust__grid, .insun-footer__perks-grid { grid-template-columns: 1fr; }
	.insun-trust__grid > div, .insun-footer__perks-grid > * { border-left: 0; border-top: 1px solid var(--insun-ink-3); }
	.insun-footer__perks-grid > * { border-top-color: var(--insun-line); }
}
@media (prefers-reduced-motion: reduce) {
	.insun-universe img, .insun-post, ul.products li.product .product-inner, .insun-popup, .insun-popup__box { transition: none; }
}

/* ---------- Correctifs ---------- */
body.insun #site-navigation-wrap .dropdown-menu > li > a { padding: 0 10px; letter-spacing: .05em; font-size: 12.5px; }
@media (min-width: 960px) {
	body.insun #site-header-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; }
	body.insun #site-header-inner > #site-logo { flex: 0 0 auto; float: none; }
	body.insun #site-header-inner > #site-navigation-wrap { float: none; margin-left: auto; }
}
body.insun .button, body.insun .insun-btn, body.insun .wp-block-button__link, body.insun .added_to_cart,
body.insun ul.products li.product a, body.insun .product-category a, body.insun .woocommerce-loop-category__title,
body.insun .insun-universe, body.insun .insun-post, body.insun .insun-footer a, body.insun .insun-footer__perks-grid a { text-decoration: none !important; }
/* Formulaires WPForms : bouton aux couleurs INSUN */
body.insun .wpforms-container button[type="submit"].wpforms-submit, body.insun div.wpforms-container-full button[type="submit"] {
	background-color: var(--insun-rust) !important; border-color: var(--insun-rust) !important; color: #fff !important; border-radius: var(--insun-radius) !important; padding: 14px 28px !important; height: auto !important;
}
body.insun .wpforms-container button[type="submit"].wpforms-submit:hover, body.insun div.wpforms-container-full button[type="submit"]:hover { background-color: var(--insun-ink) !important; border-color: var(--insun-ink) !important; }
body.insun .insun-coords a { text-decoration: none; }
/* Barre du haut : masquée sur mobile (le téléphone et l'e-mail sont dans le footer) */
@media (max-width: 767px) { body.insun #top-bar-wrap { display: none; } }
/* Bandeau cookies */
body.insun #consent-banner-modal { box-shadow: 0 -10px 40px rgba(28,26,24,.18); border-top: 3px solid var(--insun-rust); }
body.insun #consent-banner-modal h2, body.insun #consent-banner-settings h2 { font-family: var(--insun-display); letter-spacing: .04em; color: var(--insun-ink); }
body.insun #consent-banner-main a:not(.consent-banner-button) { color: var(--insun-rust); }
body.insun .consent-banner-button { color: var(--insun-ink) !important; border-color: var(--insun-ink) !important; border-width: 1px !important; border-radius: var(--insun-radius) !important; font-family: var(--insun-font); font-size: 13px; letter-spacing: .04em; }
body.insun .consent-banner-button:hover { background: var(--insun-ink) !important; color: #fff !important; }
body.insun .consent-banner-button[href="#accept"] { background: var(--insun-rust) !important; border-color: var(--insun-rust) !important; color: #fff !important; }
body.insun .consent-banner-button[href="#accept"]:hover { background: var(--insun-ink) !important; border-color: var(--insun-ink) !important; }
/* Barre du haut : messages paiement + livraison */
body.insun #top-bar-content { font-weight: 500; letter-spacing: .03em; }
body.insun #top-bar-wrap .insun-sep { margin: 0 .6em; opacity: .7; }
@media (max-width: 767px) {
	body.insun #top-bar-wrap { display: block; }
	body.insun #top-bar-social { display: none; }
	body.insun #top-bar-content { font-size: 11px; line-height: 1.5; padding: 6px 0; text-align: center; }
}

/* ---------- En-tête : menu par type de produit et icônes ---------- */
:root {
	--insun-svg-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 20 20'/%3E%3C/svg%3E");
	--insun-svg-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 11.2a1.5 1.5 0 0 1-1.5 1.3H7.7a1.5 1.5 0 0 1-1.5-1.3L5 8Z'/%3E%3Cpath d='M9 10V6.5a3 3 0 0 1 6 0V10'/%3E%3C/svg%3E");
	--insun-svg-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.8'/%3E%3Cpath d='M4.5 20c1.2-3.6 4.1-5.5 7.5-5.5s6.3 1.9 7.5 5.5'/%3E%3C/svg%3E");
}
body.insun #site-navigation-wrap .dropdown-menu > li > a { padding: 0 12px; }
/* icônes : masque SVG coloré par currentColor */
body.insun .search-toggle-li a i, body.insun .wcmenucart-cart-icon i, body.insun .wcmenucart i, body.insun .oceanwp-mobile-menu-icon .wcmenucart i { display: none !important; }
body.insun .insun-icon, body.insun .search-toggle-li a::before, body.insun .wcmenucart::before {
	content: ""; display: inline-block; width: 22px; height: 22px; background-color: currentColor; vertical-align: middle;
	-webkit-mask: var(--insun-svg-user) center / contain no-repeat; mask: var(--insun-svg-user) center / contain no-repeat;
}
body.insun .search-toggle-li a::before { -webkit-mask-image: var(--insun-svg-search); mask-image: var(--insun-svg-search); }
body.insun .wcmenucart::before { -webkit-mask-image: var(--insun-svg-bag); mask-image: var(--insun-svg-bag); }
body.insun .search-toggle-li a, body.insun .woo-menu-icon .wcmenucart, body.insun .insun-icon-link { display: inline-flex !important; align-items: center; gap: 6px; color: #fff !important; }
body.insun .search-toggle-li a:hover, body.insun .woo-menu-icon .wcmenucart:hover, body.insun .insun-icon-link:hover { color: var(--insun-rust-light) !important; }
body.insun #site-navigation-wrap .dropdown-menu > li.search-toggle-li > a,
body.insun #site-navigation-wrap .dropdown-menu > li.woo-menu-icon > a,
body.insun #site-navigation-wrap .dropdown-menu > li.insun-icon-li > a { padding: 0 8px; }
body.insun .insun-icon-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* compteur du panier : pastille rouille */
body.insun .wcmenucart { position: relative; }
body.insun .wcmenucart .wcmenucart-details.count, body.insun .wcmenucart-cart-icon .wcmenucart-count {
	position: absolute; top: 50%; right: -6px; margin-top: -17px; min-width: 17px; height: 17px; line-height: 17px; padding: 0 4px; border-radius: 999px;
	font-size: 10px; font-weight: 600; background: var(--insun-rust); border: 0; color: #fff; text-align: center;
}
body.insun .wcmenucart .wcmenucart-details.count::before, body.insun .wcmenucart .wcmenucart-details.count::after { display: none; }
/* ordre : recherche, compte, panier, langue */
body.insun #site-navigation-wrap .dropdown-menu > li.search-toggle-li { order: 90; }
body.insun #site-navigation-wrap .dropdown-menu > li.insun-account-li { order: 91; }
body.insun #site-navigation-wrap .dropdown-menu > li.woo-menu-icon { order: 92; }
body.insun #site-navigation-wrap .dropdown-menu > li.pll-parent-menu-item, body.insun #site-navigation-wrap .dropdown-menu > li.lang-item { order: 93; }
@media (min-width: 960px) { body.insun #site-navigation-wrap .dropdown-menu { display: flex; align-items: center; } }
body.insun #site-navigation-wrap .dropdown-menu > li.lang-item > a img { width: 18px; height: auto; border-radius: 2px; }
/* séparation visuelle entre le menu et les icônes */
body.insun #site-navigation-wrap .dropdown-menu > li.search-toggle-li { margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--insun-ink-3); }
/* mobile : libellé visible dans le menu plein écran */
body.insun #mobile-fullscreen .insun-icon-label { position: static; width: auto; height: auto; clip: auto; }
body.insun #mobile-fullscreen .insun-icon { display: none; }
/* menu sur une ligne */
@media (min-width: 960px) {
	body.insun #site-navigation-wrap .dropdown-menu > li { flex: 0 0 auto; }
	body.insun #site-navigation-wrap .dropdown-menu > li > a { white-space: nowrap; padding: 0 9px; font-size: 12px; letter-spacing: .06em; }
	body.insun #site-navigation-wrap .dropdown-menu > li > a .nav-arrow { margin-left: 3px; font-size: 9px; }
	body.insun #site-logo #site-logo-inner a img, body.insun #site-header #site-logo img { max-height: 58px; width: auto; }
	body.insun #site-navigation-wrap .dropdown-menu > li.search-toggle-li { margin-left: 8px; padding-left: 10px; }
}
@media (min-width: 960px) and (max-width: 1360px) {
	body.insun #site-navigation-wrap .dropdown-menu > li > a { padding: 0 6px; font-size: 11px; letter-spacing: .04em; }
	body.insun #site-header #site-logo img { max-height: 46px; }
}
/* menu mobile (sous 1200 px) : icônes à droite */
@media (max-width: 1199px) {
	body.insun #site-header-inner { display: flex; align-items: center; justify-content: space-between; }
	body.insun #site-header-inner > .oceanwp-mobile-menu-icon { margin-left: auto; float: none; }
	body.insun #site-header-inner > #site-navigation-wrap { display: none; }
}

/* ---------- Barre du haut charbon + en-tête resserré ---------- */
body.insun #top-bar-wrap { background: var(--insun-ink); border-bottom: 1px solid #3A3631; }
body.insun #top-bar-wrap a:hover { color: var(--insun-rust-light); }
body.insun #top-bar { display: flex; align-items: center; gap: 14px; padding: 8px 0; }
body.insun #top-bar-inner { display: contents; }
body.insun #top-bar-content { order: 1; flex: 1 1 auto; float: none; }
body.insun .insun-topbar-lang { order: 2; display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.insun .insun-topbar-lang li { margin: 0; }
body.insun .insun-topbar-lang a { display: inline-flex; align-items: center; }
body.insun .insun-topbar-lang img { width: 18px !important; height: auto !important; border-radius: 2px; display: block; }
body.insun #top-bar-social { order: 3; float: none; position: static; }
@media (max-width: 767px) {
	body.insun #top-bar { justify-content: center; }
	body.insun #top-bar-content { flex: 0 1 auto; }
}
/* menu : sans flèches, typo plus grande */
body.insun #site-navigation-wrap .dropdown-menu > li > a .nav-arrow { display: none !important; }
@media (min-width: 1200px) {
	body.insun #site-navigation-wrap .dropdown-menu > li > a { font-size: 14px; letter-spacing: .05em; padding: 0 11px; }
}
@media (min-width: 1200px) and (max-width: 1360px) {
	body.insun #site-navigation-wrap .dropdown-menu > li > a { font-size: 13px; letter-spacing: .03em; padding: 0 8px; }
}
body.insun #top-bar-social { display: flex; align-items: center; margin: 0; }
body.insun #top-bar-social ul { display: flex; align-items: center; gap: 4px; margin: 0; }
body.insun #top-bar-social li, body.insun #top-bar-social li a { line-height: 1; display: inline-flex; }
body.insun #top-bar-content, body.insun #top-bar-content .topbar-content { padding-left: 0; margin-left: 0; }
@media (min-width: 768px) { body.insun #top-bar-content { text-align: left; } }
body.insun #top-bar::before, body.insun #top-bar::after, body.insun #top-bar-inner::before, body.insun #top-bar-inner::after { display: none; }
/* Logo SVG */
body.insun #site-logo #site-logo-inner, body.insun #site-logo #site-logo-inner a { display: flex; align-items: center; height: 100%; }
body.insun #site-header #site-logo img.insun-logo { height: 38px !important; max-height: none !important; width: auto !important; display: block; }
@media (min-width: 1200px) and (max-width: 1360px) { body.insun #site-header #site-logo img.insun-logo { height: 32px !important; } }
@media (max-width: 767px) { body.insun #site-header #site-logo img.insun-logo { height: 30px !important; } }
body.insun .insun-footer__logo-img { height: 40px; width: auto; display: block; margin-bottom: 18px; }

/* ---------- Boutique : colonne de filtres + grille 3 colonnes ---------- */
body.insun.woocommerce.archive #content-wrap { padding-top: 40px; }
body.insun.woocommerce.archive #right-sidebar, body.insun.woocommerce.archive .sidebar-container { font-size: 14px; }
@media (min-width: 960px) {
	body.insun.content-left-sidebar.woocommerce.archive #primary { width: 76%; }
	body.insun.content-left-sidebar.woocommerce.archive #right-sidebar { width: 24%; padding-right: 36px; padding-left: 0; border: 0; }
	body.insun.woocommerce.archive #right-sidebar-inner { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; padding-right: 6px; scrollbar-width: thin; }
}
body.insun #right-sidebar .sidebar-box { margin-bottom: 0; padding: 18px 0; border-bottom: 1px solid var(--insun-sand-2); }
body.insun #right-sidebar .sidebar-box:first-child { padding-top: 0; }
body.insun .sidebar-box .widget-title { font-family: var(--insun-display); font-size: 20px; letter-spacing: .05em; color: var(--insun-ink); border: 0; padding: 0; margin: 0 0 12px; text-transform: uppercase; }
body.insun .sidebar-box .widget-title::before { display: none; }
body.insun .sidebar-box ul { margin: 0; padding: 0; list-style: none; }
body.insun .sidebar-box ul li { padding: 5px 0; border: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
body.insun .sidebar-box ul li a { color: var(--insun-ink-3); text-decoration: none; }
body.insun .sidebar-box ul li a:hover, body.insun .sidebar-box ul li.current-cat > a, body.insun .sidebar-box ul li.chosen > a { color: var(--insun-rust); }
body.insun .sidebar-box .count { color: var(--insun-muted); font-size: 12px; background: var(--insun-sand); border-radius: 999px; padding: 1px 8px; }
body.insun .sidebar-box ul.children { width: 100%; padding-left: 12px; border-left: 1px solid var(--insun-sand-2); margin-top: 4px; }
/* filtres à cases (attributs, marques) */
body.insun .woocommerce-widget-layered-nav-list__item a::before, body.insun .widget_brand_nav li a::before {
	content: ""; display: inline-block; width: 15px; height: 15px; margin-right: 9px; vertical-align: -2px; border: 1px solid var(--insun-line); border-radius: 3px; background: #fff; transition: background .2s, border-color .2s;
}
body.insun .woocommerce-widget-layered-nav-list__item--chosen a::before, body.insun .widget_brand_nav li.chosen a::before {
	background: var(--insun-rust) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.2'%3E%3Cpath d='m3.5 8.5 3 3 6-7'/%3E%3C/svg%3E") center / 11px no-repeat; border-color: var(--insun-rust);
}
body.insun .woocommerce-widget-layered-nav-list__item--chosen a { color: var(--insun-ink); font-weight: 500; }
/* filtres actifs */
body.insun .widget_layered_nav_filters ul { display: flex; flex-wrap: wrap; gap: 6px; }
body.insun .widget_layered_nav_filters ul li { padding: 0; }
body.insun .widget_layered_nav_filters ul li a { display: inline-block; background: var(--insun-ink); color: #fff !important; border-radius: 999px; padding: 4px 12px; font-size: 12px; }
body.insun .widget_layered_nav_filters ul li a::before { color: var(--insun-rust-light); margin-right: 4px; }
/* curseur de prix */
body.insun .widget_price_filter .ui-slider { background: var(--insun-sand-2); height: 4px; border: 0; margin: 14px 6px 18px; }
body.insun .widget_price_filter .ui-slider .ui-slider-range { background: var(--insun-rust); }
body.insun .widget_price_filter .ui-slider .ui-slider-handle { background: #fff; border: 2px solid var(--insun-rust); width: 16px; height: 16px; top: -6px; border-radius: 50%; box-shadow: none; }
body.insun .widget_price_filter .price_slider_amount { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
body.insun .widget_price_filter .price_slider_amount .button { padding: 8px 14px; font-size: 11px; }
body.insun .widget_price_filter .price_label { color: var(--insun-ink-3); font-size: 13px; }
/* barre au-dessus de la grille (tri, nombre de résultats) */
body.insun .woocommerce .oceanwp-toolbar { border-color: var(--insun-sand-2); padding: 10px 0; margin-bottom: 24px; }
/* bouton filtres (mobile) */
.insun-filter-toggle { display: none; }
@media (max-width: 959px) {
	body.insun.woocommerce.archive #content-wrap { display: flex; flex-direction: column; }
	body.insun.woocommerce.archive #right-sidebar { order: -1; width: 100%; padding: 0; margin-bottom: 18px; }
	.insun-filter-toggle { display: flex; width: 100%; justify-content: space-between; align-items: center; }
	body.insun.woocommerce.archive #right-sidebar-inner { display: none; padding: 18px 0 4px; }
	body.insun.woocommerce.archive #right-sidebar.is-open #right-sidebar-inner { display: block; }
}
/* compteurs et bouton du filtre prix */
body.insun #right-sidebar .sidebar-box ul li .count { position: static; float: none; line-height: 18px; margin-left: auto; }
body.insun #right-sidebar .widget_product_categories ul li::before, body.insun #right-sidebar .widget_product_categories ul li > a::before { display: none !important; }
body.insun .widget_price_filter .price_slider_amount .button { line-height: 1.2; height: auto; padding: 8px 14px; overflow: visible; }
/* description de catégorie sous les produits */
.insun-cat-description { margin: 56px 0 0; padding: 40px 0 0; border-top: 1px solid var(--insun-sand-2); color: var(--insun-ink-3); line-height: 1.8; font-size: 14px; }
.insun-cat-description h2, .insun-cat-description h3 { font-size: 26px; margin: 26px 0 10px; }
body.insun #right-sidebar .sidebar-box ul li { flex-wrap: nowrap; align-items: flex-start; }
body.insun #right-sidebar .sidebar-box ul li > a { flex: 1 1 auto; min-width: 0; }
body.insun #right-sidebar .sidebar-box ul li .count { flex: 0 0 auto; margin-top: 1px; }
body.insun #right-sidebar .widget_product_categories ul li { flex-wrap: wrap; }
body.insun #right-sidebar .widget_product_categories ul li > ul.children { flex: 0 0 100%; }
@media (max-width: 768px) {
	body.insun ul.products.subcategories { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
	body.insun ul.products.subcategories li.product-category { width: auto !important; padding: 6px !important; margin: 0 !important; }
	body.insun ul.products.subcategories li.product-category h2 { font-size: 16px !important; padding: 6px 2px 2px; }
}
body.insun #right-sidebar .widget_product_categories ul li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; align-items: start; }
body.insun #right-sidebar .widget_product_categories ul li > ul.children { grid-column: 1 / -1; box-sizing: border-box; width: 100%; margin: 4px 0 0; }
body.insun #right-sidebar .widget_product_categories ul li .count { margin: 1px 0 0; }

/* ==========================================================================
   Boutique / catégories – version « maquette Braseros »
   ========================================================================== */
body.insun.woocommerce.archive, body.insun.woocommerce.archive #outer-wrap, body.insun.woocommerce.archive #wrap, body.insun.woocommerce.archive #main { background: var(--insun-sand); }
body.insun.woocommerce.archive #content-wrap { padding-top: 48px; }

/* Raccourcis (sous-catégories) : grande image + nom dessous */
body.insun.woocommerce.archive ul.products.subcategories { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0 0 44px; padding: 0; }
body.insun.woocommerce.archive ul.products.subcategories li.product-category { width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border-radius: 0; overflow: visible; }
body.insun.woocommerce.archive ul.products.subcategories li.product-category:hover { background: none !important; }
body.insun.woocommerce.archive ul.products.subcategories li.product-category a { display: block; text-decoration: none; }
body.insun.woocommerce.archive ul.products.subcategories li.product-category img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 10px; background: var(--insun-ink); margin: 0 0 12px; opacity: 1 !important; transition: transform .4s, filter .3s; }
body.insun.woocommerce.archive ul.products.subcategories li.product-category:hover img { filter: brightness(.88); }
body.insun.woocommerce.archive ul.products.subcategories li.product-category h2,
body.insun.woocommerce.archive .woocommerce-loop-category__title { color: var(--insun-ink) !important; font-family: var(--insun-font) !important; font-weight: 600; font-size: 17px !important; letter-spacing: 0; text-transform: none; text-align: left; padding: 0 !important; margin: 0; }
body.insun.woocommerce.archive .woocommerce-loop-category__title mark { display: none; }
@media (max-width: 768px) { body.insun.woocommerce.archive ul.products.subcategories { grid-template-columns: 1fr 1fr; gap: 14px; } body.insun.woocommerce.archive ul.products.subcategories li.product-category h2 { font-size: 15px !important; } }

/* Colonne de filtres épurée */
body.insun.woocommerce.archive #right-sidebar .sidebar-box { border: 0; padding: 0 0 26px; }
body.insun.woocommerce.archive #right-sidebar .sidebar-box .widget-title { font-family: var(--insun-font); font-weight: 600; font-size: 16px; letter-spacing: 0; text-transform: none; margin: 0 0 12px; }
body.insun.woocommerce.archive #right-sidebar .sidebar-box ul li { padding: 6px 0; }
body.insun.woocommerce.archive #right-sidebar .sidebar-box ul li a { color: var(--insun-ink); font-size: 15px; display: inline-flex; align-items: center; }
body.insun.woocommerce.archive #right-sidebar .sidebar-box .count { display: none !important; }
body.insun.woocommerce.archive #right-sidebar .woocommerce-widget-layered-nav-list__item a::before, body.insun.woocommerce.archive #right-sidebar .widget_brand_nav li a::before { width: 17px; height: 17px; margin-right: 12px; border-color: #B9AFA2; flex: 0 0 auto; }
.insun-swatch { display: inline-block; width: 16px; height: 16px; border-radius: 50%; margin-right: 10px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); flex: 0 0 auto; }
body.insun.woocommerce.archive #right-sidebar .widget_product_categories ul li a { font-size: 14px; color: var(--insun-ink-3); }

/* Barre au-dessus de la grille : « N produits » à gauche, « Trier par » à droite */
body.insun.woocommerce.archive .oceanwp-grid-list, body.insun.woocommerce.archive .result-count { display: none !important; }
body.insun.woocommerce.archive .oceanwp-toolbar { display: flex; align-items: center; justify-content: space-between; border: 0; padding: 0; margin: 0 0 24px; }
body.insun .insun-count { margin: 0; color: var(--insun-ink-3); font-size: 15px; order: 1; }
body.insun.woocommerce.archive .oceanwp-toolbar .woocommerce-ordering { order: 2; margin: 0 0 0 auto; display: flex; align-items: center; gap: 12px; float: none; }
body.insun.woocommerce.archive .oceanwp-toolbar .woocommerce-ordering::before { content: "Trier par"; font-size: 15px; color: var(--insun-ink); }
body.insun.insun-lang-en.woocommerce.archive .oceanwp-toolbar .woocommerce-ordering::before { content: "Sort by"; }
body.insun.woocommerce.archive .woocommerce-ordering .orderby, body.insun.woocommerce.archive .woocommerce-ordering .theme-select { min-width: 210px; background: #fff; border: 1px solid var(--insun-line); border-radius: 6px; height: 46px; font-size: 15px; color: var(--insun-ink); }

/* Cartes produits sans cadre */
body.insun.woocommerce.archive ul.products li.product .product-inner { background: transparent; border: 0; padding: 0; border-radius: 0; box-shadow: none !important; transform: none !important; position: relative; }
body.insun.woocommerce.archive ul.products li.product { margin-bottom: 44px; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image, body.insun.woocommerce.archive ul.products li.product .image-wrap { background: #EDE4D8; border-radius: 12px; overflow: hidden; margin-bottom: 14px; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image img { border-radius: 0; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; width: 100%; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-inner { text-align: left; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-inner li { text-align: left; margin-bottom: 6px; }
body.insun.woocommerce.archive ul.products li.product li.category { display: none; }
body.insun ul.products li.product .insun-meta { color: var(--insun-muted); font-size: 14px; margin-bottom: 4px; }
body.insun.woocommerce.archive ul.products li.product li.title a, body.insun.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--insun-font); font-weight: 600; font-size: 18px; line-height: 1.3; color: var(--insun-ink);
}
body.insun.woocommerce.archive ul.products li.product li.title a:hover { color: var(--insun-rust); }
body.insun.woocommerce.archive ul.products li.product .price, body.insun.woocommerce.archive ul.products li.product .price .amount { font-size: 22px; font-weight: 700; color: var(--insun-ink); }
body.insun.woocommerce.archive ul.products li.product .price del, body.insun.woocommerce.archive ul.products li.product .price del .amount { font-size: 15px; font-weight: 400; color: var(--insun-muted); }
body.insun.woocommerce.archive ul.products li.product .price ins .amount { color: var(--insun-rust); }
body.insun ul.products li.product .button.insun-view-btn { width: auto; display: inline-block; background: transparent; color: var(--insun-ink); border: 1.5px solid var(--insun-ink); border-radius: 6px; padding: 10px 22px; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; margin-top: 8px; }
body.insun ul.products li.product .button.insun-view-btn:hover { background: var(--insun-ink); color: #fff; }
/* badges */
.insun-badge { position: absolute; top: 14px; left: 14px; z-index: 3; background: var(--insun-ink); color: #fff; font-size: 13px; font-weight: 600; padding: 6px 13px; border-radius: 999px; line-height: 1; pointer-events: none; }
body.insun.woocommerce.archive ul.products li.product .onsale { top: 14px; right: 14px; left: auto; background: var(--insun-rust); }
body.insun.woocommerce.archive ul.products li.product .outofstock-badge { top: auto; bottom: 14px; left: 14px; right: auto; background: rgba(28,26,24,.85); font-size: 12px; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image img { mix-blend-mode: normal; object-fit: cover; }
body.insun ul.products li.product .insun-meta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.5; }
body.insun.woocommerce.archive ul.products li.product li.title { margin-bottom: 10px; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image { line-height: 0; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image a { display: block; }
body.insun .insun-count { white-space: nowrap; }
@media (max-width: 767px) {
	body.insun.woocommerce.archive .oceanwp-toolbar { gap: 12px; }
	body.insun.woocommerce.archive .oceanwp-toolbar .woocommerce-ordering::before { display: none; }
	body.insun.woocommerce.archive .woocommerce-ordering .orderby, body.insun.woocommerce.archive .woocommerce-ordering .theme-select { min-width: 0; width: 100%; }
	body.insun.woocommerce.archive .oceanwp-toolbar .woocommerce-ordering { flex: 1 1 auto; max-width: 62%; }
}
body.insun.woocommerce.archive ul.products li.product .onsale, body.insun ul.products li.product span.onsale { position: absolute; top: 14px !important; right: 14px !important; left: auto !important; width: auto !important; min-width: 0; height: auto; line-height: 1; padding: 6px 12px; margin: 0; z-index: 3; }

/* Bandeau des gammes (pleine largeur, au-dessus des filtres et des produits) */
.insun-ranges { background: var(--insun-sand); padding: 40px 0 0; }
.insun-ranges ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.insun-ranges--3 ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.insun-ranges--5 ul { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.insun-ranges--2 ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.insun-ranges li a { display: block; text-decoration: none !important; color: var(--insun-ink); }
.insun-ranges__img { display: block; aspect-ratio: 2 / 1; border-radius: 10px; overflow: hidden; background: var(--insun-ink); margin-bottom: 12px; }
.insun-ranges__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s, filter .3s; }
.insun-ranges li a:hover .insun-ranges__img img { transform: scale(1.04); filter: brightness(.9); }
.insun-ranges__label { display: block; font-weight: 600; font-size: 17px; line-height: 1.3; }
.insun-ranges li a:hover .insun-ranges__label { color: var(--insun-rust); }
.insun-ranges li.is-active .insun-ranges__img { box-shadow: 0 0 0 3px var(--insun-rust); }
.insun-ranges li.is-active .insun-ranges__label { color: var(--insun-rust); }
body.insun.woocommerce.archive #content-wrap { padding-top: 36px; }
@media (max-width: 959px) {
	.insun-ranges { padding-top: 24px; }
	.insun-ranges ul, .insun-ranges--3 ul, .insun-ranges--5 ul { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; padding-bottom: 6px; }
	.insun-ranges li { flex: 0 0 44%; scroll-snap-align: start; }
	.insun-ranges__label { font-size: 14px; }
}
/* Archives : fond blanc derrière les photos, sans bande ni bordure */
body.insun.woocommerce.archive ul.products li.product .woo-entry-image,
body.insun.woocommerce.archive ul.products li.product .image-wrap,
body.insun.woocommerce.archive ul.products li.product li.image-wrap { background: #fff !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image img { background: #fff; display: block; border: 0; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image a::after,
body.insun.woocommerce.archive ul.products li.product .woo-entry-image::after { display: none !important; }
/* « Vue rapide » : superposée en bas de la photo, visible au survol uniquement */
body.insun ul.products li.product .woo-entry-image { position: relative; }
body.insun ul.products li.product .owp-quick-view {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; margin: 0; padding: 11px 0; line-height: 1.2;
	background: rgba(28, 26, 24, .88); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-align: center; text-decoration: none;
	opacity: 0; transform: translateY(100%); transition: opacity .25s, transform .25s;
}
body.insun ul.products li.product .owp-quick-view i { margin-right: 6px; }
body.insun ul.products li.product:hover .owp-quick-view, body.insun ul.products li.product .owp-quick-view:focus { opacity: 1; transform: none; }
body.insun ul.products li.product .owp-quick-view:hover { background: var(--insun-rust); color: #fff; }
@media (hover: none) { body.insun ul.products li.product .owp-quick-view { display: none; } }
body.insun.woocommerce.archive ul.products li.product li.image-wrap { background: transparent !important; border-radius: 0; overflow: visible; margin: 0 0 14px !important; }
body.insun.woocommerce.archive ul.products li.product .woo-entry-image { margin: 0 !important; border-radius: 12px; overflow: hidden; background: #fff !important; }

/* ---------- Fond beige sur tout le site ---------- */
body.insun, body.insun #outer-wrap, body.insun #wrap, body.insun #main, body.insun #content-wrap, body.insun .site-content,
body.insun .content-area, body.insun #content, body.insun .page-header, body.insun .woocommerce-tabs .panel, body.insun .entry-content { background-color: var(--insun-sand); }
body.insun .insun-section--sand { background: var(--insun-sand-2); }
body.insun .insun-footer__perks { background: var(--insun-sand-2); }
body.insun .insun-post { background: #fff; }

/* ---------- Prix toujours en rouille ---------- */
body.insun .price, body.insun .price .amount, body.insun .price ins, body.insun .price ins .amount,
body.insun ul.products li.product .price, body.insun ul.products li.product .price .amount,
body.insun.woocommerce.archive ul.products li.product .price, body.insun.woocommerce.archive ul.products li.product .price .amount,
body.insun.single-product .summary .price, body.insun.single-product .summary .price .amount,
body.insun .woocommerce-Price-amount, body.insun .wc-block-components-product-price, body.insun .wc-block-formatted-money-amount { color: var(--insun-rust) !important; }
body.insun .price del, body.insun .price del .amount, body.insun .price del .woocommerce-Price-amount { color: var(--insun-muted) !important; }
/* exceptions : montants sur fond rouille ou sombre */
body.insun .wcmenucart .woocommerce-Price-amount, body.insun .insun-section--ink .price del .amount { color: inherit !important; }
/* Bandeau des gammes : cadres plus hauts */
.insun-ranges__img { aspect-ratio: 4 / 3; }
.insun-ranges--3 .insun-ranges__img { aspect-ratio: 3 / 2; }
@media (max-width: 959px) { .insun-ranges__img, .insun-ranges--3 .insun-ranges__img { aspect-ratio: 1 / 1; } }

/* ==========================================================================
   Héros des catégories
   ========================================================================== */
.insun-cat-hero { position: relative; overflow: hidden; background: var(--insun-ink); color: #fff; min-height: clamp(300px, 32vw, 400px); display: flex; align-items: center; }
.insun-cat-hero__media, .insun-cat-hero__media img, .insun-cat-hero__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.insun-cat-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(28,26,24,.88) 0%, rgba(28,26,24,.62) 45%, rgba(28,26,24,.78) 100%); }
.insun-cat-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding-top: 48px; padding-bottom: 48px; }
.insun-cat-hero__kicker { margin: 0 0 16px; font-size: 12px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.insun-cat-hero__kicker span { color: var(--insun-rust-light); letter-spacing: .18em; }
.insun-cat-hero__logo { display: block; height: clamp(44px, 5vw, 64px); width: auto; max-width: 100%; }
.insun-cat-hero__text { border-left: 1px solid rgba(224, 131, 92, .55); padding-left: clamp(24px, 3vw, 44px); max-width: 620px; }
body.insun .insun-breadcrumb { margin: 0 0 14px; padding: 0; font-size: 12px; letter-spacing: .06em; color: rgba(255,255,255,.62); }
body.insun .insun-breadcrumb a { color: rgba(255,255,255,.82); text-decoration: none; }
body.insun .insun-breadcrumb a:hover { color: var(--insun-rust-light); }
body.insun .insun-breadcrumb .sep { margin: 0 .55em; opacity: .5; }
body.insun .insun-cat-hero__title { color: #fff; font-size: clamp(40px, 4.6vw, 64px); line-height: .95; margin: 0 0 14px; }
.insun-cat-hero__intro { margin: 0; font-size: clamp(15px, 1.2vw, 17px); line-height: 1.7; color: #E9E2D9; font-weight: 300; }
/* le bandeau des gammes suit le héros */
.insun-cat-hero + .insun-ranges { padding-top: 36px; }
@media (max-width: 767px) {
	.insun-cat-hero { min-height: 0; }
	.insun-cat-hero__inner { grid-template-columns: 1fr; gap: 22px; padding-top: 36px; padding-bottom: 36px; }
	.insun-cat-hero__text { border-left: 0; border-top: 1px solid rgba(224, 131, 92, .55); padding: 20px 0 0; }
	.insun-cat-hero__logo { height: 40px; }
	.insun-cat-hero__media::after { background: linear-gradient(180deg, rgba(28,26,24,.82), rgba(28,26,24,.7)); }
}
@media (prefers-reduced-motion: reduce) { .insun-cat-hero__media video { display: none; } }

/* Recherche qui remplace le menu (OceanWP « header_replace ») */
body.insun #searchform-header-replace { background: var(--insun-ink); }
body.insun #searchform-header-replace form input { color: #fff; font-family: var(--insun-font); font-size: 18px; letter-spacing: .02em; background: transparent; border: 0; }
body.insun #searchform-header-replace form input::placeholder { color: rgba(255,255,255,.55); }
body.insun #searchform-header-replace-close { color: rgba(255,255,255,.7); font-size: 26px; }
body.insun #searchform-header-replace-close:hover { color: var(--insun-rust-light); }
body.insun #searchform-header-replace .header-searchform::after { display: none; }
body.insun #searchform-header-replace form { border-bottom: 1px solid rgba(255,255,255,.18); }

/* Menu mobile : panneau latéral gauche (OceanWP « sidebar ») */
body.insun #sidr { background: var(--insun-ink); color: #EDE7DF; box-shadow: 12px 0 40px rgba(0,0,0,.35); width: min(86vw, 360px); }
body.insun #sidr .sidr-class-sidr-class-mobile-searchform, body.insun #sidr .sidr-class-mobile-searchform { padding: 18px 20px; border-bottom: 1px solid var(--insun-ink-3); }
body.insun #sidr input[type="search"], body.insun #sidr .sidr-class-mobile-searchform input { background: var(--insun-ink-2); border: 1px solid var(--insun-ink-3); color: #fff; border-radius: 6px; }
body.insun #sidr .sidr-class-mobile-searchform button, body.insun #sidr .sidr-class-mobile-searchform i { color: #fff; }
body.insun #sidr ul li a, body.insun #sidr .sidr-class-dropdown-menu li a { color: #EDE7DF; font-family: var(--insun-font); font-size: 15px; font-weight: 500; letter-spacing: .02em; padding: 14px 20px; border-color: var(--insun-ink-3); }
body.insun #sidr ul li a:hover, body.insun #sidr ul li.sidr-class-current-menu-item > a, body.insun #sidr ul li.sidr-class-current-menu-ancestor > a { color: var(--insun-rust-light); background: transparent; }
body.insun #sidr ul ul li a { font-size: 14px; font-weight: 400; color: #BDB4A9; padding-left: 34px; }
body.insun #sidr .sidr-class-dropdown-toggle, body.insun #sidr .sidr-class-sidr-class-dropdown-toggle { color: #BDB4A9; border-color: var(--insun-ink-3); }
body.insun #sidr .sidr-class-toggle-sidr-close { background: var(--insun-ink-2); color: #fff; border-bottom: 1px solid var(--insun-ink-3); }
body.insun #sidr .sidr-class-toggle-sidr-close:hover { color: var(--insun-rust-light); }
body.insun #sidr .sidr-class-insun-icon { display: none; }
body.insun #sidr .sidr-class-insun-icon-label { position: static; width: auto; height: auto; clip: auto; }
body.insun #sidr .sidr-class-woo-menu-icon, body.insun #sidr .sidr-class-search-toggle-li { display: none; }
body.insun .sidr-overlay, body.insun #mobile-menu-overlay { background: rgba(28,26,24,.6); }
/* correctif : largeur alignée sur celle du script sidr (sinon une bande reste visible une fois fermé) */
body.insun #sidr { width: 300px !important; max-width: 86vw; }
body.insun:not(.sidr-open) #sidr.left { box-shadow: none; }
body.insun:not(.sidr-open):not(.sidr-animating) #sidr { visibility: hidden; }
/* Chargement infini : statut en bas de la grille */
body.insun .scroller-status { text-align: center; padding: 10px 0 30px; color: var(--insun-muted); font-size: 14px; }
body.insun .scroller-status .infinite-scroll-request .loader-ellips__dot, body.insun .loader-ellips__dot { background: var(--insun-rust); }
/* Archives : titres un cran plus petits, prix plus proche, rangées plus serrées */
body.insun.woocommerce.archive ul.products li.product li.title a, body.insun.woocommerce.archive ul.products li.product .woocommerce-loop-product__title { font-size: 16px; line-height: 1.3; }
body.insun.woocommerce.archive ul.products li.product li.title, body.insun.woocommerce.archive ul.products li.product li.title h2 { margin: 0 0 4px !important; padding: 0; }
body.insun.woocommerce.archive ul.products li.product li.inner, body.insun.woocommerce.archive ul.products li.product li.price-wrap { margin: 0 !important; padding: 0 !important; }
body.insun.woocommerce.archive ul.products li.product .price { margin: 0 0 4px; padding: 0; }
body.insun.woocommerce.archive ul.products li.product .price, body.insun.woocommerce.archive ul.products li.product .price .amount { font-size: 20px; }
body.insun.woocommerce.archive ul.products li.product .button.insun-view-btn { margin-top: 6px; }
body.insun.woocommerce.archive ul.products li.product { margin-bottom: 22px; }
body.insun.woocommerce.archive ul.products li.product.entry { padding-bottom: 0 !important; margin-bottom: 24px !important; }
body.insun.woocommerce.archive ul.products li.product li.btn-wrap { margin-bottom: 0 !important; }

/* Plus de rouille « éclaircie » (rendu orange) : on revient au #B8461A partout */
:root { --insun-rust-light: #B8461A; }
/* Menu : élément actif / survolé = blanc + soulignement rouille */
body.insun #site-navigation-wrap .dropdown-menu > li > a > .text-wrap { position: relative; display: inline-block; }
body.insun #site-navigation-wrap .dropdown-menu > li > a > .text-wrap::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--insun-rust); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
body.insun #site-navigation-wrap .dropdown-menu > li > a:hover,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-item > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-ancestor > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-parent > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-product_cat-ancestor > a { color: #fff !important; }
body.insun #site-navigation-wrap .dropdown-menu > li > a:hover > .text-wrap::after,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-item > a > .text-wrap::after,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-ancestor > a > .text-wrap::after,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-parent > a > .text-wrap::after,
body.insun #site-navigation-wrap .dropdown-menu > .current-product_cat-ancestor > a > .text-wrap::after { transform: scaleX(1); }
body.insun #site-navigation-wrap .dropdown-menu > li.insun-icon-li > a > .text-wrap::after, body.insun #site-navigation-wrap .dropdown-menu > li.search-toggle-li > a > .text-wrap::after { display: none; }
/* icônes au survol : blanc légèrement atténué plutôt qu'orange */
body.insun .search-toggle-li a:hover, body.insun .woo-menu-icon .wcmenucart:hover, body.insun .insun-icon-link:hover, body.insun #top-bar-wrap a:hover { color: rgba(255,255,255,.7) !important; }
/* menu mobile */
body.insun #sidr ul li a:hover, body.insun #sidr ul li.sidr-class-current-menu-item > a, body.insun #sidr ul li.sidr-class-current-menu-ancestor > a { color: #fff; box-shadow: inset 3px 0 0 var(--insun-rust); }
body.insun #site-navigation-wrap .dropdown-menu > li > a > .text-wrap { line-height: 1.2; vertical-align: middle; }
body.insun #site-navigation-wrap .dropdown-menu > li > a > .text-wrap::after { bottom: -7px; }

/* ==========================================================================
   Panier latéral
   ========================================================================== */
html.insun-sc-lock, html.insun-sc-lock body { overflow: hidden; }
.insun-sc { position: fixed; inset: 0; z-index: 100000; pointer-events: none; }
.insun-sc__overlay { position: absolute; inset: 0; background: rgba(28,26,24,.55); opacity: 0; transition: opacity .3s; }
.insun-sc__panel { position: absolute; top: 0; bottom: 0; width: min(440px, 92vw); background: var(--insun-sand); color: var(--insun-ink); display: flex; flex-direction: column; box-shadow: 0 0 50px rgba(0,0,0,.25); transition: transform .35s cubic-bezier(.2,.7,.2,1); outline: none; }
.insun-sc--left .insun-sc__panel { left: 0; transform: translateX(-102%); }
.insun-sc--right .insun-sc__panel { right: 0; transform: translateX(102%); }
.insun-sc.is-open { pointer-events: auto; }
.insun-sc.is-open .insun-sc__overlay { opacity: 1; }
.insun-sc.is-open .insun-sc__panel { transform: none; }
.insun-sc.is-loading .insun-sc__body { opacity: .5; pointer-events: none; }
.insun-sc__head { display: flex; align-items: center; justify-content: space-between; padding: 26px 28px 18px; }
body.insun .insun-sc__head h2 { font-family: var(--insun-display); font-size: 32px; letter-spacing: .02em; margin: 0; color: var(--insun-ink); }
body.insun .insun-sc__close { background: none; border: 0; padding: 4px 8px; font-size: 30px; line-height: 1; color: var(--insun-ink); cursor: pointer; text-transform: none; }
body.insun .insun-sc__close:hover { background: none; color: var(--insun-rust); }
.insun-sc__body { flex: 1 1 auto; overflow-y: auto; padding: 0 28px 20px; transition: opacity .2s; }
.insun-sc__items { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 12px; }
.insun-sc__item { display: grid; grid-template-columns: 76px minmax(0,1fr) auto; gap: 14px; align-items: center; background: #fff; border-radius: 10px; padding: 12px; }
.insun-sc__thumb img { width: 76px; height: 76px; object-fit: cover; border-radius: 6px; display: block; }
.insun-sc__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body.insun .insun-sc__name { font-weight: 600; font-size: 15px; color: var(--insun-ink); text-decoration: none; line-height: 1.3; }
body.insun .insun-sc__name:hover { color: var(--insun-rust); }
.insun-sc__meta, .insun-sc__qty { font-size: 13px; color: var(--insun-muted); }
body.insun .insun-sc__remove { font-size: 12px; color: var(--insun-muted); text-decoration: underline; align-self: flex-start; margin-top: 2px; }
body.insun .insun-sc__remove:hover { color: var(--insun-rust); }
body.insun .insun-sc__price, body.insun .insun-sc__price .amount { font-weight: 700; font-size: 15px; color: var(--insun-ink) !important; white-space: nowrap; }
.insun-sc__total { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--insun-line); padding: 18px 0 14px; font-size: 18px; font-weight: 600; }
body.insun .insun-sc__total strong, body.insun .insun-sc__total .amount { font-size: 20px; color: var(--insun-ink) !important; }
.insun-sc__pay { background: #fff; border: 1px solid var(--insun-line); border-radius: 8px; padding: 14px 16px; margin: 0 0 24px; font-size: 14px; line-height: 1.6; }
.insun-sc__pay strong { color: var(--insun-rust); }
.insun-sc__cross h3 { font-family: var(--insun-font) !important; font-size: 16px !important; font-weight: 600 !important; letter-spacing: 0 !important; margin: 0 0 12px !important; }
.insun-sc__cross ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.insun-sc__cross li { background: #fff; border-radius: 10px; padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.insun-sc__x-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; display: block; margin-bottom: 4px; }
body.insun .insun-sc__x-name { font-size: 13px; font-weight: 500; color: var(--insun-ink); text-decoration: none; line-height: 1.3; }
body.insun .insun-sc__x-price, body.insun .insun-sc__x-price .amount { font-size: 13px; font-weight: 600; }
body.insun .insun-sc__x-add { margin-top: auto; background: transparent; border: 1px solid var(--insun-ink); color: var(--insun-ink); border-radius: 6px; padding: 6px 10px; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; text-align: center; text-decoration: none; cursor: pointer; }
body.insun .insun-sc__x-add:hover { background: var(--insun-ink); color: #fff; }
.insun-sc__foot { padding: 16px 28px 24px; display: grid; gap: 10px; border-top: 1px solid var(--insun-line); background: var(--insun-sand); }
body.insun .insun-sc__checkout { display: block; text-align: center; background: var(--insun-rust); color: #fff; border-radius: 6px; padding: 16px; font-weight: 600; font-size: 16px; text-decoration: none; }
body.insun .insun-sc__checkout:hover { background: var(--insun-ink); color: #fff; }
body.insun .insun-sc__continue { background: transparent; color: var(--insun-ink); border: 1.5px solid var(--insun-ink); border-radius: 6px; padding: 14px; font-weight: 600; font-size: 15px; text-transform: none; letter-spacing: 0; cursor: pointer; }
body.insun .insun-sc__continue:hover { background: var(--insun-ink); color: #fff; }
body.insun .insun-sc__cartlink { text-align: center; font-size: 13px; color: var(--insun-muted); text-decoration: underline; }
.insun-sc__empty { text-align: center; padding: 40px 0; }
.insun-sc__empty p { margin: 0 0 18px; color: var(--insun-ink-3); }
.insun-sc:not(.is-open) .insun-sc__foot { visibility: visible; }
/* le mini-panier déroulant d'OceanWP est remplacé par le tiroir */
body.insun .current-shop-items-dropdown, body.insun #current-shop-items-dropdown { display: none !important; }
@media (prefers-reduced-motion: reduce) { .insun-sc__panel, .insun-sc__overlay { transition: none; } }
/* panier vide : pas de bouton « Commander » ni de lien vers le panier détaillé */
.insun-sc__panel:has(.insun-sc__empty) .insun-sc__checkout, .insun-sc__panel:has(.insun-sc__empty) .insun-sc__cartlink { display: none; }
/* panier latéral : sans ombre ni bordure sur le bord */
.insun-sc__panel { box-shadow: none !important; border: 0 !important; }

/* ---------- Contour de focus : masqué à la souris, visible seulement au clavier ---------- */
body.insun *:focus, body.insun *:focus-visible, body.insun a:focus, body.insun button:focus, body.insun input:focus,
body.insun .site-search-toggle:focus, body.insun .wcmenucart:focus, body.insun .mobile-menu:focus, body.insun .insun-sc__panel:focus {
	outline: none !important; box-shadow: none;
}
body.insun input:focus, body.insun select:focus, body.insun textarea:focus { box-shadow: 0 0 0 3px rgba(184, 70, 26, .12) !important; }
html.insun-kbd body.insun a:focus-visible, html.insun-kbd body.insun button:focus-visible, html.insun-kbd body.insun [tabindex]:focus-visible,
html.insun-kbd body.insun input[type="checkbox"]:focus-visible, html.insun-kbd body.insun summary:focus-visible {
	outline: 2px solid var(--insun-rust) !important; outline-offset: 3px;
}

/* Menu : pas de soulignement ; survol / page en cours en rouge brique ; « Packs et offres » toujours en rouge brique */
body.insun #site-navigation-wrap .dropdown-menu > li > a > .text-wrap::after { display: none !important; }
body.insun #site-navigation-wrap .dropdown-menu > li > a:hover,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-item > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-ancestor > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-menu-parent > a,
body.insun #site-navigation-wrap .dropdown-menu > .current-product_cat-ancestor > a,
body.insun #site-navigation-wrap .dropdown-menu > li.insun-menu-promo > a,
body.insun #site-navigation-wrap .dropdown-menu > li.insun-menu-promo > a:hover { color: var(--insun-rust) !important; }
body.insun #site-navigation-wrap .dropdown-menu > li.search-toggle-li > a:hover, body.insun #site-navigation-wrap .dropdown-menu > li.insun-icon-li > a:hover, body.insun #site-navigation-wrap .dropdown-menu > li.woo-menu-icon > a:hover { color: rgba(255,255,255,.7) !important; }
body.insun #sidr li.sidr-class-insun-menu-promo > a { color: var(--insun-rust) !important; }
body.insun #sidr ul li a:hover, body.insun #sidr ul li.sidr-class-current-menu-item > a, body.insun #sidr ul li.sidr-class-current-menu-ancestor > a { color: var(--insun-rust); box-shadow: none; }

/* Sous-menus : sans contours, texte plus grand et espacé */
body.insun .dropdown-menu .sub-menu { border: 0 !important; border-top: 0 !important; box-shadow: 0 18px 40px rgba(0,0,0,.28); padding: 10px 0; border-radius: 0 0 8px 8px; }
body.insun .dropdown-menu ul li a.menu-link, body.insun .dropdown-menu .sub-menu li a.menu-link { border: 0 !important; font-size: 14px; letter-spacing: .05em; padding: 10px 22px; line-height: 1.4; }
body.insun .dropdown-menu ul li a.menu-link:hover { background: transparent; color: var(--insun-rust) !important; }
body.insun .dropdown-menu .sub-menu li.current-menu-item > a.menu-link { color: var(--insun-rust) !important; }
body.insun .dropdown-menu .sub-menu li, body.insun .dropdown-menu ul li, body.insun .dropdown-menu ul.sub-menu > li.menu-item { border: 0 !important; border-bottom: 0 !important; }

/* Barre du haut : pastilles de paiement et icônes réseaux plus grandes */
body.insun #top-bar-content .insun-pill { display: inline-block; background: var(--insun-rust); color: #fff; font-weight: 600; font-size: 11px; line-height: 1; padding: 4px 7px; border-radius: 4px; margin: 0 1px; vertical-align: 1px; }
body.insun #top-bar-social li a, body.insun #top-bar-social li a span, body.insun #top-bar-social li a i { font-size: 18px !important; line-height: 1; }
body.insun #top-bar-social li a svg { width: 18px; height: 18px; }
body.insun #top-bar-social ul { gap: 10px; }
body.insun .insun-topbar-lang img { width: 20px !important; }
/* pastilles plus compactes, séparateur en point rouille, icônes et drapeau à la même hauteur */
body.insun #top-bar-content .insun-pill { padding: 3px 5px; }
body.insun #top-bar-wrap .insun-sep { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--insun-rust); font-size: 0; color: transparent; margin: 0 12px; vertical-align: 2px; opacity: 1; }
body.insun #top-bar-social li a, body.insun #top-bar-social li a span, body.insun #top-bar-social li a i { font-size: 16px !important; }
body.insun #top-bar-social li a svg { width: 16px; height: 16px; }
body.insun .insun-topbar-lang img { width: auto !important; height: 16px !important; border-radius: 2px; }
body.insun .insun-topbar-lang a, body.insun #top-bar-social li a { height: 16px; display: inline-flex; align-items: center; }
body.insun #top-bar-wrap .insun-sep { vertical-align: middle; position: relative; top: -1px; }
body.insun .insun-topbar-lang img { height: 15px !important; width: 22px !important; object-fit: cover; }
body.insun .insun-topbar-lang a, body.insun .insun-topbar-lang a > * { width: 23px !important; height: 16px !important; flex: 0 0 auto; }
body.insun .insun-topbar-lang img { width: 100% !important; height: 100% !important; border-radius: 2px; }
body.insun .insun-topbar-lang { align-self: center; align-items: center; margin: 0; }
body.insun .insun-topbar-lang li { display: flex; align-items: center; line-height: 1; }
body.insun .insun-topbar-lang a, body.insun .insun-topbar-lang a > * { width: 20px !important; height: 14px !important; }
body.insun .insun-topbar-lang a { display: flex !important; align-items: center; }
/* Barre du haut sur mobile : uniquement « Payez en 2x 3x 4x sans frais » sur une ligne */
@media (max-width: 767px) {
	body.insun #top-bar-content .insun-tb-desk { display: none; }
	body.insun #top-bar-content { white-space: nowrap; font-size: 12px; padding: 4px 0; }
	body.insun #top-bar { justify-content: space-between; padding: 6px 0; }
}
