.shop-page { --shop-red:#ee2c3d; background:#fff; color:var(--shop-red); margin:0; }
.shop-page a { color:inherit; text-decoration:none; }
.shop-page .pixel-menu-nav a,
.shop-page .pixel-menu-nav a:hover,
.shop-page .pixel-menu-nav a:focus-visible { color:var(--menu-foreground); }
.shop-page button { cursor:pointer; }
.shop-page button:disabled { cursor:not-allowed; opacity:.5; }
.shop-header { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:36px 3% 48px; align-items:center; min-height:260px; }
.shop-logo { width:clamp(140px,12vw,220px); display:block; }
.shop-logo img { display:block; width:100%; }
.shop-header h1 { grid-column:2/4; font-size:var(--type-section); line-height:var(--leading-section); margin:0; }
.shop-header .shop-section-name { grid-column:2/4; font-size:var(--type-section); line-height:var(--leading-section); font-weight:700; margin:0; }
.shop-header .shop-header-note { grid-column:4; align-self:end; font-size:14px; line-height:20px; margin:0; }
.shop-toolbar { margin:0 3%; border-top:1px solid; border-bottom:1px solid; padding:16px 0; display:flex; justify-content:space-between; gap:20px; font-size:14px; }
.shop-toolbar p { margin:0; }
.shop-currency { display:inline-flex; align-items:center; gap:8px; margin-left:auto; font-size:14px; white-space:nowrap; }
.shop-currency select { font:inherit; color:inherit; background:#fff; border:1px solid currentColor; padding:8px; min-height:44px; border-radius:0; }
.shop-currency select:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.product-breadcrumb:has(.shop-currency) { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
@media(max-width:760px) { .shop-toolbar:has(.shop-currency) { flex-wrap:wrap; } .shop-currency { margin-left:0; } }
.shop-toolbar button { border:0; padding:0; background:none; color:inherit; text-decoration:underline; text-underline-offset:4px; }
.shop-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.shop-card { min-width:0; padding:32px 6% 40px; border-bottom:1px solid; }
.shop-card:first-child { border-right:1px solid; }
.shop-card-media { position:relative; background:#fff; display:flex; align-items:center; justify-content:center; height:580px; padding:0; overflow:hidden; }
.shop-card-product-pair { display:grid; grid-template-columns:1fr 1fr; width:100%; height:100%; background:#fff; }
.shop-card-product-pair img,
.shop-card-product-art { display:block; width:100%; height:100%; object-fit:contain; transition:transform .4s ease; }
.shop-card a:is(:hover, :focus-visible) .shop-card-product-pair img,
.shop-card a:is(:hover, :focus-visible) .shop-card-product-art { transform:scale(1.015); }
.shop-card-media.is-previewing .shop-card-product-pair img,
.shop-card-media.is-previewing .shop-card-product-art { transform:none; }
.shop-card-preview-track { position:absolute; inset:0; z-index:2; background:#fff; opacity:0; transition:opacity .18s ease; }
.shop-card-media.is-previewing .shop-card-preview-track { opacity:1; }
.shop-card-preview-track img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; opacity:0; transform:none!important; transition:opacity .22s ease; }
.shop-card-preview-track img.is-active { opacity:1; }
.shop-card-meta { display:flex; justify-content:space-between; gap:20px; padding-top:20px; }
.shop-card h2 { margin:4px 0 8px; font-size:var(--type-block); line-height:var(--leading-block); font-weight:500; }
.shop-card p { margin:0; font-size:14px; line-height:20px; }
.shop-card .price { font-size:18px; font-weight:600; white-space:nowrap; padding-top:26px; }
.shop-meta { font-size:14px; line-height:20px; text-transform:uppercase; }
.shop-note { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:64px 3%; border-bottom:1px solid; }
.shop-note h2 { font-size:var(--type-block); line-height:var(--leading-block); font-weight:500; margin:0; }
.shop-note p { color:#111; max-width:50ch; margin:0; }
.shop-footer { padding:40px 3% 24px; background:#fff; color:var(--shop-red); }
.shop-footer-top { display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px; padding-bottom:36px; }
.shop-footer h2 { font-size:28px; margin:0 0 12px; }
.shop-footer p,.shop-footer a { font-size:14px; line-height:22px; margin:0; }
.shop-footer nav { display:flex; flex-wrap:wrap; gap:8px 22px; }
.shop-footer a:hover { text-decoration:underline; }
.shop-footer-bottom { border-top:1px solid; padding-top:20px; display:flex; justify-content:space-between; gap:24px; }
.product-breadcrumb { margin:0 3%; border-top:1px solid; padding:16px 0; font-size:14px; }
.product-layout { display:grid; grid-template-columns:1.2fr 1fr; border-top:1px solid; }
.product-gallery { padding:40px 7%; background:#f3f3f3; }
.product-zoom { border:0; background:transparent; width:100%; padding:0; display:block; cursor:zoom-in!important; }
.product-zoom img { width:100%; height:650px; object-fit:contain; display:block; }
.product-caption { display:flex; justify-content:space-between; margin-top:24px; font-size:14px; }
.product-gallery-thumbs { display:grid; grid-template-columns:repeat(auto-fit,minmax(88px,1fr)); gap:8px; margin-top:18px; }
.product-gallery-thumbs button { position:relative; display:block; aspect-ratio:4/5; min-width:0; padding:0; border:1px solid transparent; background:#fff; overflow:hidden; }
.product-gallery-thumbs button::after { content:""; position:absolute; inset:0; border:2px solid transparent; pointer-events:none; }
.product-gallery-thumbs button.is-active::after { border-color:var(--shop-red); }
.product-gallery-thumbs img { display:block; width:100%; height:100%; object-fit:cover; }
.product-info { padding:40px 8%; min-width:0; }
.product-info h1 { font-size:var(--type-section); line-height:var(--leading-section); margin:14px 0 20px; }
.product-info .description { color:#111; max-width:44ch; }
.product-price { font-size:28px; font-weight:600; margin:28px 0 4px; }
.muted { font-size:14px; line-height:20px; color:#555; }
.product-info fieldset { border:0; padding:0; margin:28px 0 24px; }
.product-info legend { font-size:14px; margin-bottom:10px; }
.size-options { display:flex; gap:10px; flex-wrap:wrap; }
.size-options label { cursor:pointer; }
.size-options input { accent-color:var(--shop-red); }
.size-options label { border-bottom:1px solid; padding:10px 6px; }
.product-buy { display:flex; gap:16px; margin:24px 0; }
.quantity { display:flex; border:1px solid; height:52px; flex:none; }
.quantity button { border:0; background:none; color:inherit; width:36px; font-size:22px; }
.quantity input { width:44px; border:0; text-align:center; color:inherit; background:none; appearance:textfield; }
.quantity input::-webkit-inner-spin-button { appearance:none; }
.shop-primary { padding:14px 22px; border:1px solid var(--shop-red); background:var(--shop-red); color:white!important; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:52px; }
.product-buy .shop-primary { flex:1; }
.shop-primary:hover { background:white; color:var(--shop-red)!important; }
.product-info details { border-top:1px solid; padding:16px 0; }
.product-info details:last-child { border-bottom:1px solid; }
.product-info summary { cursor:pointer; font-size:16px; }
.product-info details p { font-size:14px; line-height:22px; color:#111; }
.shop-page dialog { border:1px solid var(--shop-red); color:var(--shop-red); background:#fff; max-height:90dvh; width:min(600px,calc(100% - 32px)); padding:28px; }
.shop-page dialog::backdrop { background:rgba(0,0,0,.45); }
.dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid; padding-bottom:20px; }
.dialog-heading h2 { margin:0; font-size:28px; }
.dialog-close { background:none; border:0; color:inherit; font-size:28px; width:44px; height:44px; }
.cart-row { display:grid; grid-template-columns:72px 1fr auto; gap:18px; padding:22px 0; border-bottom:1px solid #ddd; }
.cart-row img { width:72px; height:96px; object-fit:contain; }
.cart-row h3 { font-size:16px; margin:0 0 6px; }
.cart-row p { font-size:14px; margin:4px 0; }
.cart-remove { background:none; border:0; padding:0; color:inherit; text-decoration:underline; font-size:14px; }
.cart-total { display:flex; justify-content:space-between; margin:24px 0; font-size:22px; }
#zoom-dialog { width:min(1000px,95vw); }
#zoom-dialog img { display:block; width:100%; height:75dvh; object-fit:contain; }
.shop-legal { max-width:900px; margin:0 auto; padding:0 24px 72px; color:#111; }
.shop-legal h2 { font-size:28px; color:var(--shop-red); margin-top:40px; }
.shop-legal a { text-decoration:underline; color:var(--shop-red); }
.shop-legal section { border-top:1px solid #ddd; margin-top:32px; }
.shop-status { min-height:24px; font-size:14px; }
@media(min-width:1700px){.shop-card-media{height:720px;}.product-zoom img{height:800px;}}
@media(max-width:760px){.shop-header{padding:86px 20px 30px;grid-template-columns:100px 1fr;min-height:0;gap:24px;}.shop-logo{width:100px;}.shop-header h1{grid-column:2;font-size:32px;line-height:36px;}.shop-header .shop-header-note{grid-column:1/-1;}.shop-toolbar{margin:0 20px;}.shop-card{padding:20px;border-right:0!important;}.shop-card-media{height:420px;padding:0;}.shop-grid,.product-layout{grid-template-columns:1fr;}.shop-note{grid-template-columns:1fr;padding:36px 20px;gap:20px;}.shop-footer{padding:32px 20px 24px;}.shop-footer-top{grid-template-columns:1fr;gap:24px;}.shop-footer-bottom{flex-direction:column;}.product-gallery{padding:28px 20px;}.product-zoom img{height:440px;}.product-gallery-thumbs{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));}.product-info{padding:28px 20px;}.product-buy{gap:10px;}.shop-primary{padding:12px;gap:12px;}.shop-page dialog{padding:18px;}.product-breadcrumb{margin:0 20px;}}
@media(prefers-reduced-motion:reduce){.shop-card-media img,.shop-card-preview-track{transition:none;}.shop-card a:is(:hover, :focus-visible) .shop-card-product-pair img,.shop-card a:is(:hover, :focus-visible) .shop-card-product-art{transform:none;}}
@media(max-width:760px){.shop-header .shop-section-name{grid-column:2;font-size:32px;line-height:36px;}}
