:root{
  --ui-scale: 0.8;

  --panel-w-base: 830px;
  --panel-h-base: 1329px;

  --panel-w: calc(var(--panel-w-base) * var(--ui-scale));

  /* Hard px cap */
  --nav-rail-max: calc(562px * var(--ui-scale));

  /* Safe zone ratio: 562 / 830 = 0.6771 */
  --nav-safe-ratio: 0.6771;

  --gap: 40px;
  --side-pad: 7px;

  --header-pad-y: 14px;
  --footer-h: 140px; /* ✅ updated to match new 140px footer */

  --bg: #fafbf5;

  /* ✅ Subpage-style nav controls */
  --nav-max: 665px;
  --nav-h: 14px; /* icon height target */

  /* ✅ NEW: consistent nav button height + spacing */
  --nav-item-h: 17px; /* same tap target height on desktop + mobile */
  --nav-gap: 10px;    /* consistent horizontal spacing */

  /* ✅ ADDED: Old-school box look */
  --box-bg: rgba(255,255,255,0.92);
  --box-border: #b9b9b9;
  --box-border-dark: #8f8f8f;
  --shadow: 2px 2px 0 rgba(0,0,0,0.18);
  --radius: 2px;

  /* Vendor overlay dials (desktop defaults) */
  --vendor-left: 20.12%;
  --vendor-top: 10.12%;
  --vendor-width: 65%;
  --vendor-scale: 1;
  --vendor-y-shift: clamp(0px, 0.8vw, 10px);
  --vendor-row-h: clamp(18px, 1.7vw, 22px);
}

*{ box-sizing: border-box; }
html, body{ height: 100%; }

body{
  margin: 0;
  background: var(--bg);
  color: #1a1a1a;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  overflow-x: hidden;
}

/* ✅ Shared box style */
.wrap .box,
.page .box,
.box{
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  border-right-color: var(--box-border-dark);
  border-bottom-color: var(--box-border-dark);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

/* Desktop: allow scroll so footer is reachable */
@media (min-width: 1101px){
  body{
    overflow-y: auto;
    overflow-x: hidden;
  }
}

/* ========== iOS Glass Header ========== */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;

  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);

  border-bottom: 1px solid rgba(0,0,0,0.08);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.6) inset,
    0 8px 24px rgba(0,0,0,0.04);
}

/* Logo */
.brand{
  display: flex;
  justify-content: center;
  padding: var(--header-pad-y) 14px 10px;
  text-decoration: none;
}

.brand img{
  width: min(210px, 92vw);
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.12));
}

/* =========================
   ✅ NAV FIX (consistent height + spacing)
========================= */
.img-nav{
  margin: 0 auto 10px;
  width: min(var(--nav-max), 96vw);

  display: flex;
  align-items: center;

  /* ✅ consistent spacing (no more space-between variability) */
  justify-content: center;
  gap: var(--nav-gap);

  padding: 5px 7px;

  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.18);
  border-right-color: rgba(0,0,0,0.28);
  border-bottom-color: rgba(0,0,0,0.28);
  border-radius: 2px;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.14);
}

.img-nav-item{
  /* ✅ equal-width slots so spacing is uniform */
  flex: 1 1 0;
  min-width: 0;

  /* ✅ same clickable height on desktop + mobile */
  height: var(--nav-item-h);

  display: flex;
  align-items: center;
  justify-content: center;

  text-decoration: none;
}

.img-nav-item img{
  /* ✅ FIX: constrain by max-height so extra PNG padding can’t make it look taller */
  max-height: var(--nav-h);
  height: auto;

  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  opacity: 0.95;
}

@media (max-width: 480px){
  :root{
    --nav-h: 13px;      /* slightly smaller icon */
    --nav-item-h: 30px; /* keep tap target same */
    --nav-gap: 8px;     /* slightly tighter spacing */
  }

  /* ✅ MOBILE-ONLY FIX: hard-lock icon height so SHOP can’t render taller */
  .img-nav-item img{
    height: var(--nav-h) !important;
    max-height: none !important;
  }
}

/* =========================
   FOOTER (830 x 140 w/ background + positioned links)
========================= */
.site-footer{
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 10px 0 10px;
  background: transparent;
}

.footer-card{
  position: relative;
  width: min(830px, 96vw);
  aspect-ratio: 830 / 140;
  background: url("../img/newfoot.png") center / cover no-repeat;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.18));
}

.footer-link{
  position: absolute;
  top: 7.14%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  height: 20%;
  max-height: 15px;
}

.footer-link img{
  height: 100%;
  width: auto;
  display: block;
  opacity: 0.95;
}

.footer-link:hover img{
  opacity: 1;
  filter: contrast(1.1);
}

.footer-terms{ left: 15.42%; }
.footer-faqs{  left: 30.84%; }
.footer-about{ left: 72.29%; }

.footer-copy{
  position: absolute;
  top: 68%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  line-height: 1.2;
  color: rgba(0,0,0,0.62);
  width: 92%;
  max-width: 760px;
}

.footer-copy p{
  margin: 0;
  font-size: 12px;
}

@media (max-width: 480px){
  .footer-link{ max-height: 8px; }
  .footer-copy p{ font-size: 11px; }
}