/* ==========================================================================
   Cenobella, design system
   Beżowa baza + koralowy akcent, stos systemowych fontów (zero requestów,
   zero przeskoku layoutu przy ładowaniu czcionki).
   ========================================================================== */

:root{
  --beige-0:#FBF7F2;
  --beige-1:#F6EFE7;
  --beige-2:#EFE3D6;
  --ink:#2B2420;
  --ink-soft:#5B5048;
  --coral:#FF5C7A;
  --coral-dark:#E8496A;
  --coral-soft:#FFE1E6;
  --terracotta:#E8927C;
  --terracotta-soft:#F7E4DB;
  --mint:#4FBF8B;
  --mint-soft:#E1F5EC;
  --border:#E7DACB;

  --font-display: Georgia, "Iowan Old Style", "Palatino Linotype", "Noto Serif", "Times New Roman", serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:26px;
  --radius-pill:999px;

  --shadow-sm: 0 1px 2px rgba(43,36,32,.06);
  --shadow-md: 0 8px 24px rgba(43,36,32,.08);
  --shadow-lg: 0 16px 40px rgba(43,36,32,.12);

  --container: 1240px;
  --gap: 1.5rem;
}

*, *::before, *::after{ box-sizing:border-box; }
body{
  margin:0;
  background:var(--beige-1);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; }

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.2;
  margin:0 0 .5em;
  color:var(--ink);
  overflow-wrap:break-word;
  word-break:break-word;
  hyphens:auto;
}
h1{ font-size:clamp(2rem, 1.5rem + 2vw, 3.25rem); }
h2{ font-size:clamp(1.5rem, 1.3rem + 1vw, 2.25rem); }
h3{ font-size:1.25rem; }
p{ margin:0 0 1em; color:var(--ink-soft); }

.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:1.25rem;
}

.icon{ width:1.4em; height:1.4em; display:inline-block; vertical-align:-0.3em; fill:none; }
.icon-fill{ fill:currentColor; }

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--ink); color:var(--beige-0);
  padding:.75rem 1.25rem; z-index:1000; border-radius:0 0 var(--radius-sm) 0;
}
.skip-link:focus{ left:0; }

/* ---------- Buttons & badges ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.85rem 1.5rem;
  border-radius:var(--radius-pill);
  font-weight:600;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--coral); color:var(--beige-0); box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--coral-dark); box-shadow:var(--shadow-md); }
.btn-outline{ background:transparent; border-color:var(--ink); color:var(--ink); }
.btn-outline:hover{ background:var(--ink); color:var(--beige-0); }
.btn-block{ width:100%; justify-content:center; }

.badge{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.78rem; font-weight:700; letter-spacing:.02em;
  padding:.3rem .7rem; border-radius:var(--radius-pill);
}
.badge-coral{ background:var(--coral-soft); color:var(--coral-dark); }
.badge-mint{ background:var(--mint-soft); color:#1F7A54; }
.badge-neutral{ background:var(--beige-2); color:var(--ink-soft); }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(251,247,242,.92);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--border);
}
.site-header__bar{
  display:flex; align-items:center; gap:1.5rem;
  padding-block:.85rem;
}
.brand{ display:flex; align-items:center; gap:.6rem; margin-right:auto; }
.brand__mark{ width:38px; height:38px; flex:none; }
.brand__word{
  font-family:var(--font-display); font-weight:800; font-size:1.35rem; color:var(--ink);
  letter-spacing:-.01em;
}

.primary-nav{ display:none; }
.primary-nav ul{ display:flex; align-items:center; gap:1.75rem; }
.primary-nav a{
  font-weight:600; font-size:.95rem; color:var(--ink-soft);
  padding:.4rem 0; border-bottom:2px solid transparent;
}
.primary-nav a:hover, .primary-nav a.is-active{ color:var(--coral-dark); border-color:var(--coral); }
.primary-nav .menu-item-has-children{ position:relative; }
.primary-nav .menu-item-has-children > a{ position:relative; padding-right:1.15em; }
.primary-nav .menu-item-has-children > a::after{
  content:""; position:absolute; right:0; top:50%; width:.4em; height:.4em;
  margin-top:-.32em;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); opacity:.6;
}
.primary-nav .sub-menu{
  position:absolute; top:calc(100% + .6rem); left:50%; transform:translateX(-50%);
  background:var(--beige-0); border:1px solid var(--border); border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg); padding:.6rem; min-width:240px;
  display:grid; gap:.15rem;
  opacity:0; visibility:hidden; translate:0 6px; z-index:50;
  transition:opacity .15s ease, translate .15s ease, visibility .15s;
}
.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu{
  opacity:1; visibility:visible; translate:0 0;
}
.primary-nav .sub-menu a{
  display:flex; align-items:center; gap:.6rem;
  padding:.55rem .7rem; border-radius:var(--radius-sm); border:none; color:var(--ink);
  font-size:.9rem; font-weight:500;
}
.primary-nav .sub-menu a:hover{ background:var(--beige-1); }

.mobile-nav .sub-menu{
  padding-left:.75rem; display:grid; gap:0;
  max-height:0; overflow:hidden; visibility:hidden;
  transition:max-height .2s ease;
}
.mobile-nav .menu-item-has-children.is-expanded > .sub-menu{
  max-height:600px; visibility:visible;
}
.mobile-nav .menu-item-has-children{ position:relative; }
.mobile-nav .menu-item-has-children > a{ font-weight:700; padding-right:2.6rem; }
.mobile-nav .submenu-toggle{
  position:absolute; right:0; top:0; width:2.6rem; height:2.6rem;
  display:flex; align-items:center; justify-content:center; background:none; border:none;
  color:var(--ink-soft); cursor:pointer;
}
.mobile-nav .submenu-toggle .icon{ transition:transform .2s ease; }
.mobile-nav .menu-item-has-children.is-expanded .submenu-toggle .icon{ transform:rotate(180deg); }

.header-actions{ display:flex; align-items:center; gap:.5rem; }
.icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%; border:1px solid var(--border);
  background:var(--beige-0); color:var(--ink); flex:none;
}
.icon-btn:hover{ background:var(--coral-soft); border-color:var(--coral-soft); color:var(--coral-dark); }
.menu-toggle{ display:inline-flex; }

@media (min-width: 960px){
  .primary-nav{ display:flex; }
  .menu-toggle{ display:none; }
}

/* Search overlay */
.search-overlay{
  position:fixed; inset:0; background:rgba(43,36,32,.45);
  display:flex; align-items:flex-start; justify-content:center;
  padding-top:12vh; z-index:200; opacity:0; visibility:hidden; transition:opacity .15s ease;
}
.search-overlay.is-open{ opacity:1; visibility:visible; }
.search-overlay__box{
  background:var(--beige-0); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  width:min(560px, 92vw); padding:1.5rem;
}
.search-overlay form{ display:flex; gap:.6rem; align-items:center; border:2px solid var(--border); border-radius:var(--radius-pill); padding:.4rem .5rem .4rem 1.1rem; }
.search-overlay input[type="search"]{
  flex:1; border:none; background:none; font-size:1.05rem; outline:none; color:var(--ink); font-family:var(--font-body);
}

/* Mobile drawer */
.mobile-nav{
  position:fixed; inset:0 0 0 auto; width:min(300px, 82vw); background:var(--beige-0);
  box-shadow:var(--shadow-lg); z-index:210; padding:1.1rem 1.1rem 2rem;
  transform:translateX(100%); transition:transform .2s ease; overflow-y:auto;
}
.mobile-nav.is-open{ transform:translateX(0); }
.mobile-nav ul{ display:grid; gap:0; margin-top:.75rem; }
.mobile-nav ul ul{ margin-top:0; }
.mobile-nav a{ display:flex; align-items:center; gap:.6rem; padding:.6rem .5rem; border-radius:var(--radius-sm); font-weight:600; font-size:.92rem; }
.mobile-nav .sub-menu a{ font-weight:500; font-size:.87rem; padding:.5rem .5rem; }
.mobile-nav a:hover{ background:var(--beige-1); }
.mobile-nav li + li{ border-top:1px solid var(--border); }
.mobile-nav .sub-menu li + li{ border-top:none; }
.scrim{ position:fixed; inset:0; background:rgba(43,36,32,.4); z-index:205; opacity:0; visibility:hidden; transition:opacity .2s ease; }
.scrim.is-open{ opacity:1; visibility:visible; }

/* ---------- Hero ---------- */
.hero{ padding-block:4rem 3.5rem; text-align:center; }
.hero__inner{ max-width:720px; margin-inline:auto; display:flex; flex-direction:column; align-items:center; }
.hero__eyebrow{ display:inline-flex; margin-bottom:1.1rem; }
.hero p.lead{ font-size:1.15rem; max-width:52ch; margin-inline:auto; }
.hero-search{
  display:flex; align-items:center; gap:.6rem; width:100%;
  background:var(--beige-0); border:2px solid var(--border);
  border-radius:var(--radius-pill); box-shadow:var(--shadow-md);
  padding:.55rem .55rem .55rem 1.4rem; margin:2rem auto 0; max-width:520px;
}
.hero-search .icon{ color:var(--ink-soft); flex:none; }
.hero-search input{
  flex:1; min-width:0; border:none; background:none; outline:none;
  font-size:1rem; color:var(--ink); font-family:var(--font-body);
}
.hero-search input::placeholder{ color:var(--ink-soft); opacity:.8; }
.hero-search .btn{ flex:none; }
.trust-strip{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem 2rem; margin-top:2.5rem; }
.trust-strip__item{ display:flex; align-items:center; gap:.6rem; font-weight:600; font-size:.92rem; color:var(--ink-soft); }
.trust-strip__item .icon{ color:var(--coral); }

/* ---------- Sections ---------- */
.section{ padding-block:3rem; }
.section--alt{ background:var(--beige-2); }
.section__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.75rem; flex-wrap:wrap; }
.section__head p{ margin:0; }
.section-link{ font-weight:700; color:var(--coral-dark); display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap; }

/* Category grid */
.category-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; }
.category-card{
  background:var(--beige-0); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:1.5rem; display:flex; flex-direction:column; gap:.9rem; box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease;
}
.category-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.category-card__icon{
  width:52px; height:52px; border-radius:50%; background:var(--coral-soft); color:var(--coral-dark);
  display:flex; align-items:center; justify-content:center;
}
.category-card__icon .icon{ width:26px; height:26px; }
.category-card h3{ margin:0; }
.category-card__count{ margin-top:auto; font-size:.85rem; color:var(--ink-soft); font-weight:600; }

@media (min-width: 720px){ .category-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width: 1080px){ .category-grid{ grid-template-columns:repeat(6,1fr); } }

/* Featured category cards, strona glowna */
.featured-grid{ display:grid; grid-template-columns:1fr; gap:1.1rem; }
@media (min-width: 640px){ .featured-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width: 1080px){ .featured-grid{ grid-template-columns:repeat(4,1fr); } }

.featured-card{
  position:relative; overflow:hidden;
  border-radius:var(--radius-lg); padding:1.75rem 1.6rem 1.5rem;
  display:flex; flex-direction:column; gap:.65rem; min-height:210px;
  box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease;
}
.featured-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.featured-card::after{
  content:""; position:absolute; right:-30px; bottom:-30px; width:120px; height:120px;
  border-radius:50%; background:rgba(255,255,255,.35); pointer-events:none;
}
.featured-card--0{ background:linear-gradient(155deg, var(--coral-soft), #FFF2F4); }
.featured-card--1{ background:linear-gradient(155deg, var(--mint-soft), #F1FBF6); }
.featured-card--2{ background:linear-gradient(155deg, var(--terracotta-soft), #FDF3EE); }
.featured-card--3{ background:linear-gradient(155deg, var(--beige-2), var(--beige-1)); }

.featured-card__icon{
  width:48px; height:48px; border-radius:50%; background:var(--beige-0);
  display:flex; align-items:center; justify-content:center; color:var(--coral-dark);
  box-shadow:var(--shadow-sm); position:relative; z-index:1;
}
.featured-card h3{ margin:0; font-size:1.2rem; position:relative; z-index:1; }
.featured-card p{ margin:0; font-size:.9rem; color:var(--ink-soft); position:relative; z-index:1; flex:1; }
.featured-card__cta{
  display:inline-flex; align-items:center; gap:.4rem; font-weight:700; font-size:.85rem;
  color:var(--ink); position:relative; z-index:1;
}

.pill__parent{ font-size:.72rem; font-weight:500; color:var(--ink-soft); opacity:.75; }

/* Product grid & card */
.product-grid{ display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width: 480px){ .product-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width: 720px){ .product-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width: 1080px){ .product-grid{ grid-template-columns:repeat(4,1fr); } }

.product-card{
  background:var(--beige-0); border:1px solid var(--border); border-radius:var(--radius-md);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease;
}
.product-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.product-card__media{
  aspect-ratio:1/1; background:var(--beige-1); position:relative; overflow:hidden;
}
.product-card__media img{ width:100%; height:100%; object-fit:contain; padding:.9rem; }

.product-card__placeholder,
.product-gallery .product-card__placeholder{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, var(--beige-2), var(--beige-1));
  color:var(--terracotta);
}
.product-card__placeholder .icon{ width:34%; height:34%; opacity:.55; }
.product-gallery .product-card__placeholder .icon{ width:26%; height:26%; }
.product-card__badge{ position:absolute; top:.6rem; left:.6rem; }
.product-card__body{ padding:1rem 1.1rem 1.25rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.product-card__cat{ font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--terracotta); }
.product-card__title{ font-size:1rem; font-weight:700; margin:0; color:var(--ink); }
.product-card__brand{ font-size:.85rem; color:var(--ink-soft); }
.product-card__price{ margin-top:auto; font-weight:700; color:var(--ink); }
.product-card__price span{ font-weight:500; font-size:.8rem; color:var(--ink-soft); }
.product-card__cta{
  margin-top:.5rem; padding:.65rem 1rem; font-size:.85rem; gap:.35rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* Popular category pills */
.pill-list{ display:flex; flex-wrap:wrap; gap:.65rem; }
.pill{
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--beige-0); border:1px solid var(--border); border-radius:var(--radius-pill);
  padding:.55rem 1.1rem; font-weight:600; font-size:.9rem;
}
.pill:hover{ border-color:var(--coral); color:var(--coral-dark); }

/* USP band */
.usp-grid{ display:grid; gap:1.25rem; grid-template-columns:repeat(2,1fr); }
@media (min-width:820px){ .usp-grid{ grid-template-columns:repeat(4,1fr); } }
.usp-card{ display:flex; flex-direction:column; gap:.75rem; }
.usp-card__icon{ width:52px; height:52px; border-radius:var(--radius-md); background:var(--terracotta-soft); color:var(--terracotta); display:flex; align-items:center; justify-content:center; }
.usp-card h3{ font-size:1.05rem; }
.usp-card p{ font-size:.92rem; margin:0; }

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{ padding-block:1rem 0; font-size:.85rem; color:var(--ink-soft); }
.breadcrumbs ol{ display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; list-style:none; margin:0; padding:0; }
.breadcrumbs li{ display:flex; align-items:center; gap:.4rem; }
.breadcrumbs li:last-child{ color:var(--ink); font-weight:600; }
.breadcrumbs a{ color:var(--ink-soft); font-weight:600; }
.breadcrumbs a:hover{ color:var(--coral-dark); }
.breadcrumbs li:not(:last-child)::after{ content:"/"; margin-left:.4rem; opacity:.5; }

/* ---------- Archive header / filters ---------- */
.archive-head{ padding-block:2rem 1rem; }
.archive-head p{ max-width:70ch; }
.filter-bar{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem;
  padding-block:1rem; border-block:1px solid var(--border); margin-bottom:1.75rem;
}
.filter-bar__count{ font-weight:600; color:var(--ink-soft); font-size:.9rem; }
.filter-bar select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  border:1px solid var(--border); border-radius:var(--radius-pill);
  padding:.65rem 2.75rem .65rem 1.25rem; min-height:44px;
  background-color:var(--beige-0);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='5,9 12,16 19,9' fill='none' stroke='%235B5048' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  background-size:14px;
  font-weight:600; font-family:var(--font-body); color:var(--ink); cursor:pointer;
}
.filter-bar select::-ms-expand{ display:none; }

.pagination{ display:flex; justify-content:center; gap:.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.pagination a, .pagination span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding-inline:.5rem; border-radius:var(--radius-pill);
  border:1px solid var(--border); font-weight:600;
}
.pagination .current{ background:var(--coral); border-color:var(--coral); color:var(--beige-0); }
.pagination a:hover{ border-color:var(--coral); color:var(--coral-dark); }

/* ---------- Single product ---------- */
.product-hero{ padding-block:1.5rem 2.5rem; display:grid; gap:2rem; }
@media (min-width:900px){ .product-hero{ grid-template-columns:.9fr 1.1fr; align-items:start; } }
.product-gallery{
  aspect-ratio:1/1; background:var(--beige-0); border:1px solid var(--border); border-radius:var(--radius-lg);
  display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:var(--shadow-sm);
}
.product-gallery img{ width:100%; height:100%; object-fit:contain; padding:2rem; }
.product-meta{ display:flex; flex-wrap:wrap; gap:.6rem; margin-block:1rem 1.5rem; }
.product-facts{
  display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem 1.5rem;
  background:var(--beige-0); border:1px solid var(--border); border-radius:var(--radius-md); padding:1.25rem;
  margin-bottom:1.5rem; font-size:.92rem;
}
.product-facts dt{ font-weight:700; color:var(--ink-soft); }
.product-facts dd{ margin:0; }

.buybox-panel{
  background:var(--beige-0); border:2px solid var(--coral-soft); border-radius:var(--radius-lg);
  padding:1.5rem; box-shadow:var(--shadow-md); margin-top:1.5rem;
}
.buybox-panel h2{ display:flex; align-items:center; gap:.6rem; font-size:1.3rem; }
.buybox-panel h2 .icon{ color:var(--coral); }
.buybox-panel .bb-fallback{ font-size:.9rem; color:var(--ink-soft); }

.entry-content{ max-width:80ch; }
.entry-content p{ margin-bottom:1.1em; }

.product-body-grid{ display:grid; gap:2.5rem; align-items:start; }
.product-body-grid__aside{ min-width:0; }
.product-body-grid__aside .spec-table{ margin-top:1rem; }
@media (min-width: 900px){
  .product-body-grid{ grid-template-columns:2fr 1fr; }
  .product-body-grid--single{ grid-template-columns:1fr; }
  .product-body-grid__aside{
    position:sticky; top:5.5rem;
    background:var(--beige-0); border:1px solid var(--border); border-radius:var(--radius-md);
    padding:1.25rem 1.5rem;
  }
  .product-body-grid__aside h2{ font-size:1.15rem; }
}

.info-box{
  background:var(--terracotta-soft); border-radius:var(--radius-lg); padding:1.5rem 1.75rem;
}
.info-box h2{ margin-bottom:.5rem; }
.info-box p{ color:var(--ink); margin:0; max-width:70ch; }

.spec-table{ width:100%; border-collapse:collapse; margin-top:1rem; }
.spec-table tr{ border-bottom:1px solid var(--border); }
.spec-table th, .spec-table td{ text-align:left; padding:.65rem .5rem; font-size:.92rem; }
.spec-table th{ width:38%; color:var(--ink-soft); font-weight:600; }

/* ---------- Ad slots ---------- */
.cnb-ad-slot{ margin-inline:auto; text-align:center; }
.cnb-ad-slot img{ margin-inline:auto; border-radius:var(--radius-sm); }
.ad-wrap{ padding-block:2rem; display:flex; justify-content:center; }
.ad-wrap::before, .ad-wrap::after{ display:none; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--ink); color:var(--beige-2); margin-top:3rem; }
.site-footer a{ color:var(--beige-2); }
.site-footer a:hover{ color:var(--coral); }
.footer-grid{ display:grid; gap:2rem; padding-block:3rem 2rem; }
@media (min-width:780px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; } }
.footer-brand .brand__word{ color:var(--beige-0); }
.footer-brand p{ color:#C9BEB2; margin-top:1rem; font-size:.92rem; max-width:34ch; }
.footer-col h4{ font-family:var(--font-body); font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:#C9BEB2; margin-bottom:1rem; }
.footer-col ul{ display:grid; gap:.6rem; }
.footer-col a{ font-size:.92rem; font-weight:500; }
.footer-contact{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700; color:var(--beige-0); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding-block:1.25rem; font-size:.82rem; color:#9C9086; }
.footer-bottom .container{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; }

/* ---------- Utilities ---------- */
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.empty-state{ text-align:center; padding-block:4rem; }
.empty-state .icon{ width:64px; height:64px; color:var(--terracotta); margin-bottom:1rem; }

.related-products{ margin-top:3rem; }
