:root {
  --ink: #24231f;
  --muted: #77736a;
  --cream: #f7f2e9;
  --paper: #fffdf9;
  --line: #e5ded2;
  --terracotta: #a85635;
  --terracotta-dark: #7d3e27;
  --sage: #6d7963;
  --gold: #c39a5b;
  --shadow: 0 18px 50px rgba(58, 44, 30, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--ink); background: var(--paper);
  font-family: "DM Sans", sans-serif;
}
.top-strip {
  background: var(--ink); color: #f8f0df; text-align: center;
  font-size: 10px; letter-spacing: 2.4px; padding: 9px 15px;
}
.site-header {
  height: 82px; padding: 0 6%; display: flex; align-items: center;
  justify-content: space-between; background: rgba(255,253,249,.92);
  border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20;
  backdrop-filter: blur(14px);
}
.brand { display: flex; gap: 11px; align-items: center; }
.brand-name { font: 800 clamp(15px, 3.3vw, 21px) "Playfair Display", Georgia, serif; letter-spacing: .7px; white-space: nowrap; color: var(--terracotta-dark); }
.brand-sub { color: var(--muted); font-size: 8px; letter-spacing: 2.3px; margin-top: 1px; }
.admin-link { color: var(--ink); text-decoration: none; font-size: 12px; font-weight: 700; }
.hero {
  min-height: 620px; background: var(--cream); padding: 80px 8%;
  display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; position: relative;
}
.hero-copy { align-self: center; max-width: 600px; z-index: 2; }
.eyebrow { font-size: 10px; letter-spacing: 2.5px; font-weight: 800; color: var(--terracotta); }
h1, h2, h3 { font-family: "Playfair Display", serif; }
h1 { font-size: clamp(52px, 6vw, 88px); line-height: .95; margin: 18px 0 24px; letter-spacing: -3px; }
h1 em { color: var(--terracotta); font-style: italic; }
.hero-copy p { color: var(--muted); max-width: 520px; line-height: 1.8; font-size: 15px; }
.hero-btn {
  display: inline-flex; gap: 28px; margin-top: 24px; padding: 15px 20px;
  background: var(--ink); color: white; text-decoration: none; font-size: 12px;
  font-weight: 700; letter-spacing: 1px;
}
.hero-art { position: relative; min-height: 450px; }
.sun { position: absolute; width: 290px; height: 290px; border-radius: 50%; background: #e5c58e; right: 10%; top: 8%; opacity: .65; }
.plate { position: absolute; border-radius: 50%; box-shadow: 0 28px 45px rgba(0,0,0,.16); }
.plate-back { width: 310px; height: 310px; right: 12%; top: 17%; background: #e9dfcd; border: 17px solid #d5c5a9; }
.plate-front { width: 220px; height: 220px; right: 28%; top: 38%; background: #f9f4e9; border: 11px solid #b9a889; }
.bowl { position: absolute; width: 175px; height: 78px; border-radius: 0 0 100px 100px; background: #a85635; right: 22%; top: 51%; box-shadow: 0 25px 30px rgba(0,0,0,.15); }
.spoon { position: absolute; width: 15px; height: 230px; background: #8d7655; border-radius: 20px; transform: rotate(27deg); }
.spoon:before { content:""; position:absolute; width:50px; height:70px; border-radius:50%; background:#9b835f; left:-18px; top:-28px; }
.spoon-a { right: 12%; top: 25%; } .spoon-b { right: 46%; top: 18%; transform: rotate(-20deg); }
.categories-section, .catalog-section { padding: 90px 7%; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom: 35px; }
.section-heading h2 { font-size: 43px; margin: 8px 0 0; }
.muted { color: var(--muted); font-size: 12px; }
.category-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.category-card {
  border:1px solid var(--line); background:white; padding:25px 20px; cursor:pointer;
  transition:.2s; min-height:130px; position:relative;
}
.category-card:hover, .category-card.active { transform:translateY(-4px); border-color:var(--terracotta); box-shadow:var(--shadow); }
.category-icon { font-size:31px; margin-bottom:17px; }
.category-name { font-weight:800; font-size:14px; }
.category-desc { color:var(--muted); font-size:11px; line-height:1.5; margin-top:7px; }
.catalog-section { background: #fbf8f1; }
.catalog-heading { align-items:center; }
.search-wrap {
  width:min(330px,100%); border:1px solid var(--line); background:white; padding:11px 14px;
  display:flex; gap:10px; align-items:center;
}
.search-wrap input { border:0; outline:0; width:100%; font:inherit; font-size:12px; background:transparent; }
.active-filter { font-size:11px; color:var(--terracotta); min-height:25px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.product-card { background:white; border:1px solid var(--line); transition:.25s; cursor:pointer; }
.product-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.product-img { height:245px; background:#eee7da; overflow:hidden; position:relative; }
.product-img img { width:100%; height:100%; object-fit:cover; display:block; }
.placeholder { width:100%; height:100%; display:grid; place-items:center; font-size:50px; color:#b7a890; }
.featured { position:absolute; top:12px; left:12px; background:var(--ink); color:white; font-size:9px; padding:7px 9px; letter-spacing:1px; }
.product-info { padding:18px; }
.product-cat { color:var(--terracotta); font-size:9px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; }
.product-name { font:700 20px "Playfair Display"; margin:7px 0; }
.product-desc { color:var(--muted); font-size:11px; line-height:1.55; min-height:34px; }
.product-bottom { display:flex; justify-content:space-between; align-items:end; margin-top:15px; }
.price { font-size:16px; font-weight:800; }
.original-price { color:var(--muted); font-size:.82em; font-weight:500; margin-right:5px; }
.sale-price { color:var(--terracotta); }
.unit { font-size:10px; color:var(--muted); }
.stock { font-size:9px; font-weight:800; color:#637153; letter-spacing:.7px; margin-top:8px; }
.empty { text-align:center; padding:80px 20px; color:var(--muted); }
.empty div { font-size:50px; }
.hidden { display:none !important; }
footer { background:var(--ink); color:#f8f0df; padding:50px 7%; display:flex; justify-content:space-between; }
.footer-brand { font:800 19px "Playfair Display"; letter-spacing:1px; }
footer p { color:#bdb6a8; font-size:11px; }
.footer-address { margin-top:14px; color:#bdb6a8; font-size:11px; font-style:normal; line-height:1.8; }
.footer-address a { color:inherit; text-decoration:none; }
.footer-address a:hover { color:#e0b778; text-decoration:underline; }
.footer-contact { line-height:2; }
.footer-contact a { color:#e0b778; text-decoration:none; }
.footer-contact a:hover { color:#f8f0df; text-decoration:underline; }
.footer-right { text-align:right; }
.modal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:25px; }
.modal-backdrop { position:absolute; inset:0; background:rgba(22,20,16,.65); backdrop-filter:blur(4px); }
.modal-card { position:relative; width:min(880px,100%); max-height:90vh; overflow:auto; background:var(--paper); display:grid; grid-template-columns:1fr 1fr; box-shadow:0 30px 100px rgba(0,0,0,.3); z-index:2; }
.modal-card > img { width:100%; height:100%; min-height:450px; object-fit:cover; background:#eee7da; }
.modal-info { padding:50px 42px; align-self:center; }
.modal-info h2 { font-size:42px; margin:12px 0; }
.modal-info p { color:var(--muted); line-height:1.7; font-size:13px; }
.modal-price { font-size:25px; font-weight:800; margin:24px 0 6px; }
.shop-note { border-top:1px solid var(--line); padding-top:17px; }
.close { position:absolute; right:14px; top:12px; z-index:4; border:0; background:white; width:35px; height:35px; border-radius:50%; font-size:24px; cursor:pointer; }
@media(max-width:1000px) { .product-grid{grid-template-columns:repeat(3,1fr)} .hero{padding:60px 6%} }
@media(max-width:750px) {
  .hero{grid-template-columns:1fr; min-height:auto; padding:65px 7% 30px}.hero-art{min-height:390px}
  .product-grid{grid-template-columns:repeat(2,1fr)} .categories-section,.catalog-section{padding:60px 5%}
  .section-heading{align-items:start; gap:20px; flex-direction:column}.catalog-heading{flex-direction:column}
  .search-wrap{width:100%} footer{flex-direction:column;gap:25px}.footer-right{text-align:left}
  .modal-card{grid-template-columns:1fr}.modal-card > img{height:300px;min-height:0}.modal-info{padding:30px}
}
@media(max-width:470px) { .product-grid{grid-template-columns:1fr}.product-img{height:280px}.hero h1{font-size:48px} }

.header-actions{display:flex;align-items:center;gap:20px}.cart-trigger{border:1px solid var(--ink);background:var(--ink);color:white;padding:10px 15px;font:700 12px "DM Sans",sans-serif;cursor:pointer}.cart-trigger span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:7px;padding:0 5px;border-radius:20px;background:#e5c58e;color:var(--ink)}.cart-trigger:disabled{opacity:.55;cursor:wait}.add-cart{width:100%;margin-top:16px;padding:12px;border:0;background:var(--ink);color:white;font:700 11px "DM Sans",sans-serif;letter-spacing:.5px;cursor:pointer}.add-cart:hover{background:var(--terracotta-dark)}.add-cart:disabled{background:#aaa49a;cursor:not-allowed}.cart-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}.cart-backdrop{position:absolute;inset:0;background:rgba(22,20,16,.68);backdrop-filter:blur(4px)}.cart-panel{position:relative;z-index:1;width:min(1100px,100%);max-height:94vh;overflow:auto;background:var(--paper);padding:35px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.cart-heading{position:relative;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.cart-heading h2{margin:5px 45px 0 0;font-size:32px}.cart-heading .close{top:0;right:0;border:1px solid var(--line)}.cart-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:38px;padding-top:22px}.cart-layout h3{font-size:21px;margin:0 0 18px}.cart-summary{min-width:0}.cart-item{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.cart-item>img,.cart-item-image{width:64px;height:64px;object-fit:cover;background:var(--cream)}.cart-item-image{display:grid;place-items:center;font-size:25px}.cart-item-copy{display:grid;gap:5px;min-width:0}.cart-item-copy strong{font-size:13px}.cart-item-copy>span{font-size:11px;color:var(--muted)}.cart-line-total{font-size:12px;white-space:nowrap}.quantity-control{display:flex;align-items:center;gap:9px;margin-top:4px}.quantity-control button{width:26px;height:25px;border:1px solid var(--line);background:white;cursor:pointer}.quantity-control span{font-size:12px}.quantity-control .remove-cart{width:auto;border:0;color:var(--terracotta-dark);font-size:10px;margin-left:5px}.cart-empty{color:var(--muted);font-size:13px;padding:25px 0}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:14px}.cart-total strong{font-size:20px}.checkout-form{background:#faf7f0;padding:24px}.checkout-form label{display:block;margin:12px 0;font-size:11px;font-weight:700;color:#504c44}.checkout-form input,.checkout-form textarea{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid var(--line);background:white;font:12px "DM Sans",sans-serif;color:var(--ink);resize:vertical}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.place-order{width:100%;justify-content:center;border:0;cursor:pointer}.place-order:disabled{opacity:.5;cursor:not-allowed}.checkout-note,.checkout-message{font-size:10px;line-height:1.5;color:var(--muted)}.checkout-message{min-height:0;margin:10px 0}.checkout-message:empty{display:none}.success-message{color:#35613b;font-weight:700}.error-message{color:#a13e2e;font-weight:700}
@media(max-width:750px){.header-actions{gap:10px}.cart-panel{padding:25px 18px}.cart-layout{grid-template-columns:1fr;gap:20px}.cart-panel{max-height:96vh}.cart-heading h2{font-size:26px}.checkout-form{padding:18px}}
@media(max-width:420px){.site-header{padding:0 4%}.brand-name{font-size:clamp(13px,3.8vw,16px);letter-spacing:.3px}.brand-sub{font-size:7px;letter-spacing:1.4px}.admin-link{font-size:10px}.cart-trigger{padding:8px 9px;font-size:10px}.header-actions{gap:8px}.cart-item{grid-template-columns:50px 1fr auto;gap:9px}.cart-item>img,.cart-item-image{width:50px;height:50px}.cart-line-total{font-size:10px}}

.success-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.success-backdrop{position:absolute;inset:0;background:rgba(24,25,21,.7);backdrop-filter:blur(6px)}.success-card{position:relative;width:min(490px,100%);padding:48px 42px 42px;background:var(--paper);text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.3);animation:success-pop .42s cubic-bezier(.2,.8,.2,1) both}.success-close{position:absolute;right:15px;top:14px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:22px;cursor:pointer}.success-check{width:76px;height:76px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:#e7efe2;color:#4e7148;animation:success-check-pop .55s .12s both}.success-check svg{width:48px;height:48px}.success-check path{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:success-draw .4s .35s ease-out forwards}.success-card>.eyebrow{display:block}.success-card h2{font-size:30px;line-height:1.15;margin:12px 0}.success-card>p{font-size:13px;line-height:1.65;color:var(--muted)}.success-reference{display:grid;gap:5px;margin:24px 0 14px;padding:14px;background:var(--cream)}.success-reference span{font-size:9px;font-weight:800;letter-spacing:1.5px;color:var(--muted)}.success-reference strong{font-size:19px;letter-spacing:2px}.success-followup{margin-bottom:20px}.success-continue{justify-content:center;border:0;cursor:pointer}
@keyframes success-pop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes success-check-pop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes success-draw{to{stroke-dashoffset:0}}@media(max-width:480px){.success-card{padding:44px 24px 28px}.success-card h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.success-card,.success-check{animation:none}.success-check path{animation:none;stroke-dashoffset:0}}
