/* ============================================================
   Footer
   ============================================================ */
.site-footer{
  background:var(--black-950);
  color:var(--on-black-soft);
  padding-top:var(--sp-9);
}
.footer-top{
  display:grid;
  gap:var(--sp-7);
  padding-bottom:var(--sp-8);
  border-bottom:1px solid var(--line-on-black);
}
.footer-brand .brand-logo{ height:40px; }
.footer-brand p{
  color:var(--on-black-soft);
  font-size:var(--fs-sm);
  max-width:34ch;
  margin-top:var(--sp-4);
}
.footer-socials{
  display:flex; gap:10px;
  margin-top:var(--sp-5);
}
.footer-col h4{
  color:var(--on-black);
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:var(--sp-4);
}
.footer-col ul{ display:flex; flex-direction:column; gap:11px; }
.footer-col a{
  font-size:var(--fs-sm);
  color:var(--on-black-soft);
  transition:color var(--dur-fast);
}
.footer-col a:hover{ color:var(--jodhpur-300); }
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-4);
  padding-block:var(--sp-6);
  font-size:12.5px;
}
.footer-bottom-links{ display:flex; gap:var(--sp-5); flex-wrap:wrap; }
.footer-bottom-links a:hover{ color:var(--jodhpur-300); }

@media (min-width:720px){
  .footer-top{ grid-template-columns:1.3fr repeat(3,1fr); }
}
@media (min-width:1024px){
  .footer-top{ grid-template-columns:1.3fr 1fr 1fr 1fr 1fr; }
}

/* ============================================================
   Product spec grid — packaging / MOQ, used directly on each
   Products-page category card.
   ============================================================ */
.spec-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.spec-grid .spec{
  background:var(--paper-raised);
  padding:var(--sp-4);
}
.spec-grid dt{
  display:flex; align-items:center; gap:6px;
  font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--jodhpur-700); margin-bottom:6px;
}
.spec-grid dt svg{ width:13px; height:13px; flex:none; }
.spec-grid dd{ font-size:var(--fs-sm); color:var(--ink); font-family:var(--font-mono); line-height:1.4; }

.spec-disclosure{
  border-top:1px solid var(--line);
  margin-top:var(--sp-4);
}
.spec-disclosure summary{
  padding:var(--sp-4) 0;
  font-size:var(--fs-xs);
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ink);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  list-style:none;
}
.spec-disclosure summary::-webkit-details-marker{ display:none; }
.spec-disclosure summary .toggle-icon{ transition:transform var(--dur-med) var(--ease); }
.spec-disclosure[open] summary .toggle-icon{ transform:rotate(90deg); }
.spec-disclosure .spec-list{ padding-bottom:var(--sp-4); display:flex; flex-direction:column; gap:8px; }
.spec-disclosure .spec-list li{
  display:flex; gap:8px; align-items:flex-start;
  font-size:var(--fs-sm); color:var(--slate);
}
.spec-disclosure .spec-list svg{ width:15px; height:15px; margin-top:2px; color:var(--jodhpur-600); flex:none; }

.product-detail-actions{
  display:flex; flex-wrap:wrap; gap:var(--sp-3);
  padding-top:var(--sp-4);
  margin-top:var(--sp-4);
  border-top:1px solid var(--line);
}

.back-to-top{
  position:fixed;
  right:var(--sp-5); bottom:var(--sp-5);
  z-index:399;
  width:46px; height:46px;
  border-radius:50%;
  background:color-mix(in srgb, var(--paper-raised) 44%, transparent);
  backdrop-filter: blur(25px) saturate(2.15);
  -webkit-backdrop-filter: blur(25px) saturate(2.15);
  border:1px solid var(--line-strong);
  color:var(--ink);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-float);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all var(--dur-fast) var(--ease);
}
.back-to-top.is-visible{ opacity:1; visibility:visible; transform:none; }
.back-to-top svg{ width:18px; height:18px; }
