.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* DropBags - Header partagé : sticky et fondu, toutes les pages */
.elementor-location-header {
  --db-header-fade-tail: clamp(96px, 10vw, 140px);
  position: sticky !important;
  top: 0;
  z-index: 1000;
  isolation: isolate;
  overflow: visible !important;
  background: linear-gradient(to bottom, #25372F 0%, rgba(37,55,47,.9) 40%, transparent 100%) !important;
}
.elementor-location-header::before,
.elementor-location-header::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: calc(-1 * var(--db-header-fade-tail));
  left: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
}
.elementor-location-header::before {
  background: linear-gradient(to bottom,
    rgba(37, 55, 47, .98) 0%,
    rgba(37, 55, 47, .96) 24%,
    rgba(37, 55, 47, .89) 40%,
    rgba(37, 55, 47, .68) 58%,
    rgba(37, 55, 47, .34) 78%,
    rgba(37, 55, 47, 0) 100%
  );
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0,0,0,.85) 52%, rgba(0,0,0,.35) 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0,0,0,.85) 52%, rgba(0,0,0,.35) 78%, transparent 100%);
}
.elementor-location-header::after {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.75) 48%, rgba(0,0,0,.35) 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.75) 48%, rgba(0,0,0,.35) 78%, transparent 100%);
}
.elementor-location-header > .elementor-element-2e558aff {
  position: relative;
  z-index: 1;
}

/* DropBags header global: hovers, .elementor-787 and mobile behaviors */
/* DropBags component tokens: keep visual values centralized and equivalent */
:root {
  --db-green: var(--brand-green, #25372F);
  --db-yellow: var(--brand-yellow, #FFAC33);
  --db-cream: var(--background-cream, #FAF6F2);
  --db-text: var(--text-dark, #202422);
  --db-white: var(--surface-white, #FFFFFF);
  --db-border: var(--border-light, #DADAD5);
  --db-heading-font: var(--font-heading, "Pramukh Rounded");
  --db-body-font: var(--font-body, "Sora");
  --db-hover-tint: rgba(0,0,0,.075);
  --db-hover-duration: 320ms;
  --db-hover-easing: cubic-bezier(.22,1,.36,1);
  --db-faq-optical-shift: -1px;
  --db-anchor-offset-desktop: 132px;
  --db-anchor-offset-tablet: 116px;
  --db-anchor-offset-mobile: 96px;
}
:is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[href],
.elementor-50 a[href],
.elementor-69 a[href] {
  transition: color 260ms var(--db-hover-easing);
}
@media (hover: hover) and (pointer: fine) {
  .elementor a[href]:not(.db-button-primary):not(.db-button-secondary):not(.e-image-link-base):not(.elementor-button):not([data-id="21fb7da8"]):not([data-id="af0f51c"]):not([data-id="7abdb060"]):not([data-id="c8000066"]):not([data-id="5f4f96b3"]):not([data-id="5a8b24d8"]):not([data-id="419cd66b"]):hover,
  .elementor .db-nav-link a:hover,
  .elementor-69 .db-nav-link a:hover {
    color: var(--db-yellow) !important;
  }
}
/* All designed CTAs share a gentle background-only crossfade, no opacity on content. */
:is(
  .elementor a.elementor-button,
  .elementor button:not(.elementor-accordion-title):not(.db-language-trigger),
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="21fb7da8"],
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="af0f51c"],
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="7abdb060"],
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="c8000066"],
  .elementor-50 a[data-id="5f4f96b3"],
  .elementor-69 a[data-id="5a8b24d8"],
  .elementor-69 a[data-id="419cd66b"]
) {
  position: relative;
  isolation: isolate;
}
:is(
  .elementor a.elementor-button,
  .elementor button:not(.elementor-accordion-title):not(.db-language-trigger),
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="21fb7da8"],
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="af0f51c"],
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="7abdb060"],
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="c8000066"],
  .elementor-50 a[data-id="5f4f96b3"],
  .elementor-69 a[data-id="5a8b24d8"],
  .elementor-69 a[data-id="419cd66b"]
)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background-color: var(--db-hover-tint);
  opacity: 0;
  transition: opacity var(--db-hover-duration) var(--db-hover-easing);
}
@media (hover: hover) and (pointer: fine) {
  :is(
    .elementor a.elementor-button,
    .elementor button:not(.elementor-accordion-title):not(.db-language-trigger),
    :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="21fb7da8"],
    :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="af0f51c"],
    :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="7abdb060"],
    :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="c8000066"],
    .elementor-50 a[data-id="5f4f96b3"],
    .elementor-69 a[data-id="5a8b24d8"],
    .elementor-69 a[data-id="419cd66b"]
  ):hover::after {
    opacity: 1;
  }
  .elementor-location-header .db-mobile-menu-trigger:is(:hover, :focus-visible) > .elementor-element {
    background-color: var(--db-yellow) !important;
  }
  .elementor-69 [data-id="26ca5e2a"]:hover {
    filter: brightness(0) saturate(100%) invert(72%) sepia(82%) saturate(747%) hue-rotate(338deg) brightness(104%) contrast(102%);
  }
}
.elementor-location-header .db-mobile-menu-trigger > .elementor-element {
  /* Same subtle timing as the global text-link hover. */
  transition: background-color 260ms var(--db-hover-easing);
}
.elementor-69 [data-id="26ca5e2a"] {
  /* The SVG is an image: interpolate its colour through a filter, not opacity. */
  filter: none;
  transition: filter 260ms var(--db-hover-easing);
}

@media (prefers-reduced-motion: reduce) {
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[href], .elementor-50 a[href], .elementor-69 a[href],
  .elementor button, .elementor-location-header .db-mobile-menu-trigger > .elementor-element,
  :is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229) .elementor-element-c800005a .elementor-accordion-title {
    transition: none !important;
  }
}

/* dropbags-hover-pulse-20261010: refined single-beat motion for button icons only */
:root {
  --db-pulse-button-scale: 1.065;
  --db-pulse-button-duration: 540ms;
}
@keyframes db-hover-heartbeat {
  0%, 100% { transform: scale(1); }
  48% { transform: scale(var(--db-pulse-peak, 1.045)); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  /* Animate the icon only, preserving the button text and existing background fade. */
  .elementor a:is(
    [data-id="21fb7da8"],
    [data-id="af0f51c"],
    [data-id="7abdb060"],
    [data-id="c8000066"],
    [data-id="5f4f96b3"],
    [data-id="5a8b24d8"],
    [data-id="419cd66b"]
  ) > :is(.e-svg-base, img.e-image-base) {
    --db-pulse-peak: var(--db-pulse-button-scale);
    transform-origin: center;
    backface-visibility: hidden;
  }
  .elementor a:is(
    [data-id="21fb7da8"],
    [data-id="af0f51c"],
    [data-id="7abdb060"],
    [data-id="c8000066"],
    [data-id="5f4f96b3"],
    [data-id="5a8b24d8"],
    [data-id="419cd66b"]
  ):hover > :is(.e-svg-base, img.e-image-base) {
    animation: db-hover-heartbeat var(--db-pulse-button-duration) cubic-bezier(.22,1,.36,1) 1 both;
  }

}
/* Full-height mobile menu: fixed-height dialog and bottom-pinned CTA area */
#elementor-popup-modal-69 .dialog-widget-content {
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
/* Quick native Elementor fade on the mobile menu; preserve its fade-out. */
#elementor-popup-modal-69 .dialog-widget-content,
#elementor-popup-modal-69 .dialog-message,
#elementor-popup-modal-69 .animated {
  -webkit-animation-duration: .19s !important;
  animation-duration: .19s !important;
}
@media (prefers-reduced-motion: reduce) {
  #elementor-popup-modal-69 .animated {
    -webkit-animation-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
.elementor-69 [data-id="c514fc7"] {
  height: 100dvh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-69 [data-id="50509483"] {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-69 [data-id="35905722"] {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
}
.elementor-69 [data-id="689f05a6"] {
  margin-top: auto !important;
  flex: 0 0 auto !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}
.db-mobile-menu-trigger { cursor: pointer; }
.elementor-location-popup [data-id="26ca5e2a"] { cursor: pointer; }

/* Buttons use intrinsic width and internal gutters, not a fixed label box. */
.elementor-50 a[data-id="5f4f96b3"],
.elementor:is(:is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229),.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="c8000066"] {
  width: max-content !important;
  max-width: 100%;
  flex-basis: auto !important;
  flex-shrink: 0;
  box-sizing: border-box;
  padding-inline: 24px !important;
}
.elementor-50 a[data-id="5f4f96b3"] > :is(span,p),
.elementor:is(:is(.elementor-8,.elementor-224,.elementor-227,.elementor-228,.elementor-229),.elementor-224,.elementor-227,.elementor-228,.elementor-229) a[data-id="c8000066"] > :is(span,p) {
  white-space: nowrap;
}
/* Keep mobile modal buttons full-width and protect translated labels. */
.elementor-69 a:is([data-id="5a8b24d8"],[data-id="419cd66b"]) {
  box-sizing: border-box;
  padding-inline: 24px !important;
  min-width: 0;
}
@media (min-width: 1025px) {
  .elementor-50 [data-id="1816d829"] {
    width: max-content !important;
    max-width: calc(100% - 220px);
    flex: 0 1 auto !important;
    gap: 32px !important;
    justify-content: flex-end !important;
  }
  .elementor-50 nav[data-id="d923bca"] {
    width: max-content !important;
    flex: 0 1 auto !important;
    justify-content: flex-end !important;
  }
  .elementor-50 nav[data-id="d923bca"] .db-nav-link {
    white-space: nowrap;
  }
}
/* Language .elementor-787: no Elementor button hover/focus background or lift. */
.db-language-picker button.db-language-trigger,
.db-language-picker button.db-language-trigger:is(:hover,:focus,:focus-visible,:active) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  padding: 0 !important;
}
.db-language-picker button.db-language-trigger:is(:hover,:focus,:focus-visible,:active) .db-language-chevron path {
  stroke: #FFFFFF !important;
}
/* One visible hover surface at a time; keep active checkmark. */
.db-language-panel:hover .db-language-option[aria-current="page"]:not(:hover) {
  background-color: transparent !important;
}
@media (max-width:767px) {
  .elementor-50 a[data-id="5f4f96b3"] { display: none !important; }
}/* End custom CSS */