/* Shared mydev-maquette-header composition. Native element controls take precedence. */
:where(.elementor) .mydev-maquette-header {
  --mydev-drawer-header-offset:var(--mydev-shell-height,68px);
  --header-ink:var(--mydev-color-on-inverse,#fff);
  --header-accent:var(--mydev-color-accent,#ff6224);
  --padding-top:0;
  --padding-right:0;
  --padding-bottom:0;
  --padding-left:0;
  padding:var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
  --min-height:78px;
  min-height:var(--min-height);
  background:transparent;
  border-bottom:1px solid transparent;
  color:var(--header-ink);
  z-index:100;
  transition:background .26s,border-color .26s;
}
:where(.elementor) .mydev-maquette-header.mydev-shell--surface-inverse {
	background: var(--mydev-color-surface-inverse, #0a0f1a);
	border-bottom-color: color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 9%, transparent);
	color: var(--mydev-color-on-inverse, #ffffff);
}
/* Legal documents use the same opaque shell while retaining the homepage header. */
body:has(.mydev-legal-sections) :where(.elementor) .mydev-maquette-header {
	background: var(--mydev-color-surface-inverse, #0a0f1a);
	border-bottom-color: color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 9%, transparent);
	color: var(--mydev-color-on-inverse, #ffffff);
}
:where(.elementor) .mydev-maquette-header.is-scrolled,:where(.elementor) .mydev-maquette-header.is-mobile-menu-open {
  background:color-mix(in srgb,var(--mydev-color-surface-inverse,#0a0f1a) 94%,transparent);
  border-bottom-color:color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 9.01961%, transparent);
  backdrop-filter:blur(18px);
  box-shadow:0 14px 40px #0000002e;
}
:where(.elementor) .mydev-maquette-header > .e-con-inner {
  width:min(1180px,calc(100% - 48px));
  max-width:none;
  min-height:78px;
  padding:0;
  display:flex;
  /* Elementor's container stylesheet can retain the document's column
   * direction. The shared header contract is always a single desktop row. */
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:36px;
}
:where(.elementor) .mydev-maquette-header .elementor-widget {
  margin:0;
}
:where(.elementor) .mydev-maquette-header .mydev-brand {
  margin-inline-end:auto;
  flex-shrink:0;
  width:132px;
}
:where(.elementor) .mydev-maquette-header .mydev-brand img {
  display:block;
  width:132px;
  height:auto;
}
:where(.elementor) .mydev-maquette-header .mydev-header-menu {
  /* Elementor's generated widget width can otherwise expand this item to the
   * complete row, turning the shared transparent header into three rows. */
  inline-size:fit-content!important;
  width:fit-content!important;
  flex:0 1 auto;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-nav-menu {
  gap:29px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item {
  padding:20px 0;
  color:color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 76.07843%, transparent);
  font:500 14px/1.7 var(--mydev-font-body);
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item:hover,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item:focus,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item-active {
  color:var(--header-ink);
  background:transparent;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item:after {
  background:var(--header-accent);
  height:1px;
  bottom:11px;
}
:where(.elementor) .mydev-maquette-header .sub-arrow {
  padding-inline-start:7px;
  color:var(--header-accent);
  font-size:11px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .sub-menu {
  min-width:330px!important;
  padding:18px;
  border:1px solid color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 12.94118%, transparent);
  border-radius:13px;
  background:var(--mydev-color-surface-inverse);
  box-shadow:0 28px 70px #00000073;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-sub-item {
  min-height:48px;
  padding:12px 8px;
  border-top:1px solid color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 7.84314%, transparent);
  color:color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 76.07843%, transparent);
  font:400 13px/1.7 var(--mydev-font-body);
  background:transparent;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-sub-item::after {
  content:"↗";
  margin-inline-start:auto;
  padding-inline-start:16px;
  color:#c9d4e86b;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown a:hover,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown a:focus {
  color:var(--mydev-color-on-inverse, #ffffff);
  background:color-mix(in srgb, var(--mydev-color-accent, #ff6224) 7.84314%, transparent);
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking {
  inline-size:fit-content!important;
  width:fit-content!important;
  flex:0 0 auto;
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button {
  display:inline-flex;
  align-items:center;
  padding:0 20px;
  border:1px solid var(--mydev-button-border, var(--mydev-color-accent));
  border-radius:var(--mydev-button-radius, 999px);
  background:var(--mydev-button-background, var(--header-accent));
  color:var(--mydev-button-foreground, var(--mydev-color-on-inverse, #ffffff));
  font:600 12px/1.7 var(--mydev-font-body);
  box-shadow:0 13px 38px color-mix(in srgb, var(--mydev-color-accent, #ff6224) 20.00000%, transparent);
  white-space:nowrap;
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button-content-wrapper {
  align-items:center;
  gap:12px;
}
:where(.elementor) .mydev-maquette-header a:focus-visible,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:focus-visible {
  outline:2px solid var(--header-accent);
  outline-offset:4px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .mydev-mobile-booking {
  display:none;
}
@media (min-width:1025px) and (max-width:1250px) {:where(.elementor) .mydev-maquette-header > .e-con-inner {
  gap:20px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-nav-menu {
  gap:18px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item {
  font-size:13px;
}}
@media (max-width:1024px) {:where(.elementor) .mydev-maquette-header,:where(.elementor) .mydev-maquette-header > .e-con-inner {
  min-height:68px;
}
:where(.elementor) .mydev-maquette-header > .e-con-inner {
  width:calc(100% - 32px);
  gap:16px;
}
:where(.elementor) .mydev-maquette-header .mydev-brand,:where(.elementor) .mydev-maquette-header .mydev-brand img {
  width:118px;
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking {
  display:none;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle {
  width:48px;
  height:48px;
  padding:12px;
  background:transparent;
  color:var(--mydev-color-on-inverse, #ffffff);
  border:0;
  border-radius:0;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle svg {
  width:24px;
  height:24px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu__container.elementor-nav-menu--dropdown {
  position:fixed;
  inset-inline:0!important;
  inset-block-start:calc(var(--mydev-shell-height,68px) + var(--wp-admin--admin-bar--height,0px));
  width:100vw!important;
  max-width:none;
  height:calc(100dvh - var(--mydev-shell-height,68px) - var(--wp-admin--admin-bar--height,0px));
  max-height:none!important;
  padding:15px 16px calc(22px + env(safe-area-inset-bottom));
  margin:0!important;
  border:0;
  border-radius:0 0 18px 18px;
  background:var(--mydev-color-surface-inverse);
  overflow-y:auto;
  transform:none;
  box-shadow:0 28px 60px #0000006b;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-item {
  min-height:48px;
  padding:13px 8px;
  font:500 14px/1.7 var(--mydev-font-body);
  border-bottom:1px solid color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 7.84314%, transparent);
  color:color-mix(in srgb, var(--mydev-color-on-inverse, #ffffff) 76.07843%, transparent);
  background:transparent;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .sub-arrow {
  margin-inline-start:auto;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .sub-menu {
  background:transparent;
  padding:0 10px 10px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .mydev-mobile-booking > a {
  justify-content:center;
  margin-top:10px;
  padding:14px 16px;
  background:var(--header-accent);
  color:var(--mydev-color-on-inverse, #ffffff);
  border:0;
  border-radius:999px;
}
:where(.elementor) .mydev-maquette-header .mydev-elementor-menu-backdrop {
  display:none;
}}
@media (prefers-reduced-motion:reduce) {:where(.elementor) .mydev-maquette-header,:where(.elementor) .mydev-maquette-header * {
  transition:none!important;
  scroll-behavior:auto;
}}
/* Keep the inverse navigation readable through the shared drawer defaults. */
:where(.elementor) .mydev-maquette-header .mydev-brand {
  line-height:0;
}
:where(.elementor) .mydev-maquette-header .mydev-brand a {
  display:block;
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button {
  min-height:48px;
  font-size:14px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-nav-menu {
  column-gap:29px;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .sub-arrow {
  padding:0 0 0 7px;
  margin:0;
}
.mydev-shell-host:has(.mydev-maquette-header) > .mydev-elementor-menu-backdrop {
  display:none!important;
}
@media (max-width:1024px) {:where(.elementor) .mydev-maquette-header.is-mobile-menu-open {
  backdrop-filter:none;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown a {
  border-radius:0;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu__container.elementor-nav-menu--dropdown {
  inset-block-end:auto;
  block-size:calc(100dvh - var(--mydev-shell-height,68px) - var(--wp-admin--admin-bar--height,0px));
}}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main > ul > .menu-item-has-children > a {
  font-weight:500;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main > ul::before,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main > ul::after {
  content:none;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .sub-arrow {
  width:21px;
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button {
  padding-inline:18px;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:not(.elementor-active) {
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:not(.elementor-active)::before,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:not(.elementor-active)::after {
  content:"";
  display:block;
  width:24px;
  height:1px;
  background:currentColor;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:not(.elementor-active) svg {
  display:none;
}
:where(.elementor) .mydev-maquette-header .sub-arrow svg,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle svg {
  fill:currentColor;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle.elementor-active {
  color:var(--mydev-color-on-inverse, #ffffff);
}
/* Maquette arrow: preserve its SVG geometry instead of a font glyph. */
:where(.elementor) .mydev-maquette-header {
  --mydev-header-cta-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2019%2019%205M5%205h14v14%22%2F%3E%3C%2Fsvg%3E");
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button-text {
  display:inline-flex;
  align-items:center;
  gap:12px;
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button-text::after,:where(.elementor) .mydev-maquette-header .mydev-mobile-booking > a::after {
  content:"";
  display:inline-block;
  position:static;
  opacity:1;
  transform:none;
  width:15px;
  height:15px;
  flex:0 0 15px;
  background:currentColor;
  -webkit-mask:var(--mydev-header-cta-icon) center/contain no-repeat;
  mask:var(--mydev-header-cta-icon) center/contain no-repeat;
}
:where(.elementor) .mydev-maquette-header .mydev-mobile-booking > a {
  gap:4px;
}
:where(.elementor) .mydev-maquette-header .mydev-mobile-booking > a::after {
  width:14px;
  height:14px;
  flex-basis:14px;
}
/* Header interaction states follow the maquette, independent of light drawer defaults. */
:where(.elementor) .mydev-maquette-header {
  --mydev-color-text:rgba(255,255,255,.76);
  --mydev-color-heading:var(--mydev-color-on-inverse, #ffffff);
}
:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button:hover,:where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button:focus-visible {
  background:var(--mydev-button-hover-background, var(--mydev-color-accent-strong, #ff7440));
  transform:translateY(-2px);
  box-shadow:0 17px 44px color-mix(in srgb, var(--mydev-color-accent, #ff6224) 30.19608%, transparent);
}
@media (max-width:1024px) {:where(.elementor) .mydev-maquette-header .elementor-menu-toggle,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:not(.elementor-active) {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:transparent;
  color:var(--mydev-color-on-inverse, #ffffff);
  transition:border-color 300ms ease,background 300ms ease,transform 360ms cubic-bezier(.16,1,.3,1);
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle svg,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle i {
  display:none;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle::before,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle::after,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:not(.elementor-active)::before,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:not(.elementor-active)::after {
  content:"";
  display:block;
  width:17px;
  height:1px;
  background:var(--mydev-color-surface, #ffffff);
  transform-origin:center;
  transition:transform 420ms cubic-bezier(.16,1,.3,1),background 300ms ease;
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle:hover {
  border-color:rgba(255,255,255,.12);
  background:transparent;
  color:var(--mydev-color-on-inverse, #ffffff);
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle[aria-expanded="true"] {
  border-color:rgba(255,98,36,.58);
  background:rgba(255,98,36,.08);
  transform:rotate(90deg);
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle[aria-expanded="true"]::before {
  background:var(--header-accent);
  transform:translateY(3.5px) rotate(45deg);
}
:where(.elementor) .mydev-maquette-header .elementor-menu-toggle[aria-expanded="true"]::after {
  background:var(--header-accent);
  transform:translateY(-3.5px) rotate(-45deg);
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-item:hover,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-item:focus,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-item-active {
  background:transparent;
  --mydev-color-text:var(--mydev-color-on-inverse, #ffffff);
  --mydev-color-heading:var(--mydev-color-on-inverse, #ffffff);
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-sub-item:hover,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-sub-item:focus {
  background:transparent;
  --mydev-color-text:var(--mydev-color-on-inverse, #ffffff);
  --mydev-color-heading:var(--mydev-color-on-inverse, #ffffff);
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .current-menu-item > .elementor-sub-item {
  background:rgba(255,98,36,.08);
  --mydev-color-text:var(--mydev-color-on-inverse, #ffffff);
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown > ul > li:not(.mydev-mobile-booking) > .elementor-item-active::after,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown > ul > li:not(.mydev-mobile-booking) > a:hover::after {
  content:"";
  display:block;
  position:absolute;
  inset-inline:0;
  bottom:-8px;
  height:1px;
  background:var(--header-accent);
  opacity:1;
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .mydev-mobile-booking > a {
  --mydev-color-text:var(--mydev-color-on-inverse, #ffffff);
  --mydev-color-heading:var(--mydev-color-on-inverse, #ffffff);
}
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .mydev-mobile-booking > a:hover,:where(.elementor) .mydev-maquette-header .elementor-nav-menu--dropdown .mydev-mobile-booking > a:focus {
  background:var(--header-accent);
}}
@media (prefers-reduced-motion:reduce) {:where(.elementor) .mydev-maquette-header .elementor-menu-toggle,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle::before,:where(.elementor) .mydev-maquette-header .elementor-menu-toggle::after {
  transition:none!important;
}}

/* Navigation changes state without the CTA's motion; dropdown opening remains
 * independently controlled by the navigation widget. */
:where(.elementor) .mydev-maquette-header .elementor-nav-menu a {
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  :where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button:hover,
  :where(.elementor) .mydev-maquette-header .mydev-header-booking .elementor-button:focus-visible {
    transform: none;
  }
}

/* Source navigation animates its underline, never the text itself. Keep the
 * native pointer enabled; replace its instant/fade geometry with an inline sweep. */
@media (min-width:1025px) {
  :where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item::after {
    width:auto;
    inset-inline-start:0;
    inset-inline-end:100%;
    opacity:1;
    transform:none;
    transition:inset-inline-end 180ms ease;
  }
  :where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item:hover::after,
  :where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item:focus-visible::after,
  :where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item-active::after,
  :where(.elementor) .mydev-maquette-header .elementor-nav-menu--main li:focus-within > .elementor-item::after,
  :where(.elementor) .mydev-maquette-header .elementor-nav-menu--main li:hover > .elementor-item::after {
    inset-inline-end:0;
  }
}
@media (prefers-reduced-motion:reduce) {
  :where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item::after { transition:none; }
}
/* Elementor's generic a:hover has higher specificity than the resting menu
 * rule. Preserve trigger geometry in every state so the hover target stays put. */
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item:hover,
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item:focus,
:where(.elementor) .mydev-maquette-header .elementor-nav-menu--main .elementor-item.highlighted {
  padding:20px 0;
}
