:root{--ink:#17231c;--green:#173f2b;--green-2:#24583e;--cream:#f5f0e6;--paper:#fffdf8;--gold:#c49a58;--muted:#6b716d;--line:rgba(23,63,43,.14);--shadow:0 24px 70px rgba(15,38,27,.12);--danger:#a64135;--success:#2d6c49}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",system-ui,sans-serif;line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{width:100%;height:100%;object-fit:cover;display:block}button,input,select,textarea{font:inherit}.container{width:min(100% - 48px,1180px);margin-inline:auto}h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;line-height:1.06;margin:0}h1{font-size:clamp(3rem,7vw,6.4rem);letter-spacing:-.055em}h2{font-size:clamp(2.2rem,4.8vw,4.6rem);letter-spacing:-.04em}h3{font-size:1.6rem}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;color:var(--gold)}.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.muted{color:var(--muted)}
body.is-loading{overflow:hidden}.page-loader{position:fixed;z-index:1000;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 42%,#285b40 0,#173f2b 38%,#0b281b 100%);opacity:1;visibility:visible;transition:opacity .32s ease,visibility .32s ease}.page-loader[hidden]{display:none}.page-loader.is-leaving{opacity:0;visibility:hidden}.loader-aura{position:absolute;width:min(72vw,680px);aspect-ratio:1;border:1px solid rgba(228,201,145,.11);border-radius:50%;box-shadow:0 0 0 55px rgba(228,201,145,.025),0 0 0 110px rgba(228,201,145,.018);animation:loader-breathe 2.4s ease-in-out infinite}.loader-brand{position:relative;width:92px;height:92px;display:grid;place-items:center}.loader-mark{position:relative;z-index:2;font:italic 600 3.4rem/1 "Playfair Display",Georgia,serif;color:#f0d9a6;transform:translateX(-2px)}.loader-ring{position:absolute;inset:0;border:1px solid rgba(240,217,166,.32);border-radius:50%}.loader-ring:before,.loader-ring:after{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid transparent;border-top-color:#d6af69;animation:loader-turn 1.45s cubic-bezier(.65,.05,.36,1) infinite}.loader-ring:after{inset:8px;border-width:1px;border-top-color:transparent;border-bottom-color:rgba(255,255,255,.55);animation-direction:reverse;animation-duration:2.1s}.loader-wordmark{margin-top:25px;font-size:.78rem;font-weight:700;letter-spacing:.34em;text-indent:.34em}.loader-rule{width:150px;height:1px;margin:23px 0 16px;background:rgba(255,255,255,.13);overflow:hidden}.loader-rule span{display:block;width:42%;height:100%;background:linear-gradient(90deg,transparent,#e4c991,transparent);animation:loader-glide 1.3s ease-in-out infinite}.page-loader p{margin:0;color:rgba(255,255,255,.58);font-size:.76rem;letter-spacing:.08em}.image-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#f3ecdd,#e5dcc9);color:rgba(23,63,43,.48);font:italic 600 2rem/1 "Playfair Display",Georgia,serif}.mini-item .image-placeholder{width:48px;height:48px}.admin-product-name .image-placeholder{width:52px;height:52px;border-radius:3px}@keyframes loader-turn{to{transform:rotate(360deg)}}@keyframes loader-glide{from{transform:translateX(-110%)}to{transform:translateX(350%)}}@keyframes loader-breathe{50%{transform:scale(1.045);opacity:.72}}
.site-nav{position:sticky;z-index:50;top:0;color:var(--ink);background:rgba(255,253,248,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.brand-mark{width:38px;height:38px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display";font-style:italic}.nav-links{display:flex;gap:22px;align-items:center;font-size:.92rem}.nav-links>a:not(.btn){opacity:.82}.nav-links>a:hover,.nav-links>a[aria-current="page"]{opacity:1}.shop-nav-cta{min-height:42px;padding:0 18px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--gold);color:#122b1e;font-weight:700;opacity:1!important;box-shadow:0 9px 24px rgba(23,63,43,.13);transition:.2s ease}.shop-nav-cta:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(23,63,43,.2)}.account-nav-link{min-height:40px;padding:0 13px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;opacity:1!important;font-weight:700}.account-nav-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--green);font-size:.68rem}.account-nav-link.signed-in{border-color:rgba(196,154,88,.5);background:#faf5e9}.cart-link{display:inline-flex!important;align-items:center;gap:8px}.cart-count{min-width:23px;height:23px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--green);color:#fff;font-size:.72rem;font-weight:700}.menu{display:none;background:none;border:0;color:inherit;font-size:1.5rem;padding:8px;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-weight:700;transition:.25s ease;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.12)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-dark{background:var(--green);color:#fff}.btn-light{background:#fff;color:var(--green)}.btn-outline{border-color:var(--green);color:var(--green);background:transparent}.btn-small{min-height:42px;padding:0 18px;font-size:.86rem}.icon-btn{border:1px solid var(--line);background:var(--paper);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.link-btn{border:0;background:none;color:var(--green);font-weight:700;padding:0;cursor:pointer}.link-danger{color:var(--danger)}
.page-hero{padding:82px 0 68px;background:var(--green);color:#fff;overflow:hidden;position:relative}.page-hero h1{overflow-wrap:anywhere}.page-hero:after{content:"H";position:absolute;right:5vw;top:-80px;font-family:"Playfair Display";font-size:22rem;color:rgba(255,255,255,.035);line-height:1}.page-hero .eyebrow{color:#e4c991}.page-hero p{max-width:590px;color:rgba(255,255,255,.72);font-size:1.02rem;margin:20px 0 0}.store-section{padding:76px 0 110px}.toolbar{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:22px;align-items:center;margin-bottom:36px;min-width:0;max-width:100%}.search-wrap,.categories{min-width:0;max-width:100%}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px}.search-input{width:100%;min-height:54px;border:1px solid var(--line);background:#fff;padding:0 20px 0 50px;outline:none}.search-input:focus{border-color:var(--green)}.categories{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:600;cursor:pointer}.filter-chip.active{background:var(--green);color:#fff;border-color:var(--green)}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.shop-card{background:#fff;border:1px solid var(--line);transition:.3s ease;display:flex;flex-direction:column}.shop-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.shop-card-media{aspect-ratio:1/1;overflow:hidden;background:var(--cream);position:relative}.shop-card-media img{transition:.6s ease}.shop-card:hover img{transform:scale(1.035)}.stock-badge{position:absolute;left:16px;top:16px;padding:7px 11px;border-radius:999px;background:rgba(255,253,248,.92);font-size:.72rem;font-weight:700}.stock-badge.low{color:#8a5a16}.stock-badge.out{color:var(--danger)}.shop-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.card-category{text-transform:uppercase;letter-spacing:.13em;color:var(--gold);font-size:.7rem;font-weight:700}.shop-card h3{margin:7px 0 9px}.shop-card p{font-size:.9rem;color:var(--muted);margin:0 0 18px}.price-row{display:flex;align-items:baseline;gap:9px;margin-top:auto}.price{font-size:1.2rem;font-weight:700;color:var(--green)}.old-price{text-decoration:line-through;color:#929793;font-size:.9rem}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.card-actions .btn{min-height:44px;padding:0 12px;font-size:.82rem}.empty-state{text-align:center;padding:70px 20px;border:1px dashed var(--line);grid-column:1/-1}.empty-state h3{margin-bottom:10px}
.product-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}.gallery-main{aspect-ratio:1/1;background:var(--cream);overflow:hidden}.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.gallery-thumb{border:2px solid transparent;padding:0;background:var(--cream);aspect-ratio:1;cursor:pointer}.gallery-thumb.active{border-color:var(--green)}.product-detail .category-label{color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem}.product-detail h1{font-size:clamp(2.8rem,5vw,5rem);margin:12px 0 20px}.product-detail .description{color:var(--muted);font-size:1.03rem}.detail-price{margin:28px 0 10px}.detail-price .price{font-size:1.65rem}.availability{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem}.availability:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success)}.availability.out:before{background:var(--danger)}.purchase-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.quantity{display:inline-flex;align-items:center;border:1px solid var(--line);height:50px}.quantity button{width:42px;height:48px;border:0;background:transparent;cursor:pointer}.quantity input{width:45px;border:0;text-align:center;background:transparent;font-weight:700}.related{padding-top:90px}.related-head{margin-bottom:30px}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.5fr);gap:42px;align-items:start}.cart-list{display:grid;gap:14px}.cart-item{display:grid;grid-template-columns:116px 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);padding:14px}.cart-item-image{aspect-ratio:1;background:var(--cream)}.cart-item h3{font-size:1.25rem;margin-bottom:4px}.cart-item-price{font-size:.9rem;color:var(--muted)}.cart-item-controls{display:flex;align-items:center;gap:15px;margin-top:13px}.summary-card{background:var(--cream);padding:30px;position:sticky;top:112px}.summary-card h3{margin-bottom:22px}.summary-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0}.summary-total{border-top:1px solid var(--line);margin-top:10px;padding-top:20px;font-size:1.15rem;font-weight:700}.summary-card .btn{width:100%;margin-top:22px}.summary-card .btn+.btn{margin-top:9px}.mini-items{display:grid;gap:12px;margin-bottom:18px}.mini-item{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;font-size:.82rem}.mini-item img{height:48px}.mini-item b{display:block}
.panel{background:#fff;border:1px solid var(--line);padding:34px}.panel+.panel{margin-top:20px}.panel h3{margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#59635d}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #cfd4cf;background:transparent;padding:11px 0;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}.checkout-submit{margin-top:24px;width:100%}.notice{padding:14px 17px;border-left:3px solid var(--gold);background:#faf5e9;color:#685a3b;font-size:.88rem;margin-bottom:20px}.notice.error{border-color:var(--danger);background:#fff2f0;color:var(--danger)}.notice.success{border-color:var(--success);background:#eff8f2;color:var(--success)}
.auth-box{text-align:center;max-width:600px;margin:0 auto;padding:54px 35px;background:#fff;border:1px solid var(--line)}.auth-box h2{font-size:2.8rem;margin-bottom:12px}.auth-box p{color:var(--muted);margin-bottom:24px}.google-placeholder{min-height:44px;display:flex;justify-content:center}.success-card{max-width:760px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);padding:55px}.success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:1.8rem;margin:0 auto 24px}.success-card h1{font-size:clamp(2.6rem,5vw,4.7rem)}.success-card>p{color:var(--muted);margin:15px 0 30px}.order-number{display:inline-block;background:var(--cream);padding:10px 18px;margin-bottom:24px;font-weight:700;letter-spacing:.06em}
.account-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.orders-table{width:100%;border-collapse:collapse;background:#fff}.orders-table th,.orders-table td{text-align:left;padding:17px 15px;border-bottom:1px solid var(--line);font-size:.9rem}.orders-table th{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:.7rem}.status{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf5ef;color:var(--green);font-size:.72rem;font-weight:700}.status.pending{background:#faf0dc;color:#815c1f}.status.cancelled,.status.failed{background:#fae9e7;color:var(--danger)}
.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 89px)}.admin-sidebar{background:var(--green);color:#fff;padding:38px 24px}.admin-sidebar h3{font-size:1.4rem;margin-bottom:24px}.admin-nav{display:grid;gap:7px}.admin-nav a{padding:11px 13px;color:rgba(255,255,255,.72);border-radius:6px}.admin-nav a.active,.admin-nav a:hover{background:rgba(255,255,255,.1);color:#fff}.admin-main{padding:48px;min-width:0}.admin-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-title h1{font-size:3rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid var(--line);padding:24px}.stat-card span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}.stat-card strong{font-family:"Playfair Display";font-size:2rem;color:var(--green)}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line)}.admin-actions{display:flex;gap:8px}.admin-form{display:grid;gap:16px}.modal{position:fixed;inset:0;z-index:100;background:rgba(7,21,14,.68);display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-card{background:var(--paper);padding:34px;width:min(100%,650px);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.modal-head button{border:0;background:none;font-size:1.5rem;cursor:pointer}.toast{position:fixed;z-index:150;right:24px;bottom:24px;background:var(--green);color:#fff;padding:14px 20px;box-shadow:var(--shadow);transform:translateY(120px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}.skeleton{background:linear-gradient(90deg,#eee9df 25%,#f8f4ed 50%,#eee9df 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton-card{height:460px}@keyframes shimmer{to{background-position:-200% 0}}footer{background:#0a2117;color:rgba(255,255,255,.65);padding:28px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.82rem}.footer-inner b{color:#fff;letter-spacing:.1em}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px}.footer-links a{color:rgba(255,255,255,.72);transition:color .2s ease}.footer-links a:hover{color:#fff}
.admin-nav-link{font-weight:700;color:var(--green)}.admin-nav-link[hidden]{display:none}.admin-title-copy p{margin:7px 0 0;color:var(--muted)}.admin-actions{align-items:center;white-space:nowrap}.admin-product-name{display:flex;align-items:center;gap:12px;min-width:230px}.admin-product-name img{width:52px;height:52px;background:var(--cream);border-radius:3px}.admin-product-name small{display:block;color:var(--muted);margin-top:3px}.admin-form textarea{min-height:110px;resize:vertical}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin-image-upload{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;padding:16px;background:var(--cream);border:1px solid var(--line)}.admin-image-upload>img,.admin-image-upload>.image-placeholder{width:110px;height:110px}.admin-image-upload input[type=file]{width:100%;margin-bottom:8px}.admin-image-upload small{display:block;color:var(--muted);line-height:1.45}
@media(max-width:980px){.shop-grid{grid-template-columns:repeat(2,1fr)}.product-layout{gap:38px}.cart-layout,.checkout-layout{grid-template-columns:1fr}.summary-card{position:static}.stat-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:190px 1fr}.admin-main{padding:34px 24px}}
@media(max-width:800px){.nav-links{display:none;position:absolute;top:74px;left:14px;right:14px;padding:24px;flex-direction:column;align-items:stretch;background:var(--paper);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.15)}.nav-links.open{display:flex}.menu{display:block}.nav-inner{height:74px}.page-hero{padding:62px 0 54px}.toolbar{grid-template-columns:1fr}.product-layout{grid-template-columns:1fr}.product-detail h1{font-size:3.4rem}.admin-shell{display:block}.admin-sidebar{padding:18px 24px}.admin-sidebar h3{display:none}.admin-nav{display:flex;overflow:auto}.admin-nav a{white-space:nowrap}.admin-main{padding:34px 20px}.orders-table thead{display:none}.orders-table,.orders-table tbody,.orders-table tr,.orders-table td{display:block}.orders-table tr{padding:13px;border-bottom:1px solid var(--line)}.orders-table td{border:0;padding:5px 2px}.orders-table td:before{content:attr(data-label);display:inline-block;width:42%;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--muted)}}
@media(max-width:580px){.container{width:min(100% - 28px,1180px)}.store-section{padding:55px 0 78px}.shop-grid{grid-template-columns:1fr}.card-actions{grid-template-columns:1fr}.cart-item{grid-template-columns:82px 1fr}.cart-item>strong{grid-column:2}.cart-item-controls{gap:10px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel,.summary-card{padding:24px 20px}.purchase-row>*{width:100%}.purchase-row .quantity{width:max-content}.stat-grid{grid-template-columns:1fr}.admin-title{align-items:flex-start;flex-direction:column}.admin-form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.success-card{padding:38px 20px}.account-head{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.loader-aura,.loader-ring:before,.loader-ring:after,.loader-rule span{animation:none}.page-loader{transition:none}}
.account-nav-link{position:relative;min-height:42px;max-width:220px;padding:4px 14px 4px 5px;gap:9px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}.account-nav-link:hover{transform:translateY(-1px);border-color:rgba(23,63,43,.28);box-shadow:0 9px 24px rgba(15,38,27,.1)}.account-nav-icon{width:31px;height:31px;flex:0 0 31px;overflow:hidden;background:var(--green);color:#fff;border:1px solid rgba(255,255,255,.62);box-shadow:0 2px 8px rgba(15,38,27,.16);font-family:"Playfair Display",Georgia,serif;font-size:.64rem;letter-spacing:.02em}.account-nav-icon img{width:100%;height:100%;object-fit:cover}.account-nav-link [data-account-label]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-nav-link.signed-in{padding-right:31px;border-color:rgba(196,154,88,.42);background:linear-gradient(135deg,#fffdf8,#f7efdf);box-shadow:0 7px 22px rgba(32,53,40,.08);color:var(--green)}.account-nav-link.signed-in:after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-52%);color:var(--gold);font:600 1.15rem/1 "Playfair Display",Georgia,serif}.account-nav-link.signed-in:hover{border-color:rgba(196,154,88,.72);box-shadow:0 11px 28px rgba(32,53,40,.13)}
.brand-mark{width:42px;height:42px;border:0;border-radius:0;font-family:inherit;font-style:normal}.brand-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 7px rgba(0,0,0,.18))}.loader-mark{width:68px;height:68px;display:grid;place-items:center;transform:none}.loader-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.3))}
