@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Nunito+Sans:wght@400;600;700&display=swap');
:root{--color-bg:#faf8f5;--color-surface:#ffffff;--color-text:#1a1a1a;--color-text-light:#6f6f6f;--color-border:#e2dedb;--color-accent:#c16452;--color-accent-hover:#a9503f;--color-accent-alt:#108474;--color-badge-new:#108474;--color-badge-sale:#c16452;--color-star:#fbd00a;--color-focus:#c16452;--font-body:'Nunito Sans',sans-serif;--font-heading:'Playfair Display',serif;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--container-max:1280px;--header-height:72px;--announcement-height:36px;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.announcement-bar{background:var(--color-text);color:#fff;text-align:center;font-size:0.85rem;letter-spacing:0.05em;padding:0.5rem var(--space-lg);min-height:var(--announcement-height);display:flex;align-items:center;justify-content:center;}
.site-header{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);height:var(--header-height);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:100%;}
.wordmark{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;letter-spacing:-0.01em;line-height:1;}
.wordmark a{color:var(--color-text);}
.main-nav ul{display:flex;gap:var(--space-xl);}
.main-nav a{font-size:0.9rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:var(--color-text);position:relative;padding-bottom:4px;}
.main-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-accent);transition:width 0.2s;}
.main-nav a:hover::after{width:100%;}
.cart-link{display:flex;align-items:center;gap:0.5rem;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;font-size:0.9rem;color:var(--color-text);}
.cart-link svg{width:20px;height:20px;}
.cart-count{background:var(--color-accent);color:#fff;border-radius:50%;font-size:0.7rem;font-weight:700;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;}
.mobile-nav-toggle{display:none;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--color-text);}
.hero{position:relative;height:85vh;min-height:500px;overflow:hidden;}
.hero img{width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 40%);}
.hero-content{position:absolute;left:var(--space-xl);bottom:var(--space-xl);color:#fff;max-width:600px;}
.hero-content h1{font-family:var(--font-heading);font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:var(--space-md);}
.hero-content p{font-size:1.2rem;margin-bottom:var(--space-lg);}
.hero-cta{display:inline-block;background:var(--color-accent);color:#fff;padding:0.9rem 2rem;border-radius:var(--radius-sm);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;transition:background 0.2s;}
.hero-cta:hover{background:var(--color-accent-hover);}
.editorial-section{padding:var(--space-2xl) 0;border-top:1px solid var(--color-border);}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center;}
.editorial-number{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-accent);letter-spacing:0.1em;text-transform:uppercase;}
.editorial-text h2{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;margin:var(--space-md) 0;line-height:1.2;}
.editorial-text p{color:var(--color-text-light);font-size:1.1rem;}
.editorial-image img{width:100%;height:auto;border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,0.08);}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-xl);}
.section-header h2{font-family:var(--font-heading);font-size:2rem;font-weight:700;}
.section-header a{color:var(--color-accent);font-weight:600;text-decoration:underline;text-underline-offset:4px;}
.horizontal-shelf{display:flex;gap:var(--space-md);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--space-sm) 0 var(--space-lg);-webkit-overflow-scrolling:touch;}
.horizontal-shelf>*{scroll-snap-align:start;flex:0 0 280px;}
.product-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;transition:box-shadow 0.2s;}
.product-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.08);}
.product-card .card-media{position:relative;aspect-ratio:3/4;overflow:hidden;}
.product-card .card-media img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s;}
.product-card:hover .card-media img{transform:scale(1.03);}
.product-card .quick-add{position:absolute;bottom:12px;left:50%;transform:translateX(-50%) translateY(120%);background:rgba(255,255,255,0.95);color:var(--color-text);border:none;padding:0.6rem 1.2rem;border-radius:20px;font-weight:600;cursor:pointer;opacity:0;transition:all 0.3s;white-space:nowrap;}
.product-card:hover .quick-add{opacity:1;transform:translateX(-50%) translateY(0);}
.product-card .card-body{padding:var(--space-md);}
.product-card .card-title{font-weight:700;font-size:1rem;margin-bottom:var(--space-xs);}
.product-card .card-price{font-size:0.9rem;color:var(--color-text-light);font-weight:600;}
.product-card .card-price .compare-at{text-decoration:line-through;color:var(--color-text-light);margin-right:0.5rem;opacity:0.7;}
.badge{position:absolute;top:12px;left:12px;padding:0.3rem 0.8rem;font-size:0.7rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;border-radius:20px;color:#fff;z-index:2;}
.badge-new{background:var(--color-badge-new);}
.badge-sale{background:var(--color-badge-sale);}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);}
.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);padding:var(--space-xl) 0;}
.gallery{position:sticky;top:calc(var(--header-height) + var(--space-lg));}
.gallery-main{aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:flex;gap:var(--space-sm);margin-top:var(--space-md);}
.gallery-thumb{width:70px;height:70px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;transition:border-color 0.2s;}
.gallery-thumb.active{border-color:var(--color-accent);}
.info-column{display:flex;flex-direction:column;gap:var(--space-md);}
.breadcrumb{font-size:0.8rem;color:var(--color-text-light);margin-bottom:var(--space-sm);}
.breadcrumb a:hover{color:var(--color-accent);}
.product-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;line-height:1.2;}
.product-price{font-size:1.5rem;font-weight:700;color:var(--color-text);}
.product-price .compare-at{text-decoration:line-through;color:var(--color-text-light);font-size:1.1rem;margin-right:0.5rem;}
.variant-selector{display:flex;flex-direction:column;gap:var(--space-sm);}
.variant-options{display:flex;flex-wrap:wrap;gap:var(--space-sm);}
.variant-option{padding:0.6rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:0.9rem;transition:all 0.2s;background:var(--color-surface);}
.variant-option:hover{border-color:var(--color-text);}
.variant-option.selected{border-color:var(--color-accent);background:var(--color-accent);color:#fff;}
.quantity-selector{display:flex;align-items:center;gap:var(--space-md);}
.quantity-stepper{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;}
.quantity-stepper button{background:var(--color-surface);border:none;padding:0.6rem 1rem;font-size:1.2rem;cursor:pointer;}
.quantity-stepper button:hover{background:var(--color-bg);}
.quantity-value{min-width:40px;text-align:center;font-weight:600;}
.add-to-cart-btn{background:var(--color-accent);color:#fff;border:none;padding:1rem 2rem;border-radius:var(--radius-sm);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;}
.add-to-cart-btn:hover{background:var(--color-accent-hover);}
.accordion{border-top:1px solid var(--color-border);}
.accordion-item{border-bottom:1px solid var(--color-border);}
.accordion-header{width:100%;background:none;border:none;padding:var(--space-md) 0;font-weight:600;font-family:var(--font-body);font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.accordion-header:hover{color:var(--color-accent);}
.accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s;padding:0 var(--space-sm);}
.accordion-content.open{max-height:300px;padding-bottom:var(--space-md);}
.sticky-add-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);padding:var(--space-sm) var(--space-lg);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--color-border);z-index:90;transform:translateY(100%);transition:transform 0.3s;}
.sticky-add-bar.visible{transform:translateY(0);}
.sticky-add-bar .product-info{display:flex;align-items:center;gap:var(--space-sm);}
.sticky-add-bar .product-info img{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);}
.sticky-add-bar .price{font-weight:700;}
.sticky-add-bar button{background:var(--color-accent);color:#fff;border:none;padding:0.7rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:0.05em;}
#cart-drawer{position:fixed;inset:0;z-index:200;}
.cart-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);opacity:1;transition:opacity 0.3s;}
.cart-panel{position:absolute;top:0;right:0;bottom:0;width:420px;max-width:90vw;background:var(--color-surface);box-shadow:-4px 0 20px rgba(0,0,0,0.1);display:flex;flex-direction:column;transform:translateX(0);transition:transform 0.3s;}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);}
.cart-head h2{font-family:var(--font-heading);font-size:1.5rem;}
[data-cart-close]{background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--color-text);line-height:1;}
.cart-items{flex:1;overflow-y:auto;padding:var(--space-md);}
.cart-item{display:flex;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);}
.cart-item-img{flex-shrink:0;}
.cart-item-img img{width:70px;height:90px;object-fit:cover;border-radius:var(--radius-sm);}
.cart-item-details{flex:1;}
.cart-item-title{font-weight:600;margin-bottom:var(--space-xs);}
.cart-item-price{color:var(--color-text-light);font-size:0.9rem;}
.cart-item-actions{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);}
[data-cart-minus],[data-cart-plus]{background:var(--color-bg);border:1px solid var(--color-border);width:28px;height:28px;border-radius:50%;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.cart-qty-value{min-width:30px;text-align:center;font-weight:600;}
[data-cart-remove]{background:none;border:none;color:var(--color-text-light);text-decoration:underline;cursor:pointer;font-size:0.8rem;}
.cart-empty{text-align:center;padding:var(--space-xl);}
.cart-empty a{display:inline-block;margin-top:var(--space-md);background:var(--color-accent);color:#fff;padding:0.8rem 1.8rem;border-radius:var(--radius-sm);font-weight:600;}
.cart-foot{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-sm);}
.cart-subtotal{display:flex;justify-content:space-between;font-weight:700;font-size:1.2rem;}
.cart-checkout-btn{background:var(--color-accent);color:#fff;border:none;padding:1rem;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;cursor:pointer;text-align:center;transition:background 0.2s;}
.cart-checkout-btn:hover{background:var(--color-accent-hover);}
#checkout-root{padding:var(--space-xl) 0;}
.checkout-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);}
#checkout-form{display:flex;flex-direction:column;gap:var(--space-md);}
.checkout-field{display:flex;flex-direction:column;gap:var(--space-xs);}
.checkout-field label{font-weight:600;font-size:0.9rem;}
.checkout-field input{width:100%;padding:0.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;}
.checkout-field input:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-color:transparent;}
.checkout-submit-btn{background:var(--color-accent);color:#fff;border:none;padding:1rem;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;cursor:pointer;margin-top:var(--space-md);}
.checkout-submit-btn:hover{background:var(--color-accent-hover);}
.checkout-summary{background:var(--color-surface);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);height:fit-content;position:sticky;top:calc(var(--header-height) + var(--space-lg));}
.checkout-summary h2{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:var(--space-md);}
.order-line{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);}
.order-line img{width:50px;height:65px;object-fit:cover;border-radius:var(--radius-sm);}
.order-line .line-title{flex:1;font-weight:600;font-size:0.9rem;}
.order-line .line-qty{color:var(--color-text-light);font-size:0.8rem;}
.order-line .line-price{font-weight:700;}
.checkout-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.2rem;margin:var(--space-md) 0;}
[data-order-thanks]{text-align:center;padding:var(--space-2xl) 0;}
[data-order-thanks] h2{font-family:var(--font-heading);font-size:2rem;margin-bottom:var(--space-md);}
[data-order-thanks] a{color:var(--color-accent);text-decoration:underline;}
.footer{background:var(--color-text);color:#fff;margin-top:var(--space-2xl);}
.footer .container{padding:var(--space-2xl) var(--space-lg);display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2xl);}
.footer h3{font-family:var(--font-heading);font-size:1.2rem;margin-bottom:var(--space-md);}
.footer ul li{margin-bottom:0.5rem;}
.footer a{color:#ddd;}
.footer a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.2);padding:var(--space-md) var(--space-lg);text-align:center;font-size:0.8rem;color:#aaa;}
.prose{max-width:720px;margin:0 auto;padding:var(--space-xl) var(--space-lg);}
.prose h1{font-family:var(--font-heading);font-size:2.5rem;margin-bottom:var(--space-lg);}
.prose h2{font-family:var(--font-heading);font-size:1.8rem;margin:var(--space-lg) 0 var(--space-md);}
.prose p{color:var(--color-text-light);line-height:1.8;margin-bottom:var(--space-md);}
.prose a{color:var(--color-accent);text-decoration:underline;}
.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0;}
select,input,textarea{font-family:inherit;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;}
@media (max-width:1024px){.product-grid{grid-template-columns:repeat(2,1fr);}.checkout-layout{grid-template-columns:1fr;}.checkout-summary{position:static;}.editorial-grid{grid-template-columns:1fr;}.product-detail-layout{grid-template-columns:1fr;}.gallery{position:static;}.footer .container{grid-template-columns:1fr;}}
@media (max-width:768px){.main-nav{display:none;}.mobile-nav-toggle{display:block;}.main-nav.open{display:block;position:absolute;top:var(--header-height);left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);}.main-nav.open ul{flex-direction:column;gap:0;}.main-nav.open li{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);}.product-grid{grid-template-columns:1fr;}.horizontal-shelf>*{flex:0 0 220px;}.cart-panel{width:100%;max-width:100vw;}.hero-content h1{font-size:2.5rem;}.product-title{font-size:2rem;}}