/* CamExpert 16.9 – compact original header, avoid collisions with centered brand. */
body.ce-site .ce-header .ce-header-bar{isolation:isolate}
body.ce-site .ce-header .ce-brand-position{position:relative;z-index:2;min-width:0}
body.ce-site .ce-header .ce-main-nav,body.ce-site .ce-header .ce-header-right{min-width:0;max-width:100%}
body.ce-site .ce-header .ce-main-nav{gap:clamp(7px,1.1vw,18px)}
body.ce-site .ce-header .ce-main-nav>a,body.ce-site .ce-header .ce-header-links>li>a{font-size:clamp(12px,.9vw,14px)}
body.ce-site .ce-header .ce-header-right{justify-self:end}
body.ce-site .ce-header .ce-help-actions{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0}
body.ce-site .ce-header .ce-help-actions li{list-style:none}
body.ce-site .ce-header .ce-help-actions .sub-menu{padding-left:13px}
@media(min-width:901px) and (max-width:1390px){
 body.ce-site .ce-header .ce-header-bar{gap:10px;padding-inline:12px}
 body.ce-site .ce-header .ce-brand-position{max-width:clamp(140px,13vw,205px)}
 body.ce-site .ce-header .ce-main-nav{gap:8px;font-size:12px}
 body.ce-site .ce-header .ce-main-nav .ce-menu-icon{margin-right:3px;width:17px;flex-basis:17px}
 body.ce-site .ce-header .ce-main-nav .ce-menu-icon svg{width:16px;height:16px}
 body.ce-site .ce-header .ce-help-menu>summary{padding-inline:5px}
}
@media(max-width:900px){body.ce-site .ce-header .ce-help-actions li a{padding-block:12px}}

/* CamExpert 17.0: visible and keyboard-accessible Help submenu, up to three nesting levels. */
body.ce-site .ce-header .ce-help-panel .ce-help-actions li.menu-item-has-children{position:relative}
body.ce-site .ce-header .ce-help-panel .ce-help-actions li.menu-item-has-children>a{padding-right:34px}
body.ce-site .ce-header .ce-help-panel .ce-help-actions li.menu-item-has-children>a::after{content:'⌄';position:absolute;right:16px;font-size:16px;line-height:1.25;color:var(--ce-accent,#087b5c)}
body.ce-site .ce-header .ce-help-panel .ce-help-actions .sub-menu{display:block;position:static;max-width:100%;padding:5px 0 5px 12px;margin:3px 0 7px 12px;border-left:2px solid #b8d9c5;background:transparent;box-shadow:none}
body.ce-site .ce-header .ce-help-panel .ce-help-actions .sub-menu>li>a{font-size:12px;min-height:38px;padding:8px 10px;border-radius:8px}
body.ce-site .ce-header .ce-help-panel .ce-help-actions .sub-menu .sub-menu{margin-left:10px}
body.ce-site .ce-header .ce-help-panel{max-height:min(70vh,620px);overflow-y:auto;overscroll-behavior:contain}

body.ce-site .ce-mobile-links .ce-mobile-help{display:block;margin:10px 0}
body.ce-site .ce-mobile-links .ce-mobile-help>summary{cursor:pointer;font-weight:700;padding:12px;border:1px solid #c5e2d0;border-radius:10px}
body.ce-site .ce-mobile-links .ce-mobile-help-items{padding:6px 0 6px 10px;margin:0;list-style:none}
body.ce-site .ce-mobile-links .ce-mobile-help-items li{list-style:none}
body.ce-site .ce-mobile-links .ce-mobile-help-items .sub-menu{display:block;padding-left:13px;margin-left:10px;border-left:2px solid #b0cfbc}
body.ce-site .ce-mobile-links .ce-mobile-help>a{display:block;padding:12px}

/* 17.5 — On desktop the hero starts AFTER the sticky header. The previous
   negative bottom margin overlaid and obscured the top of the home banner. */
@media (min-width:901px) {
  body.ce-site.home .ce-header,
  body.ce-site.home:has(.ce-layout-header) .ce-header {
    margin-bottom:18px !important;
  }
}

/* 17.5 — Native, accessible mobile Help disclosure: the heading is a BUTTON
   (summary), never a link to Contact. The original desktop Help stays intact. */
@media (max-width:650px) {
  body.ce-site .ce-header .ce-mobile-links .ce-mobile-help-disclosure {
    display:block;
    width:100%;
    margin:9px 0 0;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    min-width:0;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure > summary,
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content a {
    display:flex !important;
    box-sizing:border-box !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
    max-width:none !important;
    min-height:54px !important;
    margin:0 !important;
    padding:12px 16px !important;
    border:1px solid #fff !important;
    border-bottom:2px solid #b6d7c1 !important;
    border-radius:15px !important;
    background:linear-gradient(145deg,#fafffc,#e2f3e9) !important;
    box-shadow:inset 0 1px 0 #fff,0 3px 0 -1px #b7d3c1,0 7px 16px #16452c0b !important;
    color:#173c2d !important;
    font-weight:650 !important;
    line-height:1.4 !important;
    font-size:15px !important;
    text-decoration:none !important;
    white-space:normal;
    text-align:left;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure > summary {
    cursor:pointer;
    list-style:none;
    user-select:none;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure > summary::after { content:none !important; display:none !important; }
  body.ce-site .ce-header .ce-mobile-help-disclosure > summary::-webkit-details-marker { display:none; }
  body.ce-site .ce-header .ce-mobile-help-disclosure > summary::marker { content:''; }
  body.ce-site .ce-header .ce-mobile-help-disclosure > summary:focus-visible,
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content a:focus-visible {
    outline:3px solid #00a879 !important;
    outline-offset:2px;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-chevron {
    display:block;
    width:9px;
    height:9px;
    flex:0 0 9px;
    margin-left:auto;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-3px) rotate(45deg);
    transition:transform .2s ease;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure[open] .ce-mobile-help-chevron {
    transform:translateY(2px) rotate(225deg);
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure:not([open]) > .ce-mobile-help-content {
    display:none !important;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content {
    box-sizing:border-box;
    width:100%;
    display:grid;
    gap:9px;
    padding:9px 0 0;
    margin:0;
    min-width:0;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content :is(ul,ul.sub-menu,.ce-mobile-help-items) {
    display:grid !important;
    grid-template-columns:minmax(0,1fr);
    gap:9px;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    list-style:none !important;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content li,
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content li::marker {
    padding:0 !important;
    margin:0 !important;
    list-style:none !important;
    content:"";
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content li::before,
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content a::before {
    content:none !important;
    display:none !important;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content li.menu-item-has-children > .sub-menu {
    padding-top:9px !important;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-menu-icon {
    display:inline-grid !important;
    place-items:center;
    flex:0 0 25px !important;
    width:25px !important;
    height:25px !important;
    margin:0 !important;
    padding:0 !important;
    color:#00a67d;
    line-height:1;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-menu-icon svg {
    display:block;
    width:23px !important;
    height:23px !important;
    flex:none;
    fill:none;
    stroke:currentColor;
    vertical-align:middle;
    transform:none !important;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-menu-label,
  body.ce-site .ce-header .ce-mobile-help-disclosure summary > [data-ce-live-field] {
    flex:1 1 auto;
    min-width:0;
  }
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content a,
  body.ce-site .ce-header .ce-mobile-help-disclosure .ce-mobile-help-content a:visited {
    color:#173c2d !important;
  }
  body.ce-site .ce-header .ce-main-nav.ce-nav-open {
    background:#f4fbf7 !important;
    border:1px solid #d1e8d8 !important;
    box-shadow:0 18px 32px #134d291d !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .ce-mobile-help-disclosure .ce-mobile-help-chevron {transition:none !important;}
}

/* 17.5 — Unified touch targets for every FIRST-LEVEL mobile navigation link.
   The Help summary is the same size as Products, Choice, and Promotions. */
@media (max-width:650px) {
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mega > summary,
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > a,
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure > summary {
    display:flex !important;
    box-sizing:border-box !important;
    align-items:center !important;
    width:100% !important;
    min-height:54px !important;
    padding:12px 16px !important;
    margin:0 !important;
    border:1px solid #fff !important;
    border-bottom:2px solid #b6d7c1 !important;
    border-radius:15px !important;
    background:linear-gradient(145deg,#fafffc,#e2f3e9) !important;
    box-shadow:inset 0 1px 0 #fff,0 3px 0 -1px #b7d3c1,0 7px 16px #16452c0b !important;
    color:#173c2d !important;
    font-size:15px !important;
    font-weight:650 !important;
    line-height:1.4 !important;
    text-decoration:none !important;
    white-space:normal !important;
    text-align:left !important;
    transform:none !important;
  }
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mega,
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mobile-links {
    box-sizing:border-box;
    width:100%;
    min-width:0;
  }
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > a {
    margin-top:9px !important;
  }
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mega > summary::after {
    margin-left:auto;
  }
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > :is(a,.ce-mega) .ce-menu-icon,
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mobile-links .ce-menu-icon {
    display:inline-grid !important;
    place-items:center;
    flex:0 0 25px !important;
    width:25px !important;
    height:25px !important;
    margin:0 12px 0 0 !important;
    padding:0 !important;
    line-height:1 !important;
  }
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > :is(a,.ce-mega) .ce-menu-icon svg,
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mobile-links .ce-menu-icon svg {
    display:block;
    width:22px !important;
    height:22px !important;
    flex-shrink:0;
    transform:none !important;
  }
  html body.ce-site .ce-header .ce-main-nav.ce-nav-open > .ce-mobile-links .ce-mobile-help-disclosure .ce-menu-icon {
    margin-right:0 !important; /* Help uses flex gap for icon-label spacing. */
  }
}
