:root{--cdo-theme-ink:#00152b;--cdo-theme-muted:#78879a;--cdo-theme-purple:#6444af;--cdo-theme-line:#eae6fa;--cdo-theme-container:1200px;--cdo-theme-gutter:15px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body.cdo-theme{margin:0;color:var(--cdo-theme-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;background:#fff}a{color:inherit}img{max-width:100%;height:auto}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--cdo-theme-purple);outline-offset:3px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.cdo-theme-skip{position:absolute;left:12px;top:-60px;background:#fff;z-index:99999;padding:10px 18px}.cdo-theme-skip:focus{top:10px}.cdo-theme-container{width:100%;max-width:var(--cdo-theme-container);padding-inline:var(--cdo-theme-gutter);margin-inline:auto}.cdo-theme-main{min-height:55vh;padding-block:36px 70px}.cdo-theme-front{padding:0;max-width:none}.cdo-theme-front-content{margin:0}.cdo-theme-hero{padding-block:74px}.cdo-theme-hero h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}.cdo-theme-eyebrow{color:var(--cdo-theme-purple);font-weight:700;text-transform:uppercase;font-size:.85rem}.cdo-theme-page-header{margin-bottom:25px}.cdo-theme-page-header h1,.cdo-theme-single h1{font-size:clamp(2rem,4vw,3rem);line-height:1.18}.cdo-theme-entry{padding:22px;border:1px solid var(--cdo-theme-line);border-radius:16px;overflow:hidden}.cdo-theme-entry h2{margin:0 0 8px;font-size:1.3rem}.cdo-theme-entry h2 a{text-decoration:none}.cdo-theme-entry-content>*:first-child{margin-top:0}.cdo-theme-entry-content{overflow-wrap:anywhere}.cdo-theme-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cdo-theme-meta{color:var(--cdo-theme-muted);font-size:.8rem}.cdo-theme-footer{background:#071d34;color:#fff;padding-block:48px 18px}.cdo-theme-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.cdo-theme-footer-menu{list-style:none;margin:0;padding:0}.cdo-theme-footer-menu a{color:#fff;text-decoration:none}.cdo-theme-footer-brand{font-weight:800;font-size:1.3rem;text-decoration:none}.cdo-theme-copyright{border-top:1px solid #ffffff30;padding-top:20px;margin-top:34px;font-size:.8rem;color:#ffffffba}.cdo-theme-searchform{display:flex;gap:8px}.cdo-theme-searchform label{flex:1}.cdo-theme-searchform input{border:1px solid #c4ced9;border-radius:8px;padding:11px;width:100%}.cdo-theme-searchform button,.cdo-theme-button{border:0;border-radius:8px;padding:12px 20px;background:var(--cdo-theme-purple);color:#fff;text-decoration:none}.cdo-theme-woocommerce .woocommerce{width:100%}.cdo-theme-comments{margin-top:40px}
/* Woo cards are styled by Products / LAB when installed; no NASA/Elessi rules here. */
@media(max-width:900px){.cdo-theme-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cdo-theme-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cdo-theme-post-grid,.cdo-theme-footer-grid{grid-template-columns:1fr}.cdo-theme-hero{padding-block:46px}}

/* v0.2.1 | CDO canonical horizontal frame: 1200px outer rail + 15px gutters.
 * LAB deliberately leaves this geometry to the theme. Do not apply to .row
 * globally: WooCommerce, third-party grids and WPBakery also use that class.
 */
body.cdo-theme .cdo-layout-row[data-cdo-layout-frame="theme"] {
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    max-width: var(--cdo-theme-container, 1200px);
    margin: 0 auto;
    margin-inline: auto;
    padding: 0 15px;
    padding-inline: var(--cdo-theme-gutter, 15px);
    min-width: 0;
}
body.cdo-theme .cdo-layout-row[data-cdo-layout-frame="theme"] > .cdo-layout-shell {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    padding-inline: 0;
    margin-left: 0;
    margin-right: 0;
    margin-inline: 0;
    float: none;
}
/* No second gutter inside an existing theme rail or nested LAB frame. */
body.cdo-theme .cdo-theme-container .cdo-layout-row[data-cdo-layout-frame="theme"],
body.cdo-theme .cdo-layout-row[data-cdo-layout-frame="theme"] .cdo-layout-row[data-cdo-layout-frame="theme"] {
    padding-left: 0;
    padding-right: 0;
    padding-inline: 0;
}

/* Ordinary WPBakery Home rows share the same 1200px axis. WPBakery column
 * padding handles its own horizontal gutter; do NOT pad the row again.
 * Explicit full-width rows/sections stay full bleed (backgrounds, search).
 */
body.cdo-theme .cdo-theme-front-content .vc_row:not([data-vc-full-width]):not(.vc_row-o-full-height):not(.cdo-theme-full-bleed),
body.cdo-theme .cdo-theme-front-content .vc_section:not([data-vc-full-width]):not(.cdo-theme-full-bleed) {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--cdo-theme-container, 1200px);
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
}
/* Standalone headings and text-module headings inside full-width rows need
 * the rail even though their full-width section background must remain intact.
 */
body.cdo-theme .cdo-theme-front-content > :is(h1, h2, h3),
body.cdo-theme .cdo-theme-front-content > .wpb-content-wrapper > :is(h1, h2, h3),
body.cdo-theme .cdo-theme-front-content :is(.vc_row, .vc_section)[data-vc-full-width] .wpb_text_column > .wpb_wrapper > :is(h1, h2, h3) {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--cdo-theme-container, 1200px);
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    padding-left: 15px;
    padding-right: 15px;
    padding-inline: var(--cdo-theme-gutter, 15px);
}

/* === CDO Travel Theme 0.3.0: header and home frame. ======================== */
/* The settings page supplies validated --cdo-theme-container / --cdo-theme-gutter. */
body.cdo-theme .cdo-layout-row[data-cdo-layout-frame="theme"] {
    max-width:var(--cdo-theme-container,1200px);
    padding-inline:var(--cdo-theme-gutter,15px);
}
body.cdo-theme .cdo-theme-front-content :is(.vc_row,.vc_section):not([data-vc-full-width]):not(.cdo-theme-full-bleed) {
    max-width:var(--cdo-theme-container,1200px);
}
body.cdo-theme .cdo-theme-front-content :is(.wpb_text_column h1,.wpb_text_column h2,.wpb_text_column h3) {
    overflow-wrap:break-word;
}
/* Root home wrapper fixes WPBakery text modules, native Products/LAB sections
   and independent shortcodes that do not emit the LAB layout-shell. */
body.cdo-theme .cdo-theme-front-content {overflow-x:clip}
body.cdo-theme .cdo-theme-home-rail {
    box-sizing:border-box;
    width:100%;max-width:var(--cdo-theme-container,1200px);
    padding-inline:var(--cdo-theme-gutter,15px);
    margin-inline:auto;
    min-width:0;
}
body.cdo-theme .cdo-theme-home-rail > .wpb-content-wrapper {width:100%;min-width:0}
body.cdo-theme .cdo-theme-home-rail .cdo-theme-showcase > .cdo-theme-container {padding-inline:0}
body.cdo-theme .cdo-theme-home-rail .cdo-layout-row[data-cdo-layout-frame="theme"] {padding-inline:0}
/* Explicitly full-bleed WPBakery rows and authored theme bands may escape
   the content rail, without letting ordinary titles/cards escape. */
body.cdo-theme .cdo-theme-home-rail :is(.cdo-theme-full-bleed,.vc_row[data-vc-full-width]:not([data-vc-full-width-init="true"]),.vc_section[data-vc-full-width]:not([data-vc-full-width-init="true"])) {
    box-sizing:border-box;
    width:100vw;max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-inline:0;
}
body.cdo-theme .cdo-theme-home-rail :is(.cdo-theme-full-bleed,.vc_row[data-vc-full-width],.vc_section[data-vc-full-width]) > .cdo-theme-container {
    max-width:var(--cdo-theme-container,1200px);
    padding-inline:var(--cdo-theme-gutter,15px);
    margin-inline:auto;
}
/* CDO Theme v0.3.8 — header controls have ONE shared DOM and layout.
 * No variant-specific flex/grid rules and no historical layered overrides. */
body.cdo-theme header.cdo-theme-header--editorial {
  position:relative;z-index:1000;color:#203858;
  border:0;border-bottom:1px solid #edf0f4;background:#fff;background-image:none;
}
body.cdo-theme header.cdo-theme-header--sticky {position:relative;top:auto}
body.admin-bar.cdo-theme header.cdo-theme-header--sticky {top:auto}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-wide {
  box-sizing:border-box!important;width:100%!important;max-width:min(1200px,100%)!important;
  padding-inline:var(--cdo-theme-gutter,15px)!important;margin-inline:auto!important;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-top {
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:78px;padding-top:28px;padding-bottom:28px;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-brand {
  display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:none;
}
body.cdo-theme .cdo-theme-brand-link {display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
body.cdo-theme .cdo-theme-logo-desktop {display:block}
body.cdo-theme .cdo-theme-logo-mobile {display:none}
body.cdo-theme .cdo-theme-brand img {display:block;width:auto;height:auto;max-width:162px;max-height:50px;object-fit:contain}
body.cdo-theme .cdo-theme-brand-text {font-size:1.28rem;font-weight:700;line-height:1.1;letter-spacing:-.03em;color:#203858}
body.cdo-theme .cdo-theme-brand-tagline {font-size:.7rem;line-height:1.35;color:#607086;margin-top:3px}
/* Header action layout is deliberately isolated in a Shadow DOM component.
 * Keep only outer rail placement here; all action/icon/dropdown CSS lives in
 * assets/css/header-actions-v0318.css, where global Suite CSS cannot override it. */
body.cdo-theme header.cdo-theme-header .cdo-theme-header-actions {
  position:relative;
  display:block;
  flex:0 0 auto;
  margin-left:auto;
  padding:0;
  min-width:0;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-nav-row {display:block;border:0;background:#fff}
body.cdo-theme header.cdo-theme-header .cdo-theme-nav {
  display:flex;align-items:center;min-width:0;
  gap:23px;padding:0;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu {
  display:flex;flex-wrap:nowrap;align-items:center;
  gap:clamp(14px,1.55vw,22px);width:auto;margin:0;padding:0;list-style:none;
}
body.cdo-theme .cdo-theme-menu > li {position:relative}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > a,
body.cdo-theme header.cdo-theme-header .cdo-theme-mega > summary {
  display:inline-flex;align-items:center;gap:7px;padding:6px 0;
  color:#253856;font-size:12px;font-weight:600;line-height:1.3;
  letter-spacing:0;text-transform:uppercase;text-decoration:none;white-space:nowrap;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.menu-item-has-children > a:after {
  content:"";width:6px;height:6px;transform:translateY(-2px) rotate(45deg);
  border-right:1px solid #8795a7;border-bottom:1px solid #8795a7;flex:none;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > a:hover,
body.cdo-theme header.cdo-theme-header .cdo-theme-mega > summary:hover {color:#683bcd}
body.cdo-theme header.cdo-theme-header .cdo-theme-submenu-toggle {display:none}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu .sub-menu {
  display:none;position:absolute;left:0;top:100%;min-width:220px;
  padding:11px;background:#fff;border:1px solid #e5e9f3;
  border-radius:10px;box-shadow:0 12px 30px #17355218;z-index:30;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu li:hover > .sub-menu,
body.cdo-theme header.cdo-theme-header .cdo-theme-menu li:focus-within > .sub-menu {display:block}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu .sub-menu a {display:block;width:100%;padding:8px 10px;font-size:13px;white-space:normal}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu .sub-menu .sub-menu {top:0;left:100%}
body.cdo-theme header.cdo-theme-header .cdo-theme-mega {position:relative;margin-left:0}
body.cdo-theme header.cdo-theme-header .cdo-theme-mega > summary {cursor:pointer;list-style:none}
body.cdo-theme header.cdo-theme-header .cdo-theme-mega > summary::-webkit-details-marker {display:none}
body.cdo-theme header.cdo-theme-header .cdo-theme-mega svg {width:13px;height:13px}
body.cdo-theme header.cdo-theme-header .cdo-theme-mega-panel {
  position:absolute;left:0;right:auto;top:100%;width:min(1000px,calc(100vw - 32px));
  max-height:70vh;overflow:auto;background:#fff;border:1px solid #e7e9f4;
  border-radius:12px;padding:18px;box-shadow:0 15px 30px #11234420;z-index:50;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu-toggle {display:none!important}
/* The native homepage hero is optional: WPBakery may already render Discovery. */
body.cdo-theme .cdo-theme-header--home+.cdo-theme-front .cdo-theme-home-hero,
body.cdo-theme .cdo-theme-home-hero {background:linear-gradient(180deg,#edf5ff 0%,#f8fbff 74%,#fff 100%);padding:74px 0 80px;text-align:center}
body.cdo-theme .cdo-theme-home-hero__inner {max-width:var(--cdo-theme-container,1200px)}
body.cdo-theme .cdo-theme-home-hero h1 {font-size:clamp(2.25rem,4.2vw,3.65rem);line-height:1.1;letter-spacing:-.05em;margin:0 auto 48px;color:#192d50;font-weight:850;max-width:1020px}
body.cdo-theme .cdo-theme-home-hero p {font-size:1.06rem;color:#576983;max-width:760px;margin:-29px auto 28px}
body.cdo-theme .cdo-theme-home-hero__search {max-width:1050px;margin:0 auto;text-align:left}
body.cdo-theme .cdo-theme-search-form {display:flex;align-items:center;gap:12px;border-radius:999px;padding:9px 9px 9px 29px;background:#fff;box-shadow:0 8px 27px #162a4427}
body.cdo-theme .cdo-theme-search-form input {flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:1.05rem;color:#203858;background:transparent}
body.cdo-theme .cdo-theme-search-form button {border:0;border-radius:999px;padding:15px 27px;background:#6638cf;color:#fff;display:flex;align-items:center;gap:9px;font-weight:750}
body.cdo-theme .cdo-theme-footer-brand .cdo-theme-logo-image {display:block;max-width:190px;max-height:65px;width:auto;height:auto;object-fit:contain}
body.cdo-theme .cdo-theme-footer-identity p {color:#cbd5e1}
/* Header breakpoint reflects the measured eight-link navigation width. */
@media(max-width:1023px) {
 body.cdo-theme header.cdo-theme-header .cdo-theme-header-top {
   align-items:center;min-height:64px;padding-top:8px;padding-bottom:8px;gap:10px;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-brand {order:1;flex:1;min-width:0}
 body.cdo-theme header.cdo-theme-header .cdo-theme-header-actions {order:2;margin-left:0}
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu-toggle {
   display:inline-flex !important;order:3;align-items:center;justify-content:center;
   min-width:38px;min-height:38px;padding:7px;border:1px solid #e3e7ef;
   background:#fff;border-radius:8px;color:#203858;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu-toggle span {
   position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu-toggle svg {width:19px;height:19px}
 body.cdo-theme header.cdo-theme-header .cdo-theme-header-nav-row {display:none}
 body.cdo-theme header.cdo-theme-header .cdo-theme-header-nav-row.is-open {
   display:block;border-top:1px solid #edf0f4;background:#fff;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-nav {
   display:block;min-height:0;padding-top:6px;padding-bottom:18px;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu {display:block;padding:0}
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li {position:relative}
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > a {
   display:flex;justify-content:space-between;padding:12px 40px 12px 4px;
   border-bottom:1px solid #edf0f4;font-size:12px;white-space:normal;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.menu-item-has-children > a:after {display:none}
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu .sub-menu,
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu .sub-menu .sub-menu {
   display:none;position:static;min-width:0;padding:4px 0 6px 16px;
   border:0;box-shadow:none;background:#fff;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu li.is-submenu-open > .sub-menu {display:block}
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu li:hover:not(.is-submenu-open) > .sub-menu,
 body.cdo-theme header.cdo-theme-header .cdo-theme-menu li:focus-within:not(.is-submenu-open) > .sub-menu {display:none}
 body.cdo-theme header.cdo-theme-header .cdo-theme-submenu-toggle {
   position:absolute;right:4px;top:4px;display:flex;align-items:center;justify-content:center;
   width:36px;height:36px;background:#fff;border:1px solid #e3e7ef;
   border-radius:8px;color:#203858;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-mega-panel {
   position:static;width:100%;max-height:none;box-shadow:none;padding:12px;
 }
 body.cdo-theme header.cdo-theme-header .cdo-theme-mega > summary {padding:12px 3px}
}
@media(max-width:782px) {body.admin-bar.cdo-theme header.cdo-theme-header--sticky {top:auto}}
@media(max-width:600px) {
 body.cdo-theme header.cdo-theme-header .cdo-theme-brand img {max-width:128px;max-height:43px}
 body.cdo-theme header.cdo-theme-header .cdo-theme-logo-desktop {display:none}
 body.cdo-theme header.cdo-theme-header .cdo-theme-logo-mobile {display:block}
 body.cdo-theme header.cdo-theme-header .cdo-theme-brand-text {font-size:1.16rem}
 body.cdo-theme .cdo-theme-home-hero {padding:48px 0 55px}
 body.cdo-theme .cdo-theme-home-hero h1 {margin-bottom:29px}
 body.cdo-theme .cdo-theme-search-form {border-radius:20px;flex-wrap:wrap;padding:13px}
 body.cdo-theme .cdo-theme-search-form input {flex-basis:100%;padding:8px}
 body.cdo-theme .cdo-theme-search-form button {width:100%;justify-content:center}
}

/* Search pages intentionally paint a full-width backdrop even when included
   directly as a top-level home WPBakery component. The search contents retain
   the canonical LAB rail. */
body.cdo-theme .cdo-theme-home-rail > .cdo-search-page,
body.cdo-theme .cdo-theme-home-rail > .wpb-content-wrapper > .cdo-search-page {
    width:100vw;max-width:none;
    margin-inline:calc(50% - 50vw);
}
body.cdo-theme .cdo-theme-home-rail .cdo-search-page .cdo-layout-row[data-cdo-layout-frame="theme"] {
    padding-inline:var(--cdo-theme-gutter,15px);
}


/* V0.3.10 - Theme adapter for the REAL CDO Menu shortcode (`id`, not `slug`).
   CDO Menu retains ownership of tabs/cards/badges. Only top-level header links
   are restyled; nested .cdo-mega elements keep their plugin CSS. */
/* V0.3.14: the header ROW (viewport-wide), not its 1200px nav rail,
   is the positioning context for the mega flyouts. */
@media (min-width:1024px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-nav-row { position:relative; }
  body.cdo-theme header.cdo-theme-header .cdo-theme-nav { position:static; }
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.cdo-theme-has-mega {
  display:inline-flex; align-items:center; position:static;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.cdo-theme-has-mega > a:after {display:none;}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.cdo-theme-has-mega > .sub-menu {display:none!important;}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > .cdo-theme-mega-toggle {
  appearance:none; display:inline-grid; place-items:center; cursor:pointer;
  flex:0 0 18px; width:18px; height:28px; border:0; box-shadow:none;
  padding:0; margin:0; background:transparent; color:#61758e;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > .cdo-theme-mega-toggle svg {width:12px; height:12px; transform:none;}
/* Keep the chevron pointing down, including while its mega flyout is open. */
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > .cdo-theme-mega-toggle:focus-visible {outline:2px solid #683bcd;outline-offset:3px;border-radius:4px;}
body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > .cdo-theme-mega-flyout {
  position:absolute; left:0; right:0; top:100%;
  z-index:300; box-sizing:border-box; width:100%; max-width:none;
  height:auto; min-height:0; max-height:calc(100dvh - 120px); overflow-y:auto; overflow-x:hidden;
  padding:0; background:#fff; border:0; border-top:1px solid #edf0f4;
  border-bottom:1px solid #e8eaf3; border-radius:0;
  box-shadow:0 18px 36px rgba(15,34,66,.085);
}
body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout[hidden] {display:none!important;}
body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout > .cdo-mega {
  box-sizing:border-box; min-width:0; width:100%; max-width:1200px;
  margin:0 auto; padding:46px var(--cdo-theme-gutter,15px) 52px;
}
/* V0.3.16 - 12px semibold navigation and 2px hover underline. Keep the underline attached to
   the pointer over the TOP-LEVEL trigger, never to the flyout below it.
   Mega opens on pointerenter, so suppressing all hover when a panel is open
   made the underline invisible before the visitor could see it. */
@media (min-width:1024px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li {
    background-image:linear-gradient(#683bcd,#683bcd);
    background-position:left bottom;
    background-size:0 2px;
    background-repeat:no-repeat;
    transition:background-size .12s ease;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.cdo-theme-trigger-hover,
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.current-menu-item,
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.current-menu-ancestor,
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.current_page_item,
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.current_page_ancestor {
    background-size:100% 2px;
  }
  /* Opening a flyout clears passive/current underlines. The hovered TOP
     trigger alone retains its indicator, even with the flyout visible. */
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-nav-row.cdo-theme-has-open-mega .cdo-theme-menu > li:not(.cdo-theme-trigger-hover) {
    background-size:0 2px;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li:is(:hover,:focus-within,.is-mega-open) > a,
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li:is(:hover,:focus-within,.is-mega-open) > .cdo-theme-mega-toggle {
    color:#683bcd;
  }
}
/* The flyout is a different interaction model from the top-level navigation:
   links use CDO Menu color and category fills, never underlined text. */
body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout .cdo-mega a,
body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout .cdo-mega a:hover,
body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout .cdo-mega a:focus-visible {
  text-decoration:none !important;
}
@media (prefers-reduced-motion:reduce) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li {transition:none;}
}

/* Parent navigation typography must never style CDO Menu plugin's internal tabs/cards. */
body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout .cdo-mega__cats li {position:static;}
@media (max-width:1023px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.cdo-theme-has-mega {display:flex; flex-wrap:wrap; width:100%;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.cdo-theme-has-mega > a {flex:1 1 auto; min-width:0; padding-right:0;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li.cdo-theme-has-mega > .cdo-theme-mega-toggle {flex:0 0 38px; width:38px; height:38px; border:1px solid #e3e7ef; border-radius:8px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu > li > .cdo-theme-mega-flyout {
    position:static; flex:1 0 100%; width:100%; max-width:100%; min-height:0; max-height:65vh;
    margin:0 0 12px; overflow:auto; box-shadow:none; border:1px solid #e8eaf3; border-radius:10px;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout > .cdo-mega {
    grid-template-columns:1fr; margin:0; padding:14px;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout .cdo-mega__sep {display:none;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout .cdo-mega__panel.is-active {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-mega-flyout .cdo-mega__panel.is-active {grid-template-columns:1fr;}
}


/* V0.3.17 — CDO header: WhatsApp / Discovery search / currency / account / cart. */
/* Keep the approved header-top gap (24px) untouched. */
body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools {
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  min-width:0;flex:1 1 auto;margin-left:auto;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp {
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  flex:0 0 auto;color:#0b615e;font-size:12px;font-weight:650;line-height:1.2;
  text-decoration:none;padding:7px 0;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp:hover {color:#683bcd;}
body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp svg {display:block;width:21px;height:21px;flex:none;}
/* Header search only: Discovery still owns results, suggestions and request flow. */
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery {
  --cdo-search-purple:#684bcd;
  --cdo-search-teal:#00d0d7;
  display:block;position:relative;isolation:isolate;
  flex:0 1 360px;width:360px;max-width:100%;min-width:215px;
  margin:0 19px 0 0;padding:0;border-radius:999px;
}
/* V0.3.23: center Discovery in the FREE region between brand and currency.
   Search stays exactly 360px; no absolute positioning or overlay with logo/actions. */
@media (min-width:1024px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools {
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px;
    flex:1 1 auto;min-width:0;margin-left:0;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery {
    grid-column:1;justify-self:center;margin:0;width:min(360px,100%);min-width:0;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-actions {grid-column:2;margin:0;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp {grid-column:1;grid-row:1;justify-self:start;}
}
@media (min-width:1024px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools:has(> .cdo-theme-whatsapp) {
    grid-template-columns:auto minmax(0,1fr) auto;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools:has(> .cdo-theme-whatsapp) .cdo-theme-header-discovery {grid-column:2;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools:has(> .cdo-theme-whatsapp) .cdo-theme-header-actions {grid-column:3;}
}
/* V0.3.22 — vivid purple/cyan ambient glow that actually TRAVELS across the field.
   One outside blurred layer only: the 1px input border remains light and crisp.
   Use fully saturated CDO colors before opacity+blur so the glow is luminous,
   not greyed out. The animated gradient moves; no extra painted outline. */
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery::before {
  content:"";position:absolute;inset:-3px;border-radius:inherit;
  pointer-events:none;z-index:-1;
  background:linear-gradient(105deg,
    #684bcd 0%,#8a77d8 17%,#00d0d7 37%,
    #4edce2 54%,#684bcd 78%,#00d0d7 100%);
  background-size:240% 100%;
  filter:blur(11px);opacity:.37;
  animation:cdo-theme-search-glow 7s linear infinite alternate;
}
@keyframes cdo-theme-search-glow {
  0%   {background-position:0% 50%;opacity:.33;}
  50%  {background-position:50% 50%;opacity:.44;}
  100% {background-position:100% 50%;opacity:.37;}
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery:focus-within::before {
  filter:blur(10px);opacity:.56;
}
@media(prefers-reduced-motion:reduce){
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery::before {
    animation:none;background-position:0% 50%;opacity:.38;
  }
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search,
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form {width:100%;min-width:0;margin:0;}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__field,
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form {
  box-sizing:border-box;display:flex;align-items:center;
  width:100%;height:46px;min-height:46px;
  margin:0;padding:0 9px 0 10px;background:#fff;
  border:1px solid rgba(104,75,205,.13);border-radius:999px;
  box-shadow:0 2px 14px rgba(104,75,205,.035);
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__field:focus-within {border-color:rgba(104,75,205,.42);box-shadow:0 2px 14px rgba(104,75,205,.07);}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery input.cdo-discovery-header-search__input[type="search"],
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form input {
  flex:1 1 auto;min-width:0;height:100%;padding:0 9px;
  font-size:14px;line-height:1.3;font-weight:400;border:0;box-shadow:none;background:transparent;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__field button.cdo-discovery-header-search__submit {
  top:50%;left:7px;right:auto;transform:translateY(-50%);height:38px;width:38px;min-width:38px;border:0;background:transparent;color:#162b46;
}
/* The Discovery form's stock FA icon needs Font Awesome; provide a theme-owned SVG icon without that dependency. */
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__submit i {display:none;}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__submit::before {
  content:"";display:block;width:20px;height:20px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='10.7' cy='10.7' r='7'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='10.7' cy='10.7' r='7'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__field input.cdo-discovery-header-search__input[type="search"] {
  padding-left:41px;padding-right:8px;
}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form {padding:0 12px;gap:9px;}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form input {padding:0 5px;}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form button {order:-1;background:transparent;color:#203858;border:0;border-radius:50%;padding:6px;min-width:32px;min-height:32px;}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form button svg {height:20px;width:20px;}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form button span {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
body.cdo-theme header.cdo-theme-header .cdo-theme-header-actions {margin-left:0;flex:0 0 auto;}
/* Search and WhatsApp flow into the second row on tablets without shrinking the logo. */
@media(max-width:1140px) and (min-width:1024px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools {gap:8px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp {font-size:11px;gap:4px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery {flex-basis:250px;width:250px;min-width:185px;margin-right:12px;}
}
@media(max-width:1023px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-top {flex-wrap:wrap;row-gap:8px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-brand {order:1;flex:1 1 auto;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu-toggle {order:2;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools {order:3;flex:1 0 100%;width:100%;margin-left:0;gap:8px;justify-content:space-between;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp-number {display:none;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp {flex:0 0 auto;min-width:35px;min-height:35px;justify-content:center;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery {flex:1 1 auto;min-width:95px;width:auto;margin-right:0;}
}
@media(max-width:600px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools {gap:6px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__field,
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form {height:39px;min-height:39px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__field input.cdo-discovery-header-search__input[type="search"] {font-size:12px;}
}


/* ===== 0.3.18: theme-owned topbar and mobile quick navigation ===== */
body.cdo-theme .cdo-theme-topbar {background:#00152b;color:#fff;}
body.cdo-theme .cdo-theme-topbar-inner {
  width:100%;max-width:min(1200px,100%);margin:0 auto;
  padding:8px var(--cdo-theme-gutter,15px);min-height:46px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
body.cdo-theme .cdo-theme-topbar-destinations,body.cdo-theme .cdo-theme-topbar-benefits {display:flex;align-items:center;gap:10px;min-width:0;}
body.cdo-theme .cdo-theme-topbar-prefix {white-space:nowrap;color:#d2dded;font-size:12px;}
body.cdo-theme .cdo-theme-topbar-chip {
  display:inline-flex;justify-content:center;align-items:center;min-height:24px;
  padding:3px 10px;border:1px solid #8d9cad;border-radius:999px;
  color:#fff;font-size:11px;font-weight:500;line-height:16px;white-space:nowrap;text-decoration:none;
}
body.cdo-theme .cdo-theme-topbar-chip:hover,body.cdo-theme .cdo-theme-topbar-chip:focus-visible {border-color:#00d0d7;background:#193b50;color:#fff;}
body.cdo-theme .cdo-theme-topbar-benefits {gap:18px;justify-content:flex-end;margin-left:auto;}
body.cdo-theme .cdo-theme-topbar-benefits > a,body.cdo-theme .cdo-theme-topbar-benefits > span {
  display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;
  font-size:12px;line-height:1.2;white-space:nowrap;
}
body.cdo-theme .cdo-theme-topbar-benefits svg {width:17px;height:17px;flex:none;stroke:currentColor;}
body.cdo-theme .cdo-theme-topbar-benefits a:hover {color:#00d0d7;}
/* Breakpoint contract: mobile cart must NEVER appear beside the desktop cart.
   Scope and !important intentionally win against global Woo/plugin anchor styles. */
html body.cdo-theme header.cdo-theme-header a.cdo-theme-mobile-cart { display:none !important; }
body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-chips,
body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-shortcuts {display:none;}
@media (min-width:1024px) {
  /* In desktop all actions share the currency's single-line composition. */
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools {gap:10px;}
}
@media (max-width:1023px) {
  body.cdo-theme .cdo-theme-topbar {display:none;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-top {
    display:grid;grid-template-columns:42px minmax(0,1fr) 42px;
    align-items:center;column-gap:8px;row-gap:8px;
    padding-top:8px;padding-bottom:8px;min-height:0;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu-toggle {
    grid-column:1;grid-row:1;order:0;justify-self:start;display:inline-flex!important;
    background:transparent;border:0;padding:6px;min-width:40px;min-height:40px;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-menu-toggle svg {width:24px;height:24px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-brand {
    grid-column:2;grid-row:1;order:0;justify-self:center;align-items:center;min-width:0;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-brand img {max-width:170px;max-height:44px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-brand-tagline {display:none;}
  html body.cdo-theme header.cdo-theme-header a.cdo-theme-mobile-cart {
    grid-column:3;grid-row:1;display:inline-flex !important;position:relative;justify-self:end;
    width:40px;height:40px;align-items:center;justify-content:center;
    color:#203858;text-decoration:none;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-cart svg {width:25px;height:25px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-count {position:absolute;right:-2px;top:-4px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border-radius:100px;background:#683bcd;border:2px solid #fff;color:#fff;font-size:10px;font-weight:700;line-height:1;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-tools {
    grid-column:1/-1;grid-row:2;order:0;display:block;width:100%;margin:0;min-width:0;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery {display:block;width:100%;min-width:0;margin-right:0;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-whatsapp,
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-actions {display:none !important;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-chips {display:block;width:100%;overflow:hidden;border:0;background:#fff;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-chips-track {
    display:flex;align-items:center;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    padding:0 max(var(--cdo-theme-gutter,15px),12px) 13px;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-chips-track::-webkit-scrollbar {display:none;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-chips a {
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
    border:1px solid #d9deea;border-radius:999px;min-height:35px;padding:7px 14px;
    color:#203858;background:#fff;font-size:12px;font-weight:600;text-decoration:none;
    white-space:nowrap;line-height:1.2;
  }
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-chips a:hover,body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-chips a:focus-visible {border-color:#683bcd;color:#683bcd;background:#f8f4ff;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-shortcuts {display:grid;gap:9px;margin-top:15px;padding:15px 4px 0;border-top:1px solid #e6eaf3;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-shortcuts > a {display:inline-flex;align-items:center;gap:9px;min-height:36px;color:#203858;text-decoration:none;font-size:13px;font-weight:600;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-shortcuts svg {width:19px;height:19px;flex:none;stroke:currentColor;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-currencies {display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-currencies span {display:inline-flex;align-items:center;gap:8px;margin-right:auto;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-currencies a {padding:7px 10px;min-width:43px;text-align:center;border-radius:999px;border:1px solid #e2e5ef;color:#203858;text-decoration:none;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-mobile-currencies a[aria-current="true"] {background:#683bcd;color:#fff;border-color:#683bcd;}
}
@media (max-width:600px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-brand img {max-width:155px;max-height:40px;}
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-discovery-header-search__field,
  body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery .cdo-theme-search-form {min-height:46px;height:46px;}
}
@media (max-width:359px) {
  body.cdo-theme header.cdo-theme-header .cdo-theme-brand img {max-width:125px;}
}

@media (min-width:1024px) and (max-width:1140px) {
 body.cdo-theme header.cdo-theme-header .cdo-theme-header-discovery {flex-basis:auto;width:min(360px,100%);min-width:0;margin-right:0;}
}

/* Topbar icon from CDO Font Awesome 7 — sized identically to SVG fallback. */
body.cdo-theme .cdo-theme-topbar-benefits i[class*="fa-"] {display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;width:17px;height:17px;flex:0 0 17px;}

/* 0.3.25 custom header link Font Awesome */
body.cdo-theme header.cdo-theme-header .cdo-theme-custom-link i[class*="fa-"]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;width:21px;height:21px;flex:none}
