/* Amarante 2.22 | spacious desktop flyouts + compact touch-friendly navigation.
   Main labels remain links; separate caret buttons open the menus. */
.nav.am-nav-v222 { overflow:visible; isolation:auto; }
.nav.am-nav-v222 .nav-inner { max-width:1240px; gap:20px; }
.nav.am-nav-v222 .links.am-desktop-links { display:flex!important; position:static!important; align-items:center; justify-content:flex-end; flex-wrap:nowrap; gap:clamp(5px,.85vw,18px); padding:0; margin:0; background:transparent; border:0; box-shadow:none; overflow:visible; max-height:none; min-width:0; }
.nav.am-nav-v222 .am-nav-group { position:relative; flex:0 0 auto; }
.nav.am-nav-v222 .am-nav-group-top { display:flex; align-items:center; border-radius:13px; transition:background .18s ease; }
.nav.am-nav-v222 .am-nav-group-top:hover, .nav.am-nav-v222 .am-nav-group.is-open .am-nav-group-top, .nav.am-nav-v222 .am-nav-group--current .am-nav-group-top { background:#F1F5DC; }
.nav.am-nav-v222 .am-nav-primary { display:flex; align-items:center; padding:10px 2px 10px 10px; font-size:clamp(12px,1.12vw,14px); white-space:nowrap; font-weight:750; line-height:1.2; color:#10126F; background:none; text-decoration:none; border:0; }
.nav.am-nav-v222 .am-nav-primary:hover, .nav.am-nav-v222 .am-nav-primary[aria-current=page] { color:#C45112!important; }
.nav.am-nav-v222 .am-nav-mobile-label { display:none; }
.nav.am-nav-v222 button.am-nav-caret { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:30px; height:40px; padding:0; margin:0 2px 0 0; background:transparent; color:#365F58; border:0; border-radius:9px; cursor:pointer; }
.nav.am-nav-v222 .am-nav-caret:hover, .nav.am-nav-v222 .am-nav-caret[aria-expanded=true] { background:#DEEBC5; color:#10126F; }
.nav.am-nav-v222 .am-nav-caret svg, .nav.am-nav-v222 .am-mobile-more svg, .nav.am-nav-v222 .am-mobile-about-toggle svg { width:15px; height:15px; transition:transform .2s ease; }
.nav.am-nav-v222 .am-nav-caret[aria-expanded=true] svg, .nav.am-nav-v222 .am-mobile-more[aria-expanded=true] svg, .nav.am-nav-v222 .am-mobile-about-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.nav.am-nav-v222 .am-nav-contact { display:inline-flex; justify-content:center; align-items:center; min-height:41px; padding:9px 17px; margin-left:4px; border:1px solid #E3DCA8; border-radius:100px; background:#FFF4CF; color:#10126F; font-size:13px; font-weight:800; text-decoration:none; white-space:nowrap; }
.nav.am-nav-v222 .am-nav-contact:hover { background:#F5D461; color:#10126F!important; }
.nav.am-nav-v222 .am-nav-contact span { margin-left:5px; color:#C45112; }
.nav.am-nav-v222 .am-nav-dropdown[hidden] { display:none!important; }
.nav.am-nav-v222 .am-nav-dropdown { position:absolute; z-index:80; display:block; top:calc(100% + 9px); left:0; width:530px; max-width:calc(100vw - 32px); padding:20px; border:1px solid #D7DDBD; border-top:4px solid #8CAB2A; border-radius:18px; background:#FFFEF6; color:#10126F; box-shadow:0 24px 58px rgba(19,39,58,.18); max-height:min(620px,calc(100dvh - 115px)); overflow-y:auto; overscroll-behavior:contain; }
.nav.am-nav-v222 .am-nav-group--ingredients .am-nav-dropdown { left:50%; transform:translateX(-50%); }
.nav.am-nav-v222 .am-nav-group--lab .am-nav-dropdown, .nav.am-nav-v222 .am-nav-group--about .am-nav-dropdown { left:auto; right:0; }
.nav.am-nav-v222 .am-nav-group--lab .am-nav-dropdown { border-top-color:#4A9B95; }
.nav.am-nav-v222 .am-nav-group--about .am-nav-dropdown { border-top-color:#D99122; }
.nav.am-nav-v222 .am-nav-dropdown-intro { padding:2px 3px 13px; border-bottom:1px solid #E4E9D0; margin-bottom:10px; }
.nav.am-nav-v222 .am-nav-dropdown-eyebrow { display:block; margin-bottom:6px; color:#C45112; font-size:10px; font-weight:850; letter-spacing:.16em; }
.nav.am-nav-v222 .am-nav-dropdown-intro > b { display:block; font-family:'Playfair Display',Georgia,serif; font-size:clamp(21px,2vw,28px); font-weight:600; line-height:1.3; letter-spacing:-.018em; }
.nav.am-nav-v222 .am-nav-dropdown-intro p { font-size:12px; color:#4B5973; margin:5px 0 0; }
.nav.am-nav-v222 .am-nav-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.nav.am-nav-v222 .links .am-nav-menu-grid a.am-nav-menu-link { display:flex!important; align-items:center; min-height:58px; gap:9px; padding:8px 6px; margin:0; text-align:left; background:transparent; border:1px solid transparent; border-radius:10px; text-decoration:none; color:#10126F!important; line-height:1.35; white-space:normal; }
.nav.am-nav-v222 .links .am-nav-menu-grid a.am-nav-menu-link:hover, .nav.am-nav-v222 .links .am-nav-menu-grid a.am-nav-menu-link:focus-visible, .nav.am-nav-v222 .links .am-nav-menu-grid a.am-nav-menu-link[aria-current=page] { background:#F2F6E5; border-color:#E4E9D0; color:#10126F!important; }
.nav.am-nav-v222 .am-nav-menu-icon { display:flex; flex:0 0 33px; height:33px; align-items:center; justify-content:center; border-radius:11px; font-family:Arial,sans-serif; font-weight:900; font-size:15px; line-height:1; color:#3D6D68; background:#DFF0E8; }
.nav.am-nav-v222 .am-nav-menu-icon--gold { background:#FFF0B4; color:#A4650C; }
.nav.am-nav-v222 .am-nav-menu-icon--orange { background:#F9DEC7; color:#B34D18; }
.nav.am-nav-v222 .am-nav-menu-icon--olive { background:#E7EDC2; color:#648221; }
.nav.am-nav-v222 .am-nav-menu-icon--teal { background:#DAEDE8; color:#286D6B; }
.nav.am-nav-v222 .am-nav-menu-icon--green { background:#E5ECD5; color:#3A752F; }
.nav.am-nav-v222 .am-nav-menu-icon--blue { background:#E4E9FA; color:#343E9D; }
.nav.am-nav-v222 .am-nav-menu-words { display:block; min-width:0; flex:1; }
.nav.am-nav-v222 .am-nav-menu-words b { display:block; font-size:12px; font-weight:800; line-height:1.35; }
.nav.am-nav-v222 .am-nav-menu-words small { display:block; color:#586780; font-size:10.5px; font-weight:500; line-height:1.3; margin-top:2px; }
.nav.am-nav-v222 .am-nav-menu-arrow { font-size:15px; font-weight:700; color:#B56023; opacity:0; margin-left:auto; }
.nav.am-nav-v222 .am-nav-menu-link:hover .am-nav-menu-arrow, .nav.am-nav-v222 .am-nav-menu-link:focus-visible .am-nav-menu-arrow { opacity:1; }
.nav.am-nav-v222 .links a.am-nav-menu-all { display:flex!important; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; padding:12px 16px; border:1px solid #D6DFB2; border-radius:11px; background:#EDF3D4; color:#10126F!important; font-size:12px; font-weight:850; text-decoration:none; white-space:normal; }
.nav.am-nav-v222 .links a.am-nav-menu-all:hover { background:#DCEAA9; }
.nav.am-nav-v222 .am-nav-dropdown a:focus-visible, .nav.am-nav-v222 .am-nav-caret:focus-visible, .nav.am-nav-v222 .am-mobile-more:focus-visible { outline:3px solid #D05712; outline-offset:2px; }
.nav.am-nav-v222 .am-mobile-more, .nav.am-nav-v222 .am-mobile-extra { display:none; }
.nav.am-nav-v222 .am-mobile-extra[hidden] { display:none!important; }
@media(max-width:1080px){
  .nav.am-nav-v222 .nav-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:9px 11px; padding:11px 15px 12px; }
  .nav.am-nav-v222 .logo { grid-row:1; grid-column:1; justify-self:start; min-width:0; }
  .nav.am-nav-v222 .logo .logo-symbol { width:42px; height:42px; }
  .nav.am-nav-v222 .logo .logo-wordmark { font-size:clamp(22px,5.4vw,29px); }
  .nav.am-nav-v222 .logo .logo-wordmark small { margin-top:5px; font-size:7px; letter-spacing:.13em; }
  .nav.am-nav-v222 .am-mobile-more { display:flex; grid-row:1; grid-column:2; gap:6px; justify-content:center; align-items:center; min-height:43px; padding:10px 15px; margin:0; border:1px solid #D5CD8E; border-radius:30px; background:#F5D461; color:#10126F; font:800 13px/1 'DM Sans',Arial,sans-serif; cursor:pointer; }
  .nav.am-nav-v222 .am-mobile-more:hover, .nav.am-nav-v222 .am-mobile-more[aria-expanded=true] { background:#DDE9AD; }
  .nav.am-nav-v222 .links.am-desktop-links { display:grid!important; grid-column:1/-1; grid-row:2; position:static!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:0; margin:0; width:100%; background:none; border:0; box-shadow:none; max-height:none; overflow:visible; }
  .nav.am-nav-v222 .am-nav-group { position:static; min-width:0; }
  .nav.am-nav-v222 .am-nav-group--about, .nav.am-nav-v222 .links a.am-nav-contact { display:none!important; }
  .nav.am-nav-v222 .am-nav-group-top { display:flex; width:100%; height:100%; min-height:47px; border:1px solid #DEE1BC; border-radius:12px; overflow:hidden; background:#FFFDEB; }
  .nav.am-nav-v222 .am-nav-group-top:hover, .nav.am-nav-v222 .am-nav-group.is-open .am-nav-group-top { background:#F1F5D9; border-color:#ABC784; }
  .nav.am-nav-v222 .am-nav-primary { display:flex!important; align-items:center; justify-content:center; flex:1; min-width:0; min-height:46px; margin:0; padding:6px 3px 6px 7px; border:0; background:transparent!important; text-wrap:balance; white-space:normal; text-align:center; font:800 clamp(11px,2.2vw,13px)/1.23 'DM Sans',Arial,sans-serif; color:#10126F!important; }
  .nav.am-nav-v222 .am-nav-mobile-label { display:inline; }
  .nav.am-nav-v222 .am-nav-desktop-label { display:none; }
  .nav.am-nav-v222 button.am-nav-caret { width:36px; height:46px; min-height:46px; margin:0; flex:0 0 36px; border-left:1px solid #E5E5C2; border-radius:0; color:#245F5A; }
  .nav.am-nav-v222 .am-nav-group.is-open button.am-nav-caret { background:#DAE8BC; }
  .nav.am-nav-v222 .am-nav-dropdown { position:absolute; top:calc(100% - 1px); left:12px!important; right:12px!important; width:auto; max-width:none; transform:none!important; z-index:80; margin:0; padding:14px; border-radius:0 0 16px 16px; max-height:min(570px,calc(100dvh - 160px)); box-shadow:0 19px 35px rgba(19,39,58,.18); }
  .nav.am-nav-v222 .am-nav-dropdown-intro > b { font-size:24px; }
  .nav.am-nav-v222 .am-nav-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nav.am-nav-v222 .am-mobile-extra:not([hidden]) { display:block; position:absolute; z-index:85; top:calc(100% - 1px); right:12px; left:auto; width:min(345px,calc(100vw - 24px)); max-height:min(490px,calc(100dvh - 108px)); padding:11px; overflow-y:auto; background:#FFFEF6; border:1px solid #D7DDBD; border-top:4px solid #D99122; border-radius:0 0 17px 17px; box-shadow:0 19px 35px rgba(19,39,58,.18); }
  .nav.am-nav-v222 .am-mobile-extra-head { display:flex; align-items:stretch; border:1px solid #DDE6C8; border-radius:11px; background:#F3F7E5; overflow:hidden; }
  .nav.am-nav-v222 .am-mobile-extra-head > a { flex:1; display:flex; align-items:center; min-height:45px; padding:10px 13px; font-weight:800; color:#10126F; font-size:14px; text-decoration:none; }
  .nav.am-nav-v222 .am-mobile-about-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 48px; border:0; border-left:1px solid #DDE6C8; background:transparent; color:#365F58; cursor:pointer; }
  .nav.am-nav-v222 .am-mobile-about-toggle:hover, .nav.am-nav-v222 .am-mobile-about-toggle[aria-expanded=true] { background:#DFEAC4; }
  .nav.am-nav-v222 .am-mobile-about-links[hidden] { display:none!important; }
  .nav.am-nav-v222 .am-mobile-about-links { display:grid; padding:7px 0 4px; }
  .nav.am-nav-v222 .am-mobile-about-links a { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 13px; min-height:44px; border-radius:9px; text-decoration:none; color:#10126F; font-size:13px; font-weight:700; }
  .nav.am-nav-v222 .am-mobile-about-links a:hover, .nav.am-nav-v222 .am-mobile-about-links a:focus-visible, .nav.am-nav-v222 .am-mobile-about-links a[aria-current=page] { background:#EFF5DF; }
  .nav.am-nav-v222 .am-mobile-contact { display:flex; align-items:center; justify-content:space-between; min-height:47px; gap:12px; padding:11px 14px; margin-top:8px; text-decoration:none; background:#FFF2CD; color:#10126F; border:1px solid #E7D79D; border-radius:11px; font-weight:800; font-size:14px; }
  .nav.am-nav-v222 .am-mobile-contact:hover { background:#F5D461; }
}
@media(max-width:550px){
  .nav.am-nav-v222 .am-nav-dropdown { padding:13px; }
  .nav.am-nav-v222 .am-nav-dropdown-intro { padding-bottom:10px; }
  .nav.am-nav-v222 .am-nav-dropdown-intro > b { font-size:22px; }
  .nav.am-nav-v222 .am-nav-menu-grid { grid-template-columns:1fr; gap:2px; }
  .nav.am-nav-v222 .links .am-nav-menu-grid a.am-nav-menu-link { min-height:53px; padding:6px; }
  .nav.am-nav-v222 .am-nav-dropdown { max-height:min(480px,calc(100dvh - 160px)); }
}
@media(max-width:370px){
  .nav.am-nav-v222 .nav-inner { padding:9px 10px 11px; gap:7px; }
  .nav.am-nav-v222 .logo .logo-symbol { width:37px;height:37px; }
  .nav.am-nav-v222 .logo .logo-wordmark { font-size:21px; }
  .nav.am-nav-v222 .logo .logo-wordmark small { font-size:6.5px; }
  .nav.am-nav-v222 .am-mobile-more { min-height:40px; padding:8px 11px; font-size:12px; }
  .nav.am-nav-v222 .links.am-desktop-links { gap:5px; }
  .nav.am-nav-v222 .am-nav-primary { font-size:10.5px; padding-inline:3px; }
  .nav.am-nav-v222 button.am-nav-caret { flex-basis:30px; width:30px; }
  .nav.am-nav-v222 .am-nav-dropdown { left:8px!important;right:8px!important; }
}
@media(prefers-reduced-motion:reduce){
 .nav.am-nav-v222 .am-nav-group-top, .nav.am-nav-v222 svg { transition:none!important; }
}
