
:root{--mustard:#F9B233;--burg:#5B1F22;--burg2:#772A2F;--cream:#FFF8EF;--paper:#fff;--ink:#26191A;--muted:#756568;--line:#E7D9CF;--ok:#2E7D52;--danger:#A72F35;--shadow:0 14px 38px rgba(70,30,30,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.container{width:min(1160px,calc(100% - 28px));margin:auto}
.hero{background:var(--burg);color:#fff;border-bottom:6px solid var(--mustard);overflow:hidden}.hero-inner{min-height:520px;padding:32px 0 42px;display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}.brand{font-weight:950;letter-spacing:.05em}.brand small{display:block;font-size:11px;letter-spacing:.18em;opacity:.72}.hero h1{font-size:clamp(50px,8vw,90px);line-height:.9;letter-spacing:-.055em;margin:28px 0 22px}.hero h1 span{color:var(--mustard)}.hero p{font-size:18px;line-height:1.55;color:#F3E6E0;max-width:600px}.hero-photo{position:relative;background:#F3E4D2;padding:16px;border-radius:32px;box-shadow:0 30px 80px rgba(0,0,0,.25);transform:rotate(2deg)}.hero-photo img{display:block;width:100%;height:400px;object-fit:cover;border-radius:22px}.sticker{position:absolute;left:-18px;bottom:25px;background:var(--mustard);color:var(--burg);font-weight:950;padding:12px 16px;border-radius:15px;transform:rotate(-6deg)}
.toolbar{position:sticky;top:0;z-index:10;background:rgba(255,248,239,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(91,31,34,.08);padding:12px 0}.chips{display:flex;gap:8px;overflow:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:#fff;color:var(--burg);font-weight:850;border-radius:999px;padding:10px 14px;white-space:nowrap}.chip.active{background:var(--burg);color:#fff;border-color:var(--burg)}
.catalog{padding:28px 0 90px}.intro h2{color:var(--burg);font-size:clamp(32px,5vw,54px);letter-spacing:-.045em;margin:0 0 8px}.intro p{color:var(--muted);max-width:720px;line-height:1.6}.search{margin:22px 0}.search input{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:17px;background:#fff;outline:none}.search input:focus{border-color:var(--mustard);box-shadow:0 0 0 4px rgba(249,178,51,.16)}
.section{margin:38px 0}.section h2{font-size:34px;color:var(--burg);letter-spacing:-.03em;margin:0 0 14px}.section h2:after{content:"";display:block;width:64px;height:4px;background:var(--mustard);border-radius:5px;margin-top:8px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 7px 24px rgba(65,28,28,.045)}.product-img{width:100%;height:190px;object-fit:cover;background:#F5ECE3}.product-body{padding:17px}.product-top{display:grid;grid-template-columns:1fr auto;gap:14px}.product h3{font-size:17px;line-height:1.25;margin:0}.price{font-weight:950;color:var(--burg);white-space:nowrap;font-size:18px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.tag{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px;background:#F5ECE3;color:var(--burg)}.tag.hit,.tag.new{background:var(--mustard)}.tag.out{background:#F2E3E3;color:var(--danger)}details{border-top:1px dashed #D8C9C0;margin-top:10px;padding-top:10px}summary{color:var(--burg);font-size:13px;font-weight:850;cursor:pointer}details p{color:var(--muted);font-size:13px;line-height:1.45}.empty{text-align:center;padding:38px;background:#fff;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
.order{margin-top:54px;background:var(--burg);color:#fff;border-radius:28px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.order h2{margin:0 0 6px}.btn{border:0;border-radius:999px;padding:13px 19px;font-weight:900;cursor:pointer}.btn-primary{background:var(--mustard);color:var(--burg)}.btn-dark{background:var(--burg);color:#fff}.btn-light{background:#fff;color:var(--burg);border:1px solid var(--line)}.btn-danger{background:#F8E8E8;color:var(--danger)}footer{background:#351315;color:#F6E8E3;padding:32px 0}
.notice{background:#fff4d8;border:1px solid #F3D58D;color:#6f4a00;border-radius:16px;padding:14px;margin:15px 0}
.admin-body{background:#F7F2EC}.admin-shell{width:min(1080px,calc(100% - 24px));margin:auto;padding:24px 0 80px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.admin-head h1{color:var(--burg);margin:0}.admin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.login-card{width:min(460px,calc(100% - 24px));margin:9vh auto;padding:25px}.field{display:grid;gap:6px;margin:12px 0}.field label{font-size:13px;color:var(--muted);font-weight:750}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.field textarea{min-height:110px;resize:vertical}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.switches{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.switch{background:#F8F1E9;padding:9px 11px;border-radius:12px;font-size:13px}.admin-tools{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.admin-list{display:grid;gap:9px}.admin-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.admin-item strong{display:block}.admin-item small{color:var(--muted)}.actions{display:flex;gap:7px}.actions button{border:0;border-radius:10px;padding:8px 10px;font-weight:800}.modal{position:fixed;inset:0;background:rgba(20,8,9,.55);display:none;z-index:50;padding:18px;overflow:auto}.modal.open{display:block}.modal-card{width:min(680px,100%);margin:3vh auto;background:#fff;border-radius:22px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{border:0;background:#F3EAE2;width:38px;height:38px;border-radius:50%;font-size:20px}.thumb{width:100%;max-height:230px;object-fit:cover;border-radius:14px;background:#eee}.status{font-size:13px;margin:8px 0;color:var(--muted)}
@media(max-width:820px){.hero-inner{grid-template-columns:1fr}.hero-photo{max-width:520px;margin:auto}.grid{grid-template-columns:1fr}.order{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.hero h1{font-size:52px}.hero-photo img{height:290px}.section h2{font-size:28px}.row2{grid-template-columns:1fr}.admin-item{grid-template-columns:1fr}.actions{justify-content:flex-start}}

/* ===== Cart & checkout ===== */
.cart-fab-wrap{position:sticky;top:70px;z-index:9;display:flex;justify-content:flex-end;pointer-events:none}.cart-fab{pointer-events:auto;border:0;background:var(--mustard);color:var(--burg);font-weight:950;border-radius:999px;padding:12px 16px;box-shadow:0 10px 30px rgba(91,31,34,.18);cursor:pointer}.cart-fab span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;margin-left:5px;border-radius:999px;background:var(--burg);color:#fff;font-size:12px}.add-cart{margin-top:14px;width:100%;border:0;border-radius:14px;padding:12px 14px;background:var(--burg);color:#fff;font-weight:900;cursor:pointer}.add-cart.disabled{background:#C9BDB8;color:#fff;cursor:not-allowed}.qty-control{margin-top:14px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:7px}.qty-control button,.cart-qty button{border:0;background:#F5ECE3;color:var(--burg);font-size:20px;font-weight:950;border-radius:12px;height:40px}.qty-control span{text-align:center;font-size:13px;color:var(--muted)}.nutrition{font-size:12px;line-height:1.5;color:var(--muted);background:#FFF7E6;border-radius:10px;padding:9px;margin-top:8px}
.cart-modal{position:fixed;inset:0;z-index:100;background:rgba(31,12,13,.6);display:none;overflow:auto;padding:0}.cart-modal.open{display:block}.no-scroll{overflow:hidden}.cart-sheet{width:min(720px,100%);min-height:100vh;margin-left:auto;background:var(--cream);padding:22px 18px 70px;box-shadow:-20px 0 60px rgba(0,0,0,.2)}.cart-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}.cart-head h2{font-size:36px;color:var(--burg);margin:2px 0}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:950;color:#9A7C68}.cart-close{border:0;background:#F2E6DC;width:42px;height:42px;border-radius:50%;font-size:27px;color:var(--burg)}.cart-line{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:8px 0}.cart-line strong{color:var(--burg)}.cart-line small{display:block;color:var(--muted);margin-top:4px}.cart-qty{display:flex;align-items:center;gap:10px;margin-top:9px}.cart-qty button{width:34px;height:34px}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:21px;padding:18px 4px 9px}.cart-total strong{font-size:25px;color:var(--burg)}.minimum-warn,.minimum-ok{border-radius:14px;padding:12px 13px;margin:8px 0 16px;font-size:13px}.minimum-warn{background:#FFF1D5;color:#745100;border:1px solid #EFCF85}.minimum-ok{background:#E8F4EC;color:#216641;border:1px solid #B9DBC4}.delivery-rules{background:var(--burg);color:#fff;border-radius:22px;padding:17px;margin:16px 0}.delivery-rules h3{margin:0 0 12px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rules-grid div{background:rgba(255,255,255,.09);border-radius:12px;padding:10px}.rules-grid b,.rules-grid span{display:block}.rules-grid span{font-size:12px;color:#EBDAD5;margin-top:3px}.delivery-rules p{font-size:12px;line-height:1.45;color:#EBDAD5;margin:10px 0 0}.checkout-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px;margin-top:16px}.checkout-form h3{color:var(--burg);font-size:23px;margin:0 0 12px}.delivery-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.delivery-tabs input{position:absolute;opacity:0}.delivery-tabs span{display:block;border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;font-weight:850;color:var(--burg);cursor:pointer}.delivery-tabs input:checked+span{background:#FFF0C9;border-color:var(--mustard);box-shadow:0 0 0 2px rgba(249,178,51,.15)}.pickup-info{background:#FFF7E6;color:#62471C;border:1px solid #F0D79A;border-radius:14px;padding:12px;margin:10px 0}.checkout-submit{width:100%;font-size:16px;padding:15px}.order-status{color:var(--danger);font-size:13px;min-height:20px;margin:8px 0}.success-card{text-align:center;background:#EAF6EE;border:1px solid #BFE0C9;border-radius:22px;padding:24px;margin-top:16px}.success-icon{margin:auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#fff;font-size:28px;font-weight:950}.success-card h3{color:var(--burg);font-size:25px;margin:12px 0 5px}.success-card p{margin:6px 0;color:#4E5C53}.reset-order{display:none}.cart-empty{padding:25px}.product-img{height:155px;margin:10px;width:calc(100% - 20px);border-radius:14px}
@media(max-width:520px){.cart-sheet{padding:16px 12px 60px}.rules-grid{grid-template-columns:1fr}.delivery-tabs{grid-template-columns:1fr 1fr}.cart-fab-wrap{top:64px}.product-img{height:125px}.cart-head h2{font-size:31px}}
/* ===== МОИ ЗАКАЗЫ ===== */

.my-orders-modal{
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(0,0,0,.48);
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.my-orders-modal[hidden]{
  display:none !important;
}

.my-orders-sheet{
  width:100%;
  max-width:620px;
  max-height:88vh;
  overflow-y:auto;
  background:#fff;
  border-radius:28px 28px 0 0;
  padding:24px 20px 32px;
  box-shadow:0 -10px 40px rgba(0,0,0,.18);
}

.my-orders-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}

.my-orders-head small{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.5px;
  color:#777;
  margin-bottom:4px;
}

.my-orders-head h2{
  margin:0;
  font-size:30px;
  color:var(--burg);
}

.my-orders-close{
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#f4f4f4;
  font-size:24px;
  cursor:pointer;
}

.my-orders-floating{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:80;
  border:0;
  border-radius:999px;
  padding:13px 18px;
  background:var(--mustard);
  color:#2b211c;
  font-weight:800;
  font-size:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  cursor:pointer;
}

.my-orders-loading,
.my-orders-empty{
  padding:28px 10px;
  text-align:center;
  color:#777;
}

.my-order-card{
  border:1px solid #eadfd8;
  border-radius:18px;
  padding:16px;
  margin-bottom:14px;
  background:#fffaf7;
}

.my-order-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.my-order-number{
  font-weight:900;
  font-size:17px;
  color:var(--burg);
}

.my-order-status{
  display:inline-block;
  padding:7px 10px;
  border-radius:999px;
  background:#fff1c9;
  font-size:12px;
  font-weight:800;
}

.my-order-date{
  color:#777;
  font-size:12px;
  margin-bottom:10px;
}

.my-order-total{
  font-weight:900;
  font-size:18px;
  margin-top:10px;
}

@media(max-width:520px){
  .my-orders-sheet{
    max-height:90vh;
    padding:20px 16px 28px;
  }

  .my-orders-floating{
    right:14px;
    bottom:18px;
  }
}
/* =========================
   НОВОСТИ И ПРЕДЛОЖЕНИЯ
========================= */

.marketing-push-box{
  margin:18px 16px 90px;
  padding:16px;
  border:1px solid #eadfd7;
  border-radius:18px;
  background:#fffaf6;
}

.marketing-push-text strong{
  display:block;
  color:var(--burg);
  font-size:16px;
  font-weight:900;
  margin-bottom:6px;
}

.marketing-push-text small{
  display:block;
  color:#777;
  font-size:13px;
  line-height:1.45;
}

.marketing-push-btn{
  margin-top:12px;
  width:100%;
  border:0;
  border-radius:14px;
  padding:13px 16px;
  background:#F9B233;
  color:#5B1F22;
  font-size:15px;
  font-weight:900;
}

.marketing-push-btn.is-enabled{
  background:#f3efe9;
  color:#5B1F22;
}

.marketing-push-status{
  margin-top:8px;
  color:#777;
  font-size:12px;
}
.price-sale{
  font-weight:700;
}

.price-old{
  margin-left:8px;
  color:#c94b4b;
  text-decoration:line-through;
  font-size:.9em;
  opacity:.85;
}