/* ==========================================================================
   INOX AIR — design tokens
   Palette: near-black steel, brushed grey, signal red, blueprint paper.
   Display + body type: Manrope (rounder, friendlier, bigger — matches
   the look of the live inoxair.gr site)
   Data/spec type: JetBrains Mono (blueprint / spec-sheet feel)
   ========================================================================== */

/* Self-hosted webfonts (no external Google Fonts request — avoids any
   font-loading timing/FOUT inconsistency and keeps the site fully
   self-contained / usable offline). */
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/manrope-latin-400-normal.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/manrope-greek-400-normal.woff2") format("woff2"); unicode-range:U+0370-03FF,U+1F00-1FFF; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/manrope-latin-500-normal.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/manrope-greek-500-normal.woff2") format("woff2"); unicode-range:U+0370-03FF,U+1F00-1FFF; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/manrope-latin-600-normal.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/manrope-greek-600-normal.woff2") format("woff2"); unicode-range:U+0370-03FF,U+1F00-1FFF; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:700; font-display:swap;
  src:url("../fonts/manrope-latin-700-normal.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:700; font-display:swap;
  src:url("../fonts/manrope-greek-700-normal.woff2") format("woff2"); unicode-range:U+0370-03FF,U+1F00-1FFF; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:800; font-display:swap;
  src:url("../fonts/manrope-latin-800-normal.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Manrope"; font-style:normal; font-weight:800; font-display:swap;
  src:url("../fonts/manrope-greek-800-normal.woff2") format("woff2"); unicode-range:U+0370-03FF,U+1F00-1FFF; }

@font-face{ font-family:"JetBrains Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"JetBrains Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/jetbrains-mono-greek-400-normal.woff2") format("woff2"); unicode-range:U+0370-03FF,U+1F00-1FFF; }
@font-face{ font-family:"JetBrains Mono"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"JetBrains Mono"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/jetbrains-mono-greek-500-normal.woff2") format("woff2"); unicode-range:U+0370-03FF,U+1F00-1FFF; }


:root{
  --ink: #2a5ead;
  --steel-900: #2a5ead;
  --steel-700: #3a3d43;
  --steel-500: #6b6f77;
  --steel-300: #a7abb2;
  --steel-100: #e7e8ea;
  --paper: #f6f5f2;
  --paper-dim: #eeece7;
  --red: #2a5ead;
  --red-dark: #1e4685;
  --line: #dcdad4;
  --blueprint: #eef1f0;
  --blueprint-line: rgba(32,34,38,0.08);

  --font-display: "Manrope", sans-serif;
  --font-body: "Manrope", sans-serif;
  --font-mono: "JetBrains Mono", monospace;

  --container: 1180px;
  --radius: 2px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:800; letter-spacing:-0.01em; margin:0; }
.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }

:focus-visible{
  outline:3px solid var(--red);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

/* ---------- Blueprint texture (signature background) ---------- */
.blueprint{
  background-color:var(--blueprint);
  background-image:
    linear-gradient(var(--blueprint-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint-line) 1px, transparent 1px);
  background-size:28px 28px;
}

/* ---------- Top utility bar ---------- */
.topbar{
  background:var(--ink);
  color:#fff;
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:0.03em;
}
.topbar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:8px;
  padding-bottom:8px;
  gap:16px;
  flex-wrap:wrap;
}
.topbar a{ color:#fff; }
.topbar a:hover{ text-decoration:underline; }
.topbar__certs{ display:flex; gap:18px; }
@media(max-width:640px){
  .topbar{ font-size:11px; }
  .topbar__certs{ display:none; }
  .topbar .container{ justify-content:center; }
}

/* ---------- Header / nav ---------- */
header.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:50;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:24px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ height:34px; width:auto; }
.brand__text{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--steel-500);
  letter-spacing:0.08em;
  border-left:1px solid var(--line);
  padding-left:12px;
  display:none;
}
@media(min-width:700px){ .brand__text{ display:block; } }

.nav__links{ display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
.nav__links a{
  font-family:var(--font-display);
  font-size:17px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.03em;
  padding:8px 14px;
  color:var(--steel-700);
  border-radius:var(--radius);
  white-space:nowrap;
}
.nav__links a:hover, .nav__links a.active{ color:var(--red); }
.nav__cta{
  background:var(--ink);
  color:#fff !important;
  padding:10px 18px !important;
}
.nav__cta:hover{ background:var(--red) !important; color:#fff !important; }

.lang-switch{
  font-family:var(--font-mono) !important; font-size:12.5px !important; text-transform:uppercase !important;
  border:1px solid var(--steel-300); padding:5px 10px !important; color:var(--steel-700) !important;
}
.lang-switch:hover{ border-color:var(--red); color:var(--red) !important; }

.nav-toggle{ display:none; }

/* English nav labels render visually smaller/tighter than Greek at the same
   size — nudge them up slightly so both languages match. */
html[lang="en"] .nav__links a{ font-size:18px; letter-spacing:0.05em; }
html[lang="en"] .nav__cta{ letter-spacing:0.05em; }
@media(max-width:820px){
  .nav__links{
    position:absolute; top:100%; left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--line);
    flex-direction:column; align-items:stretch; padding:8px 16px 16px;
    display:none;
  }
  .nav__links.open{ display:flex; }
  .nav__links a{ padding:12px 8px; border-bottom:1px solid var(--line); }
  .nav-toggle{
    display:inline-flex; align-items:center; gap:8px;
    background:none; border:1px solid var(--line); padding:8px 12px;
    font-family:var(--font-mono); font-size:12px; cursor:pointer;
  }
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-display); font-weight:600; text-transform:uppercase;
  letter-spacing:0.03em; font-size:16px;
  padding:12px 22px; border-radius:var(--radius);
  border:1px solid transparent; cursor:pointer;
}
.btn-primary{ background:var(--red); color:#fff; }
.btn-primary:hover{ background:var(--red-dark); }
.btn-outline{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-outline:hover{ border-color:var(--red); color:var(--red); }
.btn-ghost-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,0.5); }
.btn-ghost-light:hover{ border-color:#fff; }

/* ---------- Hero (home) ---------- */
.hero{
  position:relative;
  color:#fff;
  overflow:hidden;
  background:var(--ink);
}
.hero__bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0.42;
}
.hero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(22,23,26,0.97) 20%, rgba(22,23,26,0.55) 75%);
}
.hero__content{
  position:relative;
  padding-top:120px;
  padding-bottom:90px;
  max-width:680px;
}
@media(max-width:640px){
  .hero__content{ padding-top:70px; padding-bottom:60px; }
}
.hero__eyebrow{
  font-family:var(--font-mono); font-size:13px; letter-spacing:0.14em;
  color:#fff; text-transform:uppercase; margin-bottom:18px;
  display:flex; align-items:center; gap:10px;
}
.hero__eyebrow::before{ content:""; width:26px; height:2px; background:#fff; }
.hero h1{
  font-size:clamp(40px,6vw,68px); line-height:1.02; margin-bottom:22px;
  text-transform:uppercase;
}
.hero h1 em{ font-style:normal; color:var(--red); }
.hero p.lead{ font-size:18px; color:var(--steel-100); max-width:520px; margin-bottom:34px; }
.hero__actions{ display:flex; gap:14px; flex-wrap:wrap; }

.hero__specs{
  position:relative;
  border-top:1px solid rgba(255,255,255,0.15);
  margin-top:70px;
}
.hero__specs .container{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:24px; padding:26px 24px;
  font-family:var(--font-mono);
}
.hero__specs .stat b{
  display:block; font-family:var(--font-display); font-size:30px; color:#fff;
}
.hero__specs .stat span{ color:var(--steel-300); font-size:12px; letter-spacing:0.05em; text-transform:uppercase; }

/* ---------- Section headers ---------- */
.section{ padding:80px 0; }
.section--tight{ padding:56px 0; }
.section-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:24px; margin-bottom:40px; flex-wrap:wrap;
}
.section-head .eyebrow{
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.12em;
  color:var(--red); text-transform:uppercase; margin-bottom:10px; display:block;
}
.section-head h2{ font-size:clamp(28px,4vw,42px); text-transform:uppercase; }
.section-head p{ color:var(--steel-500); max-width:520px; }

/* ---------- Category grid (home) ---------- */
.cat-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:0; background:var(--paper); border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.cat-card{
  background:var(--paper); padding:0; position:relative;
  display:flex; flex-direction:column; min-height:300px;
  transition:background .15s ease;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
}
.cat-card:hover{ background:#fff; }
.cat-card__img{
  height:170px; display:flex; align-items:center; justify-content:center;
  background:#fff;
  overflow:hidden;
}
.cat-card__img img{ max-height:150px; width:auto; object-fit:contain; transition:transform .25s ease; }
.cat-card:hover .cat-card__img img{ transform:scale(1.06); }
.cat-card__body{ padding:20px 22px 26px; flex:1; display:flex; flex-direction:column; }
.cat-card__num{ font-family:var(--font-mono); font-size:12px; color:var(--steel-500); margin-bottom:6px; }
.cat-card h3{ font-size:24px; text-transform:uppercase; line-height:1.1; margin-bottom:8px; }
.cat-card p{ color:var(--steel-500); font-size:15px; flex:1; }
.cat-card__link{
  margin-top:14px; font-family:var(--font-mono); font-size:12.5px;
  text-transform:uppercase; letter-spacing:0.05em; color:var(--ink);
  display:inline-flex; align-items:center; gap:6px;
}
.cat-card:hover .cat-card__link{ color:var(--red); }
.cat-card__link .arrow{ transition:transform .15s ease; }
.cat-card:hover .cat-card__link .arrow{ transform:translateX(4px); }

/* ---------- About / mission strip ---------- */
.about-strip{ background:var(--steel-900); color:#fff; }
.about-strip .container{
  display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center;
  padding:70px 24px;
}
@media(max-width:820px){ .about-strip .container{ grid-template-columns:1fr; } }
.about-strip h2{ font-size:clamp(26px,4vw,36px); text-transform:uppercase; margin-bottom:18px; }
.about-strip p{ color:#fff; margin-bottom:14px; }
.certs{ display:flex; gap:26px; margin-top:24px; flex-wrap:wrap; }
.certs img{ height:46px; width:auto; filter:brightness(0) invert(1); opacity:.9; }
.about-strip__panel{
  border:1px solid rgba(255,255,255,0.15); padding:28px;
  font-family:var(--font-mono); font-size:13.5px; color:#fff;
}
.about-strip__panel .row{ display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.1); }
.about-strip__panel .row:last-child{ border-bottom:none; }
.about-strip__panel .row b{ color:#fff; font-family:var(--font-body); font-weight:600; }

/* ---------- Breadcrumb ---------- */
.crumbs{
  font-family:var(--font-mono); font-size:12.5px; color:var(--steel-500);
  padding:18px 0; border-bottom:1px solid var(--line);
}
.crumbs a:hover{ color:var(--red); }
.crumbs .sep{ margin:0 8px; color:var(--steel-300); }
.crumbs .current{ color:var(--ink); }

/* ---------- Category page header ---------- */
.cat-hero{ background:var(--steel-900); color:#fff; padding:52px 0; }
.cat-hero .eyebrow{ font-family:var(--font-mono); color:#fff; font-size:12.5px; letter-spacing:0.12em; text-transform:uppercase; }
.cat-hero h1{ font-size:clamp(32px,5vw,52px); text-transform:uppercase; margin:12px 0; }
.cat-hero p{ color:#fff; max-width:640px; }

/* ---------- Product grid ---------- */
.product-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:20px; padding:48px 0 70px;
}
.product-card{
  background:#fff; border:1px solid var(--line);
  display:flex; flex-direction:column;
  transition:box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}
.product-card:hover{ box-shadow:0 14px 30px -18px rgba(0,0,0,0.35); transform:translateY(-3px); border-color:var(--steel-300); }
.product-card__img{
  height:200px; display:flex; align-items:center; justify-content:center;
  background:#fff;
}
.product-card__img img{ max-height:160px; object-fit:contain; }
.product-card__body{ padding:16px 18px 20px; flex:1; display:flex; flex-direction:column; }
.product-card h3{ font-family:var(--font-display); font-size:20px; text-transform:uppercase; line-height:1.15; margin-bottom:8px; }
.product-card p{ font-size:14.5px; color:var(--steel-500); flex:1; margin-bottom:14px; }
.product-card__cta{
  font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.05em;
  display:inline-flex; align-items:center; gap:6px; color:var(--ink);
}
.product-card:hover .product-card__cta{ color:var(--red); }

/* ---------- Product detail ---------- */
.product-detail{ padding:44px 0 90px; }
.product-detail__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;
}
@media(max-width:900px){ .product-detail__grid{ grid-template-columns:1fr; gap:36px; } }

.gallery__main{
  background:#fff;
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  min-height:380px; padding:20px;
  position:relative;
}
.gallery__main::before{
  content:attr(data-tag); position:absolute; top:14px; left:14px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em;
  color:var(--steel-500); background:rgba(255,255,255,0.85); padding:4px 8px;
}
.gallery__main img{ max-height:420px; width:auto; object-fit:contain; }
.gallery__thumbs{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.gallery__thumbs button{
  border:1px solid var(--line); background:#fff; padding:6px; cursor:pointer; width:74px; height:74px;
}
.gallery__thumbs button.active{ border-color:var(--red); }
.gallery__thumbs img{ width:100%; height:100%; object-fit:contain; }

.product-info .eyebrow{
  font-family:var(--font-mono); font-size:12.5px; color:var(--red);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:10px; display:block;
}
.product-info h1{ font-size:clamp(28px,4vw,42px); text-transform:uppercase; line-height:1.05; margin-bottom:16px; }
.product-info__lead{ color:var(--steel-700); font-size:17.5px; margin-bottom:26px; }

.feature-list{ margin-bottom:30px; }
.feature-list li{
  display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--line);
  font-size:14.5px; color:var(--steel-700);
}
.feature-list li:first-child{ border-top:1px solid var(--line); }
.feature-list li::before{
  content:""; flex:0 0 8px; width:8px; height:8px; background:var(--red); margin-top:6px;
}

.quote-box{
  background:var(--ink); color:#fff; padding:22px 24px; margin-bottom:30px;
}
.quote-box p{ font-family:var(--font-mono); font-size:13px; color:#fff; margin-bottom:14px; }
.quote-box .btn-primary{ width:100%; justify-content:center; }

/* ---------- Spec sheet (dims tables) ---------- */
.spec-block{ margin-top:46px; }
.spec-block h2{
  font-size:22px; text-transform:uppercase; margin-bottom:4px;
}
.spec-block .spec-caption{ font-family:var(--font-mono); font-size:12px; color:var(--steel-500); margin-bottom:16px; display:block; }
.spec-table-wrap{ overflow-x:auto; border:1px solid var(--line); -webkit-overflow-scrolling:touch; }
.spec-scroll-hint{ display:none; }
@media(max-width:700px){
  table.spec-table{ font-size:12px; }
  table.spec-table th, table.spec-table td{ padding:8px 10px; }
  .spec-scroll-hint{
    display:flex; align-items:center; gap:6px; margin-top:8px;
    font-family:var(--font-mono); font-size:11.5px; color:var(--steel-500);
  }
}
table.spec-table{ width:100%; border-collapse:collapse; font-family:var(--font-mono); font-size:13.5px; min-width:420px; }
table.spec-table caption{ text-align:left; padding:10px 14px; font-family:var(--font-body); font-weight:600; background:var(--paper-dim); border-bottom:1px solid var(--line); }
table.spec-table th, table.spec-table td{ padding:10px 14px; text-align:left; border-bottom:1px solid var(--line); border-right:1px solid var(--line); white-space:nowrap; }
table.spec-table th:last-child, table.spec-table td:last-child{ border-right:none; }
table.spec-table thead th{ background:var(--ink); color:#fff; font-weight:600; text-transform:uppercase; letter-spacing:0.03em; font-size:11.5px; }
table.spec-table tbody tr:nth-child(even){ background:var(--paper-dim); }
table.spec-table tbody tr:hover{ background:#fdecec; }

.spec-note{
  margin-top:14px; font-size:13px; color:var(--steel-500); font-family:var(--font-mono);
  display:flex; gap:8px; align-items:flex-start;
}

/* ---------- Related products ---------- */
.related{ padding:60px 0 90px; border-top:1px solid var(--line); }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:56px 0 90px; }
@media(max-width:820px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-card{ border:1px solid var(--line); padding:26px; background:#fff; }
.contact-card h3{ font-size:20px; text-transform:uppercase; margin-bottom:10px; }
.contact-card p, .contact-card a{ color:var(--steel-700); font-size:15.5px; }
.contact-card .btn-primary{ color:#fff; }
.contact-card .btn-outline{ color:var(--ink); border-color:var(--ink); }
.contact-card .big{ font-family:var(--font-mono); font-size:20px; color:var(--ink); }
.contact-card + .contact-card{ margin-top:18px; }

/* ---------- Footer ---------- */
footer.site-footer{ background:var(--ink); color:#fff; margin-top:0; }
.footer-grid{
  display:grid; grid-template-columns:1.2fr 1.8fr 1fr 1fr; gap:36px;
  padding:60px 24px 40px; max-width:var(--container); margin:0 auto;
}
@media(max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
.footer-grid h4{ color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:16px; }
.footer-grid ul li{ margin-bottom:8px; font-size:14.5px; color:#fff; break-inside:avoid; }
.footer-grid ul li a{ color:#fff; }
.footer-grid a:hover{ text-decoration:underline; }
#footer-cats{ column-width:150px; column-gap:28px; }
.footer-brand img{ height:30px; margin-bottom:14px; border-radius:2px; }
.footer-brand p{ font-size:14px; color:#fff; max-width:280px; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.25);
  padding:18px 24px; max-width:var(--container); margin:0 auto;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-family:var(--font-mono); font-size:11.5px; color:#fff;
}

/* ---------- Misc ---------- */
.catalog-card-grid{ display:grid; grid-template-columns:160px 1fr; gap:22px; padding:22px 26px; border-bottom:1px solid var(--line); }
@media(max-width:600px){
  .catalog-card-grid{ grid-template-columns:1fr; padding:20px; }
  .catalog-card-grid > a{ max-width:200px; margin:0 auto; }
}
.empty-state{ text-align:center; padding:80px 20px; color:var(--steel-500); }

/* ---------- Photo band divider (before footer) with parallax scroll ---------- */
.photo-band{
  position:relative;
  height:260px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  overflow:hidden;
}
.photo-band::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(19,40,77,0.62);
}
@media(max-width:768px){
  .photo-band{ background-attachment:scroll; height:180px; }
}
.tag-pill{
  display:inline-block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase;
  letter-spacing:0.05em; background:var(--paper-dim); border:1px solid var(--line); padding:4px 10px; color:var(--steel-700);
}
