/* БРО — стили сайта. Палитра утверждена заказчицей 16.10.2026 */
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/GolosText-400-cyr.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/GolosText-400-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/GolosText-600-cyr.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/GolosText-600-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/Oswald-500-cyr.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/Oswald-500-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/Oswald-700-cyr.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/Oswald-700-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --bg:#e6dcc8;
  --surface:#f3ede0;
  --surface-2:#ded1b6;
  --ink:#3b2a20;
  --ink-soft:#6b5a47;
  --ink-faint:#86735f;
  --burgundy:#6e2430;
  --burgundy-bright:#86303d;
  --pomegranate:#a4243b;
  --brass:#b08d57;
  --brass-deep:#8a6b3c;
  --olive:#5f5e38;
  --on-dark:#f7ece6;
  --line:rgba(59,42,32,.16);
  --line-strong:rgba(59,42,32,.3);
  --wrap:1220px;
  --gutter:clamp(16px,4vw,48px);
  --radius:12px;
  --shadow:0 1px 2px rgba(59,42,32,.06),0 8px 24px -12px rgba(59,42,32,.25);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box;}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth;}
  .btn,.chip,.pcard,.tile img,.opt,.add-btn,.icon-btn{transition:transform .15s ease,border-color .15s ease,background-color .15s ease,color .15s ease;}
}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:400 16px/1.55 'Golos Text',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;
  -webkit-font-smoothing:antialiased;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
a{color:inherit; text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--burgundy); outline-offset:3px; border-radius:4px;}
img{max-width:100%; display:block; height:auto;}
picture{display:contents;}
h1,h2,h3{font-family:'Oswald','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.015em; text-wrap:balance; margin:0; font-weight:700; line-height:1.08;}
p{margin:0;}
ul,ol{margin:0; padding:0;}
button{font:inherit; color:inherit;}
[hidden]{display:none !important;}
.wrap{max-width:var(--wrap); margin:0 auto; padding-inline:var(--gutter);}
.narrow > *{max-width:820px;}
.center.narrow > *, .page-head.center .narrow > *{margin-inline:auto;}
.center{text-align:center;}
.icon{width:18px; height:18px; flex:none;}
.skip{position:absolute; left:-999px; top:8px; z-index:100; background:var(--burgundy); color:var(--on-dark); padding:8px 14px; border-radius:6px;}
.skip:focus{left:8px;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:'Oswald',sans-serif; font-weight:500; font-size:.95rem; letter-spacing:.04em; text-transform:uppercase;
  padding:14px 26px; border-radius:999px; border:none; cursor:pointer; text-align:center;
}
.btn .icon{width:17px; height:17px;}
.btn-primary{background:var(--burgundy); color:var(--on-dark);}
.btn-primary:hover{background:var(--burgundy-bright); transform:translateY(-1px);}
.btn-brass{background:var(--brass); color:#2a1d10;}
.btn-brass:hover{background:#c09c63; transform:translateY(-1px);}
.btn-block{width:100%;}
.btn:disabled{background:var(--surface-2); color:var(--ink-faint); cursor:not-allowed; transform:none;}
.btn-ghost{background:none; border:none; cursor:pointer; color:var(--ink-soft); font-weight:600; border-bottom:1px solid var(--line-strong); padding:4px 0;}
.btn-ghost:hover{color:var(--ink); border-color:var(--ink-soft);}
.link-more{display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--burgundy); font-size:.92rem;}
.link-more .icon{width:16px; height:16px;}
.link-more:hover{color:var(--burgundy-bright);}
.eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:'Oswald',sans-serif; font-size:.8rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--burgundy); margin-bottom:14px;
}
.eyebrow::before{content:""; width:26px; height:2px; background:currentColor;}
.eyebrow-light{color:#e8c98f;}

/* ---------- header ---------- */
.site-header{position:sticky; top:0; z-index:40; background:var(--bg); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top,0px);}
.utility-bar{background:var(--burgundy); color:#ecd6d2; font-size:.8rem;}
.utility-bar .wrap{display:flex; justify-content:space-between; align-items:center; gap:6px 16px; padding-block:7px; flex-wrap:wrap;}
.utility-bar .icon{width:15px; height:15px; vertical-align:-3px; margin-right:6px; color:#e8c98f;}
.utility-bar b{color:var(--on-dark); font-weight:600;}
.utility-links{display:flex; gap:18px;}
.utility-links a{color:var(--on-dark); font-weight:600;}
.utility-links a:hover{color:#fff;}
.main-bar .wrap{display:flex; align-items:center; gap:28px; padding-block:12px; position:relative;}
.logo{font-family:'Oswald',sans-serif; font-weight:700; font-size:1.75rem; letter-spacing:.06em; line-height:1; color:var(--burgundy); display:inline-flex; flex-direction:column;}
.logo small{font-family:'Golos Text',sans-serif; font-size:.56rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); margin-top:3px;}
.main-nav{display:flex; gap:22px; flex-wrap:wrap; flex:1; font-size:.82rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em;}
.main-nav a{color:var(--ink-soft); padding:4px 0; border-bottom:2px solid transparent;}
.main-nav a[href$="hotel.html"]{color:var(--olive);}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--ink); border-color:var(--burgundy);}
.header-actions{display:flex; align-items:center; gap:10px; margin-left:auto;}
.icon-btn{display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); cursor:pointer; position:relative; flex:none;}
.icon-btn:hover{border-color:var(--burgundy);}
.cart-badge{position:absolute; top:-5px; right:-6px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:var(--pomegranate); color:#fff; font:700 .7rem/20px 'Oswald',sans-serif; text-align:center;}
.cart-badge.bump{animation:bump .35s ease;}
@keyframes bump{50%{transform:scale(1.35);}}
.nav-toggle{display:none;}
@media (max-width:980px){
  .main-nav{display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0; background:var(--bg); border-bottom:1px solid var(--line); padding:6px var(--gutter) 14px; box-shadow:var(--shadow);}
  .main-nav.is-open{display:flex;}
  .main-nav a{padding:13px 0; border-bottom:1px solid var(--line); font-size:.95rem;}
  .main-nav a:last-child{border-bottom:none;}
  .nav-toggle{display:flex;}
}
@media (max-width:560px){
  .utility-bar .wrap{justify-content:center; text-align:center;}
  .utility-bar .wrap > span:first-child{display:none;}
}

/* ---------- sections ---------- */
.section{padding-block:clamp(48px,7vw,84px);}
.section-alt{background:var(--surface); border-block:1px solid var(--line);}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:12px 20px; margin-bottom:28px; flex-wrap:wrap;}
.section-head h2,.section h2.center{font-size:clamp(1.6rem,3vw,2.3rem);}
.page-head{padding-block:clamp(28px,4vw,44px) clamp(16px,3vw,24px);}
.page-head h1{font-size:clamp(2rem,4.5vw,3.2rem); margin-top:10px;}
.page-head .lede{margin-top:12px; color:var(--ink-soft); max-width:62ch; font-size:1.05rem;}
.crumbs{display:flex; flex-wrap:wrap; gap:4px 0; font-size:.82rem; color:var(--ink-faint);}
.crumbs a:hover{color:var(--burgundy);}
.crumbs > *:not(:last-child)::after{content:"/"; margin:0 8px; color:var(--line-strong);}
.crumbs span{color:var(--ink-soft);}

/* ---------- слайдер на главной ---------- */
.hero-slider{position:relative;}
.slides{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain;}
.slides::-webkit-scrollbar{display:none;}
.slide{flex:0 0 100%; scroll-snap-align:start; scroll-snap-stop:always; display:flex; align-items:center;}
.slide.hero{padding-bottom:clamp(76px,9vw,96px);}
.slide > .wrap{width:100%;}
.slide-title{font-size:clamp(2rem,4.4vw,3.5rem); line-height:1.02;}
.slide-olive{background:var(--olive); color:#f1efdc;}
.slide-burgundy{background:var(--burgundy); color:var(--on-dark);}
.slide-olive .hero-lede{color:#dcdcc0;} .slide-burgundy .hero-lede{color:#ebcdd1;}
.slide-light{background:var(--surface);}
.slide-warm{background:radial-gradient(ellipse 60% 70% at 78% 45%, rgba(176,141,87,.28), transparent 70%), linear-gradient(135deg, #f6f0e4 0%, #ecdfc6 100%);}
.slide-warm .eyebrow{color:var(--olive);}
.slide-warm .arch-bg{fill:#fffdf8;}
.slide-warm .arch{filter:drop-shadow(0 18px 34px rgba(110,80,40,.22));}
.slide-warm .arch-notes li{background:#fff;}
.slide-warm .arch-stamp{box-shadow:0 0 0 5px rgba(255,255,255,.6), 0 10px 22px -8px rgba(110,80,40,.4);}
.slide-art{aspect-ratio:5/4; border-radius:18px 18px 18px 120px; display:grid; place-items:center; overflow:hidden;
  border:1px solid var(--line-strong); background:rgba(255,255,255,.06);}
.slide-olive .slide-art,.slide-burgundy .slide-art{border-color:rgba(255,255,255,.22);}
.slide-art .icon{width:38%; height:auto; stroke-width:.9; color:var(--brass);}
.slide-art img{width:100%; height:100%; object-fit:cover;}
@media (max-width:860px){.slide-art{aspect-ratio:4/3; border-radius:18px 18px 18px 72px;} .slide-art .icon{width:26%;}}
.slider-ui{position:absolute; left:0; right:0; bottom:clamp(18px,2.6vw,30px); pointer-events:none;}
.slider-bar{pointer-events:auto; display:flex; align-items:center; gap:2px; width:max-content; color:var(--ink); --track:rgba(59,42,32,.2); transition:color .3s ease;}
.hero-slider.on-dark .slider-bar{color:#f3ede0; --track:rgba(243,237,224,.3);}
.slider-btn{width:34px; height:34px; border-radius:50%; border:0; background:none; color:inherit; cursor:pointer; display:grid; place-items:center; opacity:.6;}
.slider-btn:hover{opacity:1;}
.slider-btn .icon{width:17px; height:17px;}
.slider-btn[data-pause] .icon{width:14px; height:14px;}
.slider-btn .i-play{display:none;}
.is-paused .slider-btn .i-play{display:block;} .is-paused .slider-btn .i-pause{display:none;}
.dots{display:flex; gap:6px; margin-right:10px;}
.dot{width:26px; height:32px; padding:0; border:0; cursor:pointer; background:none; position:relative; color:inherit; transition:width .3s ease;}
.dot::before{content:""; position:absolute; left:0; right:0; top:15px; height:2px; border-radius:2px; background:var(--track); transition:background-color .3s ease;}
.dot[aria-current="true"]{width:44px;}
.dot span{position:absolute; left:0; top:15px; height:2px; width:0; border-radius:2px; background:currentColor;}
.dot[aria-current="true"] span{width:100%;}
.is-playing .dot[aria-current="true"] span{width:0; animation:dotfill var(--slide-ms,7000ms) linear forwards;}
.is-playing.is-hold .dot[aria-current="true"] span{animation-play-state:paused;}
@keyframes dotfill{to{width:100%;}}

/* ---------- hero ---------- */
.hero{padding-block:clamp(40px,7vw,80px) clamp(40px,6vw,64px);}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,64px); align-items:center;}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.3rem); line-height:1;}
.hero-lede{margin-top:20px; max-width:48ch; color:var(--ink-soft); font-size:1.08rem; line-height:1.6;}
.hero-actions{display:flex; align-items:center; gap:22px; margin-top:28px; flex-wrap:wrap;}
.hero-meta{margin-top:18px; font-size:.86rem; color:var(--ink-faint);}
.hero-visual{position:relative; padding:14px 0 0;}
.hero-photo{width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:18px 18px 18px 120px; border:1px solid var(--line-strong); box-shadow:var(--shadow);}
.stamp-badge{
  position:absolute; top:-6px; right:18px; width:116px; height:116px; border-radius:50%;
  border:2.5px solid var(--brass); color:var(--brass-deep); background:rgba(243,237,224,.95);
  display:flex; align-items:center; justify-content:center; text-align:center; transform:rotate(-9deg);
  font:700 .74rem/1.3 'Oswald',sans-serif; letter-spacing:.06em;
  box-shadow:0 0 0 5px rgba(243,237,224,.5);
}
.hero-note{
  position:absolute; left:-18px; bottom:22px; max-width:270px;
  background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:14px 16px; box-shadow:var(--shadow);
  display:flex; flex-direction:column; gap:4px;
}
.hero-note b{font-family:'Oswald',sans-serif; font-weight:500; text-transform:uppercase; letter-spacing:.03em; color:var(--burgundy);}
.hero-note span{font-size:.84rem; color:var(--ink-soft); display:flex; align-items:center; gap:6px;}
.hero-note .icon{width:15px; height:15px;}
.hero-note:hover{border-color:var(--brass);}
@media (max-width:860px){.hero-note{left:12px; bottom:12px;}}
@media (max-width:420px){.stamp-badge{width:94px; height:94px; font-size:.62rem;}}
@media (max-width:600px){
  .hero-note{display:none;}
  .hero-photo{aspect-ratio:4/3; border-radius:18px 18px 18px 72px;}
  .hero-lede{font-size:1rem;}
  .hero-actions{gap:14px 22px;}
}

/* ---------- trust ---------- */
.trust{padding-block:26px; border-block:1px solid var(--line);}
.trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media (max-width:860px){.trust-grid{grid-template-columns:repeat(2,1fr); gap:18px;}}
@media (max-width:440px){.trust-grid{grid-template-columns:1fr;}}
.trust-item{display:flex; gap:12px; align-items:flex-start;}
.trust-item .icon{color:var(--pomegranate); margin-top:3px; width:20px; height:20px;}
.trust-item p{font-size:.86rem; color:var(--ink-soft); line-height:1.4;}
.trust-item b{display:block; color:var(--ink); font-size:.95rem; margin-bottom:2px; font-weight:600;}

/* ---------- category tiles ---------- */
.tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr); gap:12px;}}
.tile{position:relative; display:block; aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; background:var(--surface-2); isolation:isolate;}
.tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.tile-ph{position:absolute; inset:0; display:grid; place-items:center; background:var(--olive);}
.tile-ph .icon{width:34%; height:auto; color:var(--brass); stroke-width:1; margin-bottom:18%;}
.tile::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(59,42,32,0) 35%,rgba(42,26,20,.85)); z-index:1;}
.tile-text{position:absolute; left:16px; right:16px; bottom:14px; z-index:2; color:var(--on-dark); display:flex; flex-direction:column;}
.tile-text b{font:700 1.3rem/1.1 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.03em;}
.tile-text small{font-size:.8rem; opacity:.85; margin-top:3px;}
.tile:hover img{transform:scale(1.04);}
@media (max-width:480px){.tile-text b{font-size:1.05rem;} .tile-text small{font-size:.7rem;} .tile-text{left:10px; right:10px; bottom:10px;}}

/* ---------- product card ---------- */
.pgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media (max-width:1080px){.pgrid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.pgrid{grid-template-columns:repeat(2,1fr); gap:10px;}}
.pcard{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:12px; display:flex; flex-direction:column; gap:9px; min-width:0;}
.pgrid .pcard:hover{border-color:var(--line-strong); box-shadow:var(--shadow);}
.pcard-photo{display:block; aspect-ratio:4/3; border-radius:8px; overflow:hidden; background:var(--surface-2);}
.pcard-photo img{width:100%; height:100%; object-fit:cover;}
.ph{display:flex; width:100%; height:100%; align-items:center; justify-content:center; background:
  radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 60%), linear-gradient(135deg,#d9c7a5,#c4ab80);}
.ph span{font:700 1.05rem 'Oswald',sans-serif; letter-spacing:.12em; text-transform:uppercase; color:rgba(110,36,48,.55); border:1.5px solid rgba(110,36,48,.35); padding:6px 12px; border-radius:6px;}
.pcard.is-out .pcard-photo{filter:grayscale(.7) opacity(.75);}
.badges{display:flex; flex-wrap:wrap; gap:5px;}
.badge{font:500 .66rem/1 'Oswald',sans-serif; letter-spacing:.06em; text-transform:uppercase; padding:5px 8px; border-radius:5px; background:var(--pomegranate); color:#fff;}
.badge.is-premium{background:var(--brass); color:#2a1d10;}
.badge.is-veg{background:var(--olive); color:#f1efdc;}
.badge.is-out{background:var(--surface-2); color:var(--ink-soft);}
.pcard h3{font:600 .98rem/1.3 'Golos Text',sans-serif; text-transform:none; letter-spacing:0;}
.pcard h3 a:hover{color:var(--burgundy);}
.pcard-comp{font-size:.78rem; color:var(--ink-faint); line-height:1.35;}
.pcard-bottom{margin-top:auto; display:flex; flex-direction:column; gap:9px;}
.opts{display:flex; gap:4px; flex-wrap:wrap;}
.opt{flex:1; min-width:0; padding:6px 4px; border-radius:7px; border:1px solid var(--line-strong); background:transparent; cursor:pointer; font-size:.76rem; font-weight:600; color:var(--ink-soft); white-space:nowrap;}
.opt:hover{border-color:var(--ink-soft); color:var(--ink);}
.opt[aria-pressed="true"]{background:var(--olive); border-color:var(--olive); color:#f4f2e2;}
.price-row{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;}
.price{font:700 1.35rem/1 'Oswald',sans-serif; color:var(--burgundy);}
.unit{font-size:.76rem; color:var(--ink-faint);}
.add-btn{width:100%; padding:10px; border-radius:8px; border:1px solid var(--burgundy); background:transparent; color:var(--burgundy); font:500 .82rem 'Oswald',sans-serif; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; text-align:center; display:block;}
.add-btn:hover{background:var(--burgundy); color:var(--on-dark);}
.add-btn.is-added,.btn.is-added{background:var(--olive); border-color:var(--olive); color:#fff;}
.add-btn.is-added:hover,.btn.is-added:hover{background:#4d4c2c; border-color:#4d4c2c;}
.add-btn:disabled{border-color:var(--line-strong); color:var(--ink-faint); cursor:not-allowed; background:transparent;}
.add-btn.is-wa{border-color:var(--ink-soft); color:var(--ink);}
.add-btn.is-wa:hover{background:var(--ink); color:var(--surface);}
.kbju{display:grid; grid-template-columns:repeat(4,1fr); margin:0; border-top:2px solid var(--ink); border-bottom:1px solid var(--line-strong);}
.kbju div{padding:5px 0 4px; text-align:center;}
.kbju div+div{border-left:1px solid var(--line);}
.kbju dt{font-size:.6rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.06em;}
.kbju dd{margin:0; font:500 .92rem 'Oswald',sans-serif;}
.kbju-lg dd{font-size:1.4rem;}
@media (max-width:480px){
  .pcard{padding:8px; gap:8px; border-radius:10px;}
  .pcard h3{font-size:.9rem;}
  .pcard-comp{display:none;}
  .price{font-size:1.2rem;}
  .unit{font-size:.74rem;}
  .opts{gap:3px;}
  .opt{font-size:.76rem; padding:0 2px; min-height:36px;}
  .add-btn{font-size:.78rem; padding:0 4px; min-height:42px;}
  .badge{font-size:.64rem; padding:4px 6px;}
}

/* ---------- craft ---------- */
.craft{padding-block:clamp(56px,7vw,88px); background:var(--surface); border-block:1px solid var(--line);}
.craft-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px); align-items:center;}
@media (max-width:860px){.craft-grid{grid-template-columns:1fr;}}
.craft h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}
.craft-lede{margin-top:14px; color:var(--ink-soft); line-height:1.6; max-width:52ch;}
.craft-steps{list-style:none; margin:28px 0 0; padding:0;}
.craft-steps li{display:grid; grid-template-columns:64px 1fr; column-gap:18px; align-items:baseline; padding-block:18px; border-top:1px solid var(--line-strong);}
.craft-steps li p{grid-column:2;}
@media (max-width:560px){.craft-steps li{grid-template-columns:48px 1fr; column-gap:12px;}}
.craft-steps li:last-child{border-bottom:1px solid var(--line-strong);}
.craft-n{font:700 2.1rem/1 'Oswald',sans-serif; color:var(--brass); letter-spacing:.02em;}
.craft-steps h3{font-size:1.15rem;}
.craft-steps p{margin-top:4px; font-size:.95rem; color:var(--ink-soft);}
.craft-figure{margin:0;}
.craft-photo{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:120px 18px 18px 18px; border:1px solid var(--line-strong); box-shadow:var(--shadow);}
@media (max-width:860px){.craft-photo{aspect-ratio:4/3; border-radius:64px 18px 18px 18px;}}
.craft-figure figcaption{margin-top:12px; font-size:.84rem; color:var(--ink-faint); text-align:right;}

/* ---------- consult band ---------- */
.consult{background:var(--burgundy); color:var(--on-dark); padding-block:clamp(36px,5vw,56px);}
.consult-grid{display:flex; justify-content:space-between; align-items:center; gap:24px 40px; flex-wrap:wrap;}
.consult h2{font-size:clamp(1.4rem,2.6vw,2rem); max-width:24ch;}
.consult p:not(.eyebrow){margin-top:10px; color:#ebcdd1; max-width:56ch;}

/* ---------- steps ---------- */
.steps-section h2{margin-bottom:40px;}
.steps-row{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:28px;}
@media (max-width:860px){.steps-row{grid-template-columns:repeat(2,1fr);}}
@media (max-width:440px){.steps-row{grid-template-columns:1fr;}}
.steps-row .n{font:700 2.3rem/1 'Oswald',sans-serif; color:var(--burgundy);}
.steps-row p{margin-top:10px; font-size:.93rem; color:var(--ink-soft);}

/* ---------- promo ---------- */
.promo{display:flex; gap:24px; align-items:center; background:var(--surface); border:1.5px dashed var(--brass); border-radius:18px; padding:28px clamp(20px,4vw,40px);}
.promo h2{font-size:1.6rem;}
.promo p{margin-top:8px; color:var(--ink-soft); max-width:70ch;}
.promo .btn{margin-left:auto; flex:none;}
@media (max-width:560px){.promo .btn{margin-left:0;}}
.price-list{list-style:none;}
.price-list li{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px dashed var(--line-strong);}
.term-num .icon{width:30px; height:30px;}
.terms + .product-details, .terms + .ask-box, .product-details + .ask-box{margin-top:24px;}
.promo-icon{width:56px; height:56px; color:var(--brass-deep); flex:none; stroke-width:1.3;}
@media (max-width:560px){.promo{flex-direction:column; align-items:flex-start;}}

/* ---------- catalog ---------- */
.catalog-section{padding-bottom:clamp(56px,8vw,96px);}
.chips{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.chip{display:inline-flex; align-items:center; gap:6px; padding:8px 15px; border-radius:999px; border:1px solid var(--line-strong); background:var(--surface); cursor:pointer; font:500 .84rem 'Oswald',sans-serif; letter-spacing:.04em; text-transform:uppercase;}
.chip small{font-family:'Golos Text',sans-serif; font-size:.7rem; color:var(--ink-faint);}
.chip:hover{border-color:var(--pomegranate);}
.chip.is-active{background:var(--pomegranate); border-color:var(--pomegranate); color:#fff;}
.chip.is-active small{color:#f6d2d6;}
@media (max-width:640px){.chips{flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(var(--gutter)*-1); padding-inline:var(--gutter); padding-bottom:4px; scrollbar-width:none;} .chip{flex:none;}}
.toolbar{display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-bottom:24px; padding:12px 0; border-block:1px solid var(--line);}
.search{flex:1 1 260px; display:flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line-strong); border-radius:999px; padding:0 14px; color:var(--ink-faint);}
.search input{flex:1; min-width:0; border:none; background:none; padding:10px 0; font:inherit; font-size:.92rem; color:var(--ink); outline:none;}
.search:focus-within{border-color:var(--burgundy);}
.select{display:flex; align-items:center; gap:8px; font-size:.86rem; color:var(--ink-soft);}
.select select{font:inherit; color:var(--ink); background:var(--surface); border:1px solid var(--line-strong); border-radius:8px; padding:8px 10px;}
.check{display:inline-flex; align-items:center; gap:8px; font-size:.88rem; color:var(--ink-soft); cursor:pointer;}
.check input{width:18px; height:18px; accent-color:var(--burgundy);}
.found{font-size:.84rem; color:var(--ink-faint); margin-left:auto;}
.empty{text-align:center; padding:48px 20px; border:1.5px dashed var(--line-strong); border-radius:var(--radius); color:var(--ink-soft); display:flex; flex-direction:column; align-items:center; gap:18px;}
.empty a:not(.btn){color:var(--burgundy); font-weight:600; text-decoration:underline;}

/* ---------- product page ---------- */
.product-page{padding-block:clamp(20px,3vw,32px) clamp(48px,7vw,80px);}
.product-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,4vw,56px); margin-top:20px; background:none; border:none; padding:0; align-items:start;}
@media (max-width:820px){.product-grid{grid-template-columns:1fr;}}
.product-photo{aspect-ratio:4/3; border-radius:16px; overflow:hidden; border:1px solid var(--line); background:var(--surface-2);}
.product-photo img{width:100%; height:100%; object-fit:cover;}
.product-info{display:flex; flex-direction:column; gap:14px;}
.product-info h1{font-size:clamp(1.7rem,3.4vw,2.5rem);}
.stock{font-size:.88rem; font-weight:600; display:inline-flex; align-items:center; gap:8px;}
.stock::before{content:""; width:8px; height:8px; border-radius:50%;}
.stock.is-in{color:var(--olive);} .stock.is-in::before{background:var(--olive);}
.stock.is-out{color:var(--ink-faint);} .stock.is-out::before{background:var(--ink-faint);}
.product-info .opts{max-width:360px;}
.product-info .opt{font-size:.9rem; padding:10px 8px;}
.price-row.big .price{font-size:2.3rem;}
.price-row.big .unit{font-size:.9rem;}
.buy-row{display:flex; gap:12px; align-items:stretch; max-width:440px;}
.buy-row .btn{flex:1;}
.qty{display:flex; align-items:center; border:1px solid var(--line-strong); border-radius:999px; background:var(--surface);}
.qty button{width:40px; height:100%; min-height:44px; border:none; background:none; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--ink-soft);}
.qty button:hover{color:var(--burgundy);}
.qty input{width:36px; border:none; background:none; text-align:center; font:600 1rem 'Golos Text',sans-serif; color:var(--ink); -moz-appearance:textfield; appearance:textfield;}
.qty input::-webkit-inner-spin-button,.qty input::-webkit-outer-spin-button{-webkit-appearance:none; margin:0;}
.ask{display:inline-flex; align-items:center; gap:8px; color:var(--burgundy); font-weight:600; font-size:.92rem;}
.ask:hover{color:var(--burgundy-bright);}
.facts{list-style:none; border-top:1px solid var(--line); padding-top:14px; display:flex; flex-direction:column; gap:9px; font-size:.88rem; color:var(--ink-soft);}
.facts li{display:flex; gap:10px; align-items:flex-start;}
.facts .icon{color:var(--pomegranate); margin-top:2px;}
.product-details{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:20px; margin-top:clamp(28px,4vw,44px);}
.product-details:empty{display:none;}
.info-block{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px;}
.info-block h2{font-size:1.1rem; margin-bottom:12px;}
.comp-list{list-style:none; display:flex; flex-direction:column;}
.comp-list li{padding:8px 0; border-bottom:1px dashed var(--line-strong); font-size:.94rem;}
.comp-list li:last-child{border-bottom:none;}

/* ---------- prose / info pages ---------- */
.prose h2{font-size:1.5rem; margin-bottom:14px;}
.prose p,.prose li{color:var(--ink-soft); line-height:1.65;}
.prose p + p{margin-top:12px;}
.prose ul,.prose ol{padding-left:1.3em; margin-block:10px; display:flex; flex-direction:column; gap:6px;}
.prose a{color:var(--burgundy); font-weight:600; text-decoration:underline; text-underline-offset:3px;}
.prose b{color:var(--ink);}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,64px);}
@media (max-width:760px){.two-col{grid-template-columns:1fr;}}
.terms{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:900px){.terms{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.terms{grid-template-columns:1fr;}}
.term{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px;}
.term-num{font:700 2rem/1 'Oswald',sans-serif; color:var(--burgundy);}
.term h2{font-size:1rem; margin-top:12px;}
.term p{margin-top:8px; font-size:.88rem; color:var(--ink-soft);}
.ask-box{margin-top:32px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:22px; border:1.5px dashed var(--brass); border-radius:var(--radius);}
.ask-box p{font-weight:600;}

/* ---------- cart ---------- */
.cart-section{padding-bottom:clamp(56px,8vw,96px);}
.cart-grid{display:grid; grid-template-columns:1fr 400px; gap:clamp(20px,4vw,40px); align-items:start;}
@media (max-width:920px){.cart-grid{grid-template-columns:1fr;}}
.cart-list{list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:16px;}
.cart-item{display:grid; grid-template-columns:88px 1fr auto; gap:6px 16px; align-items:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:12px;}
.cart-item .thumb{grid-row:span 2; width:88px; aspect-ratio:4/3; border-radius:8px; overflow:hidden; background:var(--surface-2);}
.cart-item .thumb img{width:100%; height:100%; object-fit:cover;}
.cart-item .name{font-weight:600; font-size:.95rem; line-height:1.3;}
.cart-item .name a:hover{color:var(--burgundy);}
.cart-item .meta{font-size:.82rem; color:var(--ink-faint);}
.cart-item .sum{font:700 1.15rem 'Oswald',sans-serif; color:var(--burgundy); text-align:right;}
.cart-item .controls{display:flex; align-items:center; gap:10px; justify-content:flex-end;}
.cart-item .qty{height:36px;}
.cart-item .qty button{min-height:34px; width:34px;}
.cart-item .remove{border:none; background:none; cursor:pointer; color:var(--ink-faint); min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:1.05rem;}
.cart-item .remove:hover{color:var(--pomegranate);}
@media (max-width:520px){
  .cart-item{grid-template-columns:64px 1fr; padding:10px;}
  .cart-item .thumb{width:64px;}
  .cart-item .sum{text-align:left;}
  .cart-item .controls{grid-column:1 / -1; justify-content:space-between;}
}
.checkout{background:var(--surface); border:1px solid var(--line-strong); border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:14px; position:sticky; top:120px;}
@media (max-width:920px){.checkout{position:static;}}
.checkout h2{font-size:1.4rem;}
.field{display:flex; flex-direction:column; gap:6px; border:none; margin:0; padding:0; min-width:0;}
.field label,.field legend{font-size:.84rem; font-weight:600; color:var(--ink-soft); padding:0;}
.field input:not([type=radio]):not([type=checkbox]),.field textarea{font:inherit; font-size:1rem; color:var(--ink); background:#fbf8f1; border:1px solid var(--line-strong); border-radius:8px; padding:11px 12px; width:100%;}
.field input:focus,.field textarea:focus{border-color:var(--burgundy); outline:none; box-shadow:0 0 0 3px rgba(110,36,48,.15);}
.field input[aria-invalid="true"]{border-color:var(--pomegranate); background:#fbeeee;}
.field small,.check small{color:var(--ink-faint); font-weight:400;}
.field .radio{display:flex; align-items:center; gap:10px; font-size:.95rem; font-weight:400; color:var(--ink); padding:5px 0; cursor:pointer; flex-wrap:wrap;}
.field legend{margin-bottom:4px;}
.radio input{accent-color:var(--burgundy); width:18px; height:18px; margin:0;}
.totals{margin:4px 0 0; border-top:1px solid var(--line); padding-top:12px; display:flex; flex-direction:column; gap:6px;}
.totals div{display:flex; justify-content:space-between; font-size:.92rem; color:var(--ink-soft);}
.totals dd{margin:0; font-weight:600; color:var(--ink);}
.totals .total{font-size:1.1rem; color:var(--ink); padding-top:6px; border-top:1px dashed var(--line-strong);}
.totals .total dd{font:700 1.5rem 'Oswald',sans-serif; color:var(--burgundy);}
.hint{font-size:.82rem; color:var(--ink-faint); line-height:1.45;}
.hint.warn{color:var(--burgundy); font-weight:600;}
.hint a{text-decoration:underline; text-underline-offset:3px; white-space:nowrap;}
.hint.error{color:var(--pomegranate); font-weight:600;}
.pay-note{display:flex; gap:10px; align-items:center; font-size:.92rem; color:var(--ink); background:var(--bg); border-radius:8px; padding:10px 12px;}
.pay-note .icon{color:var(--pomegranate);}

/* ---------- footer ---------- */
.site-footer{background:var(--ink); color:#d8c9b4; padding-block:clamp(40px,6vw,64px) 28px;}
.footer-grid{display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:32px;}
@media (max-width:860px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}
.site-footer .logo{color:var(--on-dark);}
.site-footer .logo small{color:#a8977f;}
.footer-brand p{margin-top:14px; font-size:.88rem; color:#b9a88f; max-width:34ch;}
.footer-brand .slogan{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.06em; color:var(--brass);}
.footer-col h2{font:500 .8rem 'Oswald',sans-serif; letter-spacing:.12em; color:#a8977f; margin-bottom:14px;}
.footer-col ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
.footer-col a,.footer-col span{color:#e6d9c5; font-size:.9rem; display:inline-flex; gap:8px; align-items:flex-start;}
.footer-col .icon{width:16px; height:16px; margin-top:3px; color:var(--brass);}
.footer-col a:hover{color:#fff;}
.footer-bottom{margin-top:40px; padding-top:20px; border-top:1px solid rgba(243,237,224,.14); font-size:.8rem; color:#a8977f; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

/* ---------- toast ---------- */
.toast{position:fixed; left:50%; bottom:calc(20px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); z-index:60;
  width:min(440px, calc(100vw - 24px)); box-sizing:border-box; background:var(--ink); color:var(--on-dark); padding:12px 12px 12px 16px; border-radius:14px;
  box-shadow:0 10px 30px -10px rgba(0,0,0,.5); display:flex; gap:12px; align-items:center; font-size:.9rem; line-height:1.35;}
.toast:not([hidden]){animation:toastin .2s ease-out;}
@keyframes toastin{from{opacity:0; transform:translate(-50%,8px);}}
.toast > span{flex:1; min-width:0; overflow-wrap:anywhere;}
.toast a{flex:none; color:#2a1d10; background:var(--brass); font-weight:600; white-space:nowrap; padding:8px 12px; border-radius:9px; font-size:.84rem;}

/* ---------- mobile cart bar ---------- */
.toast small{display:block; color:#cdb9a2; font-size:.8rem; margin-top:3px;}
.cartbar{display:none;}
@media (max-width:760px){
  .cartbar:not([hidden]){display:flex; position:fixed; left:10px; right:10px; bottom:calc(10px + env(safe-area-inset-bottom,0px)); z-index:50;
    align-items:center; justify-content:space-between; gap:12px; background:var(--burgundy); color:var(--on-dark);
    border-radius:16px; padding:10px 12px 10px 16px; box-shadow:0 12px 30px -10px rgba(42,20,16,.6);}
  .cartbar-info{display:flex; flex-direction:column; min-width:0; flex:1;}
  .cartbar-info b{font-weight:600; font-size:.95rem;}
  .cartbar-info small{font-size:.74rem; color:#ebcdd1;}
  .cartbar-track{display:block; height:3px; border-radius:2px; background:rgba(255,255,255,.2); margin-top:5px; overflow:hidden;}
  .cartbar-track span{display:block; height:100%; background:#e8c98f; border-radius:2px;}
  .cartbar-go{display:inline-flex; align-items:center; gap:6px; background:var(--brass); color:#2a1d10; font:500 .85rem 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; padding:10px 14px; border-radius:10px; flex:none;}
  .cartbar-go .icon{width:15px; height:15px;}
  body.has-cartbar{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));}
  body.has-cartbar .toast{bottom:calc(94px + env(safe-area-inset-bottom,0px));}
}

/* ---------- privacy + consent ---------- */
.policy h2{font-size:1.15rem; margin:32px 0 10px;}
.policy h2:first-child{margin-top:0;}
.policy p + p{margin-top:8px;}
.check.consent{align-items:flex-start; font-size:.84rem; line-height:1.4;}
.check.consent input{margin-top:1px; flex:none;}
.check.consent a{color:var(--burgundy); text-decoration:underline;}
.footer-bottom a{text-decoration:underline; text-underline-offset:3px;}
.footer-bottom a:hover{color:#fff;}

/* ---------- заказ принят ---------- */
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.order-done{max-width:640px; margin:0 auto; text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:clamp(28px,5vw,48px);}
.order-done .eyebrow{justify-content:center; color:var(--olive);}
.order-done h2{font-size:clamp(1.6rem,3vw,2.2rem);}
.order-done p:not(.eyebrow){margin:14px auto 24px; color:var(--ink-soft); max-width:46ch;}
.order-done:focus{outline:none;}

/* ---------- зоогостиница ---------- */
.section.hotel{padding-top:clamp(8px,2vw,24px);}
.hotel-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,64px); align-items:start;}
@media (max-width:860px){.hotel-grid{grid-template-columns:1fr;}}
.hotel-text p{font-size:1.05rem; line-height:1.65;}
.hotel .hotel-feats{list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media (max-width:560px){.hotel .hotel-feats{grid-template-columns:1fr;}}
.hotel-feats li{display:flex; gap:12px; align-items:flex-start; padding:14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); font-weight:600; font-size:.94rem; line-height:1.35;}
.hotel-feats .icon{flex:none; width:24px; height:24px; color:var(--olive);}
.hotel-photo{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:18px 120px 18px 18px; border:1px solid var(--line-strong); box-shadow:var(--shadow);}
.hotel-art{aspect-ratio:4/5; border-radius:18px 120px 18px 18px; background:var(--olive); display:grid; place-items:center;}
.hotel-art .icon{width:40%; height:auto; color:var(--brass); stroke-width:.9;}
@media (max-width:860px){.hotel-photo{aspect-ratio:4/3; border-radius:18px 64px 18px 18px;} .hotel-art{display:none;}}
.hotel-book{margin-top:clamp(28px,4vw,44px); display:flex; justify-content:space-between; align-items:center; gap:18px 28px; flex-wrap:wrap;
  background:var(--olive); color:#f4f2e2; border-radius:18px; padding:clamp(20px,3vw,32px);}
.hotel-book p{display:flex; flex-direction:column; gap:4px;}
.hotel-book b{font:500 1.5rem 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.02em;}
.hotel-book span{color:#dcdcc0; max-width:46ch;}
.hotel-book-btns{display:flex; gap:10px; flex-wrap:wrap;}
.hotel-book .btn-primary{background:var(--brass); color:#2a1d10;}
.hotel-book .btn-primary:hover{background:#c09c63;}
.btn-ghost-dark{border:1.5px solid rgba(244,242,226,.45); color:#f4f2e2; background:transparent;}
.btn-ghost-dark:hover{border-color:#f4f2e2;}

/* ---------- слайд зоогостиницы: арка, печать, карточки ---------- */
.slide-art.hotel-arch{position:relative; aspect-ratio:auto; display:block; overflow:visible; border:0; background:none; border-radius:0;
  width:min(100%, 390px); justify-self:center; padding:18px 0 6px;}
.arch{position:relative; aspect-ratio:4/5; filter:drop-shadow(0 18px 30px rgba(0,0,0,.28));}
.arch-ill{display:block; width:100%; height:100%;}
.arch-bg{fill:var(--surface);}
.arch-house{stroke:var(--olive);}
.arch-heart{fill:var(--pomegranate);}
.arch-paws{fill:var(--brass); opacity:.75;}
.arch-photo{width:100%; height:100%; object-fit:cover; border-radius:999px 999px 14px 14px / 50% 50% 14px 14px;}
.arch-stamp{position:absolute; top:0; right:-6px; width:104px; height:104px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--brass); color:#2a1d10; transform:rotate(10deg); box-shadow:0 0 0 5px rgba(243,237,224,.25), 0 10px 22px -8px rgba(0,0,0,.4);
  font:500 .72rem/1.1 'Oswald',sans-serif; letter-spacing:.14em; text-transform:uppercase; text-align:center;}
.arch-stamp b{font-size:1.7rem; letter-spacing:.02em; line-height:1;}
.arch-notes{list-style:none; margin:0; padding:0;}
.arch-notes li{position:absolute; display:flex; align-items:center; gap:10px; max-width:230px; padding:10px 14px; border-radius:14px;
  background:var(--surface); color:var(--ink); font-weight:600; font-size:.84rem; line-height:1.25; box-shadow:0 12px 26px -12px rgba(0,0,0,.45);}
.arch-notes .icon{flex:none; width:22px; height:22px; color:var(--olive);}
.arch-notes li:nth-child(1){left:-56px; top:30%;}
.arch-notes li:nth-child(2){right:-48px; top:63%;}
.arch-notes li:nth-child(3){right:-24px; bottom:3%;}
@media (prefers-reduced-motion:no-preference){
  .slide:not([inert]) .arch-notes li{animation:notein .6s calc(.25s + var(--i) * .18s) both cubic-bezier(.2,.8,.3,1);}
  .slide:not([inert]) .arch-stamp{animation:stampin .7s .1s both cubic-bezier(.2,.8,.3,1.3);}
}
@keyframes notein{from{opacity:0; transform:translateY(14px);}}
@keyframes stampin{from{opacity:0; transform:rotate(-25deg) scale(.6);}}
@media (max-width:860px){
  .slide-art.hotel-arch{width:min(62%, 260px); padding-top:14px;}
  .arch-notes li{font-size:.76rem; padding:8px 11px; max-width:190px;}
  .arch-notes li:nth-child(1){left:-30%; top:28%;} .arch-notes li:nth-child(2){right:-32%; top:60%;} .arch-notes li:nth-child(3){display:none;}
  .arch-stamp{width:76px; height:76px; right:-18%;} .arch-stamp b{font-size:1.25rem;}
}

/* ---------- «как в прошлый раз» ---------- */
.remember{margin:4px 0 6px; padding:14px; border-radius:12px; background:#ecebd9; border:1px solid rgba(95,94,56,.3); display:flex; flex-direction:column; gap:8px;}
.remember p{font-size:.9rem; color:var(--ink-soft);} .remember p b{display:block; color:var(--ink); font-size:1rem;}
.remember-fill{display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; width:100%; padding:10px 12px; border-radius:10px;
  border:1.5px solid var(--olive); background:var(--surface); color:var(--ink); font:inherit; font-size:.9rem; cursor:pointer;}
.remember-fill span{font-weight:600; color:var(--olive);}
.remember-fill:hover{background:#fff;}
.remember-forget{align-self:flex-start; border:0; background:none; padding:2px 0; color:var(--ink-faint); font:inherit; font-size:.82rem; text-decoration:underline; cursor:pointer;}
.addr-field{position:relative;}
.addr-suggest{position:absolute; left:0; right:0; top:100%; z-index:20; margin:4px 0 0; padding:4px; list-style:none; background:var(--surface);
  border:1px solid var(--line-strong); border-radius:10px; box-shadow:var(--shadow);}
.addr-suggest li{padding:10px 12px; border-radius:8px; cursor:pointer; font-size:.92rem;}
.addr-suggest li:hover{background:#ecebd9;}

/* ---------- уведомление о cookie ---------- */
.cookie-bar{position:fixed; left:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:55; width:min(400px, calc(100vw - 32px));
  background:var(--surface); color:var(--ink); border:1px solid var(--line-strong); border-radius:14px; padding:14px 16px;
  box-shadow:0 12px 32px -14px rgba(59,42,32,.45); display:flex; flex-direction:column; gap:12px; font-size:.86rem; line-height:1.45;}
.cookie-bar a{color:var(--burgundy); text-decoration:underline; text-underline-offset:2px;}
.cookie-btns{display:flex; gap:8px;}
.cookie-btns button{flex:1; min-height:38px; border-radius:9px; font:500 .8rem 'Oswald',sans-serif; letter-spacing:.05em; text-transform:uppercase; cursor:pointer;}
.cookie-yes{background:var(--burgundy); color:var(--on-dark); border:1px solid var(--burgundy);}
.cookie-yes:hover{background:var(--burgundy-bright);}
.cookie-no{background:transparent; color:var(--ink-soft); border:1px solid var(--line-strong);}
.cookie-no:hover{border-color:var(--ink-soft); color:var(--ink);}
body.has-cartbar .cookie-bar{bottom:calc(94px + env(safe-area-inset-bottom,0px));}
@media (max-width:560px){.cookie-bar{left:10px; width:calc(100vw - 20px);}}
.link-btn{border:0; background:none; padding:0; font:inherit; color:inherit; text-decoration:underline; text-underline-offset:2px; cursor:pointer;}
