/* ===================================================================== mega menu
   Each department's panel takes the shape of what it holds:
   columns (Mobility), a picture grid (Bath Safety, Home Care, Pressure
   Prevention) or a compact panel under its own tab (Paediatric, Personal Care). */
.avs-nav{ position:relative; }
.avs-nav-list>li.avs-has-mm{ position:static; display:flex; align-items:center; }
.avs-nav-list>li.avs-has-mm>a{ padding-right:2px; }
.avs-nav-list>li.avs-has-mm>a::after{ display:none; }
.avs-mm-btn{ display:inline-grid; place-items:center; width:30px; min-height:44px; padding:0; margin:0 6px 0 0;
  border:0!important; background:none; box-shadow:none!important; cursor:pointer; color:var(--indigo-900); border-radius:8px; }
.avs-mm-btn::before{ content:""; width:8px; height:8px; margin-top:-4px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor;
  transform:rotate(45deg); opacity:.6; transition:transform .18s ease, margin .18s ease; }
.avs-mm-btn:hover, .avs-mm-btn:focus, .avs-mm-btn:active{ background:var(--lavender)!important; color:var(--indigo-900)!important; }
.avs-mm-btn:focus:not(:hover):not(:focus-visible){ background:none!important; }
.avs-mm-btn:focus-visible{ outline:var(--focus); outline-offset:2px; }
li.is-open>.avs-mm-btn::before{ transform:rotate(-135deg); margin-top:4px; opacity:1; }
.avs-nav-list>li.is-open>a{ color:var(--violet-500); box-shadow:inset 0 -3px 0 var(--amber-500); }

body.avs-mm-open::after{ content:""; position:fixed; left:0; right:0; bottom:0; top:var(--avs-mm-top,0px); z-index:790;
  background:rgba(27,16,54,.26); pointer-events:none; animation:avsMmFade .16s ease; }
@keyframes avsMmFade{ from{ opacity:0; } to{ opacity:1; } }

.avs-mm{ display:none; position:absolute; left:0; right:0; top:100%; z-index:900; padding:0 20px; }
li.is-open>.avs-mm{ display:block; animation:avsMmIn .16s ease; }
@keyframes avsMmIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.avs-mm-in{ max-width:1160px; margin:0 auto; padding:24px 28px 0; background:#fff; border:1px solid var(--line); border-top:0;
  border-radius:0 0 22px 22px; box-shadow:0 26px 52px rgba(46,26,94,.18);
  max-height:calc(100vh - var(--avs-mm-top,160px) - 18px); overflow:auto; overscroll-behavior:contain; }

/* pictures: a product on a clean white tile */
.avs-mm-colpic, .avs-mm-listpic{ flex:none; display:grid; place-items:center; overflow:hidden; background:#fff;
  border:1px solid #EEE9F6; border-radius:14px; }
.avs-mm-colpic{ width:56px; height:56px; }
.avs-mm-listpic{ width:52px; height:52px; }
.avs-mm-colpic img, .avs-mm-listpic img, .avs-mm-cardpic img{ width:86%; height:86%; object-fit:contain; opacity:0; transition:opacity .2s ease; }
.avs-mm .avs-mm-in img.is-in{ opacity:1; }
.avs-mm-listpic--none{ background:linear-gradient(135deg,#F3EEFB,#FFF4E3); border:0; }

/* 1. columns */
.avs-mm-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px 22px; }
.avs-mm-colh{ display:flex; align-items:center; gap:10px; padding:6px; margin:-6px; border-radius:14px; text-decoration:none; color:var(--indigo-900); }
.avs-mm-colh:hover{ background:var(--lavender); }
.avs-mm-colh span{ display:grid; min-width:0; }
.avs-mm-colh b{ font-size:1.0625rem; line-height:1.2; }
.avs-mm-colh small, .avs-mm-card small, .avs-mm-list small{ font-size:.8125rem; color:var(--ink-muted); font-weight:500; }
.avs-mm-col ul{ list-style:none; margin:12px 0 4px; padding:0 0 0 2px; border-left:2px solid #F0EBF8; }
.avs-mm-col li a{ display:flex; align-items:center; min-height:32px; padding-left:12px; font-size:.9375rem; color:var(--ink); text-decoration:none; }
.avs-mm-col li a:hover{ color:var(--violet-500); }

/* 2. photograph beside a compact grid of sections */
.avs-mm-tilewrap{ display:grid; grid-template-columns:230px minmax(0,1fr); gap:22px; align-items:stretch; }
.avs-mm-tilewrap--solo{ grid-template-columns:1fr; }
.avs-mm-tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 14px; align-content:start; }
.avs-mm-card{ display:flex; align-items:center; gap:12px; padding:6px; border-radius:14px; text-decoration:none; color:var(--indigo-900);
  transition:background-color .15s ease; }
.avs-mm-card:hover{ background:var(--lavender); }
.avs-mm-card span{ display:grid; min-width:0; }
.avs-mm-card b{ font-size:1rem; line-height:1.25; }
.avs-mm-cardpic{ flex:none; width:54px; height:54px; display:grid; place-items:center; overflow:hidden; background:#fff;
  border:1px solid #EEE9F6; border-radius:14px; }
.avs-mm-cardpic--none{ background:linear-gradient(135deg,#F3EEFB,#FFF4E3); border:0; }

/* 3. compact, under its own tab */
.avs-mm--compact .avs-mm-in{ max-width:700px; margin:0 0 0 var(--avs-mm-left,0px); }
.avs-mm-compact{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:20px; align-items:stretch; }
.avs-mm-story{ position:relative; display:block; min-height:230px; border-radius:18px; overflow:hidden; text-decoration:none; background:#EDE7F8; }
.avs-mm-story img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .25s ease; }
.avs-mm-story::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(27,16,54,0) 35%,rgba(27,16,54,.72) 100%); }
.avs-mm-story-t{ position:absolute; left:16px; right:16px; bottom:14px; z-index:1; display:grid; gap:4px; color:#fff; }
.avs-mm-story-t b{ font-size:1.25rem; }
.avs-mm-story-t small{ font-size:.875rem; line-height:1.4; opacity:.92; }
.avs-mm-list{ list-style:none; margin:0; padding:0; display:grid; gap:4px; align-content:start; }
.avs-mm-list a{ display:flex; align-items:center; gap:12px; padding:6px; border-radius:14px; text-decoration:none; color:var(--indigo-900); }
.avs-mm-list a:hover{ background:var(--lavender); }
.avs-mm-list span{ display:grid; }
.avs-mm-list b{ font-size:1.0625rem; }

/* the quiet footer line every panel ends with */
.avs-mm-strip{ display:flex; align-items:center; justify-content:space-between; gap:12px 20px; flex-wrap:wrap;
  margin:20px -28px 0; padding:14px 28px; border-top:1px solid #F0EBF8; background:#FCFBFE; border-radius:0 0 22px 22px; }
.avs-mm-shopall{ display:inline-flex; align-items:baseline; gap:8px; min-height:32px; font-weight:700; color:var(--indigo-900); text-decoration:none; }
.avs-mm-shopall small{ font-weight:500; color:var(--ink-muted); }
.avs-mm-shopall:hover{ color:var(--violet-500); }
.avs-mm-call{ margin:0; font-size:.9375rem; color:var(--ink-muted); }
.avs-mm-call a{ color:var(--indigo-900); font-weight:700; text-decoration:none; white-space:nowrap; }

/* All categories */
.avs-mm--all .avs-mm-in{ display:block; }
.avs-mm-deps{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.avs-mm-dep{ display:flex; flex-direction:column; overflow:hidden; border:1px solid #EEE9F6; border-radius:16px; background:#fff;
  text-decoration:none; color:var(--indigo-900); transition:box-shadow .16s ease, transform .16s ease; }
.avs-mm-dep:hover{ box-shadow:0 12px 26px rgba(46,26,94,.12); transform:translateY(-2px); }
.avs-mm-dep-img{ display:block; aspect-ratio:4/3; background:#F5F2FB; overflow:hidden; }
.avs-mm-dep-img img{ width:100%; height:100%; object-fit:cover; display:block; opacity:0; transition:opacity .2s ease; }
.avs-mm-dep-t{ display:grid; gap:2px; padding:10px 12px 12px; }
.avs-mm-dep-t b{ font-size:.9875rem; }
.avs-mm-dep-t small{ font-size:.8125rem; color:var(--ink-muted); }
.avs-mm-subh{ margin:18px 0 8px; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-muted); }
.avs-mm-grid--more{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px 14px; }
.avs-mm-grid--more .avs-mm-tile{ display:flex; align-items:center; gap:10px; padding:6px; border-radius:14px; text-decoration:none; color:var(--indigo-900); }
.avs-mm-grid--more .avs-mm-tile:hover{ background:var(--lavender); }
.avs-mm-grid--more .avs-mm-pic{ flex:none; width:48px; height:48px; display:grid; place-items:center; background:#fff; border:1px solid #EEE9F6; border-radius:12px; overflow:hidden; }
.avs-mm-grid--more .avs-mm-pic img{ width:86%; height:86%; object-fit:contain; opacity:0; transition:opacity .2s ease; }
.avs-mm-grid--more .avs-mm-t{ display:grid; }
.avs-mm-grid--more .avs-mm-t b{ font-size:.9875rem; }
.avs-mm-grid--more .avs-mm-t small{ font-size:.8125rem; color:var(--ink-muted); }

/* narrower laptops and tablets */
@media (max-width:1180px){
  .avs-mm-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .avs-mm-tilewrap{ grid-template-columns:190px minmax(0,1fr); }
  .avs-mm-deps{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .avs-mm-grid--more{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:768px) and (max-width:1180px){
  .avs-nav-list{ gap:0; }
  .avs-nav-list>li>a{ padding:0 4px 0 10px; font-size:14.5px; }
  .avs-mm-btn{ width:22px; margin:0 4px 0 0; }
}
@media (hover:hover) and (min-width:768px) and (max-width:1100px){
  .avs-nav-list>li>a{ padding:0 2px 0 8px; font-size:14px; }
  .avs-mm-btn{ width:20px; margin:0 2px 0 0; }
}
@media (hover:none) and (min-width:768px){
  .avs-mm-btn{ display:none; }
  .avs-nav-list>li.avs-has-mm>a{ padding-right:12px; }
}

/* phones: one simple list inside the menu */
@media (max-width:767px){
  body.avs-mm-open::after{ display:none; }
  .avs-nav-list>li.avs-has-mm{ flex-wrap:wrap; justify-content:space-between; }
  .avs-nav-list>li.avs-has-mm>a{ flex:1 1 auto; }
  .avs-nav-list>li.is-open>a{ box-shadow:none; }
  .avs-mm-btn{ width:48px; min-height:48px; margin:0; }
  .avs-mm{ position:static; flex-basis:100%; padding:0 0 10px; }
  .avs-mm-in, .avs-mm--compact .avs-mm-in{ max-width:none; margin:0; max-height:none; padding:8px 8px 0; border:0; border-radius:16px; box-shadow:none; background:#F7F4FC; }
  .avs-mm-cols{ grid-template-columns:1fr; gap:2px; }
  .avs-mm-colh{ margin:0; }
  .avs-mm-col ul{ display:none; }
  .avs-mm-tilewrap{ grid-template-columns:1fr; }
  .avs-mm-tiles{ grid-template-columns:1fr; gap:2px; }
  .avs-mm-compact{ grid-template-columns:1fr; }
  .avs-mm-story{ display:none; }
  .avs-mm-deps{ grid-template-columns:1fr 1fr; gap:8px; }
  .avs-mm-grid--more{ grid-template-columns:1fr; }
  .avs-mm-strip{ margin:10px -8px 0; padding:12px 12px; background:none; border-radius:0 0 16px 16px; }
  .avs-mm-call{ display:none; }
}
