/* ==========================================================================
   Thème enfant – Groupe Sanergrid
   (Optimisé & hiérarchisé)
   ========================================================================== */

/* --------------------------------------------------------------------------
   0) Variables & Base
   -------------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,400&display=swap');

:root {
  /* Couleurs projet (alias) */
  --sg-primary: #019fff;
  --sg-primary-dark: #002F43;
  --sg-accent: #ff0000;
  --sg-accent-2: #e5326c;
  --sg-ink: #09435C;
  --sg-border: #1E6B8D;

  /* Gradients WP existants sont utilisés via var(--wp--preset--gradient--*) */
  --sg-radius-pill: 100px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.2em;
  color: #fff;
}

.tax-product_brand .woocommerce-loop-product__title{
	display: none !important;
}
.title-up-sell{
color: var(--sg-primary);
    line-height: 0.9;
font-size: clamp(1.146rem, 1.146rem + ((1vw - 0.2rem) * 0.969), 1.8rem);
    line-height: 1.6;
    font-family: 'Roboto', sans-serif;
    font-style: normal;
    font-weight: 500;

}
.gw-mm {
  
    width: 80% !important;
}
.gw-mm-item .gw-mm-item__dropdown-wrapper {
	margin-top:-10px !important;
}

/*
.wp-block-getwid-megamenu-item {
    width: 15% !important;
}
*/
.gw-mm-item.has-children .gw-mm-item__link a {
    padding-right: 5px !important;
}
/* Base globale */
html, body { overflow-x: hidden; }
body { font-family: 'Roboto', sans-serif; }

/* Annule les marges par défaut des blocs WP (évite les empilements inattendus) */
:where(body .is-layout-flow) > * { margin-block-start: 0 !important; }
:root :where(.is-layout-constrained) > * { margin-top: 0 !important; }
.wp-site-blocks > * + * { margin-top: 0 !important; }

/* Liens par défaut hors boutons WP */
a:where(:not(.wp-element-button)) { text-decoration: none !important; }

/* Petits utilitaires génériques */
.biseau { transform: skew(-20deg); }
.biseau .content,
.biseau .wp-block-cover { transform: skew(20deg); }
.wp-block-cover__inner-container{ z-index: 20;}

.sticky-block-wrapper { margin: 0 !important; }

.cut {
  -webkit-mask-image: url(img/mask.svg);
          mask-image: url(img/mask.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right;
          mask-position: right;
  -webkit-mask-size: cover;
          mask-size: cover;
}
.cut2 {
  -webkit-mask-image: url(img/mask2.svg);
          mask-image: url(img/mask2.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left;
          mask-position: left;
  -webkit-mask-size: cover;
          mask-size: cover;
}

/* --------------------------------------------------------------------------
   1) Boutons / CTA
   -------------------------------------------------------------------------- */

/* Bouton "buy" : icône + bordures animées */
.wp-block-button__link.buy,
.buy .wp-block-button__link {
  position: relative;
  padding-left: 65px !important;
  background-color: transparent;
  background-image: url(img/logo_te.svg) !important;
  background-repeat: no-repeat;
  background-position: 7% center;
  background-size: 42px;
  border: 2px solid var(--sg-accent-2);
  transition: 0.5s;
  -webkit-transition: 0.5s;
}

.wp-block-button__link.buy::before,
.wp-block-button__link.buy::after,
.buy .wp-block-button__link::before,
.buy .wp-block-button__link::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-radius: var(--sg-radius-pill);
  z-index: 3;
  overflow: hidden;
  -webkit-transform: scale(0);
  transform: scale(0);
  transition: 0.5s;
}

.wp-block-button__link.buy::before,
.buy .wp-block-button__link::before {
  border-bottom: 2px solid var(--sg-accent);
  border-left: 2px solid var(--sg-accent);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}

.wp-block-button__link.buy::after,
.buy .wp-block-button__link::after {
  border-top: 2px solid var(--sg-accent);
  border-right: 2px solid var(--sg-accent);
  -webkit-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
}

.wp-block-button__link.buy:hover::after,
.wp-block-button__link.buy:hover::before,
.buy .wp-block-button__link:hover::after,
.buy .wp-block-button__link:hover::before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.wp-block-button__link.buy:hover,
.buy .wp-block-button__link:hover {
  border-color: transparent;
  color: #f76f6f;
  background-color: rgba(255, 230, 0, 0.07) !important;
}

/* Effet hover léger sur quelques composants visuels */
.wp-element-button:hover,
.mask figure:hover,
.ressources .wp-block-column:hover,
.logos .wp-block-image:hover,
.boutonsCat .link:hover {
  opacity: 0.9;
}

.readmore-btn{
	background-color: var(--wp--preset--color--primary) !important;
}

/* --------------------------------------------------------------------------
   2) Éléments de page / Sections
   -------------------------------------------------------------------------- */

.productBg { position: relative; overflow: hidden; }
.productBg::before {
  content: "";
  position: absolute;
  left: 0;
  width: 150%;
  height: 100%;
  display: block;
  overflow: hidden;
  transform: skew(-20deg);
  background-color: #fff;
}

.wp-block-cover { overflow: hidden; }

.archive .wp-block-cover::after,
.page-template-default .wp-block-cover::after {
  content: "";
  position: absolute;
  right: -100px;
  width: 35%;
  height: 100%;
  display: block;
  transform: skew(-20deg);
  background-color: rgba(0, 47, 67, 0.63);
  z-index: 0;
}

.categories { margin-top: -130px !important; }
.categories .wp-block-tiptip-hyperlink-group-block img { transition: transform .35s; }
.categories .wp-block-tiptip-hyperlink-group-block:hover img { transform: scale(1.2); }
.categories .wp-block-tiptip-hyperlink-group-block h2 {
  text-transform: uppercase;
  font-size: 20px;
}

/* Sidebar + fond oblique */
.sidebar { position: relative; z-index: 1; }
.sidebar .wp-block-group { position: relative; z-index: 2; }

/* --------------------------------------------------------------------------
   3) Typo / Mini-composants divers
   -------------------------------------------------------------------------- */

.woocommerce-breadcrumb,
.yoast-breadcrumbs {
  padding: 20px 10px;
  margin-bottom: 0 !important;
  font-size: 12px !important;
  text-transform: uppercase;
}

.term-description { font-size: 0.8rem; }
.wcpf-field-title .text { color: #0093D1; }

.accordion-item { margin-bottom: 10px; }
.accordion-header { font-weight: bold; font-size: 20px; }
.accordion-header h1 { font-size: 20px; font-weight: bold; padding-top: 7px; }
.accordion-header,
.accordion-item,
.drawer,
.accordion-content { border-color: var(--sg-primary); }
.accordion-content { padding: 25px; }

/* Langues */
.wp-block-polylang-language-switcher select {
  background-color: var(--sg-primary-dark);
  color: #fff;
  border: 1px solid #fff;
  border-radius: 20px;
  padding: 5px 10px;
}

/* Footer */
footer { position: relative; z-index: 200; }
footer h2 { font-size: 15px !important; text-transform: uppercase; }
footer a:hover { color: #fff !important; }

/* --------------------------------------------------------------------------
   4) WooCommerce – Listes, single, divers
   -------------------------------------------------------------------------- */

.price { display: none; } /* masqué par design */

.summary { margin-top: 4%; z-index: 100; }

ul.wc-tabs li.active { background-color: var(--sg-primary); }

/* Galerie produit */
.woocommerce-product-gallery .flex-viewport { border: 1px solid var(--sg-primary); }
#wpgs-gallery { margin-top: 20px; }

/* Titres produit */
.woocommerce-product-details__short-description h2,
.accordion-container h2,
.product_title.entry-title {
  color: var(--sg-primary);
  line-height: 0.9;
}

/* Métas / entêtes à masquer */
.product_meta,
.woocommerce-products-header__title.page-title,
.count { display: none; }

.woocommerce-products-header {
  position: relative;
  z-index: 50;
  margin-bottom: 50px;
}

/* Grilles produits */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  margin: 3px;
  text-decoration: none !important;
  border: 1px solid var(--sg-border);
  background-color: var(--sg-primary-dark);
}

.products .product h2 {
  background-color: var(--sg-primary-dark);
  color: #fff !important;
  font-size: 20px !important;
  line-height: 20px !important;
  font-style: italic;
  font-weight: 400 !important;
  padding: 20px;
  text-align: left;
}

/* Colonnes 3 → largeur fixe (desktop) */
.woocommerce ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-3 li.product {
  width: 30% !important;
}

/* Produits liés */
.related li.product { flex: auto; }
.wcgs-slider-image,
.related.products .product {
  display: flex;
  border: 1px solid var(--sg-border);
}

/* Champs / actions à masquer sur single */
.single_add_to_cart_button,
.quantity,
.sku_wrapper,
.posted_in { display: none !important; }

/* Filtres / états */
.woocommerce-no-products-found { display: none !important; }
.woocommerce-loop-category__title { text-decoration: none !important; }

/* Gallery bloc */
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  object-fit: contain !important;
}
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) .wp-element-caption {
  display: none;
}

/* Catégories top */
.top-category .sidebar { display: none; }
.top-category .product-category { flex: inherit !important; }
.top-category .contentFlex { flex-basis: 100% !important; }

.top-category .woocommerce-products-header .marque {
  position: absolute;
  right: 0;
  width: 25%;
  display: inline-block;
  vertical-align: top;
  background-color: #e8ecee;
  padding: 4%;
}
.top-category .woocommerce-products-header .marque .content { width: 100%; margin: 0 auto; }
.top-category .term-description {
  width: 55% !important;
  display: inline-block;
  vertical-align: top;
}

/* --------------------------------------------------------------------------
   5) Navigation / Mega Menu (Getwid)
   -------------------------------------------------------------------------- */

/* .wp-block-getwid-megamenu-item { width: 25%; } */
.wp-block-getwid-megamenu-item:nth-child(3) { width: 20%; }

.gw-mm-item__dropdown { background-color: var(--sg-ink); padding: 0; }
.gw-mm-item__link { text-transform: uppercase; font-size: 13px; }
.gw-mm-item.has-children { min-height: 130px; }

.gw-mm-item__link a,
header a { text-decoration: none !important; }

.wp-block-getwid-megamenu-item.gw-mm-item:hover .gw-mm-item__link > a,
.gw-mm-item__dropdown-content a:hover { color: #fff !important; text-decoration: none; }

.wp-container-70 { z-index: 2 !important; background-color: transparent !important; }

/* Switcher mobile Getwid */
.gw-mm__toggle { background-color: transparent !important; border: 0 !important; color: #fff !important; margin-top: 20px; }
.gw-mm__toggle.is-opened .dashicons-menu:before { content: "\f158" !important; }
.gw-mm__content-wrapper { background-color: var(--wp--preset--color--contrast) !important; }
.gw-mm.is-mobile.is-opened .gw-mm__content-wrapper { margin-top: 20px; }
.gw-mm-item .gw-mm-item__toggle { margin-right: 15px !important; }

/* --------------------------------------------------------------------------
   6) Ajustements divers
   -------------------------------------------------------------------------- */

.wp-block-search__inside-wrapper { margin-block-start: 0 !important; }
.wp-block-search__button { padding: 5px !important; }

.catsHome { margin-top: -4% !important; }
.related.products { float: right !important; display: none !important; } /* masqué par design */
.archive-product { /* hook pour styles futurs */ }
#wpgs-gallery { margin-top: 20px; }

/* Marques / thèmes colorés de fond primaire */
body.synerdis .has-primary-background-color { background-color: var(--wp--preset--color--secondary) !important; }
body.sonec .has-primary-background-color { background-color: var(--wp--preset--color--tertiary) !important; }
body.technikelec .has-primary-background-color { background-color: rgba(235, 3, 88, 1); }

/* --------------------------------------------------------------------------
   7) Media Queries
   -------------------------------------------------------------------------- */

/* ≥ 768px */
@media (min-width: 768px) {
  /* Empêcher la coupure du résumé produit */
  .woocommerce #content div.product div.summary,
  .woocommerce div.product div.summary,
  .woocommerce-page #content div.product div.summary,
  .woocommerce-page div.product div.summary {
    overflow: visible !important;
  }

  /* Texture de bande droite */
  .texture::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 38%; height: 100%;
    display: block;
    background: url(img/leaf-vein-texture.jpg) center center no-repeat;
    background-size: cover;
    opacity: 0.8;
  }

  /* Navigation WP (submenu) */
  .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container { top: 90%; }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    flex-flow: column; padding: 1% 10%;
  }
  .sub-menu.right { text-align: right; }
  .sub-menu.center { text-align: center; }

  /* Mega menu en plein flux */
  nav.main-nav .mega-menu { position: static; }
  nav.main-nav .wp-block-navigation-item.mega-menu.has-child::after {
    content: "";
    display: block;
    height: 33px;
    margin-left: 3vw;
    transform: skew(-20deg);
    border: 1px solid rgba(255, 255, 255, 0.19);
  }
  .mega-menu > a { padding-bottom: 15px; }

  nav.main-nav .mega-menu > ul {
    position: absolute;
    left: -10px !important;
    width: 100% !important;
    display: flex;
    flex-wrap: wrap;
    flex-direction: inherit !important;
    padding-left: 20px;
    padding-top: 40px;
    z-index: 999999;
  }

  nav.main-nav .mega-menu > ul .wp-block-navigation__submenu-icon { display: none; }

  nav.main-nav .mega-menu > ul > li > a { font-weight: bold; padding: 17px 0; }

  nav.main-nav .mega-menu > ul > li.wp-block-navigation-submenu {
    display: inline-block;
    width: 25%;
    vertical-align: top;
  }

  nav.main-nav .mega-menu.mega-menu-col-1 > ul > li,
  nav.main-nav .mega-menu.mega-menu-col-2 > ul > li { width: 50%; }

  nav.main-nav .mega-menu > ul > li.wp-block-navigation-submenu.col-3 { width: 50% !important; }
  .col-3 .wp-block-navigation-item__content { display: none !important; }
  .wp-block-navigation-link { display: block !important; }

  nav.main-nav .mega-menu > ul > li:hover > a,
  nav.main-nav .mega-menu > ul > li > a,
  nav.main-nav .mega-menu > ul > li:focus > a,
  nav.main-nav .mega-menu > ul > li[class*="current-"] > a,
  nav.main-nav .mega-menu ul ul {
    background-color: transparent !important;
    color: inherit;
  }

  nav.main-nav .mega-menu ul ul.wp-block-navigation__submenu-container {
    position: static;
    display: block;
    opacity: 1;
    visibility: visible;
    width: 100%;
    height: auto;
    left: 0;
    box-shadow: none;
    pointer-events: auto;
    transform: scale(1);
    margin-bottom: 20px;
  }

  .wp-block-navigation .has-child .has-child > a { font-size: 1.2em; color: #c6fac1; }
  /* NB: l’espace insécable dans la règle d’origine cassait la propriété – corrigé */
  .wp-block-navigation .has-child .has-child ul li li { padding-left: 10%; }

  nav.main-nav .mega-menu ul ul.wp-block-navigation__submenu-container { margin-top: 2%; }
  nav.main-nav .mega-menu ul.toggled-on .sub-menu { pointer-events: auto; }
  nav.main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle { display: none; }

  nav.main-nav .wp-block-spacer { height: 20px !important; background-color: #fff; }
}

@media (min-width: 1010px) {
	.sidebar::after {
	  content:'';
	  position: absolute;
	  top: 0px;
	  left: -320px;
	  width: 450px;
	  height: 1000px;
	  display: block;
	  overflow: hidden;
	  transform: skew(-20deg);
	  background: var(--wp--preset--gradient--custom-couleur-1) !important;
	  z-index: 1;
	}
}

/* ≤ 1480px */
@media (max-width: 1480px) {
  .mask { padding-left: 1% !important; padding-right: 18% !important; }
}

/* ≤ 650px (mobile) */
@media (max-width: 650px) {
  .page-template-page-contact .wp-block-column.has-global-padding,
  .page-template-page-contact .wp-block-column.has-global-padding .wp-block-group { padding: 10px !important; }

/*   .headerSecondaire { display: none; } */
  .paddingleft { padding-left: inherit !important; }

  /* Conteneur WP auto-généré – relâche max-width */
  .wp-container-68.wp-container-68 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: inherit !important; }

  .gw-mm-item__dropdown-content .wp-block-column { padding: 2% !important; }
  .gw-mm-item.has-children { min-height: auto !important; }

  /* ⚠️ Correction d’un NBSP qui cassait la valeur: width: 100%; */
  .woocommerce ul.products[class*=columns-] li.product,
  .woocommerce-page ul.products[class*=columns-] li.product { width: 100%; }

  .sidebar { display: none !important; }

  .top-category { flex-direction: column-reverse !important; }
  .top-category .term-description { width: auto !important; }
  .top-category .woocommerce-products-header .marque { width: auto; position: relative; }

  .categories { margin-top: -50px !important; }
  .logo_home { overflow: hidden; }
  .date_pub .date { top: 350px; }

  /* Iframe responsive dans #tab-videos */
  #tab-videos p {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
  }
  #tab-videos p iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }

  /* Colonnes 3 → full en mobile */
  .woocommerce ul.products.columns-3 li.product,
  .woocommerce-page ul.products.columns-3 li.product { width: 100% !important; }

  /* Résumé produit en largeur auto sur mobile */
  .woocommerce #content div.product div.summary,
  .woocommerce div.product div.summary,
  .woocommerce-page #content div.product div.summary,
  .woocommerce-page div.product div.summary { width: inherit !important; }
}



.readmore-wrapper, .pcbdw-bottom-description-content{
	font-size: 12px !important;
}
.readmore-wrapper h3, .pcbdw-bottom-description-content h3, .term-description h3 {
	margin-top: 5px !important;
	margin-bottom: 5px !important;
	font-size: 1.2em;	
}
.pcbdw-bottom-description-content h2, .term-description h2{
	font-size: 1.6em;
}
.term-description h2{
	margin-top: 35px !important;
}

.readmore-btn, .read-more-btn{
	background: transparent none !important;
    border-color: currentColor !important;
    border-width: 2px !important;
    border-style: solid !important;
    color: currentColor !important;
    padding-top: 0.667em !important;
    padding-right: 1.33em !important;
    padding-bottom: 0.667em !important; 
    padding-left: 1.33em !important;
    border-radius: 50px !important;
}
body .accordion-header{
	background-color: #e8ecee !important;
}
div.accordion-content{width: auto !important;}

.woocommerce-product-attributes-item__value{
		padding-top: 4px;
	    line-height: 25px !important;
}
.woocommerce-product-attributes-item__label{
	text-align: left;
	padding-right: 15px;
}


.gw-mm.is-mobile .gw-mm-item {
    width: 100% !important;
}