/*
Theme Name: SaliouStore Vert et Bronze
Template: twentytwentyfive
Description: Thème enfant de la boutique SaliouStore : vert forêt, bronze et blanc cassé.
Version: 1.6.4
Text Domain: salioustore-child
*/

:root {
	--ss-dark: #1B2A1F;
	--ss-green: #2D4A2E;
	--ss-bg: #F0EFEA;
	--ss-bronze: #8A6A32;
	--ss-taupe: #A08670;
	--ss-white: #fff;
	--ss-ink: #1B2A1F;
	--wp--preset--color--base: #F0EFEA;
	--wp--preset--color--contrast: #1B2A1F;
}

html { scroll-padding-top: 16px; }
body { background: var(--ss-bg); color: var(--ss-ink); padding-bottom: 76px; }
a { color: var(--ss-green); }
:focus-visible { outline: 3px solid var(--ss-bronze); outline-offset: 2px; }
.ss-wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }

/* En-tête : menu à gauche, logo au centre, panier à droite */
.ss-header { background: var(--ss-dark); color: #fff; display: grid; grid-template-columns: 48px 1fr 48px; align-items: center; gap: 8px; padding: 10px 16px; }
.ss-header > * { margin: 0 !important; }
.ss-header .wp-block-site-title { text-align: center; font-size: 22px; font-weight: 700; }
.ss-header .wp-block-site-title a { color: #fff; text-decoration: none; }
.ss-header .wp-block-navigation__responsive-container-open { color: #fff; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: flex-start; }
.ss-header .wp-block-navigation__responsive-container-open svg { fill: #fff; }
.ss-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--ss-dark) !important; color: #fff !important; padding: 20px; }
.ss-header .wp-block-navigation__responsive-container.is-menu-open a,
.ss-header .wp-block-navigation__responsive-container.is-menu-open button { color: #fff !important; }
.ss-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; }
.ss-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.ss-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.ss-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.ss-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; background: transparent !important; padding-left: 14px !important; }
.ss-cart-link { position: relative; display: inline-flex; align-items: center; justify-content: flex-end; width: 44px; height: 44px; color: #fff; justify-self: end; }
.ss-header p { margin: 0; }
.ss-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 4px; box-sizing: border-box; border-radius: 999px; background: var(--ss-bronze); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.ss-cart-link .ss-count { position: absolute; top: 2px; right: -6px; }

/* En-tête séparé de la page de paiement */
.woocommerce-checkout .wp-site-blocks > header.wp-block-template-part, .woocommerce-checkout header.wp-block-template-part { background: var(--ss-dark); color: #fff; }
.woocommerce-checkout header.wp-block-template-part a, .woocommerce-checkout header.wp-block-template-part .wp-block-site-title a { color: #fff; }
.woocommerce-checkout header.wp-block-template-part svg { color: #fff; fill: currentColor; }

/* Recherche */
.ss-search-bar { background: var(--ss-bg); padding: 12px 16px; }
.ss-search { position: relative; max-width: 720px; margin: 0 auto; }
.ss-search input[type=search] { width: 100%; height: 46px; box-sizing: border-box; border: 1.5px solid var(--ss-taupe); border-radius: 999px; background: var(--ss-bg); color: var(--ss-ink); padding: 0 48px 0 18px; font-size: 16px; }
.ss-search button { position: absolute; top: 1px; right: 2px; width: 44px; height: 44px; border: 0; background: none; color: var(--ss-green); cursor: pointer; }

/* Pages */
main.wp-block-group { margin-top: 0 !important; padding-top: 0 !important; }
.home main.wp-block-group > .wp-block-group, .home main.wp-block-group .wp-block-group.has-global-padding { padding-top: 0 !important; }
.home .wp-block-post-content { margin-top: 0 !important; }
.home .wp-block-post-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.home .entry-content, .home .wp-block-post-content { max-width: 1200px; margin-inline: auto; padding-inline: 16px; }
.home .wp-block-post-content > * { max-width: 100% !important; }
.ss-section-title { margin: 28px 0 12px; font-size: 24px; }

/* En-tête et recherche toujours visibles */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; background: var(--ss-bg); }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 0); }
.ss-header p { margin: 0; }
.ss-menu-open { display: flex; align-items: center; justify-content: flex-start; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.ss-locked, .ss-locked body { overflow: hidden; }

/* Panneau latéral */
.ss-panel-overlay { position: fixed; inset: 0; z-index: 9995; background: rgba(0, 0, 0, .5); opacity: 0; transition: opacity .25s; }
.ss-panel-overlay.is-open { opacity: 1; }
.ss-panel { position: fixed; top: 0; bottom: 0; left: 0; z-index: 9996; display: flex; flex-direction: column; width: 84%; max-width: 380px; background: var(--ss-bg); border-radius: 0 20px 20px 0; transform: translateX(-100%); transition: transform .25s; overflow: hidden; }
.ss-panel.is-open { transform: translateX(0); }
.ss-panel[hidden], .ss-panel-overlay[hidden] { display: none; }
.ss-panel-head { background: var(--ss-dark); color: #fff; padding: 16px; border-radius: 0 0 20px 20px; flex: none; }
.ss-panel-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.ss-panel-logo { display: inline-block; padding: 8px 14px; border-radius: 10px; background: var(--ss-bg); color: var(--ss-dark); font-size: 18px; font-weight: 700; text-decoration: none; }
.ss-panel-close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: var(--ss-green); color: #fff; cursor: pointer; }
.ss-panel-title { margin: 0 0 10px; font-size: 17px; font-weight: 700; color: #fff; }
.ss-panel-head .ss-search input[type=search] { background: #fff; }
.ss-panel-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 14px 14px 20px; -webkit-overflow-scrolling: touch; }
.ss-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 12px; border-radius: 999px; background: #e0ddd4; }
.ss-tabs button { min-height: 42px; border: 0; border-radius: 999px; background: transparent; color: var(--ss-ink); font: inherit; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.ss-tabs button.is-active { background: var(--ss-dark); color: #fff; }
.ss-panel-list { list-style: none; margin: 0 0 14px; padding: 4px 10px; border-radius: 14px; background: #fff; }
.ss-panel-list[hidden] { display: none; }
.ss-panel-list li + li { border-top: 1px solid #e6e2d9; }
.ss-panel-link { display: flex; align-items: center; gap: 12px; min-height: 56px; color: var(--ss-ink); font-weight: 600; text-decoration: none; }
.ss-panel-ico { display: flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; overflow: hidden; border-radius: 10px; background: var(--ss-bg); color: var(--ss-dark); }
.ss-panel-ico img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ss-panel-link.is-accent { color: var(--ss-bronze); }
.ss-panel-link.is-accent .ss-panel-ico { background: var(--ss-bronze); color: #fff; }
.ss-help { padding: 14px; border-radius: 14px; background: var(--ss-dark); color: #fff; }
.ss-help strong { display: block; font-size: 15px; }
.ss-help p { margin: 4px 0 12px; font-size: 13px; }
.ss-help-actions { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 6px; }
.ss-help-actions a { white-space: nowrap; }
.ss-help-actions a { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; padding: 6px; box-sizing: border-box; border-radius: 999px; color: #fff; font-size: 12px; font-weight: 600; text-decoration: none; text-align: center; }
.ss-help-actions svg { width: 16px; height: 16px; flex: none; }
.ss-help-wa { background: var(--ss-green); }
.ss-help-tel { border: 1px solid var(--ss-taupe); }

/* Marges de l'accueil */
.home main .has-global-padding, .home main.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }
.home main .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: 100% !important; }
.home main .wp-block-post-content, .home main .wp-block-post-content.has-global-padding { margin-left: 0 !important; margin-right: 0 !important; padding-left: 12px !important; padding-right: 12px !important; width: auto !important; box-sizing: border-box; }
.ss-cats ul.products { scrollbar-width: none; }
.ss-cats ul.products::-webkit-scrollbar { display: none; }

/* Bloc contact */
.ss-contact { background: #fff; border: 1px solid var(--ss-taupe); border-radius: 16px; padding: 12px; margin: 0 0 14px; }
.ss-contact-title { margin: 0 0 10px; color: var(--ss-ink); line-height: 1.3; }
.ss-contact-title strong { display: block; font-size: 15px; font-weight: 700; }
.ss-contact-title span { font-size: 13px; }
.ss-contact-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 46px; gap: 6px; }
.ss-contact-actions a { display: flex; align-items: center; justify-content: center; min-height: 46px; box-sizing: border-box; border-radius: 12px; font-weight: 600; font-size: 12.5px; text-decoration: none; white-space: nowrap; }
.ss-contact-phone { padding: 4px 2px; background: #fff; border: 1.5px solid var(--ss-taupe); color: var(--ss-ink); }
.ss-contact-wa { background: var(--ss-green); border: 1.5px solid var(--ss-green); color: #fff; }

/* Carrousel */
.ss-carousel { margin: 0 0 8px; }
.ss-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ss-carousel-track::-webkit-scrollbar { display: none; }
.ss-slide { position: relative; display: block; overflow: hidden; background: var(--ss-dark); scroll-snap-align: start; text-decoration: none; }
.ss-slide img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.ss-carousel-dots { display: flex; justify-content: center; gap: 6px; padding-top: 8px; }
.ss-carousel-dots span { width: 8px; height: 8px; border-radius: 50%; background: var(--ss-taupe); opacity: .5; }
.ss-carousel-dots span.is-on { background: var(--ss-bronze); opacity: 1; }

/* Bannière */
.ss-banner { position: relative; display: block; overflow: hidden; border-radius: 16px; background: var(--ss-dark); text-decoration: none; margin: 0 0 8px; }
.ss-banner img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.ss-banner-copy { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 18px 16px; background: linear-gradient(transparent, rgba(27, 42, 31, .92)); color: #fff; }
.ss-banner-copy strong { display: block; font-size: clamp(24px, 6vw, 40px); line-height: 1.1; }
.ss-banner-copy span { font-size: 15px; }

/* Catégories qu'on fait défiler */
.ss-cats .woocommerce ul.products, .ss-cats ul.products { display: flex !important; flex-wrap: nowrap; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin: 0 !important; padding: 0 0 10px !important; list-style: none; }
.ss-cats ul.products::before, .ss-cats ul.products::after { display: none !important; }
.ss-cats ul.products li.product-category { flex: 0 0 42%; max-width: 190px; width: auto !important; float: none !important; margin: 0 !important; scroll-snap-align: start; }
.ss-cats li.product-category a { display: block; text-decoration: none; }
.ss-cats li.product-category img { display: block; width: 100%; height: auto; border-radius: 14px; margin: 0 0 8px !important; }
.ss-cats .woocommerce-loop-category__title { font-size: 14px !important; line-height: 1.3; font-weight: 600; text-align: center; color: var(--ss-ink); padding: 0 !important; }
.ss-cats .count { display: none; }

/* Promotions */
.ss-promo { background: var(--ss-dark); color: #fff; border-radius: 16px; padding: 22px 18px; margin: 24px 0 16px; }
.ss-promo h2 { color: #fff; margin: 0 0 6px; font-size: clamp(22px, 5vw, 30px); }
.ss-promo p { margin: 0 0 14px; }
.ss-countdown { display: flex; gap: 8px; }
.ss-countdown div { flex: 1 1 0; min-width: 0; max-width: 72px; padding: 8px 2px; border: 1px solid var(--ss-bronze); border-radius: 10px; text-align: center; background: var(--ss-bronze); color: #fff; }
.ss-countdown b { display: block; font-size: 22px; line-height: 1.1; }
.ss-countdown small { font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }

/* Black Friday */
.ss-bf { margin: 18px 0 16px; }
.ss-bf[hidden] { display: none; }
.ss-bf-head { background: #0d0d0d; color: #fff; border-radius: 16px 16px 0 0; padding: 22px 18px; }
.ss-bf-head h2 { margin: 0 0 8px; color: #fff; font-size: clamp(25px, 7vw, 36px); font-weight: 800; line-height: 1.1; }
.ss-bf-head h2 span { color: #E5353B; white-space: nowrap; }
.ss-bf-head p { margin: 0 0 16px; color: #e8e6e0; font-size: 15px; }
.ss-bf-head .ss-countdown div { background: #1c1c1c; border-color: #4a4a4a; color: #fff; }
.ss-bf-head .ss-countdown small { color: #cfcdc7; }
.ss-bf-grid { background: #fff; border: 1px solid #ddd8cf; border-top: 0; border-radius: 0 0 16px 16px; padding: 12px 10px; }
.ss-bf-grid ul.products { margin-bottom: 0 !important; }
.woocommerce ul.products li.product .onsale.ss-bf-badge, .woocommerce span.onsale.ss-bf-badge { display: inline-flex; overflow: hidden; top: 12px !important; left: 12px !important; right: auto !important; margin: 0 !important; padding: 0 !important; border-radius: 7px !important; background: #0d0d0d !important; font-size: 10px; line-height: 1 !important; white-space: nowrap; }
.ss-bf-badge b { padding: 6px 6px; color: #fff; font-weight: 700; letter-spacing: .02em; }
.ss-bf-badge i { padding: 6px 6px; background: #C9252B; color: #fff; font-style: normal; font-weight: 700; }
.woocommerce ul.products li.product.sale .ss-heart, ul.wc-block-product-template > li.wc-block-product.sale .ss-heart { top: 44px; }
span.onsale.ss-bf-badge { position: absolute; z-index: 2; }

/* Frais de livraison sur la fiche produit */
.ss-ship { margin: 10px 0 14px; padding: 12px 14px; background: #fff; border: 1px solid var(--ss-taupe); border-radius: 12px; font-size: 14px; }
.ss-ship-title { margin: 0 0 6px; font-weight: 700; color: var(--ss-ink); }
.ss-ship ul { margin: 0; padding: 0; list-style: none; }
.ss-ship li { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; border-top: 1px solid #ece8df; }
.ss-ship li:first-child { border-top: 0; }
.ss-ship b { color: var(--ss-bronze); white-space: nowrap; }

/* Bandeau cookies (CookieYes) */
.cky-consent-container .cky-btn-accept, .cky-consent-container .cky-btn-reject { min-height: 52px; font-size: 17px !important; font-weight: 700 !important; border-radius: 999px !important; }
.cky-consent-container .cky-notice-des a { color: var(--ss-green) !important; font-weight: 600; }

/* Grille des produits */
.woocommerce ul.products:not(.ss-x), .wc-block-grid__products { }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { position: relative; background: #fff; border: 1px solid #ddd8cf; border-radius: 14px; padding: 8px 8px 12px; box-sizing: border-box; }
.ss-cats ul.products li.product-category { background: transparent; border: 0; padding: 0; }
.woocommerce ul.products li.product a img { border-radius: 10px; margin-bottom: 10px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; color: var(--ss-ink); padding: 0 0 4px !important; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .wc-block-components-product-price { color: var(--ss-bronze) !important; font-weight: 700; }
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del, .woocommerce div.product span.price del, .woocommerce-Price-amount del { color: var(--ss-taupe) !important; opacity: 1; font-weight: 400; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce span.onsale { background: var(--ss-bronze) !important; color: #fff !important; border-radius: 8px !important; min-width: 0 !important; min-height: 0 !important; padding: 4px 8px !important; line-height: 1.2 !important; font-size: 12px; font-weight: 700; }

/* Grille des pages Boutique et catégories */
ul.wc-block-product-template { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
ul.wc-block-product-template > li.wc-block-product { position: relative; width: auto !important; margin: 0 !important; background: #fff; border: 1px solid #ddd8cf; border-radius: 14px; padding: 8px 8px 12px; box-sizing: border-box; min-width: 0; }
ul.wc-block-product-template .wp-block-post-title { font-size: 15px !important; }
ul.wc-block-product-template .wp-block-button__link { font-size: 13px; padding: 10px 6px; white-space: nowrap; }
ul.wc-block-product-template .wp-block-button { width: 100%; }
ul.wc-block-product-template .wp-block-button__link { display: block; box-sizing: border-box; width: 100%; }
@media (min-width: 782px) { ul.wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Boutons */
.woocommerce a.button, .woocommerce button.button, .wp-element-button, .wp-block-button__link, .wc-block-components-button:not(.is-link), .ss-quick button[type=submit] { background: var(--ss-green) !important; color: #fff !important; border: 0; border-radius: 999px !important; font-weight: 600; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .wp-element-button:hover, .wc-block-components-button:not(.is-link):hover, .ss-quick button[type=submit]:hover { background: var(--ss-dark) !important; color: #fff !important; }
.woocommerce ul.products li.product a.button { display: block; box-sizing: border-box; width: 100%; text-align: center; white-space: nowrap; padding: 10px 4px; font-size: 13px; margin-top: 8px; }

/* Ma liste */
.ss-heart { position: absolute; top: 14px; right: 14px; z-index: 3; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--ss-taupe); border-radius: 50%; background: #fff; color: var(--ss-taupe); cursor: pointer; }
.ss-heart.is-on { color: var(--ss-bronze); }
.ss-heart.is-on svg { fill: currentColor; }
.ss-heart-single { position: static; display: inline-flex; width: auto; height: 46px; gap: 6px; padding: 0 14px; border-radius: 999px; color: var(--ss-ink); }
.ss-wishlist-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.ss-wish-card { position: relative; background: #fff; border: 1px solid #ddd8cf; border-radius: 14px; padding: 52px 10px 12px; }
.ss-wish-card .ss-heart { top: 8px; right: 8px; }
.ss-wish-card img { width: 100%; height: auto; border-radius: 10px; }
.ss-wish-card a { color: var(--ss-ink); text-decoration: none; font-weight: 600; }
.ss-wish-card .ss-wish-price { color: var(--ss-bronze); font-weight: 700; margin-top: 4px; }

/* Commande en un clic */
.ss-quick { background: #fff; border: 1px solid var(--ss-taupe); border-radius: 16px; padding: 16px; margin: 16px 0; clear: both; }
.ss-quick h3 { margin: 0 0 4px; font-size: 19px; }
.ss-quick > p { margin: 0 0 12px; font-size: 14px; }
.ss-quick label { display: block; font-weight: 600; font-size: 14px; margin: 10px 0 4px; }
.ss-quick input[type=text], .ss-quick input[type=tel] { width: 100%; height: 46px; box-sizing: border-box; border: 1.5px solid var(--ss-taupe); border-radius: 10px; padding: 0 12px; font-size: 16px; background: #fff; }
.ss-quick button[type=submit] { width: 100%; min-height: 48px; margin-top: 14px; cursor: pointer; font-size: 16px; }
.ss-quick-note { display: block; text-align: center; margin-top: 8px; font-size: 13px; color: var(--ss-bronze); font-weight: 600; }
.ss-quick-error { color: #8a1f1f; font-weight: 600; }
.ss-hp { position: absolute; left: -9999px; }

/* Pied de page */
.ss-footer { background: var(--ss-dark); color: #fff; padding: 24px 16px; text-align: center; margin-top: 32px; }
.ss-footer .wp-block-site-title { font-size: 20px; margin: 0 0 10px; }
.ss-footer .wp-block-site-title a, .ss-footer a { color: #fff; }
.ss-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; font-size: 14px; }

/* Barre du bas */
.ss-bottom-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: grid; grid-template-columns: repeat(5, 1fr); background: var(--ss-dark); padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -2px 10px rgba(0, 0, 0, .25); }
.ss-bottom-bar a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 62px; color: #fff; font-size: 11px; font-weight: 600; text-decoration: none; }
.ss-bottom-bar a span.ss-count { position: absolute; top: 6px; left: 50%; margin-left: 6px; }
.ss-bottom-bar .ss-bar-wa { background: var(--ss-green); }
.admin-bar .ss-header .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 0); }

/* Fiche produit */
.ss-pdp { padding-top: 4px; }
.ss-pdp .woocommerce-breadcrumb { font-size: 13px; margin-bottom: 10px; }
.ss-pdp-top { gap: 18px; margin-bottom: 8px; }
.ss-pdp-summary > * { margin-block: 0; }
.ss-pdp-summary .wp-block-post-title { font-size: 23px; line-height: 1.25; font-weight: 600; margin: 0 0 10px; }
.ss-pdp-summary .wc-block-components-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 32px !important; line-height: 1.15; font-weight: 800; margin: 0 0 14px; }
.ss-pdp-summary .wc-block-components-product-price del { order: 2; font-size: 18px; font-weight: 400; }
.ss-pdp-summary .wc-block-components-product-price ins { order: 1; text-decoration: none; }
.ss-buy form.cart { display: flex; align-items: stretch; gap: 8px; margin: 0 0 18px; }
.ss-buy form.cart .quantity { flex: 0 0 64px; margin: 0 !important; }
.ss-buy form.cart .quantity input.qty { width: 100%; height: 52px; box-sizing: border-box; border: 1.5px solid var(--ss-taupe); border-radius: 12px; font-size: 17px; text-align: center; background: #fff; }
.ss-buy form.cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 0; min-height: 52px; margin: 0 !important; padding: 0 10px !important; font-size: 16px !important; white-space: nowrap; }
.ss-buy form.cart .quantity { margin-left: 0 !important; }
.ss-pdp .woocommerce-product-gallery { margin-bottom: 0 !important; }
.ss-pdp-related ul.products::after { display: none; }
.ss-pdp-related .woocommerce { margin-bottom: 0; }
.ss-pdp-related ul.products li.product { margin-bottom: 12px !important; }
.ss-buy form.cart .ss-heart { position: static; flex: 0 0 52px; width: 52px; height: 52px; }
.ss-buy form.variations_form, .ss-buy form.grouped_form { display: block; }
.ss-buy .stock { margin: 0 0 8px; font-weight: 600; }

.ss-quick { margin: 0 0 8px; padding: 16px; border: 1.5px solid var(--ss-bronze); border-radius: 16px; background: #fff; }
.ss-quick h2 { margin: 0 0 4px; font-size: 20px; font-weight: 700; }
.ss-quick > p { margin: 0 0 12px; font-size: 14px; line-height: 1.4; }
.ss-quick-item { display: flex; align-items: center; gap: 10px; padding: 8px; margin: 0 0 4px; border-radius: 12px; background: var(--ss-bg); }
.ss-quick-item img { flex: none; width: 56px !important; height: 56px !important; object-fit: cover; border-radius: 8px; }
.ss-quick-item strong { display: block; font-size: 14px; line-height: 1.3; font-weight: 600; }
.ss-quick-price { display: block; margin-top: 2px; color: var(--ss-bronze); font-weight: 700; font-size: 15px; }
.ss-quick-price del { color: var(--ss-taupe); font-weight: 400; font-size: 13px; }
.ss-quick-price ins { text-decoration: none; }
.ss-tel { display: flex; height: 48px; border: 1.5px solid var(--ss-taupe); border-radius: 10px; overflow: hidden; background: #fff; }
.ss-tel span { display: flex; align-items: center; padding: 0 12px; background: var(--ss-bg); border-right: 1.5px solid var(--ss-taupe); font-weight: 700; font-size: 16px; }
.ss-quick .ss-tel input[type=tel] { flex: 1; min-width: 0; height: 100%; border: 0; border-radius: 0; }
.ss-quick input[type=text] { height: 48px; }
.ss-quick button[type=submit] { min-height: 56px; margin-top: 16px; font-size: 18px; font-weight: 700; }
.ss-guarantees { display: grid; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 14px; font-weight: 600; }
.ss-guarantees li { display: flex; align-items: center; gap: 8px; }
.ss-guarantees svg { flex: none; width: 20px; height: 20px; padding: 2px; box-sizing: border-box; border-radius: 50%; background: var(--ss-green); color: #fff; }

.ss-pdp-sec { margin: 22px 0 0; }
.ss-pdp-sec > h2 { margin: 0 0 10px; font-size: 20px; font-weight: 700; }
.ss-pdp-desc { padding: 16px; border-radius: 14px; background: #fff; border: 1px solid #ddd8cf; font-size: 15px; line-height: 1.6; }
.ss-pdp-desc > h2 { margin-top: 0; }
.ss-pdp-desc h3 { margin: 16px 0 6px; font-size: 16px; }
.ss-pdp-desc p { margin: 0 0 10px; }
.ss-pdp-desc ul { margin: 0 0 10px; padding: 0; list-style: none; }
.ss-pdp-desc ul li { position: relative; padding: 3px 0 3px 22px; }
.ss-pdp-desc ul li::before { content: ""; position: absolute; left: 4px; top: .75em; width: 8px; height: 8px; border-radius: 50%; background: var(--ss-bronze); }
.ss-specs { margin: 0; padding: 0; list-style: none; border-radius: 14px; overflow: hidden; border: 1px solid #ddd8cf; background: #fff; font-size: 15px; }
.ss-specs li { display: flex; justify-content: space-between; gap: 12px; padding: 11px 14px; border-top: 1px solid #ece8df; }
.ss-specs li:first-child { border-top: 0; }
.ss-specs li:nth-child(even) { background: #faf9f6; }
.ss-specs span { color: #5b5b52; }
.ss-specs b { text-align: right; font-weight: 600; }
.ss-pdp-sec .ss-ship { margin: 0; }
.ss-pdp-related ul.products { margin-bottom: 0 !important; }

.ss-pdp-help { display: grid; gap: 12px; margin: 24px 0 0; padding: 16px; border-radius: 16px; background: var(--ss-dark); color: #fff; }
.ss-pdp-help strong { display: block; font-size: 18px; }
.ss-pdp-help p { margin: 4px 0 0; font-size: 14px; opacity: .9; }
.ss-pdp-help-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ss-pdp-help-actions a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: 999px; font-weight: 700; font-size: 15px; text-decoration: none; }
.ss-pdp-wa { background: #1F8F4E; color: #fff; }
.ss-pdp-call { background: #fff; color: var(--ss-dark); }
.ss-pdp-help-actions svg { width: 20px; height: 20px; }

.ss-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.ss-trust li { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 8px; border-radius: 14px; background: #fff; border: 1px solid #ddd8cf; text-align: center; font-size: 13px; font-weight: 600; line-height: 1.3; }
.ss-trust li span { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--ss-bg); color: var(--ss-bronze); }

body.single-product { padding-bottom: 84px; }
.ss-sticky-cart { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: flex; align-items: center; gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--ss-dark); box-shadow: 0 -2px 10px rgba(0, 0, 0, .25); }
.ss-sticky-info { flex: 1 1 auto; min-width: 0; color: #fff; line-height: 1.25; }
.ss-sticky-info > span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; opacity: .85; }
.ss-sticky-info b { display: block; font-size: 16px; color: #fff; white-space: nowrap; }
.ss-sticky-info b .woocommerce-Price-amount { color: #fff !important; }
.ss-sticky-info b del { display: none; }
.ss-sticky-info b ins { text-decoration: none; }
.ss-sticky-btn { flex: none; display: flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 18px; border-radius: 999px; background: var(--ss-bronze); color: #fff; font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
.ss-sticky-btn svg { width: 20px; height: 20px; }
.ss-sticky-btn.is-off { background: #6b6b63; }

/* Bouton WhatsApp flottant, au-dessus de la barre du bas */
.ss-wa-float { position: fixed; right: 16px; bottom: calc(62px + env(safe-area-inset-bottom) + 14px); z-index: 9991; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #25D366; box-shadow: 0 4px 14px rgba(0, 0, 0, .3); text-decoration: none; transition: transform .15s ease; }
.ss-wa-float:hover, .ss-wa-float:focus-visible { transform: scale(1.06); }
.ss-wa-float:focus-visible { outline: 3px solid var(--ss-bronze); outline-offset: 3px; }
body.single-product .ss-wa-float { bottom: calc(68px + env(safe-area-inset-bottom) + 14px); }
.ss-locked .ss-wa-float { display: none; }

/* Ordinateur */
@media (min-width: 782px) {
	.ss-pdp-summary .wp-block-post-title { font-size: 30px; }
	.ss-trust { grid-template-columns: repeat(4, 1fr); }
	.ss-pdp-help { grid-template-columns: 1fr minmax(0, 380px); align-items: center; }
	.ss-sticky-cart { padding-left: max(12px, calc(50% - 600px)); padding-right: max(12px, calc(50% - 600px)); }
	.ss-cats ul.products li.product-category { flex-basis: 170px; }
	.ss-banner img, .ss-slide img { aspect-ratio: 21 / 8; }
	.ss-contact-actions { grid-template-columns: minmax(0, 220px) minmax(0, 220px) 46px; }
	.ss-contact-actions a { font-size: 14px; }
	.woocommerce ul.products li.product a.button { font-size: 15px; }
}
