
:root{
  --gso-ink:#071326;
  --gso-navy:#08285d;
  --gso-blue:#0753bd;
  --gso-muted:#5c7088;
  --gso-line:#d4e1ee;
  --gso-bg:#f4f9ff;
}

.category-section{
  padding:28px 0 26px;
}

.category-heading{
  text-align:center;
  margin-bottom:20px;
}

.category-heading .eyebrow{
  margin-bottom:6px;
}

.category-heading h2{
  margin:0;
  color:var(--gso-ink);
  font-size:clamp(28px,4vw,44px);
  text-transform:uppercase;
  letter-spacing:.01em;
}

.category-heading p:last-child{
  max-width:760px;
  margin:9px auto 0;
  color:var(--gso-muted);
  line-height:1.55;
}

.category-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

.category-card{
  --accent:#7ba7d9;
  --accent-dark:#24588f;
  --accent-soft:#eef6ff;
  position:relative;
  min-height:175px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid color-mix(in srgb,var(--accent) 55%,#b8c7d6);
  border-radius:14px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.18)),
    linear-gradient(135deg,var(--accent-soft),#fff 68%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.9),
    inset 0 0 0 4px rgba(255,255,255,.25),
    0 12px 24px rgba(14,48,88,.09);
  text-decoration:none;
  color:var(--gso-ink);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.category-card:hover{
  transform:translateY(-3px);
  border-color:var(--accent);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.9),
    0 16px 30px color-mix(in srgb,var(--accent) 18%,transparent);
}

.category-art{
  position:absolute;
  inset:0 0 50px 0;
  display:grid;
  place-items:center;
  opacity:.9;
  background:
    radial-gradient(circle at 70% 20%,rgba(255,255,255,.9),transparent 22%),
    linear-gradient(145deg,transparent,color-mix(in srgb,var(--accent) 13%,transparent));
}

.category-art svg{
  width:74px;
  height:74px;
  fill:none;
  stroke:var(--accent-dark);
  stroke-width:1.8;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.8));
}

.category-card-copy{
  position:relative;
  z-index:2;
  padding:14px 15px 13px;
  border-top:1px solid color-mix(in srgb,var(--accent) 30%,#d9e4ee);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(5px);
}

.category-card h3{
  margin:0;
  font-size:14px;
}

.category-card span{
  display:inline-block;
  margin-top:5px;
  color:var(--accent-dark);
  font-size:12px;
  font-weight:800;
}

.category-card.metabolic{--accent:#67c7c9;--accent-dark:#157a7d;--accent-soft:#e9fbfb}
.category-card.repair{--accent:#7ea5e8;--accent-dark:#315fba;--accent-soft:#edf4ff}
.category-card.gh{--accent:#aa95da;--accent-dark:#684ba0;--accent-soft:#f4efff}
.category-card.cognitive{--accent:#c4aa8e;--accent-dark:#7b5b39;--accent-soft:#faf4ee}
.category-card.longevity{--accent:#91b7d8;--accent-dark:#426d92;--accent-soft:#eef6fb}
.category-card.hormonal{--accent:#d8a09b;--accent-dark:#945d58;--accent-soft:#fdf1ef}
.category-card.immune{--accent:#aeb7c3;--accent-dark:#5b6978;--accent-soft:#f1f4f7}
.category-card.supplies{--accent:#72c1c6;--accent-dark:#287a80;--accent-soft:#ebfbfb}
.category-card.blends{--accent:#c8ad7f;--accent-dark:#806535;--accent-soft:#fbf5e9}

.catalog-shell{
  width:min(1180px,calc(100% - 36px));
  margin-inline:auto;
}

.catalog-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
}

.catalog-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.catalog-brand img{
  width:72px;
  height:72px;
  object-fit:contain;
}

.catalog-brand h1{
  margin:0;
  font-size:clamp(26px,4vw,42px);
  text-transform:uppercase;
}

.catalog-brand p{
  margin:6px 0 0;
  color:var(--gso-muted);
  font-size:13px;
}

.catalog-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.catalog-actions a{
  padding:10px 14px;
  border:1px solid #8fb0d4;
  border-radius:7px;
  color:#164d8e;
  background:rgba(255,255,255,.8);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  text-decoration:none;
}

.category-page{
  --accent:#7ba7d9;
  --accent-dark:#24588f;
  --accent-soft:#eef6ff;
  min-height:100vh;
  color:var(--gso-ink);
  background:
    radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 28%),
    linear-gradient(180deg,#fbfdff,var(--accent-soft));
}

.category-page.metabolic{--accent:#67c7c9;--accent-dark:#157a7d;--accent-soft:#edfafa}
.category-page.repair{--accent:#7ea5e8;--accent-dark:#315fba;--accent-soft:#eef4ff}
.category-page.gh{--accent:#aa95da;--accent-dark:#684ba0;--accent-soft:#f5f1fd}
.category-page.cognitive{--accent:#c4aa8e;--accent-dark:#7b5b39;--accent-soft:#faf6f1}
.category-page.longevity{--accent:#91b7d8;--accent-dark:#426d92;--accent-soft:#eef6fb}
.category-page.hormonal{--accent:#d8a09b;--accent-dark:#945d58;--accent-soft:#fdf3f1}
.category-page.immune{--accent:#aeb7c3;--accent-dark:#5b6978;--accent-soft:#f3f5f7}
.category-page.supplies{--accent:#72c1c6;--accent-dark:#287a80;--accent-soft:#edfafa}
.category-page.blends{--accent:#c8ad7f;--accent-dark:#806535;--accent-soft:#fbf7ef}

.category-hero{
  position:relative;
  overflow:hidden;
  margin:8px 0 24px;
  padding:34px;
  border:1px solid color-mix(in srgb,var(--accent) 55%,#bdcad8);
  border-radius:18px;
  background:
    linear-gradient(120deg,rgba(255,255,255,.94),rgba(255,255,255,.55)),
    linear-gradient(145deg,var(--accent-soft),#fff);
}

.category-hero::after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-70px;
  top:-95px;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);
  box-shadow:
    0 0 0 28px color-mix(in srgb,var(--accent) 8%,transparent),
    0 0 0 58px color-mix(in srgb,var(--accent) 5%,transparent);
}

.category-hero .eyebrow{
  color:var(--accent-dark);
}

.category-hero h2{
  position:relative;
  z-index:2;
  margin:8px 0 10px;
  font-size:clamp(34px,5vw,58px);
  text-transform:uppercase;
}

.category-hero p{
  position:relative;
  z-index:2;
  max-width:720px;
  margin:0;
  color:#4f6378;
  line-height:1.6;
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding-bottom:40px;
}

.product-card{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 35%,#d1deea);
  border-radius:15px;
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 28px rgba(12,45,84,.08);
}

.vial-placeholder{
  min-height:230px;
  display:grid;
  place-items:center;
  padding:20px;
  background:
    radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--accent) 18%,#fff),transparent 28%),
    linear-gradient(180deg,#fff,var(--accent-soft));
}

.vial{
  position:relative;
  width:94px;
  height:160px;
  border:2px solid #9eabb9;
  border-radius:17px 17px 12px 12px;
  background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(222,234,244,.75),rgba(255,255,255,.88));
  box-shadow:inset 0 0 12px rgba(55,83,110,.12),0 14px 20px rgba(28,52,77,.12);
}

.vial::before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:-24px;
  height:30px;
  border-radius:8px 8px 4px 4px;
  background:linear-gradient(#20252c,#090c10);
}

.vial-label{
  position:absolute;
  left:7px;
  right:7px;
  top:48px;
  min-height:64px;
  padding:7px 5px;
  border:1px solid color-mix(in srgb,var(--accent) 70%,#555);
  color:#081526;
  background:#fff;
  text-align:center;
  font-family:Georgia,serif;
}

.vial-label strong{
  display:block;
  font-size:17px;
  line-height:1;
}

.vial-label small{
  display:block;
  margin-top:5px;
  font-family:Arial,sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.03em;
}

.product-copy{
  padding:16px;
}

.product-category{
  color:var(--accent-dark);
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.product-copy h3{
  margin:5px 0 4px;
  font-size:21px;
}

.product-meta{
  margin:0 0 10px;
  color:#52667d;
  font-size:13px;
}

.product-copy p:last-of-type{
  min-height:46px;
  color:#63758a;
  font-size:13px;
  line-height:1.5;
}

.product-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.product-links a{
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 65%,#9aaabc);
  border-radius:6px;
  color:var(--accent-dark);
  background:#fff;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  text-decoration:none;
}

.catalog-footer{
  padding:24px 0 38px;
  color:#6a7c90;
  font-size:12px;
  text-align:center;
}

@media(max-width:1050px){
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:680px){
  .category-grid{grid-template-columns:1fr}
  .catalog-topbar{align-items:flex-start;flex-direction:column}
  .product-grid{grid-template-columns:1fr}
  .category-hero{padding:25px 20px}
}


.catalog-support-link{margin-left:auto;color:#164d8e;font-size:12px;font-weight:800;text-decoration:none}
.catalog-overview-hero .overview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.catalog-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid #3d79bf;border-radius:8px;background:linear-gradient(145deg,#1088ff,#053b8a);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;text-decoration:none}
.catalog-cta.outline{background:rgba(255,255,255,.85);color:#164d8e}
.graphic-category-section{padding:10px 0 30px}
.graphic-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:start}
.graphic-category-card{display:block;aspect-ratio:720/1004;border-radius:16px;overflow:hidden;border:1px solid rgba(182,199,220,.7);box-shadow:0 14px 28px rgba(12,41,80,.12);background:#fff;transition:transform .18s ease, box-shadow .18s ease}
.graphic-category-card:hover{transform:translateY(-4px);box-shadow:0 20px 34px rgba(12,41,80,.17)}
.graphic-category-card img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
@media(max-width:1100px){.graphic-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:860px){.graphic-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.graphic-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-actions{justify-content:flex-start}.catalog-support-link{margin-left:0;width:100%}}
