
:root{
  --bg:#ffffff; --ink:#171717; --muted:#777; --line:#e9e9e5;
  --soft:#f5f5f1; --sage:#a8b7a1; --sage-dark:#64735f;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.topbar{background:#171717;color:#fff;text-align:center;font-size:12px;letter-spacing:.08em;padding:10px}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--max);margin:auto;height:76px;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;padding:0 28px}
.logo{font-size:26px;letter-spacing:.22em;font-weight:600}
.logo span{color:var(--sage-dark)}
.nav{display:flex;justify-content:center;gap:28px;font-size:13px}
.actions{display:flex;justify-content:flex-end;gap:14px}
.icon-btn{border:0;background:none;cursor:pointer;padding:8px}
.hero{max-width:var(--max);margin:auto;padding:28px}
.hero-card{min-height:530px;background:linear-gradient(135deg,#f1f3ef,#dce3d8);display:flex;align-items:flex-end;padding:58px;position:relative;overflow:hidden}
.hero-card:after{content:"+";position:absolute;right:6%;top:2%;font-size:420px;line-height:1;color:rgba(255,255,255,.42);font-weight:200}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.hero h1{font-size:64px;line-height:.98;margin:12px 0 18px;font-weight:500;max-width:700px}
.hero p{max-width:540px;font-size:16px;line-height:1.65}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #171717;background:#171717;color:#fff;padding:14px 22px;min-width:150px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.btn.ghost{background:#fff;color:#171717}
.section{max-width:var(--max);margin:auto;padding:72px 28px}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.section h2{font-size:34px;font-weight:500;margin:0}
.section-note{font-size:13px;color:var(--muted)}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.category{background:var(--soft);min-height:280px;padding:28px;display:flex;align-items:flex-end;font-size:19px;position:relative;overflow:hidden}
.category:before{content:"+";position:absolute;right:-12px;top:-52px;font-size:230px;color:#fff}
.shop-tools{display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:28px}
.filters{display:flex;gap:10px;flex-wrap:wrap}
select,.search{border:0;background:transparent;padding:9px 8px;border-bottom:1px solid var(--line)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 14px}
.card{position:relative}
.product-image{aspect-ratio:4/5;background:var(--soft);overflow:hidden;display:block}
.product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.card:hover .product-image img{transform:scale(1.02)}
.badge{position:absolute;top:12px;left:12px;background:#fff;padding:7px 9px;font-size:11px;letter-spacing:.08em}
.meta{padding-top:14px}
.brand{font-size:11px;letter-spacing:.12em;color:#777;text-transform:uppercase}
.product-name{font-size:15px;margin:6px 0 8px}
.price{font-size:14px}
.old{color:#999;text-decoration:line-through;margin-right:7px}
.add{width:100%;margin-top:12px;background:#fff;color:#171717;border:1px solid #171717;padding:12px;cursor:pointer;opacity:0;transform:translateY(6px);transition:.2s}
.card:hover .add{opacity:1;transform:none}
.footer{border-top:1px solid var(--line);padding:52px 28px}
.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px}
.footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.footer p,.footer a{font-size:13px;color:#666;line-height:1.8;display:block}
.drawer{position:fixed;right:-430px;top:0;width:min(420px,94vw);height:100vh;background:#fff;z-index:100;padding:24px;box-shadow:-20px 0 50px rgba(0,0,0,.12);transition:.3s;overflow:auto}
.drawer.open{right:0}
.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}
.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:72px;height:90px;object-fit:cover;background:var(--soft)}
.admin-link{position:fixed;left:14px;bottom:14px;background:#fff;border:1px solid var(--line);padding:8px 10px;font-size:11px;z-index:30}
.product-detail{max-width:var(--max);margin:auto;padding:32px 28px 80px;display:grid;grid-template-columns:1.2fr .8fr;gap:48px}
.product-detail .gallery{background:var(--soft)}
.product-detail .gallery img{width:100%;display:block}
.product-detail .info{position:sticky;top:110px;height:max-content;padding-top:20px}
.product-detail h1{font-size:36px;font-weight:500}
.accordion{border-top:1px solid var(--line);margin-top:28px}
.accordion div{padding:18px 0;border-bottom:1px solid var(--line)}
.admin-wrap{max-width:1200px;margin:40px auto;padding:0 24px}
.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:30px}
.panel{border:1px solid var(--line);padding:22px}
.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font-size:12px;color:#666}
.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid var(--line);background:#fff}
.admin-list{display:grid;gap:10px}
.admin-row{display:grid;grid-template-columns:1fr 120px 140px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}
.small-btn{border:1px solid #222;background:#fff;padding:8px 10px;cursor:pointer}
@media(max-width:900px){
  .header-inner{grid-template-columns:1fr auto;height:66px}
  .nav{display:none}.actions{grid-column:2}
  .hero-card{min-height:430px;padding:32px}.hero h1{font-size:44px}
  .category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
  .product-detail{grid-template-columns:1fr;gap:20px}
  .product-detail .info{position:static}
  .admin-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .hero,.section{padding-left:16px;padding-right:16px}
  .hero-card{min-height:380px;padding:24px}.hero h1{font-size:36px}
  .category-grid{grid-template-columns:1fr 1fr}
  .product-grid{grid-template-columns:1fr 1fr;gap:24px 10px}
  .add{opacity:1;transform:none;font-size:10px}
  .footer-inner{grid-template-columns:1fr}
  .section{padding-top:50px;padding-bottom:50px}
}

.promo-banner-card{
  min-height:420px;
  background:#eef1eb;
  background-size:cover;
  background-position:center;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.promo-banner-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.42));
}
.promo-banner-overlay{
  position:relative;
  z-index:2;
  padding:42px;
  color:#fff;
  max-width:680px;
}
.promo-banner-overlay h2{
  font-size:42px;
  line-height:1.05;
  margin:10px 0 14px;
}
.promo-banner-overlay p{line-height:1.6;max-width:560px}
@media(max-width:520px){
  .promo-banner-card{min-height:340px}
  .promo-banner-overlay{padding:24px}
  .promo-banner-overlay h2{font-size:32px}
}
