:root{--ink:#1e241f;--cream:#f7f3ea;--paper:#fffdf8;--rust:#9a4429;--rust-dark:#71311f;--sage:#657665;--gold:#c69b48;--line:#ddd4c4;--shadow:0 12px 30px rgba(35,35,25,.10)}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);line-height:1.5}
a{color:inherit}
.wrap{width:min(1160px,92%);margin:auto}
.topbar{background:var(--ink);color:#fff;text-align:center;padding:.55rem;font-size:.92rem}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.brand{text-decoration:none;font-weight:900;letter-spacing:.04em;font-size:1.3rem}
.brand span{color:var(--rust)}
.nav-links{display:flex;gap:1rem}
.nav-links a{text-decoration:none;font-weight:700}
.hero{padding:4.6rem 0 3.6rem;background:linear-gradient(135deg,#263128,#111813);color:#fff}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;color:#ecd59e;font-weight:800}
.hero h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.02;margin:.4rem 0 1rem}
.hero p{font-size:1.15rem;max-width:680px;color:#eef1eb}
.hero-card{background:#fff;color:var(--ink);padding:1.6rem;border-radius:18px;box-shadow:var(--shadow)}
.hero-card strong{display:block;font-size:1.2rem;margin-bottom:.4rem;color:var(--ink)}
.hero .hero-card p{color:var(--ink)!important}
.hero-card .small,.hero-card .muted{color:#62665e!important}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:10px;padding:.9rem 1.2rem;font-weight:800;cursor:pointer;background:var(--rust);color:#fff}
.btn:hover{background:var(--rust-dark)}
.btn.secondary{background:transparent;border:2px solid currentColor}
.section{padding:3.5rem 0}
.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.4rem}
.section h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0}
.muted{color:#62665e}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.5rem}
.filter{border:1px solid var(--line);background:var(--paper);padding:.55rem .8rem;border-radius:999px;font-weight:700;cursor:pointer}
.filter.active{background:var(--ink);color:#fff}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.product-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(35,35,25,.06);display:flex;flex-direction:column}
.product-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#e9e2d6}
.card-body{padding:1rem;display:flex;flex-direction:column;flex:1}
.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rust);font-weight:900}
.product-card h3{margin:.25rem 0 .35rem;font-size:1.15rem}
.price{font-weight:900;margin-top:auto;padding-top:.65rem}
.card-actions{display:flex;gap:.55rem;margin-top:.8rem}
.card-actions .btn{flex:1;padding:.7rem}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.step{background:var(--paper);padding:1.4rem;border:1px solid var(--line);border-radius:14px}
.step-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--rust);color:#fff;font-weight:900}
.notice{background:#fff4d7;border:1px solid #e0bd65;padding:1rem;border-radius:12px}
.footer{background:var(--ink);color:#fff;padding:2rem 0;margin-top:2rem}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;align-items:start}
.product-image{width:100%;border-radius:18px;background:#e9e2d6;border:1px solid var(--line)}
.product-info{background:var(--paper);border:1px solid var(--line);padding:1.6rem;border-radius:18px}
.product-info h1{margin:.2rem 0}
.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}
.field label{display:block;font-weight:800;margin-bottom:.3rem}
.field select,.field input{width:100%;padding:.8rem;border:1px solid #bcb5a8;border-radius:9px;background:#fff;font-size:1rem}
.checkout{width:100%;font-size:1.05rem}
.small{font-size:.88rem}
.empty{text-align:center;padding:3rem;background:var(--paper);border:1px dashed var(--line);border-radius:14px}
.admin-note{font-family:monospace;background:#f0ece3;padding:.25rem .4rem;border-radius:4px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.hero-grid,.product-layout{grid-template-columns:1fr}.hero-card{max-width:520px}.how{grid-template-columns:1fr}}
@media(max-width:560px){.nav-links{display:none}.grid{grid-template-columns:1fr}.option-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.hero{padding-top:3rem}}
/* Product-page ordering and boutique enhancements */
.card-image-wrap,.product-image-wrap{position:relative}
.new-badge{position:absolute;top:.75rem;left:.75rem;z-index:2;background:var(--gold);color:#211b0d;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 3px 10px rgba(0,0,0,.15)}
.product-badge{top:1rem;left:1rem}
.favorite-card{position:absolute;top:.65rem;right:.65rem;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:1.4rem;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.15);color:var(--rust)}
.favorite-card.active{background:var(--rust);color:#fff}
.favorite-product{width:100%;margin-top:.75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:.75rem;font-weight:800;cursor:pointer;color:var(--rust)}
.favorite-product.active{background:#fff0ec;border-color:#d6a08e}
.review-summary{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.75rem 0;color:var(--gold)}
.review-summary strong{color:var(--ink)}
.review-summary small{display:block;width:100%;color:var(--sage)}
.product-tools{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 .2rem}
.text-button{border:0;background:transparent;padding:0;color:var(--rust);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.order-summary{background:#f3efe6;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1.1rem 0}
.order-summary h3{margin:0 0 .65rem}
.order-summary dl{margin:0;display:grid;gap:.45rem}
.order-summary dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed #cfc5b4;padding-bottom:.35rem}
.order-summary dl div:last-child{border:0;padding-bottom:0}
.order-summary dt{font-weight:800}.order-summary dd{margin:0;text-align:right}
.checkout.disabled{background:#aaa49a;cursor:not-allowed;pointer-events:auto}
.checkout-help{margin-top:.65rem}
.product-info hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}
.related-section{grid-column:1/-1;margin-top:1.5rem}
.related-grid{grid-template-columns:repeat(4,1fr)}
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,18,15,.68)}
.modal-panel{position:relative;z-index:1;width:min(680px,96vw);max-height:90vh;overflow:auto;background:var(--paper);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow)}
.modal-close{position:absolute;right:1rem;top:.75rem;border:0;background:transparent;font-size:2rem;cursor:pointer;color:var(--ink)}
.table-wrap{overflow-x:auto}
.size-table{width:100%;border-collapse:collapse;margin:1rem 0}
.size-table th,.size-table td{text-align:left;border-bottom:1px solid var(--line);padding:.7rem}
.size-table th{background:#f3efe6}
body.modal-open{overflow:hidden}
@media(max-width:900px){.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.related-grid{grid-template-columns:1fr}.product-tools{align-items:flex-start;flex-direction:column}.order-summary dl div{flex-direction:column;gap:.1rem}.order-summary dd{text-align:left}}
