/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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
*/

/*
 * Colors
 *    var(--e-global-color-primary) 	#1D1D1B;
 *    var(--e-global-color-secondary) 	#6B6B69;
 *    var(--e-global-color-text) 		#1D1D1B;
 *    var(--e-global-color-accent) 		#965941; brun
 *    var(--e-global-color-ed438b4) 	#F2E7DD; beige
 *    var(--e-global-color-4099fb6) 	#BF9987; Tan
 *    var(--e-global-color-b5e7572) 	#FFFFFF; Blanc
 * /

/* ==========================================================================
   RESET
   ========================================================================== */

html {
	scroll-behavior: auto !important;
}

p {
  margin-block-end: 0 !important;
}


body {
    padding-top: 0;
}




/* ==========================================================================
   GSAP - Animations
   ========================================================================== */


/* Fade effect */

.fade-up {
    opacity: 0 !important;
    transform: translateY(20px) !important;
    transition: opacity 0.65s cubic-bezier(0.4, 0, 0.2, 1), transform 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.fade-up.visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.line-reveal,
.line-reveal-down,
.word-reveal,
.reveal-skew,
.blur-reveal,
.blur-reveal-scroll,
.fade-reveal-scroll,
.highlight-reveal,
.scramble-reveal {
  will-change: transform;
  transform: translateZ(0);
}

.blur-reveal,
.blur-reveal-scroll {
  will-change: filter, opacity, transform;
}
.fade-reveal-scroll,
.highlight-reveal {
  will-change: opacity, transform;
}

/* --- Masques SplitText (communs à toutes les animations chars/lines/words) --- */

.split-line {
  display: block;
  overflow: hidden;
}
.split-line > * {
  display: inline-block;
  white-space: normal;
}

.split-char {
  display: inline-block;
  overflow: hidden;
}
.split-char > * {
  display: inline-block;
  white-space: pre;
}

.split-word {
  display: inline-block;
  overflow: hidden;
}
.split-word > * {
  display: inline-block;
  white-space: pre;
}

/* --- WORD-REVEAL : masque "maison" (sans SplitText) --- */
.word-wrapper {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.word-inner {
  display: inline-block;
}


/* ==========================================================================
   Snap Sections
   ========================================================================== */

.snap-section {
  position: relative;
  z-index: 0; 
  overflow: hidden;
}
.snap-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-size: cover;
  background-repeat: no-repeat;
  transform-origin: center center;
  will-change: transform;
}

.snap-bg-zoomable {
  transform-origin: center center;
  will-change: transform;
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header {
    width: 100%;
    z-index: 999;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.site-header.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    background: var(--e-global-color-primary);
}

.site-header.is-fixed.is-hidden {
    transform: translateY(-100%);
}

#twk-header {
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(15px);
}

#twk-header.headershow{
	transform: translateY(0);
}

#twk-header{
	position: fixed;
	top:0;
	width: 100%;
	-webkit-transition: transform 0.34s ease;
	transition : transform 0.34s ease;
	transform: translateY(-200px);
}

.mobile-header:not(.elementor-sticky__spacer) {
  transition: transform .8s ease;
}
.mobile-header:not(.elementor-sticky__spacer).snap-menu-hidden {
  transform: translateY(-100%);
}

/* =========================================================
   COMPONENTS / HAMBURGER
   ========================================================= */

.hamburger{
  --burger-width: 40px;
  --burger-line-height: 2px;
  --burger-gap: 10px;
  --burger-box-height: 24px;
  --burger-radius: 999px;
  --burger-color: var(--e-global-color-b5e7572);

  position: relative;
  z-index: 99999;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 44px;
  min-height: 44px;

  padding: 8px;
  margin: 0;
  border: 0;

  background: transparent;
  color: inherit;
  font: inherit;
  text-transform: none;

  cursor: pointer;
  overflow: visible;

  transition: opacity .15s linear, filter .15s linear;
}

.hamburger:hover{
  opacity: .7;
}

.hamburger:focus:not(:focus-visible){
  outline: none;
}

.hamburger-box{
  position: relative;
  width: var(--burger-width);
  height: var(--burger-box-height);
  pointer-events: none;
}

.hamburger-inner{
  position: absolute;
  display: block;
  top: 2px;
  width: var(--burger-width);
  height: var(--burger-line-height);
  background: var(--burger-color);
  border-radius: var(--burger-radius);
  transition: transform .15s ease;
  pointer-events: none;
}

.hamburger-inner::before,
.hamburger-inner::after{
  content: "";
  position: absolute;
  display: block;
  width: var(--burger-width);
  height: var(--burger-line-height);
  background: var(--burger-color);
  border-radius: var(--burger-radius);
  transition: transform .15s ease, opacity .15s ease;
  pointer-events: none;
}

.hamburger-inner::before{
  top: var(--burger-gap);
}

.hamburger-inner::after{
  top: calc(var(--burger-gap) * 2);
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after{
  background: var(--e-global-color-b5e7572);
}

.hamburger--slider.is-active .hamburger-inner{
  transform: translate3d(0, var(--burger-gap), 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before{
  transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner::after{
  transform: translate3d(0, calc(var(--burger-gap) * -2), 0) rotate(-90deg);
}

/* =========================================================
   COMPONENTS / HAMBURGER SIZE VARIANTS
   ========================================================= */

.hamburger--sm{
  --burger-width: 30px;
  --burger-line-height: 2.5px;
  --burger-gap: 8px;
  --burger-box-height: 19px;
}

.hamburger--lg{
  --burger-width: 38px;
  --burger-line-height: 3px;
  --burger-gap: 9px;
  --burger-box-height: 28px;
}


/* =========================================================
   COMPONENTS / BTN
   ========================================================= */

.btn--underline {
  position: relative;
  overflow: visible;
}

.btn--underline::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 35%;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: width 0.4s cubic-bezier(.65,0,.35,1),
              background 0.4s ease;
}

.btn--underline:hover::after {
  width: 100%;
}

.btn--arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn--arrow::after {
  content: "→";
  display: inline-block;
  transition: transform 0.3s ease;
}

.btn--arrow:hover::after {
  transform: translateX(4px);
}

/* =========================================================
   COMPONENTS / POSTS
   ========================================================= */

.posts--tags span {
  background: var(--e-global-color-ed438b4);
  padding: 0.15rem 0.45rem !important;
  font-size: 0.7rem;
  font-weight: 500;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  letter-spacing: 0.03em !important;
  margin-right: 0.3rem !important;
}

/* =========================================================
   COMPONENTS / Miscellaneous
   ========================================================= */

.limited-label {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 15px 100%) !important;
}

.elementor-field-group-field_e799b05 label {
    color: var(--e-global-color-secondary) !important;
    font-size: .8rem !important;
}

.elementor-field-group-field_e799b05 label a {
    font-size: .8rem !important;	
}


.elementor-field-group-field_c08af8d label {
    color: var(--e-global-color-secondary) !important;
    font-size: .8rem !important;
}

.elementor-field-group-field_c08af8d label a {
    font-size: .8rem !important;	
}

/* =========================================================
   COMPONENTS / Language switcher
   ========================================================= */

.language-switcher-menu .trp-language-item-name {
    color: var(--e-global-color-b5e7572) !important;
}

.language-switcher-menu .trp-shortcode-arrow path {
	stroke: var(--e-global-color-b5e7572) !important;
}

.language-switcher-menu .trp-shortcode-switcher {
	padding: 0px !important;
}


.language-switcher-footer .trp-language-item-name {
	color: var(--e-global-color-text) !important;
}

.language-switcher-footer .trp-shortcode-arrow path {
	stroke: var(--e-global-color-text) !important;
}


.language-switcher-footer .trp-language-item {
	padding: 7px 16px 7px 0px !important;
}

.language-switcher-footer .trp-shortcode-switcher__wrapper {
	position: relative;
}

.language-switcher-footer .trp-shortcode-overlay {
	top: auto;
	bottom: 0;
	display: flex;
	flex-direction: column-reverse;
	align-items: stretch;
}

.language-switcher-footer .trp-switcher-dropdown-list {
	top: auto;
	bottom: 100%;
	margin-top: 0;
	margin-bottom: 4px;
	z-index: 100;
}


/* =========================================================
   COMPONENTS / Cards
   ========================================================= */

/* Variations cards */
.card-hover .elementor-widget-image {
  overflow: hidden;
}

.card-hover .elementor-widget-image img {
  transition: transform 0.4s ease;
}

.card-hover:hover .elementor-widget-image img {
  transform: scale(1.08);
}

.card-hover:hover .btn--arrow::after {
  transform: translateX(4px);
}

/* Categories cards */

.card-category {
  position: relative;
  overflow: hidden;
}

.card-category::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease;
  z-index: 0;
  pointer-events: none;
}

.card-category:hover::after {
  transform: scale(1.1);
}

.card-category > * {
  position: relative;
  z-index: 1;
}

.card-category:hover .btn--underline::after {
  width: 100%;
}


/* =========================================================
   FILTERS RETAILERS
   ========================================================= */

.pays-filter {
  width: auto;
  min-width: 30%;
  padding: 16px 50px 16px 25px;
  border: 1px solid var(--e-global-color-accent);
  color: var(--e-global-color-accent);
  font-weight: 600;
  border-radius: 0px;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("https://n89flycfcbt.preview.infomaniak.website/wp-content/uploads/2026/08/chevron-down.svg");
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: right 16px center;
}

option {
  font-weight: 600;
  background: var(--e-global-color-b5e7572);
}

select.pays-filter {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url("https://n89flycfcbt.preview.infomaniak.website/wp-content/uploads/2026/08/chevron-down.svg");
    background-size: 20px;
    background-position: calc(100% - 16px);
    background-repeat: no-repeat;
}