/* Mzansi Flexi Top Nav - glass style, mobile only (768px and narrower) */
.mtn,.mtn-backdrop,.mtn-panel{display:none}

@property --mtn-x{syntax:'<length>';inherits:true;initial-value:-200px}

@media (max-width:768px){
  .mtn,.mtn-panel{
    --mtn-accent:#3f9bb5;
    --mtn-accent-dark:#2f7f97;
    --mtn-ink:#2f4a56;
    --mtn-top:calc(env(safe-area-inset-top,0px) + 34px); /* room for the raised bubble */
    --mtn-h:62px;
    --mtn-gap:16px;
    --mtn-bubble:54px;
    --mtn-notch:33px;
    font-family:'Maven Pro',sans-serif;
  }
  body.admin-bar .mtn,body.admin-bar .mtn-panel{--mtn-top:calc(env(safe-area-inset-top,0px) + 34px + 46px)}

  /* page content starts below the bar so nothing is covered */
  html{--mtn-bar-space:calc(env(safe-area-inset-top,0px) + 34px + 62px + 12px);scroll-padding-top:var(--mtn-bar-space)}
  body{padding-top:var(--mtn-bar-space)}

  /* ---------- Bar ---------- */
  .mtn{
    position:fixed;
    top:var(--mtn-top);
    left:var(--mtn-gap);
    right:var(--mtn-gap);
    z-index:99992;
    display:block;
    height:var(--mtn-h);
    color:var(--mtn-ink);
    transition:--mtn-x .38s cubic-bezier(.3,1.2,.4,1), transform .32s cubic-bezier(.2,.8,.2,1), visibility 0s;
    will-change:transform;
    -webkit-tap-highlight-color:transparent;
  }
  .mtn.is-hidden{
    transform:translateY(calc(-100% - var(--mtn-top) - 40px));
    visibility:hidden;
    pointer-events:none;
    transition:--mtn-x .38s cubic-bezier(.3,1.2,.4,1), transform .32s cubic-bezier(.2,.8,.2,1), visibility 0s linear .32s;
  }
  .mtn *,.mtn *::before,.mtn *::after,.mtn-panel *{box-sizing:border-box}

  /* glass layer, with a round notch cut out where the bubble sits */
  .mtn .mtn__bg{
    position:absolute;
    inset:0;
    border-radius:28px;
    background:linear-gradient(135deg,rgba(255,255,255,.6),rgba(255,255,255,.4) 45%,rgba(255,255,255,.28));
    border:1px solid rgba(255,255,255,.85);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
            backdrop-filter:blur(18px) saturate(140%);
    box-shadow:0 12px 32px rgba(40,60,80,.22), inset 0 1px 0 rgba(255,255,255,.9);
    -webkit-mask-image:radial-gradient(circle var(--mtn-notch) at var(--mtn-x) 0,transparent 98%,#000 100%);
            mask-image:radial-gradient(circle var(--mtn-notch) at var(--mtn-x) 0,transparent 98%,#000 100%);
  }
  .mtn.has-no-active .mtn__bg{-webkit-mask-image:none;mask-image:none}

  /* the raised bubble that holds the active icon */
  .mtn .mtn__bubble{
    position:absolute;
    top:calc(var(--mtn-bubble) / -2);
    left:calc(var(--mtn-x) - var(--mtn-bubble) / 2);
    width:var(--mtn-bubble);
    height:var(--mtn-bubble);
    border-radius:50%;
    background:linear-gradient(145deg,var(--mtn-accent),var(--mtn-accent-dark));
    border:2px solid rgba(255,255,255,.9);
    box-shadow:0 8px 18px rgba(63,155,181,.45);
    transition:opacity .2s;
  }
  .mtn.has-no-active .mtn__bubble{opacity:0}

  .mtn .mtn__list{position:relative;display:flex;height:100%;margin:0;padding:0 6px;list-style:none}
  .mtn .mtn__item{flex:1 1 0;min-width:0;margin:0;padding:0;list-style:none}

  .mtn .mtn__link{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    width:100%;
    height:100%;
    padding:0 2px 9px;
    margin:0;
    border:0;
    border-radius:20px;
    background:transparent;
    color:var(--mtn-ink);
    font:inherit;
    text-decoration:none;
    box-shadow:none;
    cursor:pointer;
    -webkit-appearance:none;
    appearance:none;
  }
  .mtn .mtn__link:hover,.mtn .mtn__link:focus{color:var(--mtn-ink);background:transparent}
  .mtn .mtn__link:focus-visible{outline:2px solid var(--mtn-accent);outline-offset:-3px}

  .mtn .mtn__ico{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:26px;
    font-size:19px;
    line-height:1;
    transition:transform .38s cubic-bezier(.3,1.2,.4,1);
  }
  .mtn .mtn__label{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.1px;
  }

  /* circular logo in place of the home icon */
  .mtn .mtn__logo{
    display:block;
    width:30px;
    height:30px;
    max-width:none;
    margin:0;
    border-radius:50%;
    object-fit:cover;
    background:#fff;
    border:1.5px solid rgba(255,255,255,.95);
    box-shadow:0 2px 6px rgba(40,60,80,.28);
    transition:width .3s, height .3s;
  }

  /* active: icon rises into the bubble */
  .mtn .mtn__link.is-active{color:var(--mtn-accent-dark)}
  .mtn .mtn__link.is-active .mtn__label{font-weight:800}
  .mtn .mtn__link.is-active .mtn__ico{transform:translateY(-25px);font-size:21px;color:#fff}
  .mtn .mtn__link.is-active .mtn__logo{width:38px;height:38px}

  /* ---------- Backdrop ---------- */
  .mtn-backdrop{
    position:fixed;
    inset:0;
    z-index:99990;
    display:block;
    background:rgba(30,50,65,.35);
    -webkit-backdrop-filter:blur(4px);
            backdrop-filter:blur(4px);
    opacity:0;
    transition:opacity .25s ease;
  }
  .mtn-backdrop[hidden],.mtn-panel[hidden]{display:none}
  .mtn-backdrop.is-open{opacity:1}

  /* ---------- Panels ---------- */
  .mtn-panel{
    position:fixed;
    top:calc(var(--mtn-top) + var(--mtn-h) + 12px);
    left:var(--mtn-gap);
    right:var(--mtn-gap);
    z-index:99991;
    display:block;
    max-height:calc(100vh - var(--mtn-top) - var(--mtn-h) - 120px);
    max-height:calc(100dvh - var(--mtn-top) - var(--mtn-h) - 120px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:18px 14px 14px;
    border-radius:28px;
    color:var(--mtn-ink);
    background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.58) 45%,rgba(255,255,255,.45));
    border:1px solid rgba(255,255,255,.92);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
            backdrop-filter:blur(18px) saturate(140%);
    box-shadow:0 18px 44px rgba(40,60,80,.28), inset 0 1px 0 rgba(255,255,255,.95);
    opacity:0;
    transform:translateY(-10px) scale(.98);
    transform-origin:top center;
    transition:opacity .22s ease, transform .22s cubic-bezier(.2,.8,.2,1);
  }
  .mtn-panel.is-open{opacity:1;transform:none}

  .mtn-panel .mtn-panel__title{margin:0 4px 4px;padding:0;color:var(--mtn-ink);font-family:inherit;font-size:22px;font-weight:700;line-height:1.2}
  .mtn-panel .mtn-panel__sub{margin:0 4px 14px;color:var(--mtn-ink);font-size:13px;line-height:1.4;opacity:.8}

  .mtn-panel .mtn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}

  /* ---------- Tiles ---------- */
  .mtn-panel .mtn-tile{position:relative;min-width:0;margin:0;-webkit-tap-highlight-color:transparent}
  .mtn-panel .mtn-tile__ico{
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    border-radius:50%;
    background:linear-gradient(145deg,var(--mtn-accent),var(--mtn-accent-dark));
    color:#fff;
    font-size:23px;
    box-shadow:0 8px 16px rgba(63,155,181,.38);
  }
  .mtn-panel .mtn-tile__name{font-size:14px;font-weight:700;line-height:1.25;text-align:center;color:var(--mtn-ink)}

  /* flip tiles (Products) */
  .mtn-panel .mtn-tile--flip{height:190px;perspective:900px;cursor:pointer;outline:none;border-radius:22px}
  .mtn-panel .mtn-tile--flip:focus-visible{box-shadow:0 0 0 2px var(--mtn-accent)}
  .mtn-panel .mtn-tile__inner{
    position:relative;
    width:100%;
    height:100%;
    transform-style:preserve-3d;
    -webkit-transform-style:preserve-3d;
    transition:transform .55s cubic-bezier(.3,1,.4,1);
  }
  .mtn-panel .mtn-tile.is-flipped .mtn-tile__inner{transform:rotateY(180deg)}
  .mtn-panel .mtn-tile__face{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:14px 12px;
    border-radius:22px;
    -webkit-backface-visibility:hidden;
            backface-visibility:hidden;
  }
  .mtn-panel .mtn-tile__front{
    background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.55));
    border:1px solid rgba(255,255,255,.95);
    box-shadow:0 8px 20px rgba(40,60,80,.14), inset 0 1px 0 rgba(255,255,255,.95);
  }
  .mtn-panel .mtn-tile__hint{position:absolute;right:10px;bottom:8px;color:var(--mtn-accent);font-size:12px;opacity:.8}
  .mtn-panel .mtn-tile__back{
    justify-content:flex-start;
    gap:6px;
    overflow:auto;
    background:linear-gradient(145deg,var(--mtn-accent),var(--mtn-accent-dark));
    border:1px solid rgba(255,255,255,.6);
    color:#fff;
    box-shadow:0 10px 22px rgba(63,155,181,.4);
    transform:rotateY(180deg);
    text-align:left;
    align-items:flex-start;
  }
  .mtn-panel .mtn-tile__btitle{display:block;font-size:13px;font-weight:800;line-height:1.2;color:#fff}
  .mtn-panel .mtn-tile__text{display:block;font-size:12px;font-weight:500;line-height:1.38;color:#fff}

  /* static tiles (Requirements) */
  .mtn-panel .mtn-tile--static{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:150px;
    padding:18px 10px 14px;
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.55));
    border:1px solid rgba(255,255,255,.95);
    box-shadow:0 8px 20px rgba(40,60,80,.14), inset 0 1px 0 rgba(255,255,255,.95);
  }
  .mtn-panel .mtn-tile__tick{position:absolute;top:10px;right:10px;color:var(--mtn-accent);font-size:16px}

  body.mtn-lock{overflow:hidden}
}

@media (max-width:350px){
  .mtn .mtn__label{font-size:10px}
  .mtn-panel .mtn-tile__name{font-size:13px}
}

@media (prefers-reduced-motion:reduce){
  .mtn,.mtn.is-hidden,.mtn .mtn__ico,.mtn-panel,.mtn-backdrop,.mtn-panel .mtn-tile__inner{transition:none}
}
