/* v0.4.3: the mobile menu must use the viewport as its containing block.
   Backdrop filters on its ancestors otherwise confine fixed positioning to the header. */
@media (max-width: 940px) {
  .avm-site-header,
  .home .avm-site-header,
  .avm-header-inner { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .avm-header-inner, .home .avm-header-inner { z-index: 2; }
  .avm-brand, .avm-menu-toggle, .avm-header-actions { position: relative; z-index: 3; }
  .avm-menu-toggle { flex: 0 0 auto; transition: background .2s, border-color .2s; }
  body.nav-open .avm-menu-toggle { border-color: rgba(13,83,118,.2); background: #e8f4f9; }
  body.nav-open .avm-menu-toggle > span:not(.screen-reader-text):first-child { transform: translateY(7px) rotate(45deg); }
  body.nav-open .avm-menu-toggle > span:not(.screen-reader-text):nth-child(2) { opacity: 0; }
  body.nav-open .avm-menu-toggle > span:not(.screen-reader-text):nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .avm-menu-toggle > span:not(.screen-reader-text) { transition: transform .2s,opacity .2s; }

  .avm-primary-navigation {
    position: fixed; inset: 0; top: 0; width: 100vw; height: 100vh; height: 100dvh;
    z-index: 2; display: block; margin: 0;
    padding: calc(112px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) calc(38px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
    border: 0; border-radius: 0;
    background: linear-gradient(130deg,rgba(247,252,254,.96),rgba(255,250,245,.94));
    box-shadow: 0 28px 60px rgba(6,47,70,.18);
    -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateX(100%); transition: transform .32s ease,opacity .24s ease,visibility .32s;
  }
  body.nav-open .avm-primary-navigation {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0);
  }
  .avm-primary-navigation .avm-menu { width: min(100%,720px); margin: 0 auto; }
  .avm-primary-navigation .avm-menu > li > a,
  .avm-primary-navigation .avm-program-trigger {
    min-height: 52px; padding: 12px 5px; color: #073b5d; font-size: 19px; font-weight: 750;
    border-bottom: 1px solid rgba(26,94,125,.14);
  }
  .avm-primary-navigation .avm-program-trigger { display: flex; align-items: center; }
  .avm-primary-navigation .avm-program-menu {
    position: static; width: 100%; max-width: 100%; margin: 0; padding: 16px 0 19px;
    background: transparent; border: 0; box-shadow: none; transform: none;
  }
  .avm-primary-navigation .avm-program-menu-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .avm-primary-navigation .avm-program-menu-column {
    min-height: 0; padding: 17px; border: 1px solid rgba(40,115,153,.16);
    border-radius: 19px; box-shadow: 0 9px 27px rgba(30,81,106,.055);
  }
  .avm-primary-navigation .avm-program-menu-column--human { background: rgba(190,230,246,.32); }
  .avm-primary-navigation .avm-program-menu-column--farm { background: rgba(146,198,225,.25); }
  .avm-primary-navigation .avm-program-menu-column--companion { background: rgba(249,204,164,.29); }
  .avm-primary-navigation .avm-program-menu-heading { min-height: 54px; font-size: 15px; }
  .avm-primary-navigation .avm-program-menu-column li a { min-height: 39px; padding: 9px 5px; font-size: 14px; }
  .avm-primary-navigation .avm-program-menu-all { min-height: 43px; align-items: center; }
  body.nav-open .avm-search-panel { display: none; }
}

@media (max-width: 640px) {
  .avm-primary-navigation { top: 0; padding-top: calc(100px + env(safe-area-inset-top)); }
  body.admin-bar .avm-primary-navigation { padding-top: calc(146px + env(safe-area-inset-top)); }
  .avm-primary-navigation .avm-menu > li > a,
  .avm-primary-navigation .avm-program-trigger { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .avm-primary-navigation, .avm-menu-toggle > span:not(.screen-reader-text) { transition: none; }
}

/* Keep the three program colours, but let the page canvas show through. */
.avm-shop-shell ul.products li.product.avm-product-area-human:nth-child(n) {
  background: rgba(100,191,227,.13); border-color: rgba(69,155,191,.24);
}
.avm-shop-shell ul.products li.product.avm-product-area-farm:nth-child(n) {
  background: rgba(83,152,193,.14); border-color: rgba(55,126,170,.24);
}
.avm-shop-shell ul.products li.product.avm-product-area-companion:nth-child(n) {
  background: rgba(236,150,76,.14); border-color: rgba(207,122,56,.24);
}
.avm-shop-shell ul.products li.product {
  box-shadow: 0 13px 33px rgba(15,73,103,.075),inset 0 1px rgba(255,255,255,.75);
}
.avm-shop-shell ul.products li.product:hover,
.avm-shop-shell ul.products li.product:nth-child(n):hover {
  box-shadow: 0 19px 40px rgba(15,73,103,.12),inset 0 1px rgba(255,255,255,.85);
}

/* Softer boundaries on the home page, without fading text or product photos. */
.avm-front-page .avm-program-tile,
.avm-front-page .avm-program-tile:nth-of-type(3) {
  border-color: rgba(255,255,255,.68);
  box-shadow: 0 14px 38px rgba(5,56,83,.095),inset 0 0 0 1px rgba(255,255,255,.4);
}
.avm-front-page .avm-program-tile--human::after {
  background: linear-gradient(90deg,rgba(247,252,255,.98) 0%,rgba(247,252,255,.93) 38%,rgba(247,252,255,.72) 53%,rgba(247,252,255,.05) 83%),linear-gradient(0deg,rgba(9,105,149,.55),transparent 28%);
}
.avm-front-page .avm-program-tile--vet::after {
  background: linear-gradient(90deg,rgba(238,247,252,.98) 0%,rgba(238,247,252,.93) 38%,rgba(238,247,252,.72) 53%,rgba(238,247,252,.05) 83%),linear-gradient(0deg,rgba(5,73,110,.58),transparent 28%);
}
.avm-front-page .avm-program-tile--pet::after {
  background: linear-gradient(90deg,rgba(255,248,241,.98) 0%,rgba(255,248,241,.93) 38%,rgba(255,248,241,.72) 53%,rgba(255,248,241,.05) 83%),linear-gradient(0deg,rgba(220,111,38,.56),transparent 28%);
}
.avm-front-page .avm-benefit-bar { background: rgba(255,255,255,.78); backdrop-filter: blur(12px); }
.avm-front-page .avm-featured-stage::before { border-color: rgba(213,221,211,.55); background: linear-gradient(180deg,rgba(255,255,255,.91),rgba(233,233,225,.8)); }
.avm-front-page .avm-featured-stage::after { background: linear-gradient(180deg,rgba(244,241,233,.86),rgba(229,225,216,.79)); }

@media (max-width: 700px) {
  .avm-front-page .avm-program-tile--human::after { background: linear-gradient(175deg,transparent 0 48%,rgba(4,85,126,.65) 56%,rgba(255,250,245,.97) 59%); }
  .avm-front-page .avm-program-tile--vet::after { background: linear-gradient(175deg,transparent 0 48%,rgba(5,79,116,.69) 56%,rgba(255,250,245,.97) 59%); }
  .avm-front-page .avm-program-tile--pet::after { background: linear-gradient(175deg,transparent 0 48%,rgba(232,118,40,.7) 56%,rgba(255,250,245,.97) 59%); }
}
