@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--night:#17110e;--dark:#241712;--espresso:#35231b;--caramel:#b47a4a;--gold:#d1a16b;--cream:#f5ebdd;--mocha:#8f7562;--taupe:#b8a18d;--line:#4a3529}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--cream);font:15px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;color:inherit}.announcement{text-align:center;background:#100c0a;color:var(--gold);font-size:10px;letter-spacing:.2em;padding:8px}.site-header{position:relative;z-index:5;min-height:82px;padding:15px max(4vw,22px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--night);border-bottom:1px solid var(--caramel)}.wordmark{font:27px 'Playfair Display',Georgia,serif;white-space:nowrap}.wordmark i{color:var(--gold)}.main-nav,.head-actions{display:flex;align-items:center;gap:23px}.main-nav{font-size:12px;letter-spacing:.04em}.main-nav a:hover,.head-actions a:hover,.footer-columns a:hover{color:var(--gold)}.head-actions{gap:15px;font-size:13px}.head-actions button,.menu-toggle{border:0;background:none;color:var(--cream);font-size:24px}.head-actions b{font-size:10px;color:var(--gold)}.menu-toggle{display:none}.search-panel{position:absolute;right:4vw;top:100%;padding:15px;background:var(--espresso);border:1px solid var(--line);display:flex;gap:8px}.search-panel[hidden]{display:none}.search-panel input,.newsletter input,.shop-controls input,.shop-controls select,.auth-form input{background:#211612;border:1px solid var(--line);color:var(--cream);padding:12px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--caramel);color:#1b110d;padding:13px 22px;border:1px solid var(--caramel);font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:.25s}.button:hover{background:var(--gold)}.button.outline{background:transparent;color:var(--cream);border-color:var(--taupe)}.button.small{padding:9px 12px;font-size:10px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}.hero{min-height:610px;background:linear-gradient(90deg,rgba(23,17,14,.96),rgba(23,17,14,.6) 45%,rgba(23,17,14,.08)),url('../assets/images/hero-chocolate-editorial.webp') center/cover;display:flex;align-items:center;padding:8vw}.hero-copy{max-width:570px}.hero h1,.page-intro h1,.editorial h2,.craft h2,.gift-banner h2{font:clamp(42px,6vw,78px)/1.08 'Playfair Display',Georgia,serif;margin:14px 0 22px}.hero p{max-width:470px;color:#ddcaba;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.category-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--dark);padding:20px 6vw;border-bottom:1px solid var(--line)}.category-tile{text-align:center;padding:8px;border-right:1px solid var(--line)}.category-tile:last-child{border:0}.category-tile img{width:42px;height:42px;object-fit:cover;border-radius:50%;vertical-align:middle;margin-right:12px}.category-tile a{font:18px 'Playfair Display',Georgia,serif}.section{padding:85px max(5vw,24px)}.section-heading{text-align:center;max-width:600px;margin:0 auto 38px}.section-heading h2,.section-title{font:42px 'Playfair Display',Georgia,serif;margin:8px 0}.section-heading p,.muted{color:var(--taupe)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{position:relative;background:var(--espresso);border:1px solid rgba(209,161,107,.18);min-width:0}.product-photo{display:block;overflow:hidden;aspect-ratio:1.12}.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover .product-photo img{transform:scale(1.045)}.product-info{padding:16px}.product-info .eyebrow{margin:0 0 5px;font-size:9px}.product-info h3{font:20px 'Playfair Display',Georgia,serif;margin:0 0 8px}.product-desc{color:var(--taupe);font-size:12px;min-height:40px}.product-buy{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.wish-button{position:absolute;right:12px;top:12px;width:35px;height:35px;border:1px solid #fff5;background:#17110eaa;border-radius:50%;font-size:19px}.wish-button.active{color:var(--gold)}.editorial{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);align-items:center}.editorial.reverse .editorial-image{order:2}.editorial-image{min-height:480px}.editorial-image img{width:100%;height:100%;min-height:480px;object-fit:cover}.editorial-copy{padding:8vw}.editorial-copy h2,.craft h2{font:clamp(36px,4vw,58px)/1.15 'Playfair Display',Georgia,serif;margin:10px 0 20px}.editorial-copy p{color:var(--taupe);max-width:480px;margin-bottom:26px}.craft{display:grid;grid-template-columns:1fr 1fr;background:#211510}.craft-image img{width:100%;height:100%;min-height:390px;object-fit:cover}.craft-copy{padding:7vw}.carousel-wrap{position:relative}.carousel-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}.carousel-track::-webkit-scrollbar{display:none}.carousel-track .product-card{flex:0 0 min(300px,78vw);scroll-snap-align:start}.carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:15px}.carousel-controls button{border:1px solid var(--line);background:none;padding:8px 14px}.principles{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:25px}.principle{border-right:1px solid var(--line);padding:12px 25px}.principle:last-child{border:0}.principle b{display:block;font:21px 'Playfair Display',Georgia,serif;margin:10px}.principle span{color:var(--gold);font-size:22px}.gift-banner{min-height:410px;display:flex;align-items:center;padding:7vw;background:linear-gradient(90deg,#17110ef2 0%,#17110e8c 54%,#17110e20),url('../assets/images/chocolate-gifting-editorial.webp') center 45%/cover}.gift-copy{max-width:530px}.gift-banner h2{font-size:52px}.newsletter-home{text-align:center;background:var(--dark);padding:55px 20px}.newsletter-home h2{font:36px 'Playfair Display',Georgia,serif;margin:4px}.newsletter-home form{display:flex;max-width:510px;margin:22px auto 0}.newsletter-home input{flex:1;min-width:0;background:#17110e;border:1px solid var(--line);padding:14px;color:var(--cream)}.form-status{display:block;color:var(--gold);margin-top:8px}.site-footer{padding:55px max(5vw,24px) 20px;background:var(--night);border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-bottom:38px;border-bottom:1px solid var(--line)}.footer-top p{color:var(--taupe);max-width:440px}.tagline{color:var(--gold)!important}.newsletter h3{font:24px 'Playfair Display',Georgia,serif;margin:0}.newsletter-row{display:flex;gap:8px}.newsletter-row input{flex:1;min-width:0}.newsletter-row button{background:var(--caramel);border:0;padding:0 18px;color:#1b110d}.footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:35px 0}.footer-columns section{display:flex;flex-direction:column;gap:8px}.footer-columns h4{font-size:10px;letter-spacing:.2em;color:var(--gold);margin:0 0 7px}.footer-columns a{font-size:12px;color:var(--taupe)}.promise-strip{display:flex;justify-content:space-around;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 5px;color:var(--taupe);font-size:11px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:17px;color:var(--taupe);font-size:11px}.footer-bottom div{display:flex;gap:17px}.footer-bottom button,.text-button{background:none;border:0;color:var(--gold)}.page-intro{padding:70px 6vw 48px;background:linear-gradient(120deg,#241712,#17110e);text-align:center}.page-intro h1{font-size:52px;margin:8px}.page-intro p{color:var(--taupe);max-width:620px;margin:0 auto}.shop-controls{display:flex;gap:12px;justify-content:center;margin-bottom:30px;flex-wrap:wrap}.shop-controls input{width:min(350px,100%)}.shop-controls select{min-width:180px}.empty-state{text-align:center;padding:70px 20px;border:1px solid var(--line);margin:0 auto;max-width:720px}.empty-state h2{font:34px 'Playfair Display',Georgia,serif}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:1200px;margin:auto;padding:65px 5vw}.detail-image img{width:100%;max-height:650px;object-fit:cover}.detail-copy{align-self:center}.detail-copy h1{font:clamp(38px,5vw,62px)/1.1 'Playfair Display',Georgia,serif}.detail-price{font-size:22px;color:var(--gold)}.detail-copy input{display:block;width:90px;padding:10px;margin:8px 0 18px;background:#211612;border:1px solid var(--line);color:var(--cream)}.detail-copy .button{margin:0 8px 10px 0}.back-link{display:block;margin-top:20px;color:var(--gold)}.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:35px;max-width:1100px;margin:auto}.cart-line{display:grid;grid-template-columns:110px 1fr auto auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.cart-line img{width:110px;height:100px;object-fit:cover}.cart-line h3{font:20px 'Playfair Display',Georgia,serif;margin:0}.quantity{display:flex;align-items:center;gap:12px;margin-top:8px}.quantity button{background:none;border:1px solid var(--line);width:28px;height:28px}.summary{background:var(--dark);padding:24px;height:max-content}.summary p{display:flex;justify-content:space-between}.summary .button{width:100%;margin-top:20px}.summary small{color:var(--taupe)}.auth-box{max-width:470px;margin:60px auto;padding:35px;background:var(--dark);border:1px solid var(--line)}.auth-box h1{font:40px 'Playfair Display',Georgia,serif}.auth-form label{display:block;margin:12px 0 5px}.auth-form input{width:100%}.auth-form .button{width:100%;margin-top:20px}.auth-message{color:var(--gold)}.content-page{max-width:850px;margin:0 auto;padding:60px 24px 90px}.content-page h1{font:48px 'Playfair Display',Georgia,serif}.content-page h2{font:28px 'Playfair Display',Georgia,serif;margin-top:35px}.content-page p{color:var(--taupe)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
