.shop{border-bottom:1px solid var(--line);scroll-margin-top:100px}
.shop-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.shop-heading .eyebrow{color:#a3e6bc;margin-bottom:16px}
.shop-heading h2{font-size:clamp(2.6rem,5vw,4.5rem)}
.shop-intro{max-width:310px;font-size:1rem;line-height:1.75;padding-bottom:5px}
.shop-categories{display:flex;flex-wrap:wrap;gap:10px;margin-block:30px 20px}
.shop-categories a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 19px;border:1px solid #50575f;border-radius:30px;font-size:.9375rem;color:#e8ecef;background:#1c2025;transition:background .2s,border-color .2s}
.shop-categories a:hover{background:#26362e;border-color:#86cfaa}
.shop-notice{font-size:.875rem;color:#c0c9c2;line-height:1.7;margin-bottom:34px}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.shop-product{min-width:0;overflow:hidden;border:1px solid #424951;border-radius:18px;background:#1c2025;scroll-margin-top:120px}
.shop-product:target{border-color:#90d5aa}
.shop-product-visual{position:relative;background:#eef0f1;border-bottom:1px solid #424951;overflow:hidden}
.shop-product-visual>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;transition:transform .55s ease}
@media(hover:hover) and (pointer:fine){.shop-product:hover .shop-product-visual>img{transform:scale(1.025)}}
.shop-category-label{position:absolute;top:20px;left:20px;z-index:1;padding:7px 13px;border-radius:30px;background:#151b20e8;color:#fff;font-size:.875rem;letter-spacing:.025em;border:1px solid #ffffff30}
.shop-product-visual figcaption{position:absolute;right:15px;bottom:15px;background:#ffffffeb;color:#46515a;border-radius:5px;padding:5px 9px;font-size:.8125rem;line-height:1.4}
.shop-product-info{padding:29px 30px 30px}
.shop-product-info h3{font-size:clamp(1.65rem,2.8vw,2.25rem);line-height:1.2;letter-spacing:-.04em}
.shop-product-type{font-size:.9375rem;color:#b4bfc9;margin-top:8px}
.shop-product-description{font-size:1rem;color:#c7cdd4;line-height:1.7;margin-top:20px;min-height:5.1em}
.shop-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:22px 0 0;padding:18px 0;border-block:1px solid #424951}
.shop-specs>div{min-width:0}
.shop-specs dt{font-size:.875rem;color:#a9b4bd;margin-bottom:3px}
.shop-specs dd{margin:0;font-size:.9375rem;color:#e5e9ec;line-height:1.6}
.shop-price-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:24px}
.shop-price{font-family:var(--display);font-size:2rem;font-weight:700;color:#fff;letter-spacing:-.045em;line-height:1.2}
.shop-sale{font-size:.875rem;font-weight:600;background:#a7edbd;color:#103e21;padding:5px 11px;border-radius:5px}
.shop-price-note{margin-top:10px;font-size:.875rem;line-height:1.65;color:#b7c0c8}
.shop-purchase{margin-top:22px;display:flex;flex-direction:column;align-items:stretch;gap:8px}
.shop-buy{width:100%;justify-content:center;background:#a7edbd;color:#103e21;border-color:#a7edbd;font-size:1rem}
.shop-buy:hover{background:#c1f6d1;color:#103e21;box-shadow:0 8px 24px #6dd79820}
.shop-unavailable{background:#333b40;color:#c5cdd3;border-color:#515d65;opacity:1;cursor:not-allowed}
.shop-unavailable:hover{background:#333b40;color:#c5cdd3;transform:none;box-shadow:none}
.shop-purchase .text-link{align-self:center;font-size:.9375rem;gap:14px}
.shop-verse{display:block;color:#eff3f6;font-style:italic}
.shop-closing{font-size:.875rem;color:#b3bdc5;margin-top:25px;line-height:1.75;max-width:760px}
@media(max-width:900px){.shop-heading{align-items:start;flex-direction:column;gap:18px}.shop-intro{max-width:500px}.shop-grid{gap:22px}.shop-product-info{padding:25px 22px}.shop-product-description{min-height:0}.shop-specs{grid-template-columns:1fr}.shop-category-label{top:15px;left:15px}}
@media(max-width:650px){.shop-grid{grid-template-columns:1fr;gap:28px}.shop-heading h2{font-size:clamp(2.4rem,10vw,3.4rem)}.shop-categories{gap:8px;margin-top:24px}.shop-categories a{font-size:.875rem;padding-inline:15px}.shop-notice{margin-bottom:26px}.shop-product-info{padding:25px 23px}.shop-specs{grid-template-columns:1fr 1fr}.shop-product-info h3{font-size:1.9rem}.shop-product{scroll-margin-top:100px}.shop-price{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.shop-product-visual>img{transition:none}.shop-product:hover .shop-product-visual>img{transform:none}}
.motion-paused .shop-product-visual>img{transition:none;transform:none!important}
@media(forced-colors:active){.shop-sale,.shop-category-label{border:1px solid CanvasText}.shop-unavailable{color:GrayText;border-color:GrayText}}
