:root{font-family:system-ui,-apple-system,Arial,sans-serif;color:#261e1a;background:#f8f5ef}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;justify-content:space-between;background:#fffefb;border-bottom:1px solid #ebe3d8;padding:.4rem max(4vw,calc((100vw - 1200px)/2))}.top img{width:150px;height:76px;object-fit:contain}.top span{color:#6d6259;font-size:.92rem}.top button,.primary{border:0;background:#d62b1c;color:white;border-radius:16px;padding:.8rem 1.2rem;font-weight:700}.top b{background:#ffffff38;border-radius:8px;padding:.15rem .4rem;margin-left:.25rem}main{max-width:1200px;margin:auto;padding:0 4vw 5rem}.hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#fce2d2,#fff6eb);border-radius:30px;margin:1.4rem 0 2.6rem;padding:3rem;overflow:hidden}.hero h1{font-size:clamp(2.3rem,5vw,4.6rem);line-height:1.03;letter-spacing:-.05em;margin:.5rem 0}.hero p:not(.eyebrow){max-width:34rem;color:#62554b;line-height:1.5}.hero-link{display:inline-block;margin-top:1rem;background:#d62b1c;color:#fff;text-decoration:none;padding:.9rem 1.3rem;border-radius:14px;font-weight:700}.hero-mark{font-size:22rem;color:#d62b1c;line-height:.5;opacity:.12}.eyebrow{font-size:.78rem;letter-spacing:.12em;font-weight:800;color:#b63924}.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem}.section-title h2{font-size:2.4rem;margin:0 0 .7rem}.section-title label{font-size:.8rem;color:#6d6259}.section-title input{display:block;background:white;border:1px solid #ded5c8;border-radius:12px;padding:.8rem;margin-top:.3rem;min-width:220px}.notice{background:#fff0d7;color:#653d16;border:1px solid #e9ca99;border-radius:14px;padding:1rem;margin:1rem 0}#categories{display:flex;gap:.5rem;overflow:auto;margin:1.2rem 0 1.6rem;padding-bottom:.4rem}#categories button{white-space:nowrap;border:1px solid #ded5c8;background:white;border-radius:99px;padding:.65rem 1rem}#categories button.active{background:#2e2420;color:white;border-color:#2e2420}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.product{background:#fff;border:1px solid #e9e1d7;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 24px #4938270c}.product img{width:100%;height:210px;object-fit:contain;background:#fff}.product-body{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.product h3{font-size:1.1rem;margin:0}.product p{font-size:.86rem;line-height:1.4;color:#71665d;margin:0;flex:1}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.product-bottom button,.secondary{border:1px solid #d62b1c;background:#fff;color:#b6291e;border-radius:12px;padding:.6rem .8rem;font-weight:700}footer{text-align:center;background:#27211e;color:#f8eee8;padding:2rem;line-height:1.6}footer small{color:#cfbcb0}dialog{border:0;border-radius:24px;box-shadow:0 25px 80px #261e1a55;padding:0;width:min(92vw,560px);max-height:88vh}dialog::backdrop{background:#21171399}dialog>div{padding:1.4rem;max-height:88vh;overflow:auto}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.dialog-head h2{margin:.2rem 0 1rem}.close{border:0;background:#f2ede6;border-radius:50%;width:36px;height:36px;font-size:1.4rem}.dialog-image{width:100%;height:230px;object-fit:contain}.choice-group{border:0;border-top:1px solid #ece4da;padding:1rem 0;margin:0}.choice-group legend{font-weight:700}.choice-group label{display:block;padding:.45rem 0}.choice-group input{accent-color:#d62b1c}.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0}.actions{display:flex;gap:.7rem;align-items:center;justify-content:space-between;margin-top:1rem}.cart-item{border-top:1px solid #eee3d8;padding:.9rem 0}.cart-item button{border:0;background:#f3e8dc;border-radius:8px;padding:.3rem .7rem}.field{display:block;width:100%;border:1px solid #d7ccbe;border-radius:12px;padding:.8rem;margin:.4rem 0 1rem}.status{padding:1rem;border-radius:14px;background:#f6efe6;line-height:1.5}.error{color:#a42018}#order-content .primary{margin-top:1rem}@media(max-width:650px){.top{padding:.3rem 4vw}.top img{width:105px;height:60px}.top span{display:none}.hero{padding:1.7rem;margin-top:.8rem}.hero-mark{display:none}.section-title{display:block}.section-title input{width:100%}.product img{height:170px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.product-body{padding:.75rem}.product p{display:none}.product-bottom{align-items:start;flex-direction:column}}

[hidden]{display:none!important}
.hero{padding:2rem 2.4rem;margin-bottom:1.8rem}
.hero h1{font-size:clamp(2.25rem,4vw,3.7rem)}
.hero-mark{font-size:17rem}
#menu{scroll-margin-top:6rem}
.menu-summary{margin:-.35rem 0 .8rem;color:#776c63;font-size:.9rem}
#categories{position:sticky;top:86px;z-index:9;background:#f8f5efed;backdrop-filter:blur(10px);padding:.6rem 0 1rem;margin:.4rem 0 1rem}
#categories button{font-weight:650;transition:background .2s,color .2s}
.products{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:1.15rem}
.product{border-radius:24px;transition:transform .2s,box-shadow .2s,border-color .2s}
.product:hover{transform:translateY(-3px);box-shadow:0 16px 38px #4938271a}
.product.in-cart{border-color:#d62b1c88}
.product-image{display:block;width:100%;border:0;padding:0;background:radial-gradient(circle at 50% 50%,#fff 36%,#f8efe6 100%);overflow:hidden}
.product-image img{display:block;width:100%;height:225px;object-fit:contain;background:transparent;transition:transform .25s}
.product-image:hover img{transform:scale(1.045)}
.product-body{gap:.45rem;padding:1rem 1.05rem 1.1rem}
.product-badge{align-self:flex-start;padding:.3rem .58rem;border-radius:99px;background:#fff0de;color:#a83b21;font-size:.74rem;font-weight:800}
.product h3{font-size:1.12rem;line-height:1.2}
.product p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.4em}
.product-weight{color:#83776b;font-size:.8rem}
.product-bottom{margin-top:auto;padding-top:.55rem}
.product-bottom strong{font-size:1.2rem;color:#a92d21;white-space:nowrap}
.product-bottom button{background:#d62b1c;color:#fff;border-color:#d62b1c;white-space:nowrap}
.product-bottom button:hover,.recommendation button:hover{background:#a72418;color:#fff}
.product-in-cart{color:#a52a1d;font-weight:700}
.ingredients{color:#756a60;font-size:.88rem;line-height:1.45}
.payment-choice{border:1px solid #e9ded2;border-radius:15px;margin:1rem 0;padding:.6rem .9rem}
.payment-choice legend{font-weight:750}
.payment-choice label{display:block;padding:.5rem 0}
.payment-choice input{accent-color:#d62b1c}
.checkout-help{font-size:.85rem;color:#756a60;line-height:1.45}
dialog{width:min(94vw,620px)}
.recommendations{border-top:1px solid #ebe1d4;margin-top:1.4rem;padding-top:1rem}
.recommendation-heading{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.75rem}
.recommendation-heading strong{font-size:1.1rem}
.recommendation-heading small{color:#776c63}
.recommendation-list{display:grid;gap:.55rem}
.recommendation{display:flex;align-items:center;gap:.75rem;border:1px solid #eee5db;background:#fffaf5;border-radius:15px;padding:.45rem .55rem}
.recommendation img{width:68px;height:68px;object-fit:contain;background:#fff;border-radius:10px}
.recommendation div{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}
.recommendation div strong{font-size:.9rem;line-height:1.2}
.recommendation small{font-size:.88rem;color:#a92d21;font-weight:700}
.recommendation button{border:1px solid #d62b1c;background:#fff;color:#b6291e;border-radius:11px;width:38px;height:38px;font-size:1.3rem;font-weight:700}
#cart-dialog .primary{width:100%}
#cart-dock{display:flex;align-items:center;justify-content:center;gap:.3rem;position:fixed;z-index:11;bottom:1rem;right:1rem;background:#d62b1c;color:#fff;border:0;border-radius:16px;padding:.85rem 1.2rem;box-shadow:0 10px 28px #4b1c1552;font-weight:700}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2577bb;outline-offset:3px}
@media(max-width:650px){
  main{padding-bottom:6rem}
  .hero{padding:1.45rem;margin-top:.7rem;margin-bottom:1.3rem}
  .hero p:not(.eyebrow){font-size:.93rem}
  #categories{top:62px;margin-top:.3rem}
  .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .product-image img{height:165px}
  .product-body{padding:.72rem;gap:.38rem}
  .product h3{font-size:.98rem}
  .product p{display:none}
  .product-weight{font-size:.74rem}
  .product-bottom{flex-direction:column;align-items:stretch;gap:.4rem}
  .product-bottom strong{font-size:1.05rem}
  .product-bottom button{width:100%;padding:.56rem .4rem;font-size:.83rem}
  .product-badge{font-size:.68rem}
  #cart-dock{left:4vw;right:4vw;bottom:.65rem}
}
@media(prefers-reduced-motion:reduce){.product,.product-image img,#categories button{transition:none}.product:hover,.product-image:hover img{transform:none}}

body:not([data-location-selected]) .top,body:not([data-location-selected]) main,body:not([data-location-selected]) footer,body:not([data-location-selected]) #cart-dock{display:none}
.location-start{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:2.5rem 1rem;background:radial-gradient(circle at 10% 10%,#ffe3cf 0,transparent 36%),radial-gradient(circle at 90% 90%,#f4dcd0 0,transparent 32%),#f8f5ef}
.location-start-inner{width:min(100%,820px);text-align:center}
.location-start h1{font-size:clamp(2.3rem,5vw,4.1rem);line-height:1.06;letter-spacing:-.045em;margin:.35rem 0 .8rem}
.location-lead{color:#6c5c52;line-height:1.5;max-width:35rem;margin:0 auto 1.7rem}
.location-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;text-align:left}
.location-option{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e7d8cb;border-radius:25px;background:#fffaf6;padding:0;text-align:left;box-shadow:0 12px 36px #623c2411;transition:transform .2s,box-shadow .2s,border-color .2s}
.location-option:hover{transform:translateY(-4px);box-shadow:0 18px 48px #623c2426;border-color:#d62b1c}
.location-option-logo{height:160px;display:grid;place-items:center;background:linear-gradient(135deg,#211916,#54271e 70%,#a23d29);padding:1.2rem}
.location-option-logo img{width:100%;height:100%;max-width:210px;object-fit:contain}
.location-option-body{display:flex;flex-direction:column;gap:.4rem;padding:1.2rem 1.35rem 1.3rem}
.location-option-body strong{font-size:1.32rem}
.location-option-body small{font-size:.9rem;color:#756a60}
.location-option-body>span{display:flex;justify-content:space-between;align-items:center;color:#b42b1e;font-weight:750;margin-top:.55rem}
.location-option-body b{font-size:1.45rem;line-height:1}
.location-start-note{color:#80746a;font-size:.88rem;margin:1.25rem 0 .3rem}
.location-warning{color:#954b20;font-weight:650;margin:.7rem 0}
.location-cancel{border:1px solid #d8c9bd;background:#fff;padding:.65rem 1.2rem;border-radius:12px;color:#4f4037;margin-top:.35rem}
.top-place{display:flex;flex-direction:column;align-items:center;gap:.3rem}
.top #brand-home{display:grid;place-items:center;flex-shrink:0}
body[data-location-selected="rykacheva"] .top #brand-home{background:linear-gradient(135deg,#211916,#6d2d22);border-radius:12px;padding:.2rem .45rem}
.top .top-place button{border:1px solid #e1d4c8;background:#fff;color:#9f2d22;padding:.42rem .7rem;border-radius:10px;font-size:.82rem}
.top .top-place button:hover{background:#fff3e8}
.cart-change-location{border:0;background:transparent;color:#a92d21;text-decoration:underline;font-size:.88rem;padding:.1rem}
@media(max-width:650px){.location-start{padding:1.4rem .9rem}.location-options{grid-template-columns:1fr;gap:.7rem}.location-option{flex-direction:row;min-height:116px;border-radius:19px}.location-option-logo{width:37%;min-width:112px;height:auto;padding:.7rem}.location-option-body{flex:1;padding:.85rem;gap:.2rem}.location-option-body strong{font-size:1.08rem}.location-option-body small{font-size:.78rem}.location-option-body>span{font-size:.84rem;margin-top:.3rem}.location-lead{font-size:.92rem}.top-place span{display:none}.top .top-place button{font-size:.72rem;padding:.45rem .5rem}.top #cart-open{font-size:.78rem;padding:.65rem .6rem}}
@media(prefers-reduced-motion:reduce){.location-option{transition:none}.location-option:hover{transform:none}}
