* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: #000; font: 14px/1.5 Arial, sans-serif; }
.catalog-shell { width: 91.2%; max-width: 1740px; margin-inline: auto; }
.header-action { text-decoration: none; }
.header-search > .header-photo { position: relative; z-index: 2; flex-shrink: 0; display: grid; place-items: center; width: 28px; height: 40px; padding: 2px; color: #000; text-decoration: none; border-radius: 4px; }
.header-photo:focus-visible { outline: 2px solid #666; outline-offset: -2px; }
.header-search button:disabled { opacity: .45; cursor: default; }
.skip-link { position: fixed; left: 12px; top: 8px; z-index: 1100; padding: 10px 16px; background: #fff; color: #000; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 1099px) { .catalog-shell { width: calc(100% - 40px); } }
@media (max-width: 759px) { .catalog-shell { width: calc(100% - 24px); } }

/* Shared article copy control: basket and product card. */
button.article-copy{display:inline-grid;place-items:center;vertical-align:middle;width:28px;height:28px;margin-left:5px;padding:4px;border:0;border-radius:6px;background:transparent;color:#777;cursor:pointer;text-decoration:none}
.article-copy:hover{background:#eee;color:#111}.article-copy:focus-visible{outline:2px solid #777;outline-offset:2px}.article-copy svg{width:18px;height:18px}.article-copy .article-copy-check{display:none}.article-copy.is-copied .article-copy-icon{display:none}.article-copy.is-copied .article-copy-check{display:block;color:#38724c}.article-copy-feedback{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* iOS увеличивает страницу, если у поля шрифт меньше 16px: на телефонах и сенсорных экранах все поля ввода — 16px. Зум пальцами не запрещаем. */
@media (max-width:759px),(hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}}
/* Страница 404 (include/404-content.php). */
.vg-404{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:720px;padding:clamp(40px,8vw,120px) 0 clamp(56px,9vw,140px)}.vg-404-code{font:500 clamp(72px,12vw,160px)/.9 var(--font-ui);letter-spacing:-.04em;color:#d30805}.vg-404 h1{margin:0;font-family:var(--font-ui);font-weight:500;font-size:clamp(28px,3.4vw,48px);line-height:1.08;letter-spacing:-.02em}.vg-404 p{margin:0;max-width:52ch;font-size:17px;line-height:1.55;color:#555}.vg-404-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:8px}.vg-404-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:999px;background:#111;color:#fff;font-size:15px;text-decoration:none;transition:background .2s}.vg-404-btn:hover{background:#333}.vg-404-link{color:#111;font-size:15px;text-decoration:none;border-bottom:1px solid #bbb;padding-bottom:2px}.vg-404-btn:focus-visible,.vg-404-link:focus-visible{outline:2px solid #666;outline-offset:3px}
/* 404: справа популярные работы (include/404-content.php) */
.vg-404-wrap.has-pop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.vg-404-pop{padding-block:clamp(24px,6vw,96px)}
.vg-404-pop h2{margin:0 0 16px;font:500 12px/1 var(--font-meta);letter-spacing:.14em;text-transform:uppercase;color:#888}
.vg-404-pop ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.vg-404-pop a{display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#f2f2f2}
.vg-404-pop img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.vg-404-pop a:hover img{transform:scale(1.06)}
.vg-404-pop a:focus-visible{outline:2px solid #666;outline-offset:3px}
@media(max-width:899px){.vg-404-wrap.has-pop{grid-template-columns:minmax(0,1fr);gap:0}.vg-404-wrap.has-pop .vg-404{padding-bottom:32px}.vg-404-pop{padding-top:0;padding-bottom:56px}}
@media(prefers-reduced-motion:reduce){.vg-404-pop img{transition:none}}
