.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:40px; border-top:1px solid var(--line); padding:20px 0 70px; }
.footer-links nav { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-links a, .footer-row a { text-underline-offset:4px; }
.legal-nav { justify-self:end; text-align:right; }
.footer-row { border-top:1px solid var(--line); }
.brand picture { display:grid; width:100%; height:100%; place-items:center; }
.brand picture img { display:block; width:54px; height:54px; object-fit:contain; }
.category-control { display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.17em; }
.category-filter { min-width:150px; padding:9px 34px 9px 12px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.7); color:var(--ink); font:600 13px Arial,Helvetica,sans-serif; letter-spacing:0; cursor:pointer; }
@media (max-width:520px) { .footer-links { grid-template-columns:1fr; padding-bottom:54px; } .legal-nav { justify-self:start; text-align:left; } }

/* Fixed product system: image dimensions never change the catalogue geometry. */
.product-card,
.product-card--lead,
.product-card:nth-child(4) { grid-column: span 3; }

.product-frame img {
  object-fit: contain;
  background: #f7f7f5;
}

.language {
  gap: 0;
  padding: 3px;
  border: 1px solid rgba(17,17,15,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
}

.language button {
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border-radius: 999px;
  opacity: 1;
  font-weight: 600;
}

.language button.active {
  background: var(--ink);
  color: var(--paper);
}

@media (max-width: 820px) {
  .product-card,
  .product-card--lead,
  .product-card:nth-child(4) { grid-column: span 6; }
}

@media (max-width: 520px) {
  .product-card,
  .product-card--lead,
  .product-card:nth-child(4) { grid-column: span 6; }
}

.header-actions {
  flex: 1;
  justify-content: flex-end;
}

.header-search {
  position: relative;
  display: grid;
  grid-template-columns: minmax(160px, 460px) 48px;
  width: min(46vw, 510px);
  height: 42px;
  border: 1px solid rgba(17,17,15,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
}

.header-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 0 17px;
  background: transparent;
  color: var(--ink);
}

.header-search button {
  display: grid;
  place-items: center;
  border: 0;
  border-left: 1px solid rgba(17,17,15,.16);
  border-radius: 0 999px 999px 0;
  background: var(--ink);
  color: var(--paper);
  cursor: pointer;
}

.header-search svg {
  width: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.header-search-results {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--paper);
  box-shadow: 0 18px 48px rgba(17,17,15,.16);
}

.header-search-results.open { display: block; }
.inline-search-result { display:grid; grid-template-columns:44px 1fr auto; gap:11px; align-items:center; padding:8px; border-radius:10px; text-decoration:none; }
.inline-search-result:hover { background:rgba(17,17,15,.06); }
.inline-search-result img { width:44px; aspect-ratio:4/5; object-fit:contain; background:#fff; }
.inline-search-result span { min-width:0; }
.inline-search-result strong, .inline-search-result small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inline-search-result small { margin-top:4px; font:9px monospace; opacity:.5; }
.inline-search-result b { font-size:13px; }
.inline-search-empty { margin:0; padding:18px 12px; color:rgba(17,17,15,.55); }

.product-placeholder .product-frame {
  background: repeating-linear-gradient(135deg, transparent 0 18px, rgba(17,17,15,.035) 18px 19px);
  border-color: rgba(17,17,15,.16);
}
.product-placeholder .product-frame::after { border-color:rgba(17,17,15,.08); mix-blend-mode:normal; }
.placeholder-mark { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font:11px monospace; letter-spacing:.14em; opacity:.28; }

.menu-trigger { display:none; width:40px; height:40px; padding:10px 8px; flex-direction:column; justify-content:center; gap:4px; border:1px solid rgba(17,17,15,.14); border-radius:50%; background:rgba(255,255,255,.72); cursor:pointer; }
.menu-trigger span { display:block; width:100%; height:1px; background:var(--ink); }
.mobile-menu { display:none; }
.mobile-menu[open] { display:flex; position:fixed; inset:0 0 0 auto; width:min(84vw,360px); height:100dvh; max-width:360px; max-height:none; margin:0 0 0 auto; padding:22px; border:0; flex-direction:column; background:var(--paper); color:var(--ink); box-shadow:-20px 0 60px rgba(17,17,15,.18); animation:drawer-in .22s ease-out; }
.mobile-menu::backdrop { background:rgba(17,17,15,.4); }
.mobile-menu-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:24px; border-bottom:1px solid var(--line); }
.mobile-menu-top img { width:112px; height:45px; object-fit:contain; mix-blend-mode:multiply; }
.menu-close { width:44px; height:44px; padding:0; border:0; background:none; font-size:40px; font-weight:200; line-height:1; cursor:pointer; }
.mobile-menu nav { display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:22px 0; }
.mobile-menu nav a { width:100%; padding:10px 0; font-size:clamp(20px,3vw,28px); text-decoration:none; }
.mobile-menu nav a:nth-of-type(n+5) { font-size:16px; }
.menu-divider { width:100%; height:1px; margin:16px 0; background:var(--line); }
.mobile-menu-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); font-size:12px; }
.mobile-menu-bottom p { margin:0; }
.mobile-menu-bottom a { text-underline-offset:3px; }

@media (max-width: 680px) {
  .site-header { align-items:start; }
  .brand { width:100px; }
  .brand picture { display:grid; width:100%; height:100%; place-items:center; }
  .brand picture img { width:96px; height:44px; mix-blend-mode:multiply; }
  .header-actions { display:grid; grid-template-columns:1fr auto auto; gap:8px 10px; }
  .cart-button { grid-column:1; grid-row:1; justify-self:end; }
  .language { grid-column:2; grid-row:1; }
  .menu-trigger { grid-column:3; grid-row:1; display:flex; }
  .header-search { grid-column:1 / -1; grid-row:2; width:100%; }
  .site-footer { display:block; padding:28px var(--pad) 22px; }
  .site-footer .footer-links { display:none; }
  .site-footer .footer-row { display:flex; flex-direction:row; align-items:center; gap:18px; font-size:11px; }
  .category-control>span { display:none; }
  .category-filter { min-width:128px; }
  .mobile-menu nav a { font-size:clamp(20px,6vw,28px); }
}

@keyframes drawer-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
