.shop-page{--shop-hero-min-height: 280px}.shop-hero{background:color-mix(in srgb,var(--surface) 60%,var(--background));border-bottom:1px solid var(--border)}.shop-hero-inner{margin-inline:auto;max-width:80rem;padding:3rem 1.5rem 2.5rem;text-align:center}@media(min-width:768px){.shop-hero-inner{padding:4rem 2rem 3rem}}.shop-eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--primary)}.shop-hero-title{margin-top:1rem;font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.5rem);font-weight:600;line-height:1.15;color:var(--foreground-dark)}.shop-hero-description{margin:1rem auto 0;max-width:42rem;font-size:1.0625rem;line-height:1.7;color:var(--foreground)}.shop-body{margin-inline:auto;max-width:80rem;padding:2.5rem 1.5rem 5rem}@media(min-width:1024px){.shop-body{padding:3rem 2.5rem 6rem}}.shop-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.shop-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.shop-grid{grid-template-columns:repeat(3,1fr)}}.shop-collection-hero{position:relative;min-height:var(--shop-hero-min-height);overflow:hidden;border-bottom:1px solid var(--border)}.shop-collection-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shop-collection-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--background) 92%,transparent),color-mix(in srgb,var(--background) 40%,transparent))}.shop-collection-hero-content{position:relative;margin-inline:auto;max-width:80rem;padding:6rem 1.5rem 2.5rem;text-align:center}.shop-product-detail{display:grid;gap:2.5rem}@media(min-width:1024px){.shop-product-detail{grid-template-columns:1fr 1fr;gap:3rem;align-items:start}}.shop-product-info{display:flex;flex-direction:column;gap:1rem}.shop-product-title{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.2;color:var(--foreground-dark)}.shop-product-prices{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.shop-product-price{font-size:1.5rem;font-weight:600;color:var(--foreground-dark)}.shop-product-compare{font-size:1.125rem;color:var(--foreground);text-decoration:line-through;opacity:.7}.shop-product-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:.875rem;color:var(--foreground)}.shop-product-collection-link{color:var(--primary-dark);text-decoration:none;font-weight:500}.shop-product-collection-link:hover{color:var(--primary);text-decoration:underline}.shop-product-short{font-size:1rem;line-height:1.7;color:var(--foreground)}.shop-product-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.shop-product-action{flex:1 1 9rem;min-width:9rem;cursor:pointer}.shop-product-actions .btn-outline-lg{border-color:color-mix(in srgb,var(--primary) 30%,var(--border));background-color:color-mix(in srgb,var(--surface) 100%,white);color:var(--primary-dark)}.shop-product-actions .btn-outline-lg:hover:not(:disabled){background-color:color-mix(in srgb,var(--surface) 90%,white);border-color:var(--primary);color:var(--primary-dark)}.shop-product-action:disabled{cursor:not-allowed;opacity:.5}.shop-product-specs{margin-top:.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.shop-product-specs-title{margin-bottom:.75rem;font-family:var(--font-heading);font-size:1.375rem;font-weight:600;color:var(--foreground-dark)}.shop-gallery-primary{overflow:hidden;border-radius:.75rem;border:1px solid var(--border);background:var(--surface);aspect-ratio:1}.shop-gallery-primary img{width:100%;height:100%;object-fit:cover}.shop-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.75rem;margin-top:.75rem}.shop-gallery-thumb{overflow:hidden;border-radius:.5rem;border:1px solid var(--border);aspect-ratio:1;background:var(--surface)}.shop-gallery-thumb img{width:100%;height:100%;object-fit:cover}.shop-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.shop-section-title{margin-bottom:1.25rem;font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--foreground-dark)}.shop-description-block{margin-bottom:2rem}.shop-description-block h3{margin-bottom:.75rem;font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--foreground-dark)}.shop-description-block p{line-height:1.75;color:var(--foreground)}.shop-description-list{margin:0;padding-left:1.25rem;line-height:1.75;color:var(--foreground)}.shop-description-list li+li{margin-top:.5rem}.shop-description-figure{margin:0}.shop-description-figure img{width:100%;border-radius:.75rem;border:1px solid var(--border)}.shop-description-figure figcaption{margin-top:.5rem;font-size:.875rem;color:var(--foreground);opacity:.8}.shop-spec-table{width:100%;border-collapse:collapse}.shop-spec-table th,.shop-spec-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9375rem}.shop-spec-table th{width:40%;font-weight:500;color:var(--foreground-dark);background:color-mix(in srgb,var(--surface) 80%,transparent)}.shop-spec-table td{color:var(--foreground)}.shop-faq{display:flex;flex-direction:column;gap:.75rem}.shop-faq details{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);overflow:hidden}.shop-faq summary{padding:1rem 1.25rem;font-weight:500;color:var(--foreground-dark);cursor:pointer;list-style:none}.shop-faq summary::-webkit-details-marker{display:none}.shop-faq details[open] summary{border-bottom:1px solid var(--border)}.shop-faq-answer{padding:1rem 1.25rem;line-height:1.7;color:var(--foreground);font-size:.9375rem}.shop-stock-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.shop-stock-badge--in_stock{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary-dark)}.shop-stock-badge--limited{background:color-mix(in srgb,var(--accent, var(--primary)) 18%,transparent);color:var(--foreground-dark)}.shop-stock-badge--out_of_stock{background:color-mix(in srgb,var(--foreground) 10%,transparent);color:var(--foreground);opacity:.8}.shop-breadcrumb{margin-bottom:1.5rem;font-size:.875rem;color:var(--foreground)}.shop-breadcrumb a{color:var(--primary-dark);text-decoration:none}.shop-breadcrumb a:hover{text-decoration:underline}.shop-breadcrumb span{margin-inline:.5rem;opacity:.5}.shop-breadcrumb span:last-child{margin-inline:0;opacity:1;color:var(--foreground-dark);font-weight:500}.checkout-layout{width:100%}.checkout-section+.checkout-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.checkout-section-title{margin-bottom:1.25rem;font-family:var(--font-heading);font-size:1.375rem;font-weight:600;color:var(--foreground-dark)}.checkout-field-grid{display:flex;flex-direction:column;gap:1.25rem}.checkout-field{display:flex;flex-direction:column;gap:.375rem}.checkout-label{font-size:.875rem;font-weight:500;color:var(--foreground-dark)}.checkout-input{height:2.75rem;width:100%;border-radius:.5rem;border:1px solid var(--border);background:var(--background);padding:0 .875rem;font-size:.9375rem;color:var(--foreground-dark);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.checkout-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.checkout-input--error{border-color:color-mix(in srgb,var(--destructive, #b91c1c) 60%,var(--border))}.checkout-error{font-size:.8125rem;color:var(--destructive, #b91c1c)}.checkout-error-banner{border:1px solid color-mix(in srgb,var(--destructive, #b91c1c) 35%,var(--border));border-radius:.5rem;background:color-mix(in srgb,var(--destructive, #b91c1c) 8%,var(--surface));padding:.875rem 1rem;font-size:.9375rem;color:var(--foreground-dark)}.order-success{margin-inline:auto;max-width:42rem}
