.shop {
    --paper: #f7f3eb;
    --white: #fffdf8;
    --ink: #211b16;
    --muted: #62564b;
    --wine: #292019;
    --dark: #120f0d;
    --line: #ded3c3;
    background: var(--paper);
}
.shop .shop-header, .shop footer, .shop .branch-strip {
    background: #151210;
    color: #f7ecd6;
    border-color: #403228;
}
.shop .brand { color: #e0c38e; }
.shop .brand img { border: 1px solid #a78b59; }
.shop #bag-count { color: #191510; background: #dfc391; }
.shop .hero { background: #221814; color: #f9edda; }
.shop .hero-inner { grid-template-columns: 1fr 1fr; gap: clamp(1rem,5vw,5rem); }
.shop .hero-inner > div:first-child { padding-block: 3rem; }
.shop .hero h1 { font-size: clamp(3rem,8vw,7rem); font-weight: 500; }
.shop .hero p { color: #e3d5c3; }
.shop .hero .button { color: #1d160e; background: #e1c38e; }
.shop .hero .button:hover { background: #f4dcad; }
.shop .hero-photo { padding: 0; overflow: hidden; }
.shop .hero-photo img { height: clamp(410px,55vw,640px); object-position: center 40%; }
.shop .branch-bar { border: 0; }
.shop .branch-bar p { color: #e3d5c3; }
.shop .section h2 { text-align: center; margin-bottom: 1.7rem; }
.shop .checkout h2 { text-align: left; }
.shop .products { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.05rem; }
.shop .product { border-radius: 0; }
.shop .product img { aspect-ratio: 3/4; object-fit: contain; height: auto; background: #eae2d5; }
.shop .product > div { padding: .8rem .9rem .95rem; }
.shop .product h3 { font-weight: 500; }
.shop .gallery-card a { display: block; }
.shop .gallery-card a:hover img { filter: brightness(1.06); }
.shop #combos .products { max-width: 640px; margin-inline: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
@media(max-width: 850px) {
    .shop .products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width: 650px) {
    .shop .hero-inner { grid-template-columns: 1fr; gap: 0; }
    .shop .hero-inner > div:first-child { padding: 2rem .35rem 1.5rem; }
    .shop .hero-photo img { height: clamp(290px,105vw,450px); }
    .shop .products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
    .shop .top { flex-wrap: wrap; gap: .4rem; padding-block: .6rem; }
    .shop .top nav { gap: .75rem; }
}
