/* ==========================================================================
   Coto Premium Header v2.4.11 – Frontend Styles
   ========================================================================== */

/* ── CSS Custom Properties (fallbacks, overridden by inline :root) ──────── */
:root {
  --cph-topbar-bg: #8fbec9;
  --cph-topbar-text: #fff;
  --cph-overlay-text: #fff;
  --cph-overlay-hover: #f2f2f2;
  --cph-overlay-gradient-start: rgba(0,0,0,.28);
  --cph-overlay-gradient-end: rgba(0,0,0,0);
  --cph-overlay-gradient-height: 260px;
  --cph-overlay-dropdown-bg: rgba(15,23,30,.96);
  --cph-overlay-dropdown-text: #fff;
  --cph-overlay-dropdown-hover: rgba(255,255,255,.08);
  --cph-overlay-menu-dim-bg: rgba(0,0,0,.26);
  --cph-overlay-menu-item-bg: rgba(255,255,255,.10);
  --cph-overlay-menu-item-hover-bg: rgba(255,255,255,.16);
  --cph-overlay-menu-item-hover-text: rgb(82,176,175);
  --cph-sticky-bg: rgba(255,255,255,.96);
  --cph-sticky-text: #111;
  --cph-sticky-hover: #666;
  --cph-sticky-dropdown-bg: rgba(255,255,255,.98);
  --cph-sticky-dropdown-text: #111;
  --cph-sticky-dropdown-hover: rgba(0,0,0,.04);
  --cph-cart-badge-bg: #fff;
  --cph-cart-badge-text: #111;
  --cph-drawer-bg: #fff;
  --cph-drawer-text: #111;
  --cph-focus: #005fcc;
  --cph-border-color: rgba(0,0,0,.08);
  --cph-font-family: inherit;
  --cph-logo-width: 190px;
  --cph-logo-width-mobile: 150px;
  --cph-logo-width-mobile-sticky: 122px;
  --cph-logo-width-sticky: 150px;
  --cph-overlay-logo-width: 360px;
  --cph-overlay-top-offset: 18px;
  --cph-sticky-height: 74px;
  --cph-mobile-height: 68px;
  --cph-topbar-height: 36px;
  --cph-max-width: 1880px;
  --cph-side-padding: 20px;
  --cph-menu-gap: 22px;
  --cph-icon-size: 18px;
  --cph-menu-font-size: 13px;
  --cph-topbar-font-size: 12px;
  --cph-letter-spacing: .06em;
  --cph-mobile-icon-size: 22px;
  --cph-mobile-icon-gap: 4px;
  --cph-desktop-icon-gap: 18px;
  --cph-dropdown-radius: 14px;
  --cph-dropdown-padding-y: 10px;
  --cph-dropdown-padding-x: 16px;
  --cph-dropdown-shadow: 0 20px 44px rgba(0,0,0,.16);
  --cph-overlay-menu-item-radius: 12px;
  --cph-overlay-menu-item-gap: 4px;
  --cph-overlay-menu-item-padding-y: 9px;
  --cph-overlay-menu-item-padding-x: 14px;
  --cph-mobile-current-topbar: var(--cph-topbar-height);
  --cph-desktop-current-topbar: var(--cph-topbar-height);
}

/* ── Divi Override ─────────────────────────────────────────────────────── */
body.cph-active #main-header,
body.cph-active #top-header {
  display: none !important;
}
body.cph-active #page-container,
body.cph-active.et_fixed_nav #main-content,
body.cph-active.et_non_fixed_nav.et_transparent_nav #main-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── No-scroll lock ────────────────────────────────────────────────────── */
html.cph-no-scroll,
body.cph-no-scroll {
  overflow: hidden !important;
  touch-action: none;
}

/* ── Base ───────────────────────────────────────────────────────────────── */
.cph-wrap,
.cph-wrap * {
  box-sizing: border-box;
}
.cph-wrap {
  font-family: var(--cph-font-family);
  position: relative;
  z-index: 9999;
}
.cph-container {
  max-width: var(--cph-max-width);
  margin: 0 auto;
  padding: 0 var(--cph-side-padding);
}

/* ── Focus ─────────────────────────────────────────────────────────────── */
.cph-wrap button:focus-visible,
.cph-wrap a:focus-visible,
.cph-wrap input:focus-visible {
  outline: 2px solid var(--cph-focus);
  outline-offset: 2px;
}

/* ==========================================================================
   TOPBAR
   ========================================================================== */
.cph-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10020;
  background: var(--cph-topbar-bg);
  color: var(--cph-topbar-text);
  transition: transform .25s ease, opacity .25s ease;
  will-change: transform, opacity;
}
.cph-wrap.is-mobile-sticky-hide-topbar .cph-topbar {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
.cph-topbar__inner {
  min-height: var(--cph-topbar-height);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  font-size: var(--cph-topbar-font-size);
}
.cph-topbar__center {
  text-align: center;
}
.cph-topbar__left,
.cph-topbar__right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cph-topbar__right {
  justify-content: flex-end;
}
.cph-topbar__right a {
  color: inherit;
  text-decoration: none;
}
.cph-topbar__right a:hover {
  text-decoration: underline;
}

/* ── Social Links ──────────────────────────────────────────────────────── */
.cph-social-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  text-decoration: none;
  min-width: 48px;
  min-height: 48px;
  justify-content: center;
  transition: opacity .18s ease;
}
.cph-social-link:hover {
  opacity: .75;
}
.cph-social-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* ==========================================================================
   OVERLAY DESKTOP
   ========================================================================== */
.cph-overlay-desktop {
  position: fixed;
  left: 0;
  right: 0;
  top: calc(var(--cph-desktop-current-topbar) + var(--cph-overlay-top-offset));
  z-index: 10010;
  color: var(--cph-overlay-text);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.cph-overlay-desktop--disabled {
  display: none;
}
.cph-overlay-desktop__inner {
  display: grid;
  grid-template-columns: minmax(220px, 320px) auto minmax(220px, 320px);
  align-items: start;
  gap: 24px;
  position: relative;
}
.cph-overlay-desktop--with-gradient::before {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--cph-overlay-top-offset)) 0 auto 0;
  height: var(--cph-overlay-gradient-height);
  background: linear-gradient(to bottom, var(--cph-overlay-gradient-start), var(--cph-overlay-gradient-end));
  pointer-events: none;
  z-index: -1;
}
.cph-overlay-desktop__left,
.cph-overlay-desktop__right,
.cph-overlay-desktop__center {
  pointer-events: auto;
}
.cph-overlay-desktop__center {
  text-align: center;
}
.cph-overlay-desktop__right {
  text-align: right;
}
.cph-overlay-nav {
  width: 100%;
  border-radius: 20px;
  padding: 8px;
  transition: background .22s ease, backdrop-filter .22s ease, -webkit-backdrop-filter .22s ease;
}
.cph-overlay-nav:hover,
.cph-overlay-nav:focus-within {
  background: var(--cph-overlay-menu-dim-bg);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

/* When sticky is active, hide overlay */
.cph-wrap.is-sticky .cph-overlay-desktop {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-12px);
}

/* ── Overlay Icons ─────────────────────────────────────────────────────── */
.cph-overlay-icons {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}

/* ==========================================================================
   MENUS — shared reset
   ========================================================================== */
.cph-overlay-menu,
.cph-mobile-menu,
.cph-sticky-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cph-overlay-menu > li,
.cph-mobile-menu > li,
.cph-sticky-menu > li {
  position: relative;
}
.cph-overlay-menu a,
.cph-mobile-menu a,
.cph-sticky-menu a {
  text-decoration: none;
  display: block;
  transition: color .18s ease;
}

/* ==========================================================================
   OVERLAY MENU (desktop compact panel + inline expansion)
   ========================================================================== */
.cph-overlay-nav,
.cph-overlay-menu,
.cph-overlay-menu > li {
  overflow: visible;
}
.cph-overlay-menu > li + li {
  margin-top: var(--cph-overlay-menu-item-gap);
}
.cph-overlay-desktop .cph-overlay-menu > li > a,
.cph-overlay-desktop .cph-overlay-menu .sub-menu a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: var(--cph-dropdown-padding-y) var(--cph-dropdown-padding-x);
  border-radius: calc(var(--cph-dropdown-radius) - 4px);
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.cph-overlay-desktop .cph-overlay-menu > li > a {
  color: var(--cph-overlay-text);
  font-size: var(--cph-menu-font-size);
  letter-spacing: var(--cph-letter-spacing);
  text-transform: uppercase;
  font-weight: 600;
  padding: var(--cph-overlay-menu-item-padding-y) var(--cph-overlay-menu-item-padding-x);
  border-radius: var(--cph-overlay-menu-item-radius);
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu a {
  color: var(--cph-overlay-dropdown-text) !important;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  text-transform: none;
  letter-spacing: .01em;
  padding: var(--cph-dropdown-padding-y) var(--cph-dropdown-padding-x);
  border-radius: calc(var(--cph-dropdown-radius) - 4px);
}
.cph-overlay-nav:hover .cph-overlay-menu > li > a,
.cph-overlay-nav:focus-within .cph-overlay-menu > li > a {
  background: transparent !important;
  border-color: transparent !important;
}
.cph-overlay-menu .sub-menu a {
  background: transparent !important;
  border-color: transparent !important;
}
.cph-overlay-desktop .cph-overlay-menu > li > a:hover,
.cph-overlay-desktop .cph-overlay-menu > li > a:focus-visible,
.cph-overlay-desktop .cph-overlay-menu > li:hover > a,
.cph-overlay-desktop .cph-overlay-menu > li:focus-within > a {
  color: var(--cph-overlay-menu-item-hover-text);
  background: transparent !important;
  border-color: transparent !important;
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu a:hover,
.cph-overlay-desktop .cph-overlay-menu .sub-menu a:focus-visible,
.cph-overlay-desktop .cph-overlay-menu .sub-menu .menu-item-has-children:hover > a,
.cph-overlay-desktop .cph-overlay-menu .sub-menu .menu-item-has-children:focus-within > a {
  color: var(--cph-overlay-menu-item-hover-text);
  background: var(--cph-overlay-dropdown-hover) !important;
  border-color: transparent !important;
}
.cph-overlay-menu > li.menu-item-has-children > a::after,
.cph-overlay-menu .sub-menu .menu-item-has-children > a::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  opacity: .9;
  margin-left: auto;
  flex: 0 0 auto;
  transform: rotate(45deg);
  transition: transform .22s ease;
}
.cph-overlay-menu .sub-menu .menu-item-has-children > a::after {
  width: 6px;
  height: 6px;
  opacity: .8;
}
.cph-overlay-menu > li:hover > a::after,
.cph-overlay-menu > li:focus-within > a::after,
.cph-overlay-menu .sub-menu .menu-item-has-children:hover > a::after,
.cph-overlay-menu .sub-menu .menu-item-has-children:focus-within > a::after {
  transform: rotate(45deg);
}
.cph-overlay-menu > li > .sub-menu,
.cph-overlay-menu .sub-menu .sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  display: block !important;
  min-width: 260px;
  max-width: 340px;
  margin: 0;
  padding: var(--cph-dropdown-padding-y) 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: visible;
  border: 1px solid var(--cph-border-color);
  border-radius: var(--cph-dropdown-radius);
  background: var(--cph-overlay-dropdown-bg);
  box-shadow: var(--cph-dropdown-shadow);
  transform: translateY(-4px);
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
  z-index: 30;
}
.cph-overlay-menu > li:hover > .sub-menu,
.cph-overlay-menu > li:focus-within > .sub-menu,
.cph-overlay-menu > li.cph-hover-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.cph-overlay-menu .sub-menu .menu-item-has-children:hover > .sub-menu,
.cph-overlay-menu .sub-menu .menu-item-has-children:focus-within > .sub-menu,
.cph-overlay-menu .sub-menu .menu-item-has-children.cph-hover-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.cph-overlay-menu .sub-menu {
  list-style: none;
}
.cph-overlay-menu .sub-menu li {
  position: relative;
}
.cph-overlay-menu .sub-menu > li + li {
  margin-top: var(--cph-overlay-menu-item-gap);
}
.cph-overlay-menu--left > li > .sub-menu,
.cph-overlay-menu--right > li > .sub-menu {
  left: 0;
  right: auto;
}
.cph-overlay-menu .sub-menu .sub-menu,
.cph-overlay-menu li.cph-open-left > .sub-menu,
.cph-overlay-menu li.cph-open-right > .sub-menu,
.cph-overlay-menu--left .sub-menu .sub-menu,
.cph-overlay-menu--left li.cph-open-right > .sub-menu,
.cph-overlay-menu--right .sub-menu .sub-menu,
.cph-overlay-menu--right li.cph-open-left > .sub-menu {
  top: calc(100% + 8px);
  left: 0;
  right: auto;
}
.cph-overlay-menu--right,
.cph-overlay-menu--right .sub-menu,
.cph-overlay-menu--right a {
  text-align: left;
}
.cph-overlay-menu--right > li.menu-item-has-children > a,
.cph-overlay-menu--right .sub-menu .menu-item-has-children > a {
  justify-content: flex-start;
}

/* ==========================================================================
   STICKY HEADER
   ========================================================================== */
.cph-sticky-header {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--cph-desktop-current-topbar);
  height: var(--cph-sticky-height);
  background: var(--cph-sticky-bg);
  color: var(--cph-sticky-text);
  z-index: 10030;
  transform: translateY(-120%);
  opacity: 0;
  pointer-events: none;
  transition: transform .26s ease, opacity .26s ease;
  will-change: transform, opacity;
  contain: layout style;
  /* CRITICAL: overflow visible so dropdowns aren't clipped */
  overflow: visible;
}
.cph-wrap.is-sticky .cph-sticky-header {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.cph-sticky-header__inner {
  height: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  overflow: visible;
}

.cph-sticky-header__center {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  overflow: visible;
}
.cph-sticky-header__center:not(.has-overflow) {
  grid-template-columns: 1fr;
}

/* Slider viewport – CRITICAL: overflow-y visible for dropdowns */
.cph-sticky-slider-viewport {
  overflow-x: hidden;
  overflow-y: visible;
  min-width: 0;
  padding: 14px 0;
}
.cph-sticky-slider {
  display: flex;
  justify-content: center;
  overflow: visible;
}

/* ==========================================================================
   STICKY MENU + DROPDOWN SUBMENUS
   ========================================================================== */
.cph-sticky-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--cph-menu-gap);
  white-space: nowrap;
  overflow: visible;
}
.cph-sticky-menu > li {
  display: flex;
  align-items: center;
  position: relative;
}
.cph-sticky-menu > li > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cph-sticky-text);
  font-size: var(--cph-menu-font-size);
  letter-spacing: var(--cph-letter-spacing);
  text-transform: uppercase;
  font-weight: 600;
  padding: 10px 0;
  position: relative;
}
.cph-sticky-menu > li:hover > a,
.cph-sticky-menu > li:focus-within > a,
.cph-sticky-menu > li.is-open > a {
  color: var(--cph-sticky-hover);
}
.cph-sticky-menu > li.menu-item-has-children > a::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: .85;
  transition: transform .2s ease;
  margin-left: auto;
  flex: 0 0 auto;
}
.cph-sticky-menu > li.is-open > a::after,
.cph-sticky-menu > li:hover > a::after,
.cph-sticky-menu > li:focus-within > a::after {
  transform: rotate(-135deg);
}
.cph-sticky-menu > li > .sub-menu {
  display: none !important;
}
.cph-sticky-flyout {
  position: fixed;
  top: 0;
  left: 0;
  min-width: 260px;
  max-width: 340px;
  padding: var(--cph-dropdown-padding-y) 0;
  background: var(--cph-sticky-dropdown-bg);
  border: 1px solid var(--cph-border-color);
  border-radius: var(--cph-dropdown-radius);
  box-shadow: var(--cph-dropdown-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index: 10050;
}
.cph-sticky-flyout.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cph-sticky-flyout::before {
  content: '';
  position: absolute;
  top: -7px;
  left: var(--cph-tip-left, 50%);
  width: 12px;
  height: 12px;
  background: var(--cph-sticky-dropdown-bg);
  border-left: 1px solid var(--cph-border-color);
  border-top: 1px solid var(--cph-border-color);
  transform: translateX(-50%) rotate(45deg);
}
.cph-sticky-flyout ul,
.cph-sticky-flyout li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cph-sticky-flyout li {
  position: relative;
}
.cph-sticky-flyout a {
  display: block;
  padding: 11px var(--cph-dropdown-padding-x);
  color: var(--cph-sticky-dropdown-text);
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
}
.cph-sticky-flyout .menu-item-has-children > a {
  position: relative;
  padding-right: calc(var(--cph-dropdown-padding-x) + 18px);
}
.cph-sticky-flyout .menu-item-has-children > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--cph-dropdown-padding-x);
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(-45deg);
  opacity: .8;
}
.cph-sticky-flyout a:hover,
.cph-sticky-flyout a:focus-visible {
  background: var(--cph-sticky-dropdown-hover);
}
.cph-sticky-flyout > .sub-menu {
  display: block !important;
}
.cph-sticky-flyout .sub-menu {
  display: block !important;
}
.cph-sticky-flyout .sub-menu .sub-menu {
  position: absolute;
  top: 0;
  min-width: 280px;
  max-width: 320px;
  padding: 6px 0;
  background: var(--cph-sticky-dropdown-bg);
  border: 1px solid var(--cph-border-color);
  border-radius: var(--cph-dropdown-radius);
  box-shadow: var(--cph-dropdown-shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-2px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index: 4;
}
.cph-sticky-flyout li.cph-open-right > .sub-menu {
  left: calc(100% - 6px);
}
.cph-sticky-flyout li.cph-open-left > .sub-menu {
  right: calc(100% - 6px);
}
.cph-sticky-flyout > .sub-menu > li:hover > .sub-menu,
.cph-sticky-flyout > .sub-menu > li:focus-within > .sub-menu,
.cph-sticky-flyout .sub-menu li:hover > .sub-menu,
.cph-sticky-flyout .sub-menu li:focus-within > .sub-menu,
.cph-sticky-flyout .menu-item-has-children.cph-hover-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.cph-sticky-flyout .sub-menu a {
  font-size: 13px;
  padding: 9px calc(var(--cph-dropdown-padding-x) - 2px);
}
/* ── Slider Arrows ─────────────────────────────────────────────────────── */
.cph-slider-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 48px;
  min-height: 48px;
  border: 0;
  background: transparent;
  color: var(--cph-sticky-text);
  cursor: pointer;
  transition: opacity .15s ease;
}
.cph-slider-arrow:hover {
  opacity: .6;
}
.cph-slider-arrow svg {
  width: 18px;
  height: 18px;
}
.cph-sticky-header__center:not(.has-overflow) .cph-slider-arrow {
  display: none;
}

/* ==========================================================================
   LOGO
   ========================================================================== */
.cph-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
}
.cph-logo {
  display: block;
  height: auto;
  max-width: 100%;
}
.cph-logo-link--overlay .cph-logo--default { width: var(--cph-overlay-logo-width); }
.cph-logo-link--sticky .cph-logo--default  { width: var(--cph-logo-width); }
.cph-logo-link--mobile .cph-logo--default  { width: var(--cph-logo-width-mobile); }

.cph-logo--scroll { display: none; }

.cph-wrap.is-sticky .cph-sticky-header .cph-logo--default { display: none; }
.cph-wrap.is-sticky .cph-sticky-header .cph-logo--scroll {
  display: block;
  width: var(--cph-logo-width-sticky);
}
.cph-wrap.is-mobile-sticky .cph-mobile-header .cph-logo--default { display: none !important; }
.cph-wrap.is-mobile-sticky .cph-mobile-header .cph-logo--scroll {
  display: block !important;
  width: var(--cph-logo-width-mobile-sticky);
}

.cph-logo-text {
  font-weight: 700;
  font-size: 1.2em;
}

/* ==========================================================================
   UTILITIES (search, account, wishlist, cart)
   ========================================================================== */
.cph-utilities {
  display: flex;
  align-items: center;
  gap: var(--cph-desktop-icon-gap);
}
.cph-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  position: relative;
  min-height: 48px;
  min-width: 48px;
  transition: opacity .18s ease;
}
.cph-icon-button:hover {
  opacity: .7;
}
.cph-icon-button svg {
  width: var(--cph-icon-size);
  height: var(--cph-icon-size);
}
.cph-cart-count {
  position: absolute;
  top: 2px;
  right: -4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--cph-cart-badge-bg);
  color: var(--cph-cart-badge-text);
  font-size: 11px;
  line-height: 1;
  border: 1px solid rgba(0,0,0,.08);
}

/* ==========================================================================
   DESKTOP-ONLY: spacer + hide mobile elements
   ========================================================================== */
.cph-sticky-spacer {
  display: none;
}
.cph-mobile-header,
.cph-mobile-spacer {
  display: none;
}
.cph-mobile-drawer {
  display: none;
}
.cph-search-overlay {
  display: none;
}

/* ==========================================================================
   SEARCH OVERLAY
   ========================================================================== */
.cph-search-overlay.is-open {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 10050;
}
.cph-search-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.4);
}
.cph-search-overlay__panel {
  position: relative;
  max-width: 720px;
  margin: 10vh auto 0;
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0,0,0,.2);
}
.cph-search-close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px;
  min-width: 48px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #333;
}
.cph-search-close svg {
  width: 20px;
  height: 20px;
}
.cph-search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 8px;
}
.cph-search-form input[type="search"] {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--cph-border-color);
  border-radius: 8px;
  font-size: 16px;
  font-family: inherit;
}
.cph-search-form button[type="submit"] {
  min-height: 48px;
  padding: 0 24px;
  background: var(--cph-sticky-text);
  color: var(--cph-mobile-drawer-card-bg);
  border: 0;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: opacity .15s ease;
}
.cph-search-form button[type="submit"]:hover {
  opacity: .85;
}

/* ==========================================================================
   MOBILE (max-width: 980px)
   ========================================================================== */
@media (max-width: 980px) {

  /* Hide desktop elements */
  .cph-desktop-submenu-toggle { display: none !important; }
  .cph-overlay-desktop,
  .cph-sticky-header,
  .cph-sticky-spacer {
    display: none !important;
  }

  /* ── Mobile Header ────────────────────────────────────────── */
  .cph-mobile-header {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    top: var(--cph-mobile-current-topbar);
    height: var(--cph-mobile-height);
    background: var(--cph-mobile-header-bg);
    color: var(--cph-mobile-header-text);
    border-bottom: 1px solid var(--cph-border-color);
    z-index: 10015;
    transition: top .25s ease;
    will-change: top;
    contain: layout style;
  }
  .cph-wrap.is-mobile-sticky-hide-topbar .cph-mobile-header {
    top: 0;
  }

  .cph-mobile-spacer {
    display: block;
    height: calc(var(--cph-mobile-current-topbar) + var(--cph-mobile-height));
  }
  .cph-wrap.is-mobile-sticky-hide-topbar .cph-mobile-spacer {
    height: var(--cph-mobile-height);
  }

  .cph-mobile-header__inner {
    height: 100%;
    display: grid;
    grid-template-columns: 48px 1fr 48px;
    align-items: center;
    gap: 8px;
  }

  /* ── Burger ───────────────────────────────────────────────── */
  .cph-burger {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 0;
    color: var(--cph-mobile-header-text) !important;
    -webkit-tap-highlight-color: transparent;
  }
  .cph-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--cph-mobile-header-text) !important;
    transition: transform .25s ease, opacity .2s ease;
    transform-origin: center;
  }
  /* Burger → X animation */
  .cph-burger.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .cph-burger.is-active span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }
  .cph-burger.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* ── Mobile logo + icons ──────────────────────────────────── */
  .cph-mobile-header__logo {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cph-mobile-header__logo .cph-logo-link--mobile,
  .cph-mobile-header__logo [data-cph-logo-context="mobile"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .cph-mobile-header__logo .cph-logo-link--mobile .cph-logo,
  .cph-mobile-header__logo [data-cph-logo-context="mobile"] .cph-logo {
    display: block;
    max-width: 100%;
    height: auto;
  }
  .cph-mobile-header__logo .cph-logo--default {
    width: var(--cph-logo-width-mobile);
  }
  .cph-mobile-header__icons {
    min-width: 48px;
    display: flex;
    justify-content: flex-end;
  }
  .cph-mobile-header__icons .cph-utilities {
    gap: var(--cph-mobile-icon-gap);
    justify-content: flex-end;
  }
  .cph-mobile-header__icons .cph-icon-button {
    min-height: 48px;
    min-width: 44px;
  }
  .cph-mobile-header__icons .cph-icon-button svg {
    width: var(--cph-mobile-icon-size);
    height: var(--cph-mobile-icon-size);
  }
  .cph-mobile-header__icons .cph-utility-label {
    display: none;
  }

  .cph-mobile-header,
  .cph-mobile-header .cph-icon-button,
  .cph-mobile-header .cph-burger,
  .cph-mobile-header .cph-burger span,
  .cph-mobile-header .cph-burger::before,
  .cph-mobile-header .cph-burger::after {
    color: var(--cph-mobile-header-text);
  }
  .cph-mobile-header .cph-burger span,
  .cph-mobile-header .cph-burger::before,
  .cph-mobile-header .cph-burger::after {
    background-color: var(--cph-mobile-header-text) !important;
  }
  .cph-mobile-header .cph-logo-link--mobile .cph-logo--default {
    display: block;
  }
  .cph-mobile-header .cph-logo-link--mobile .cph-logo--scroll {
    display: none;
  }
  .cph-wrap.is-mobile-sticky .cph-mobile-header .cph-logo-link--mobile .cph-logo--default {
    display: none !important;
  }
  .cph-wrap.is-mobile-sticky .cph-mobile-header .cph-logo-link--mobile .cph-logo--scroll {
    display: block !important;
  }

  /* ── Topbar mobile layout ─────────────────────────────────── */
  .cph-topbar__inner {
    grid-template-columns: auto 1fr;
    gap: 8px;
    padding: 8px var(--cph-side-padding);
  }
  .cph-topbar__left {
    gap: 4px;
  }
  .cph-topbar__right {
    display: none;
  }
  .cph-topbar__center {
    text-align: left;
    font-size: calc(var(--cph-topbar-font-size) - 1px);
  }
  .cph-social-link {
    min-width: 48px;
    min-height: 48px;
  }
  .cph-social-label { display: none; }
  .cph-hide-topbar-mobile { display: none; }


  /* ──────────────────────────────────────────────────────────────
     MOBILE DRAWER – iOS/ChatGPT Settings style
     Tarjetas redondeadas con fondo gris claro, jerarquía clara,
     paleta gris/negra. Inspirado en iOS Settings.
     ────────────────────────────────────────────────────────────── */

  .cph-mobile-drawer {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 10030;
    pointer-events: none;
  }
  .cph-mobile-drawer.is-open {
    pointer-events: auto;
  }
  .cph-mobile-drawer__overlay {
    position: absolute;
    inset: 0;
    background: var(--cph-mobile-drawer-overlay-bg);
    opacity: 0;
    transition: opacity .28s ease;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
  }
  .cph-mobile-drawer.is-open .cph-mobile-drawer__overlay {
    opacity: 1;
  }

  /* Panel: full-width on small screens, max 92vw */
  .cph-mobile-drawer__panel {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: min(92vw, 440px);
    background: var(--cph-mobile-drawer-panel-bg);
    color: var(--cph-mobile-drawer-panel-text);
    transform: translateX(-100%);
    transition: transform .32s cubic-bezier(.32,.72,0,1);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    box-shadow: 4px 0 24px rgba(0,0,0,.18);
  }
  .cph-mobile-drawer.is-open .cph-mobile-drawer__panel {
    transform: translateX(0);
  }

  /* ── Drawer header (sticky, with back button + title) ─────── */
  .cph-mobile-drawer__head {
    position: sticky;
    top: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: 48px 1fr 48px;
    align-items: center;
    gap: 8px;
    padding: 14px 12px;
    background: var(--cph-mobile-drawer-head-bg);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid rgba(0,0,0,.06);
  }
  .cph-mobile-drawer__title {
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    letter-spacing: -0.01em;
    color: var(--cph-mobile-drawer-panel-text);
    margin: 0;
  }
  .cph-drawer-close {
    background: var(--cph-mobile-drawer-close-bg);
    border: 0;
    cursor: pointer;
    padding: 0;
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cph-mobile-drawer-panel-text);
    transition: background .15s ease, transform .15s ease;
  }
  .cph-drawer-close:hover,
  .cph-drawer-close:focus-visible {
    background: var(--cph-mobile-drawer-card-hover-bg);
  }
  .cph-drawer-close:active {
    transform: scale(.94);
  }
  .cph-drawer-close svg {
    width: 18px;
    height: 18px;
  }
  /* Spacer cell on the right side of header */
  .cph-mobile-drawer__head-spacer { width: 36px; }

  /* ── Inner content padding ────────────────────────────────── */
  .cph-mobile-nav {
    padding: 18px 16px 8px;
  }
  .cph-mobile-nav + .cph-mobile-nav {
    padding-top: 8px;
  }

  /* Section header (h3 above each menu group) */
  .cph-mobile-nav__title {
    font-size: 13px;
    font-weight: 500;
    color: var(--cph-mobile-drawer-section-title);
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 8px 4px;
    padding: 0;
  }

  /* ── Menu (card list group) ───────────────────────────────── */
  .cph-mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--cph-mobile-drawer-card-bg);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 0 rgba(0,0,0,.04);
  }
  .cph-mobile-menu > li {
    position: relative;
    border-bottom: 1px solid rgba(0,0,0,.06);
  }
  .cph-mobile-menu > li:last-child {
    border-bottom: 0;
  }

  /* Top-level menu link → row in card */
  .cph-mobile-menu > li > a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 48px 14px 16px;
    color: var(--cph-mobile-drawer-panel-text);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.01em;
    text-decoration: none;
    text-transform: none;
    min-height: 56px;
    transition: background .15s ease;
    position: relative;
  }
  .cph-mobile-menu > li > a:hover,
  .cph-mobile-menu > li > a:focus-visible {
    background: var(--cph-mobile-drawer-card-hover-bg);
    color: var(--cph-mobile-drawer-accent);
  }
  .cph-mobile-menu > li > a:active {
    background: var(--cph-mobile-drawer-close-bg);
  }

  /* Optional menu icon (auto-injected via attr title or class) */
  .cph-mobile-menu > li > a::before {
    content: "";
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: rgba(0,0,0,.7);
    background-image: var(--cph-icon, none);
    background-size: 22px 22px;
    background-position: center;
    background-repeat: no-repeat;
  }

  /* When item has no icon, hide the placeholder and remove gap */
  .cph-mobile-menu > li > a:not([style*="--cph-icon"])::before {
    display: none;
  }
  .cph-mobile-menu > li > a:not([style*="--cph-icon"]) {
    padding-left: 18px;
  }

  /* ── Submenu toggle (chevron on right) ────────────────────── */
  .cph-submenu-toggle {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: color-mix(in srgb, var(--cph-mobile-drawer-panel-text) 45%, transparent);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    z-index: 2;
    transition: background .15s ease;
  }
  .cph-submenu-toggle:hover,
  .cph-submenu-toggle:focus-visible {
    background: var(--cph-mobile-drawer-close-bg);
  }
  .cph-submenu-toggle svg {
    transition: transform .25s ease;
    width: 16px;
    height: 16px;
  }
  /* Chevron rotates 90° when open */
  .cph-mobile-menu li.is-open > .cph-submenu-toggle svg,
  .cph-mobile-menu li.is-open > a + .cph-submenu-toggle svg {
    transform: rotate(90deg);
  }

  /* ── Sub-menu (level 2) ───────────────────────────────────── */
  .cph-mobile-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--cph-mobile-drawer-submenu-bg);
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .32s cubic-bezier(.32,.72,0,1);
  }
  .cph-mobile-menu .sub-menu > li {
    overflow: hidden;
  }
  .cph-mobile-menu li.is-open > .sub-menu {
    grid-template-rows: 1fr;
  }
  .cph-mobile-menu .sub-menu > li {
    border-top: 1px solid rgba(0,0,0,.05);
    position: relative;
  }
  .cph-mobile-menu .sub-menu a {
    display: flex;
    align-items: center;
    padding: 12px 48px 12px 32px;   /* indent for hierarchy */
    color: color-mix(in srgb, var(--cph-mobile-drawer-panel-text) 78%, transparent);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    min-height: 48px;
    transition: background .15s ease;
  }
  .cph-mobile-menu .sub-menu a:hover,
  .cph-mobile-menu .sub-menu a:focus-visible {
    background: var(--cph-mobile-drawer-card-hover-bg);
    color: var(--cph-mobile-drawer-accent);
  }

  /* ── Sub-sub-menu (level 3) ───────────────────────────────── */
  .cph-mobile-menu .sub-menu .sub-menu {
    background: var(--cph-mobile-drawer-close-bg);
  }
  .cph-mobile-menu .sub-menu .sub-menu a {
    padding-left: 48px;
    font-size: 14px;
    color: color-mix(in srgb, var(--cph-mobile-drawer-panel-text) 65%, transparent);
  }
  .cph-mobile-menu .sub-menu .sub-menu .sub-menu a {
    padding-left: 64px;
    font-size: 13px;
  }

  /* Submenu toggle inside a sub-menu */
  .cph-mobile-menu .sub-menu .cph-submenu-toggle {
    width: 36px;
    height: 36px;
  }

  /* ── Aux nav (separate group) ─────────────────────────────── */
  .cph-mobile-nav--aux .cph-mobile-menu {
    margin-top: 4px;
  }

  /* ── Mobile Actions (utilities at bottom) ─────────────────── */
  .cph-mobile-actions {
    margin-top: 18px;
    padding: 16px;
    background: var(--cph-mobile-drawer-card-bg);
    border-radius: 14px;
    margin-left: 16px;
    margin-right: 16px;
    margin-bottom: 24px;
    box-shadow: 0 1px 0 rgba(0,0,0,.04);
  }
  .cph-mobile-actions .cph-utilities {
    justify-content: flex-start;
    gap: 22px;
    flex-wrap: wrap;
  }
  .cph-mobile-actions .cph-icon-button {
    color: var(--cph-mobile-drawer-panel-text);
    flex-direction: row;
    gap: 10px;
    padding: 6px 8px;
    border-radius: 10px;
    transition: background .15s ease;
  }
  .cph-mobile-actions .cph-icon-button:hover {
    background: var(--cph-mobile-drawer-card-hover-bg);
  }
  .cph-mobile-actions .cph-utility-label {
    display: inline;
    font-size: 14px;
    font-weight: 500;
    color: var(--cph-mobile-drawer-panel-text);
  }
  .cph-mobile-actions .cph-icon-button svg {
    width: 22px;
    height: 22px;
    color: rgba(0,0,0,.7);
  }
  .cph-mobile-actions .cph-cart-count {
    top: -4px;
    right: -8px;
    background: var(--cph-mobile-drawer-panel-text);
    color: var(--cph-mobile-drawer-card-bg);
    border: 0;
  }

  /* ── Search overlay mobile ────────────────────────────────── */
  .cph-search-overlay__panel {
    margin: 5vh 16px 0;
    max-width: none;
    border-radius: 16px;
  }

    .cph-mobile-drawer__head {
      background: rgba(28,28,30,.92);
      border-bottom-color: rgba(255,255,255,.08);
    }
    .cph-mobile-drawer__title { color: #f5f5f7; }
    .cph-drawer-close {
      background: rgba(255,255,255,.08);
      color: #f5f5f7;
    }
    .cph-drawer-close:hover,
    .cph-drawer-close:focus-visible {
      background: rgba(255,255,255,.14);
    }
    .cph-mobile-nav__title { color: rgba(255,255,255,.5); }
    .cph-mobile-menu {
      background: #2c2c2e;
      box-shadow: none;
    }
    .cph-mobile-menu > li {
      border-bottom-color: rgba(255,255,255,.08);
    }
    .cph-mobile-menu > li > a {
      color: #f5f5f7;
    }
    .cph-mobile-menu > li > a:hover,
    .cph-mobile-menu > li > a:focus-visible {
      background: rgba(255,255,255,.05);
    }
    .cph-submenu-toggle { color: rgba(255,255,255,.45); }
    .cph-submenu-toggle:hover,
    .cph-submenu-toggle:focus-visible {
      background: rgba(255,255,255,.08);
    }
    .cph-mobile-menu .sub-menu {
      background: rgba(255,255,255,.04);
    }
    .cph-mobile-menu .sub-menu > li {
      border-top-color: rgba(255,255,255,.06);
    }
    .cph-mobile-menu .sub-menu a {
      color: rgba(255,255,255,.78);
    }
    .cph-mobile-menu .sub-menu a:hover,
    .cph-mobile-menu .sub-menu a:focus-visible {
      background: rgba(255,255,255,.06);
    }
    .cph-mobile-menu .sub-menu .sub-menu {
      background: rgba(255,255,255,.06);
    }
    .cph-mobile-menu .sub-menu .sub-menu a {
      color: rgba(255,255,255,.65);
    }
    .cph-mobile-actions {
      background: #2c2c2e;
      box-shadow: none;
    }
    .cph-mobile-actions .cph-utility-label { color: #f5f5f7; }
    .cph-mobile-actions .cph-icon-button { color: #f5f5f7; }
    .cph-mobile-actions .cph-icon-button svg { color: rgba(255,255,255,.7); }
    .cph-mobile-actions .cph-icon-button:hover { background: rgba(255,255,255,.05); }
    .cph-mobile-actions .cph-cart-count {
      background: #f5f5f7;
      color: var(--cph-mobile-drawer-panel-text);
    }
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .cph-wrap,
  .cph-wrap *,
  .cph-wrap *::before,
  .cph-wrap *::after,
  .cph-mobile-drawer,
  .cph-mobile-drawer *,
  .cph-sticky-flyout,
  .cph-sticky-flyout * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   UTILITY: screen-reader-text
   ========================================================================== */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

@media (max-width: 980px) {
  .cph-overlay-menu > li > a::after,
  .cph-sticky-menu > li > a::after { display: none; }
}


/* === v2.5.7 normal overlay closer to sticky + sticky multi-menu spacing === */
.cph-sticky-slider{
    gap:var(--cph-menu-gap,22px);
}
.cph-sticky-center-nav{
    flex:0 0 auto;
}
.cph-sticky-center-nav > ul{
    gap:var(--cph-menu-gap,22px);
}
.cph-sticky-center-nav a,
.cph-sticky-center-nav .menu-item > a{
    color:inherit;
}

/* Normal desktop menus: same visual logic as sticky, without converting items into pills */
.cph-desktop-nav .menu > li > a,
.cph-overlay-desktop .cph-overlay-menu > li > a{
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
.cph-desktop-nav .menu > li:hover > a,
.cph-desktop-nav .menu > li.current-menu-item > a,
.cph-desktop-nav .menu > li.current-menu-ancestor > a,
.cph-overlay-desktop .cph-overlay-menu > li:hover > a,
.cph-overlay-desktop .cph-overlay-menu > li.current-menu-item > a,
.cph-overlay-desktop .cph-overlay-menu > li.current-menu-ancestor > a{
    background:transparent !important;
    color:var(--cph-overlay-hover) !important;
}

/* Normal overlay dropdowns: closed by default, first level downward, nested levels also downward */
.cph-overlay-desktop .cph-overlay-menu > li,
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li{
    position:relative;
}
.cph-overlay-desktop .cph-overlay-menu > li > .sub-menu,
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li > .sub-menu{
    min-width:max(320px, calc(var(--cph-overlay-menu-min-width, 280px) + 32px));
    left:0;
    right:auto;
    top:calc(100% + 10px);
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li > .sub-menu{
    top:0;
    left:calc(100% + var(--cph-overlay-submenu-gap));
    right:auto;
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li.cph-open-left > .sub-menu{
    left:auto;
    right:calc(100% + var(--cph-overlay-submenu-gap));
}
.cph-overlay-desktop .cph-overlay-menu > li > .sub-menu{
    top:calc(100% + var(--cph-overlay-submenu-gap));
}
.cph-overlay-desktop .cph-overlay-nav--right .cph-overlay-menu > li > .sub-menu{
    left:auto;
    right:0;
}
.cph-overlay-desktop .cph-overlay-menu > li:hover > .sub-menu,
.cph-overlay-desktop .cph-overlay-menu > li:focus-within > .sub-menu,
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li:hover > .sub-menu,
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li:focus-within > .sub-menu,
.cph-overlay-desktop .cph-overlay-menu li.cph-hover-open > .sub-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li > a{
    min-height:44px;
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu .sub-menu > li > a{
    min-height:40px;
    font-size:0.96em;
}
.cph-overlay-desktop .cph-overlay-menu > li.menu-item-has-children > a::after{
    transform:rotate(45deg);
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li.menu-item-has-children > a::after{
    transform:rotate(-45deg);
    opacity:.85;
}
.cph-overlay-desktop .cph-overlay-menu .sub-menu > li.menu-item-has-children.cph-open-left > a::after{
    transform:rotate(135deg);
}

/* Top sticky/normal nav dropdowns a little closer visually */
.cph-nav .sub-menu,
.cph-sticky-center-nav .sub-menu{
    margin-top:10px;
}

/* ===== v2.7.0 · overlay submenu behavior + dual search ===== */
.cph-search-toggle--woo {
  position: relative;
}
.cph-search-toggle--woo::after {
  content: "W";
  position: absolute;
  right: 1px;
  bottom: -1px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--cph-primary);
  color: #fff;
  font-size: 8px;
  line-height: 12px;
  text-align: center;
  font-weight: 700;
}

@media (min-width: 1025px) {
  .cph-overlay-menu > .menu-item-has-children {
    position: relative;
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu {
    position: static;
    width: 100%;
    min-width: 0;
    margin-top: var(--cph-overlay-root-submenu-gap, 10px);
    padding: 10px;
    display: grid;
    gap: 8px;
    border-radius: var(--cph-dropdown-radius);
    background: var(--cph-overlay-submenu-bg, rgba(0,0,0,0.18));
    border: 1px solid var(--cph-overlay-submenu-border, rgba(255,255,255,0.10));
    box-shadow: 0 18px 36px rgba(0,0,0,0.18);
    opacity: 0;
    transform: translateY(-8px);
    visibility: hidden;
    pointer-events: none;
    max-height: 0;
    overflow: hidden;
    transition: opacity .28s ease, transform .28s ease, max-height .32s ease, visibility .28s ease;
  }

  .cph-overlay-menu > .menu-item-has-children.cph-hover-open > .sub-menu,
  .cph-overlay-menu > .menu-item-has-children:hover > .sub-menu,
  .cph-overlay-menu > .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    max-height: 900px;
    overflow: visible;
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li {
    width: 100%;
    margin: 0;
    list-style: none;
    position: relative;
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--cph-overlay-menu-item-padding-y) var(--cph-overlay-menu-item-padding-x);
    border-radius: calc(var(--cph-dropdown-radius) - 4px);
    background: transparent;
    color: var(--cph-overlay-text);
    font-size: var(--cph-menu-font-size);
    font-weight: 600;
    line-height: 1.2;
    transition: transform .22s ease, background-color .22s ease, color .22s ease, box-shadow .22s ease;
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li:hover > a,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li:focus-within > a {
    background: var(--cph-overlay-dropdown-hover);
    color: var(--cph-overlay-menu-item-hover-text);
    transform: translateX(4px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu {
    position: absolute;
    top: 0;
    left: calc(100% + var(--cph-overlay-submenu-offset));
    right: auto;
    min-width: min(300px, 26vw);
    padding: 10px;
    display: grid;
    gap: 8px;
    border-radius: var(--cph-dropdown-radius);
    background: var(--cph-overlay-nested-bg, #050505);
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 22px 44px rgba(0,0,0,0.24);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(10px) scale(.985);
    transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
  }

  .cph-overlay-nav--right .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu {
    left: auto;
    right: calc(100% + var(--cph-overlay-submenu-offset));
    transform: translateX(-10px) scale(.985);
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children.cph-hover-open > .sub-menu,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children:hover > .sub-menu,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0) scale(1);
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu.cph-open-left {
    left: auto;
    right: calc(100% + var(--cph-overlay-submenu-offset));
    transform: translateX(-10px) scale(.985);
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children.cph-hover-open > .sub-menu.cph-open-left,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children:hover > .sub-menu.cph-open-left,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children:focus-within > .sub-menu.cph-open-left {
    transform: translateX(0) scale(1);
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--cph-dropdown-padding-y) var(--cph-dropdown-padding-x);
    border-radius: calc(var(--cph-dropdown-radius) - 4px);
    background: transparent;
    color: var(--cph-overlay-nested-text, #f5f5f5);
    font-size: 14px;
    font-weight: 500;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
  }

  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu li:hover > a,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu li:focus-within > a {
    background: var(--cph-overlay-nested-hover-bg, rgba(255,255,255,0.08));
    color: var(--cph-overlay-nested-hover-text, #52B0AF);
    transform: translateX(3px);
  }

  .cph-overlay-menu > .menu-item-has-children > a::after,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after,
  .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu li.menu-item-has-children > a::after {
    margin-left: 12px;
    flex: 0 0 auto;
  }

  .cph-overlay-menu > .menu-item-has-children > a::after {
    transform: rotate(90deg);
  }

  .cph-overlay-menu > .menu-item-has-children.cph-hover-open > a::after,
  .cph-overlay-menu > .menu-item-has-children:hover > a::after,
  .cph-overlay-menu > .menu-item-has-children:focus-within > a::after {
    transform: rotate(270deg);
  }

  .cph-overlay-nav--right .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after,
  .cph-overlay-nav--right .cph-overlay-menu > .menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu li.menu-item-has-children > a::after {
    transform: rotate(180deg);
  }
}


/* ===== v2.7.1 · overlay submenu hierarchy/spacing fix ===== */
@media (min-width: 981px) {
  .cph-overlay-nav,
  .cph-overlay-nav__panel,
  .cph-overlay-menu,
  .cph-overlay-menu li,
  .cph-overlay-menu .sub-menu {
    overflow: visible !important;
  }

  .cph-overlay-menu,
  .cph-overlay-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* Top level rows: keep the existing pill and only expand downward */
  .cph-overlay-menu > li {
    position: relative;
    margin: 0 0 var(--cph-overlay-menu-item-gap, 6px) 0;
  }
  .cph-overlay-menu > li:last-child {
    margin-bottom: 0;
  }

  .cph-overlay-menu > li > a {
    position: relative;
    z-index: 2;
  }

  .cph-overlay-menu > li.menu-item-has-children > .sub-menu {
    position: static !important;
    display: none;
    width: 100%;
    margin-top: 8px;
    padding: 8px 0;
    background: var(--cph-overlay-submenu-bg, rgba(6, 12, 24, 0.82));
    border: 1px solid var(--cph-overlay-submenu-border, rgba(255, 255, 255, 0.12));
    border-radius: calc(var(--cph-overlay-menu-item-radius, 22px) + 2px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .cph-overlay-menu > li.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li:hover > .sub-menu,
  .cph-overlay-menu > li:focus-within > .sub-menu {
    display: block;
    animation: cphOverlaySubmenuDown 0.24s ease both;
  }

  /* Same vertical rhythm for the first dropdown level */
  .cph-overlay-menu > li > .sub-menu > li {
    position: relative;
    margin: 0;
  }

  .cph-overlay-menu > li > .sub-menu > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .cph-overlay-menu > li > .sub-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: var(--cph-overlay-menu-item-min-height, 52px);
    padding: var(--cph-overlay-menu-item-padding-y, 14px) var(--cph-overlay-menu-item-padding-x, 22px);
    color: var(--cph-overlay-dropdown-text, #ffffff);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    line-height: 1.35;
    transition: color .2s ease, background-color .2s ease, padding .2s ease;
  }

  .cph-overlay-menu > li > .sub-menu > li:hover > a,
  .cph-overlay-menu > li > .sub-menu > li:focus-within > a {
    color: var(--cph-overlay-menu-item-hover-text, var(--cph-accent, #8fd7db));
    background: rgba(255, 255, 255, 0.04);
  }

  /* Levels 2 and 3 open sideways */
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children {
    position: relative;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu {
    position: absolute !important;
    top: -1px;
    left: calc(100% + 12px);
    right: auto;
    display: none;
    min-width: max(250px, 100%);
    max-width: 380px;
    width: max-content;
    padding: 8px 0;
    background: rgba(4, 10, 20, 0.94);
    border: 1px solid var(--cph-overlay-submenu-border, rgba(255, 255, 255, 0.12));
    border-radius: calc(var(--cph-overlay-menu-item-radius, 22px) + 2px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 30;
  }

  .cph-overlay-menu--right > li > .sub-menu li.menu-item-has-children > .sub-menu {
    left: auto;
    right: calc(100% + 12px);
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children:hover > .sub-menu,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children:focus-within > .sub-menu {
    display: block;
    animation: cphOverlaySubmenuSide 0.24s ease both;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li {
    margin: 0;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: var(--cph-overlay-menu-item-min-height, 52px);
    padding: var(--cph-overlay-menu-item-padding-y, 14px) var(--cph-overlay-menu-item-padding-x, 22px);
    color: var(--cph-overlay-dropdown-text, #ffffff);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    line-height: 1.35;
    transition: color .2s ease, background-color .2s ease, padding .2s ease;
    white-space: normal;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li:hover > a,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li:focus-within > a {
    color: var(--cph-overlay-menu-item-hover-text, var(--cph-accent, #8fd7db));
    background: rgba(255, 255, 255, 0.04);
  }

  /* Chevron cleanup */
  .cph-overlay-menu > li.menu-item-has-children > a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: auto;
    flex: 0 0 auto;
    opacity: .92;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > a::after,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    margin-left: auto;
    flex: 0 0 auto;
    opacity: .92;
    transform: rotate(-45deg);
  }

  .cph-overlay-menu--right > li > .sub-menu li.menu-item-has-children > a::after,
  .cph-overlay-menu--right > li > .sub-menu li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after {
    transform: rotate(135deg);
  }
}

@media (max-width: 980px) {
  /* On narrow widths avoid overlapping panels: keep nested levels stacked and readable */
  .cph-overlay-menu,
  .cph-overlay-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .cph-overlay-menu > li {
    position: relative;
    margin: 0 0 var(--cph-overlay-menu-item-gap, 6px) 0;
  }

  .cph-overlay-menu > li:last-child {
    margin-bottom: 0;
  }

  .cph-overlay-menu .sub-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-top: 8px;
    padding: 8px 0;
    background: var(--cph-overlay-submenu-bg, rgba(6, 12, 24, 0.82));
    border: 1px solid var(--cph-overlay-submenu-border, rgba(255, 255, 255, 0.12));
    border-radius: calc(var(--cph-overlay-menu-item-radius, 22px) + 2px);
    box-shadow: none;
  }

  .cph-overlay-menu .sub-menu .sub-menu {
    margin-top: 6px;
    margin-left: 12px;
  }

  .cph-overlay-menu .sub-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: var(--cph-overlay-menu-item-min-height, 52px);
    padding: var(--cph-overlay-menu-item-padding-y, 14px) var(--cph-overlay-menu-item-padding-x, 22px);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .cph-overlay-menu .sub-menu > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
}

@keyframes cphOverlaySubmenuDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cphOverlaySubmenuSide {
  from {
    opacity: 0;
    transform: translateX(10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


/* ===== v2.7.2 · overlay desktop submenu flow refinement ===== */
@media (min-width: 981px) {
  .cph-wrap {
    --cph-overlay-submenu-gap: 10px;
    --cph-overlay-submenu-bg: rgba(8, 14, 24, 0.88);
    --cph-overlay-submenu-nested-bg: rgba(5, 10, 18, 0.96);
    --cph-overlay-submenu-border: rgba(255, 255, 255, 0.12);
  }

  .cph-overlay-nav,
  .cph-overlay-menu,
  .cph-overlay-menu li,
  .cph-overlay-menu .sub-menu {
    overflow: visible !important;
  }

  .cph-overlay-menu,
  .cph-overlay-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .cph-overlay-menu > li {
    position: relative;
    margin: 0 0 var(--cph-overlay-menu-item-gap, 6px) 0;
  }

  .cph-overlay-menu > li:last-child {
    margin-bottom: 0;
  }

  .cph-overlay-menu > li > .sub-menu {
    position: static !important;
    display: block !important;
    max-height: 0;
    margin-top: 0;
    padding: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    background: transparent;
    border: 0;
    border-radius: calc(var(--cph-overlay-menu-item-radius, 22px) + 2px);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: max-height .30s cubic-bezier(.22,.61,.36,1), opacity .18s ease, transform .24s ease, margin-top .24s ease, padding .24s ease;
    will-change: max-height, opacity, transform;
  }

  .cph-overlay-menu > li.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li:hover > .sub-menu,
  .cph-overlay-menu > li:focus-within > .sub-menu {
    max-height: 1200px;
    margin-top: 8px;
    padding: 8px 0;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    background: var(--cph-overlay-submenu-bg);
    border: 1px solid var(--cph-overlay-submenu-border);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .cph-overlay-menu > li > .sub-menu > li,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li {
    position: relative;
    margin: 0;
  }

  .cph-overlay-menu > li > .sub-menu > li + li,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .cph-overlay-menu > li > .sub-menu > li > a,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: var(--cph-overlay-menu-item-min-height, 52px);
    padding: var(--cph-overlay-menu-item-padding-y, 14px) var(--cph-overlay-menu-item-padding-x, 22px);
    color: var(--cph-overlay-dropdown-text, #fff);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    line-height: 1.35;
    white-space: normal;
    transition: color .2s ease, background-color .2s ease, padding .2s ease;
  }

  .cph-overlay-menu > li > .sub-menu > li:hover > a,
  .cph-overlay-menu > li > .sub-menu > li:focus-within > a,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li:hover > a,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li:focus-within > a {
    color: var(--cph-overlay-menu-item-hover-text, var(--cph-accent, #8fd7db));
    background: rgba(255, 255, 255, 0.04);
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children {
    position: relative;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu {
    position: absolute !important;
    top: 0;
    left: calc(100% + var(--cph-overlay-submenu-gap, 10px));
    right: auto;
    display: block !important;
    min-width: max(280px, 100%);
    max-width: 380px;
    width: max-content;
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    transform: translateX(10px);
    background: var(--cph-overlay-submenu-nested-bg);
    border: 1px solid var(--cph-overlay-submenu-border);
    border-radius: calc(var(--cph-overlay-menu-item-radius, 22px) + 2px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: opacity .18s ease, transform .24s ease, visibility .18s ease;
    z-index: 40;
  }

  .cph-overlay-nav--right .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu,
  .cph-overlay-menu li.cph-open-left > .sub-menu {
    left: auto;
    right: calc(100% + var(--cph-overlay-submenu-gap, 10px));
    transform: translateX(-10px);
  }

  .cph-overlay-menu li.cph-open-right > .sub-menu {
    left: calc(100% + var(--cph-overlay-submenu-gap, 10px));
    right: auto;
    transform: translateX(10px);
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children:hover > .sub-menu,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }

  .cph-overlay-menu > li.menu-item-has-children > a::after {
    transform: rotate(45deg);
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > a::after,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after {
    transform: rotate(-45deg);
  }

  .cph-overlay-nav--right .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > a::after,
  .cph-overlay-nav--right .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after,
  .cph-overlay-menu li.cph-open-left > a::after {
    transform: rotate(135deg);
  }
}


/* ===== v2.7.3 · overlay menu compact spacing and arrow alignment ===== */
@media (min-width: 981px) {
  .cph-wrap {
    --cph-overlay-menu-item-gap: 2px;
    --cph-overlay-submenu-gap: 2px;
    --cph-overlay-menu-item-padding-y: 8px;
    --cph-overlay-menu-item-padding-x: 12px;
    --cph-dropdown-padding-y: 10px;
    --cph-dropdown-padding-x: 14px;
  }

  .cph-overlay-menu > li,
  .cph-overlay-menu > li + li {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
  }

  .cph-overlay-menu > li:last-child {
    margin-bottom: 0 !important;
  }

  .cph-overlay-menu > li > a,
  .cph-overlay-menu > li > .sub-menu > li > a,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li > a {
    justify-content: flex-start !important;
    gap: 6px !important;
  }

  .cph-overlay-menu > li.menu-item-has-children > a::after,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > a::after,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after {
    margin-left: 6px !important;
  }

  .cph-overlay-menu > li > a {
    padding: 8px 12px !important;
  }

  .cph-overlay-menu > li > .sub-menu,
  .cph-overlay-menu > li.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li:hover > .sub-menu,
  .cph-overlay-menu > li:focus-within > .sub-menu {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .cph-overlay-menu > li.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li:hover > .sub-menu,
  .cph-overlay-menu > li:focus-within > .sub-menu {
    margin-top: 4px !important;
  }

  .cph-overlay-menu > li > .sub-menu > li > a,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li > a {
    padding: 10px 14px !important;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu {
    left: calc(100% + 2px) !important;
    right: auto !important;
  }

  .cph-overlay-nav--right .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu,
  .cph-overlay-menu li.cph-open-left > .sub-menu {
    left: auto !important;
    right: calc(100% + 2px) !important;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -10px;
    width: 10px;
    background: transparent;
  }

  .cph-overlay-nav--right .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu::before,
  .cph-overlay-menu li.cph-open-left > .sub-menu::before {
    left: auto;
    right: -10px;
  }
}


/* ===== v2.7.4 · overlay menu equal spacing between items with/without children ===== */
@media (min-width: 981px) {
  .cph-overlay-menu > li:not(.menu-item-has-children) > a::after,
  .cph-overlay-menu > li > .sub-menu > li:not(.menu-item-has-children) > a::after,
  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu > li:not(.menu-item-has-children) > a::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 6px;
    flex: 0 0 auto;
    opacity: 0;
  }
}


/* ===== v2.7.5 · overlay top-level spacing controlled by container gap ===== */
@media (min-width: 981px) {
  .cph-overlay-nav > .cph-overlay-menu {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
  }

  .cph-overlay-nav > .cph-overlay-menu > li,
  .cph-overlay-nav > .cph-overlay-menu > li + li {
    margin: 0 !important;
  }
}


/* ===== v2.7.6 · fix hidden root submenu reserved spacing ===== */
@media (min-width: 981px) {
  .cph-overlay-menu > li.menu-item-has-children > .sub-menu {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-width: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
  }

  .cph-overlay-menu > li.menu-item-has-children.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li.menu-item-has-children:hover > .sub-menu,
  .cph-overlay-menu > li.menu-item-has-children:focus-within > .sub-menu {
    margin-top: 4px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    border-width: 1px !important;
    max-height: 1200px !important;
    opacity: 1 !important;
  }
}


/* ===== v2.7.7 · tighter top-level spacing and restore nested flyouts ===== */
@media (min-width: 981px) {
  .cph-overlay-nav > .cph-overlay-menu {
    gap: 4px !important;
  }

  .cph-overlay-menu > li > a {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .cph-overlay-menu > li.menu-item-has-children.cph-hover-open > .sub-menu,
  .cph-overlay-menu > li.menu-item-has-children:hover > .sub-menu,
  .cph-overlay-menu > li.menu-item-has-children:focus-within > .sub-menu {
    overflow: visible !important;
    margin-top: 3px !important;
  }

  .cph-overlay-menu > li > .sub-menu li.menu-item-has-children > .sub-menu {
    z-index: 60 !important;
  }
}


/* ===== v2.7.11 · mobile drawer without section labels / integrated chevrons ===== */
@media (max-width: 980px) {
  .cph-mobile-nav__title {
    display: none;
  }

  .cph-mobile-nav + .cph-mobile-nav {
    margin-top: 12px;
  }

  .cph-submenu-toggle {
    display: none !important;
  }

  .cph-mobile-menu .menu-item-has-children > a {
    padding-right: 46px;
  }

  .cph-mobile-menu .menu-item-has-children > a::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 10px;
    height: 10px;
    margin-top: -6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    opacity: .72;
    transition: transform .22s ease, opacity .22s ease;
    pointer-events: none;
  }

  .cph-mobile-menu li.is-open > a::after {
    transform: rotate(225deg);
    margin-top: -1px;
    opacity: 1;
  }

  .cph-mobile-menu .sub-menu .menu-item-has-children > a::after {
    right: 16px;
  }
}


/* v2.7.12 – móvil siempre desplegado, sin flechas ni toggles */
@media (max-width: 980px) {
  .cph-submenu-toggle,
  .cph-mobile-menu .menu-item-has-children > a::after,
  .cph-mobile-menu .sub-menu .menu-item-has-children > a::after,
  .cph-mobile-menu li.is-open > a::after {
    display: none !important;
    content: none !important;
  }

  .cph-mobile-menu .menu-item-has-children > a,
  .cph-mobile-menu .sub-menu .menu-item-has-children > a {
    padding-right: 18px !important;
  }

  .cph-mobile-menu .sub-menu,
  .cph-mobile-menu li.is-open > .sub-menu,
  .cph-mobile-menu .sub-menu .sub-menu,
  .cph-mobile-menu .sub-menu .sub-menu .sub-menu {
    display: block !important;
    grid-template-rows: 1fr !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .cph-mobile-menu .sub-menu > li,
  .cph-mobile-menu .sub-menu .sub-menu > li,
  .cph-mobile-menu .sub-menu .sub-menu .sub-menu > li {
    overflow: visible !important;
  }
}
