/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/* Tarte au Citron (Cookie Consent) */

#tarteaucitronRoot #tarteaucitronAlertBig {
  background: var(--e-global-color-primary) !important;
  color: #fff !important;
}



#tarteaucitronRoot .tarteaucitronDeny {
    background: var(--e-global-color-96c3f2c) !important;
    color: #fff !important;
}

#tarteaucitronAlertBig #tarteaucitronPersonalize, #tarteaucitronAlertBig #tarteaucitronPersonalize2, .tarteaucitronCTAButton {
    background: var(--e-global-color-083acce) !important;
    color: #fff !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert, #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    color: #fff !important;
}


/* Single product */
.product-details-grid {
    display: grid;
    grid-template-columns: 1fr; /* Default: 1 column */
    gap: 20px; /* Adjust spacing between grid items */
}



.product-detail-section {
    /* Add any specific styling for the section wrapper if needed */
    margin-bottom: 20px; /* Space below each section */
}

.product-detail-items {
    /* Optional: Add styling for the container of key-value pairs */
}

.product-detail-item {
    display: flex; /* Arrange key and value side-by-side */
    justify-content: space-between; /* Push key and value apart */
    padding: 5px 0; /* Add some vertical spacing */
    border-bottom: 1px solid #eee; /* Optional separator */
}

.product-detail-item:last-child {
    border-bottom: none; /* Remove border from last item */
}

.detail-key {
    /* Styling for the label (e.g., "Product Code") */
    font-weight: bold;
    padding-right: 10px; /* Space between key and value */
}

.detail-value {
    /* Styling for the value */
    text-align: right;
}

/* Inherited classes - adjust if needed */
.display-copy { /* From h3 */
    /* Your styles */
    margin-bottom: 10px;
    font-size: 1.2em;
}


html {
	scroll-padding-top: 150px;
}

.page-hero-cover {
	  background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#header-logo, #footer-logo {
	display: block;
  fill: #fff;
	max-width: 160px
}

#header-logo {
	height: 16px;
}

#footer-logo {
	height: 24px;
}

#footer-logo {
  fill: var(--e-global-color-primary);
}

/* Menu */ 
.elementor-sub-item:focus {
	color: #33373d;
	background: #fff;
}

/* CONTENU - PAGE INTERIEUR */
.content-h2 h2 {
	margin-bottom: 20px;
}

.content-block {
	margin-top: 30px;
	gap: 100px;
}

.content-text {padding:0}
.content-picture {
  overflow: hidden;
	padding: 0px;
}
.content-picture img {
    transition: transform 0.5s ease;
}
.content-picture:hover img {
    transform: scale(1.1);
}

/* LINK SLIDE */
.link-slide a span,
.link-slide a {
    position: relative;
    transition: all 0.6s ease;
}

.link-slide a span::before,
.link-slide nav li a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    right: 0;
    background: var(--e-global-color-primary) !important;
    transition: all 0.3s ease;
}

.link-slide a:hover::before,
.link-slide a:hover::before {
    width: 100%;
    left: 0;
    background: var(--e-global-color-primary) !important;
}

.link-slide .elementor-nav-menu--dropdown .elementor-nav-menu .sub-menu {
	padding-bottom: 20px;
}

.link-slide .elementor-nav-menu--dropdown .elementor-nav-menu .sub-menu .menu-item .elementor-sub-item {
	font-size: 17px;
	border: 0;
	margin-left: 20px;
	margin-right: 20px;
	padding: 10px 0 5px 0;
	width: fit-content;
}

/* LINK DISAPPEAR */
.link-disappear a, .contact-form .elementor-button-text {
    position: relative;
    display: inline-block;
    text-decoration: none;
}

.link-disappear a::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -5px;
    left: 0;
    background: var(--e-global-color-primary);
    transition: transform 0.3s ease;
    transform-origin: left;
}

.link-disappear a:hover::before {
    transform: scaleX(0);
    transform-origin: right;
}

.link-disappear a:not(:hover)::before {
    transform: scaleX(1);
    transform-origin: left;
}

.sub-menu a:hover::before {
    width: calc(100% + 16px);
    left: -8px;
    background: var(--e-global-color-primary) !important;
}

.wpml-ls-display::before {
    background: none !important;
}
.sub-arrow::before {
    background: none !important;
}

.card-title {
	backdrop-filter: blur(6px);
}

/* WPML Selector */
.wpml-elementor-ls .js-wpml-ls-item-toggle::after {
	visibility: 0 !important
}

.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
	    border: none;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
	display: none;
}

.wpml-ls-legacy-dropdown > ul > li > a {
	text-align: end;
	padding: 0 0 5px 0 !important
}

@media (min-width: 768px) {
	#header-logo {
		height: 24px;
	}
}

/* Search & filter accordion */
.accordion-panel {
  padding-left: 25px;
  margin-top: 5px;
  margin-left: à !important;
	max-height: auto !important
  /* max-height, overflow, and transition are handled by JS */
}

/* Style the trigger label container */
.accordion-item > .search-filter-input-checkbox__container {
  display: flex;
  align-items: center;
  position: relative;
  /* cursor: pointer; set by JS */
}

/* Checkbox graphic */
.search-filter-input-checkbox__control {
    flex-shrink: 0;
    margin-right: 5px;
}
/* Label text */
.search-filter-input-checkbox__label {
    flex-grow: 1;
    margin-right: 8px;
}

/* --- Accordion Indicator Styles --- */
.accordion-indicator {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1em;
  text-align: center;
  font-weight: bold;
  margin-left: auto; /* Pushes indicator to the right */
  flex-shrink: 0;
  position: relative; /* Needed for pseudo-element positioning */
  pointer-events: none; /* Clicks pass through */
}

/* Style the plus (+) sign bars */
.accordion-indicator::before,
.accordion-indicator::after {
  content: '';
  position: absolute;
  background-color: currentColor; /* Use label's text color */
  /* === CRITICAL: Ensure this transition is applied === */
  transition: transform 0.3s ease-out;
}

/* Horizontal bar */
.accordion-indicator::before {
  top: 50%;
  left: 15%;
  width: 70%;
  height: 2px;
  margin-top: -1px;
  transform: rotate(0deg); /* Base state */
}

/* Vertical bar */
.accordion-indicator::after {
  top: 15%;
  left: 50%;
  width: 2px;
  height: 70%;
  margin-left: -1px;
  transform: rotate(0deg); /* Base state */
}

/* This selector targets the ::after pseudo-element of the indicator
   ONLY when the ancestor .accordion-item div has the .accordion-item--active class */
.accordion-item.accordion-item--active > .search-filter-input-checkbox__container .accordion-indicator::after {
  transform: rotate(90deg); /* Active state: forms a minus */
}

/* Optional: Style the active item's trigger label text */
.accordion-item.accordion-item--active > .search-filter-input-checkbox__container .search-filter-input-checkbox__label {
  /* Example: font-weight: bold; */
}
#search-filter-input-checkbox-0  * {
	color: var(--e-global-color-primary);
	font-weight: 300;
}

#search-filter-input-checkbox-0 > .search-filter-input-checkbox {
	margin-bottom: 30px
}

#search-filter-input-checkbox-0 > .search-filter-input-checkbox > .search-filter-input-checkbox__container .search-filter-input-checkbox__label {
	font-weight: 700;
	font-size: 25px;
}

#search-filter-input-checkbox-0 > .search-filter-input-checkbox > .accordion-panel > .search-filter-input-checkbox > .search-filter-input-checkbox__container .search-filter-input-checkbox__label {
	font-weight: 400
}

.search-filter-input-checkbox--is-active>.search-filter-input-checkbox__container>.search-filter-input-checkbox__control>svg, .search-filter-input-checkbox__control>svg {
	    fill: var(--e-global-color-primary);
    color: var(--e-global-color-primary);
}

/* compare btn */
#ht-compare-button.htcompare-btn.button {
	color: var(--e-global-color-primary);
    background-color: var(--e-global-color-6de52bd);
    font-family: "Moderat", Sans-serif;
    font-size: 14px;
    font-weight: 500;
}

.elementor-nav-menu--dropdown .elementor-item.elementor-item-active, .elementor-nav-menu--dropdown .elementor-item.highlighted, .elementor-nav-menu--dropdown .elementor-item:focus, .elementor-nav-menu--dropdown .elementor-item:hover, .elementor-sub-item.elementor-item-active, .elementor-sub-item.highlighted, .elementor-sub-item:focus, .elementor-sub-item:hover
 {
    background-color: inherit;
	 color: inherit;
}

.single-attribute-container .product-details {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 20px 0;
	width: 60%
}

.single-attribute-container .product-detail {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li {
	border:none
}

.woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--e-global-color-primary);
	color: #fff
}

/* catalog */
/* --- STRUCTURAL LAYOUT FIXES --- */

#pdf-export-container .woocommerce-pdf-catalog-row {
	gap: 50px
}

#pdf-export-container .woocommerce-pdf-catalog-generate-catalog-button {
	color : #fff;
	border : 1px solid var(--e-global-color-primary);
	background: var(--e-global-color-primary)
}

#pdf-export-container .woocommerce-pdf-catalog-generate-catalog-button:hover, 
.woocommerce-pdf-catalog-generate-catalog-button:focus {
	color : var(--e-global-color-primary);
	border : 1px solid var(--e-global-color-primary);
	background: #fff;
}


/* Container for each category column */
.woocommerce-pdf-catalog-col {
    padding: 12px;
    min-width: 250px;
    flex: 1;
}

/* Row of columns */
.woocommerce-pdf-catalog-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 24px;
}

/* Main category block */
.woocommerce-pdf-catalog-builder-category > label {
    font-weight: bold;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.woocommerce-pdf-catalog-builder input {
	margin-bottom: 0
}

/* Subcategory + children wrapper */
.subcategory-block {
    margin: 20px 10px;
    padding-left: 10px;
}

/* Subcategory label */
.subcategory-block > label {
    display: flex;
    align-items: center;
		font-weight: 500;
    gap: 10px;
}

/* Sub-subcategory container */
.woocommerce-pdf-catalog-builder-subsubcategory {
    margin-left: 20px;
    margin-top: 6px;
}

/* Sub-subcategory labels */
.woocommerce-pdf-catalog-builder-subsubcategory label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
}

/* Toggle icon */
.toggle-icon {
    margin-left: auto;
    cursor: pointer;
    font-weight: bold;
    user-select: none;
}

/* --- ACCORDION BEHAVIOR --- */
.woocommerce-pdf-catalog-builder-subsubcategory {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
}
.woocommerce-pdf-catalog-builder-subsubcategory.open {
    max-height: 500px;
}

/* Reset default browser styles */
#pdf-export-container input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid #000; /* Black border */
    border-radius: 3px;
    background-color: #fff; /* White background initially */
    cursor: pointer;
    position: relative;
    outline: none;
}

/* Checked state with black background */
#pdf-export-container input[type="checkbox"]:checked {
    background-color: #000; /* Black background */
    border-color: #000;
}

/* Optional: Add a checkmark */
#pdf-export-container input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 1px;
    left: 4px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Indeterminate state */
#pdf-export-container input[type="checkbox"]:indeterminate {
    background-color: #000; /* Black background */
    border-color: #000;
}

#pdf-export-container input[type="checkbox"]:indeterminate::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 2px;
    width: 8px;
    height: 2px;
    background-color: white;
}

/* Hide the Next button when Topic == manufacturing */
.e-form__step:has(
  select[name="form_fields[topic]"] option[value="HR Brittany plant"]:checked
) .e-form__buttons__wrapper__button-next {
  display: none !important;
}

option[value="HR Brittany plant"] {
	display: none
}

.e-form__step:has(
  select[name="form_fields[location]"] option[value="France"]:checked
) option[value="HR Brittany plant"] {
	display: initial
}

.elementor-field-group .elementor-field-textual:focus {
    box-shadow: none;
    outline: 0;
}

.werecruit-link {
	font-weight: 600;
}

/* search & filter order */
.search-filter-input-group, .woocommerce-pdf-catalog-builder-subcategory {
	display: flex;
	flex-direction: column;
}

.search-filter-input-checkbox[data-option-value="refillable"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(1) {
	order: 1;
}

.search-filter-input-checkbox[data-option-value="single-material"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(10) {
	order: 2;
}

.search-filter-input-checkbox[data-option-value="stick-type"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(11) {
	order: 3;
}

.search-filter-input-checkbox[data-option-value="supported"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(6) {
	order: 4;
}

.search-filter-input-checkbox[data-option-value="unsupported"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(7) {
	order: 5;
}

.search-filter-input-checkbox[data-option-value="outer-base-material"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(3) {
	order: 6;
}

.search-filter-input-checkbox[data-option-value="material-outer-cap"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(8) {
	order: 7;
}

.search-filter-input-checkbox[data-option-value="shape"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(9) {
	order: 8;
}

.search-filter-input-checkbox[data-option-value="closure-type"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(2) {
	order: 9;
}
.search-filter-input-checkbox[data-option-value="closure-type"], .woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(5) {
	order: 10;
}
.woocommerce-pdf-catalog-builder-subcategory .subcategory-block:nth-child(4) {
	order: 11;
}

/* --- MOBILE RESPONSIVE --- */
@media (max-width: 768px) {
    .woocommerce-pdf-catalog-row {
        flex-direction: column;
    }

    .woocommerce-pdf-catalog-col {
        min-width: auto;
        width: 100%;
    }

    .subcategory-block {
        margin-left: 16px;
        padding-left: 8px;
        border-left: 2px solid #ddd;
    }

    .woocommerce-pdf-catalog-builder-subsubcategory {
        margin-left: 16px;
    }
}

/* Media query for screens 768px and wider (adjust breakpoint as needed) */
@media (min-width: 768px) {
    .product-details-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 equal columns */
    }
}

/* Css specifique ajoutéé dans le plugin PDF catalogue - pour référence uniquement */
/*
.category-information-container {
    padding-top: 250px;
}

table, tbody, tr, th {
  text-align:left;
  padding:0;
  border-spacing:0;
}

td {
    text-align: right;
}

.product-title, .gallery-title {
    font-weight: 300;
}

.attribute_name {
    font-weight: 400;
}

.attribute_group_name {
    font-style: italic;
}

.product-information-container {
    padding: 0px 20px 10px 20px;
}

.product-title {
    margin-top: 0;
}

.product-information-container {
    height: 360px
}

.product-short-description {
    height: 140px;
}

.product-short-description ul {
    padding: 0;
    list-style: inside;
    margin: 0;
}

.product-short-description p {
    margin: 0;
}


.col:nth-child(odd) .products-container {
    padding: 0 0 30px 30px;
}

.col:nth-child(even) .products-container {
    padding: 0 30px 30px 0;
}

.two-cols .product-images-container, .two-cols .product-content-container {
    width: 50%;
}

.product-image-link .product-image{
    width: 100%;
}

.empty {
    width: 200px;
}

.gallery-title {
    font-size: 14px;
    text-transform: none;
    line-height: inherit;
    margin: 10px 0 20px;
}


.ln-link {
    color: #000;
}
*/