/* ==== База нових сторінок ==== */
.nx-home, .nx-page { background:var(--black); color:#fff; font-family:'Open Sans',Arial,sans-serif; font-size:16px; line-height:1.65; }
.nx-home :is(h1,h2,h3), .nx-page :is(h1,h2,h3) { font-family:'Roboto Slab',Georgia,serif; font-weight:500; line-height:1.18; margin:0; }
.nx-home img, .nx-home video, .nx-page img, .nx-page video { max-width:100%; display:block; }
.nx-home p, .nx-page p { margin:0; }
.nx-home ul, .nx-page ul { margin:0; padding:0; }
.wrap { max-width:1240px; margin:0 auto; padding-left:24px; padding-right:24px; }
.tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--red); margin-bottom:14px; font-family:'Open Sans',Arial,sans-serif; }
.light .tag { color:#711009; }
/* ==== SPODARYK: секції нового дизайну (з макетів) ==== */
/* HERO */
.hero { position:relative; overflow:hidden; border-bottom:1px solid #303030; }
.hero-back { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.hero-back span { font-family:'Roboto Slab',serif; font-weight:700; font-size:26vw; letter-spacing:-.02em; color:transparent; -webkit-text-stroke:1px rgba(225,41,29,.16); white-space:nowrap; user-select:none; }
.hero-in { position:relative; display:grid; grid-template-columns:1.25fr .75fr; gap:60px; align-items:center; padding-top:72px; padding-bottom:64px; }
.hero h1 { font-size:clamp(36px,4.6vw,60px); font-weight:600; margin:10px 0 22px; }
.hero h1 i { font-style:normal; color:var(--red); }
.hero .sub { color:#c9c9c9; font-size:17px; max-width:50ch; margin-bottom:34px; }
.hero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }
.hstats { display:flex; gap:44px; flex-wrap:wrap; border-top:1px solid #303030; padding-top:26px; }
.hstats b { font-family:'Roboto Slab',serif; font-size:30px; color:var(--red); display:block; font-weight:700; }
.hstats span { font-size:13px; color:var(--gray); }
.hero-video { position:relative; justify-self:end; width:min(330px,100%); }
.hero-video::before { content:''; position:absolute; inset:-14px 14px 14px -14px; border:2px solid var(--red); border-radius:8px; z-index:0; }
.hero-video video { position:relative; border-radius:8px; width:100%; aspect-ratio:9/16; object-fit:cover; z-index:1; }
.hero-video figcaption { position:absolute; z-index:2; left:14px; bottom:14px; background:rgba(27,28,28,.85); font-size:12px; padding:7px 12px; border-radius:4px; }

/* PORTALS */
.portals { display:grid; grid-template-columns:1fr 1fr; }
.portal { position:relative; min-height:440px; display:flex; align-items:flex-end; overflow:hidden; text-decoration:none; }
.portal img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.portal:hover img { transform:scale(1.05); }
.portal::after { content:''; position:absolute; inset:0; background:linear-gradient(200deg, rgba(27,28,28,.30) 0%, rgba(27,28,28,.55) 40%, rgba(27,28,28,.96) 82%); }
.portal-cap { position:relative; z-index:2; padding:34px; width:100%; }
.portal-cap .bar { width:56px; height:4px; background:var(--red); margin-bottom:16px; }
.portal-cap h2 { font-size:32px; margin-bottom:8px; }
.portal-cap p { color:#d3d3d3; font-size:15px; max-width:44ch; margin-bottom:16px; }
.portal-cap .go { font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--red); }
.portal:hover .go { text-decoration:underline; }

.nx-home section, .nx-page section { padding:88px 0; }
.light { background:#fff; color:var(--black); }
.sechead { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:48px; }
.sechead h2 { font-size:clamp(28px,3.6vw,42px); }
.sechead p { color:var(--gray); max-width:56ch; margin-top:10px; }
.light .sechead p { color:#6d6d6d; }

/* RENT (light) */
.chips { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px; }
.chip { font-size:13px; font-weight:600; border:1px solid #d9d9d9; border-radius:20px; padding:8px 16px; color:#444; text-decoration:none; transition:all .2s; }
.chip b { color:var(--red); }
.chip:hover { border-color:var(--red); color:var(--red); }
.goods { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.good { border:1px solid #e6e6e6; border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s; background:#fff; }
.good:hover { box-shadow:0 14px 34px rgba(27,28,28,.12); transform:translateY(-3px); }
.good .ph { aspect-ratio:1; background:#f6f6f6; }
.good .ph img { width:100%; height:100%; object-fit:cover; }
.good-b { padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.good-b h3 { font-size:16px; font-weight:500; line-height:1.35; flex:1; }
.good-b .price { font-family:'Roboto Slab',serif; font-size:20px; font-weight:700; color:var(--black); }
.good-b .price span { font-family:'Open Sans'; font-size:12px; color:#8a8a8a; font-weight:400; }
.tocart { display:flex; align-items:center; justify-content:center; gap:8px; padding:11px; border-radius:5px; border:1px solid var(--red); background:var(--red); color:#fff; font-weight:700; font-size:13px; text-transform:uppercase; cursor:pointer; transition:all .25s; font-family:'Open Sans'; }
.tocart:hover { background:transparent; color:var(--red); }
.tocart.added { background:#1d7a34; border-color:#1d7a34; color:#fff; }
.tocart svg { width:16px; height:16px; }
.rent-note { margin-top:28px; font-size:14px; color:#6d6d6d; display:flex; gap:10px; align-items:flex-start; }
.rent-note b { color:var(--red); }

/* MENU strip (dark) */
.strip { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.strip figure { position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:6px; }
.strip img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.strip figure:hover img { transform:scale(1.06); }
.strip figcaption { position:absolute; inset:auto 0 0 0; padding:44px 16px 16px; font-family:'Roboto Slab',serif; font-size:15px; background:linear-gradient(180deg,transparent,rgba(27,28,28,.92)); }

/* VIDEO BAND */
.vband { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:980px; margin:0 auto; }
.vcard { position:relative; border-radius:10px; overflow:hidden; aspect-ratio:9/16; background:var(--black2); }
.vcard video, .vcard img { width:100%; height:100%; object-fit:cover; }
.vcard figcaption { position:absolute; left:12px; right:12px; bottom:12px; z-index:2; background:rgba(27,28,28,.82); border-left:3px solid var(--red); padding:9px 12px; font-size:13px; border-radius:4px; }

/* STEPS (light) */
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.stepn { font-family:'Roboto Slab',serif; font-size:56px; font-weight:700; color:var(--red); line-height:1; }
.step h3 { font-size:20px; margin:14px 0 8px; }
.step p { color:#6d6d6d; font-size:15px; }

/* ABOUT (dark) */
.about { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.about .ph { border-radius:8px; overflow:hidden; }
.about h2 { font-size:clamp(28px,3.4vw,40px); margin:10px 0 16px; }
.about p { color:#c9c9c9; margin-bottom:12px; }
.adv { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:26px; }
.adv div { background:var(--black2); border-radius:6px; padding:18px; font-size:14px; color:#c9c9c9; }
.adv b { display:block; font-family:'Roboto Slab',serif; color:#fff; margin-bottom:5px; font-size:15px; }
.adv i { display:block; width:28px; height:3px; background:var(--red); margin-bottom:10px; }

/* REVIEWS (light) */
.revs { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.rev { border:1px solid #e6e6e6; border-radius:8px; padding:26px; font-size:15px; color:#444; }
.rev .stars { color:var(--red); letter-spacing:3px; margin-bottom:12px; font-size:14px; }
.rev b { display:block; margin-top:16px; font-family:'Roboto Slab',serif; color:var(--black); }
.rev span { font-size:13px; color:#8a8a8a; }

/* CLIENTS */
.clients { border-top:1px solid #303030; border-bottom:1px solid #303030; padding:24px 0; overflow:hidden; }
.clients-track { display:flex; gap:56px; width:max-content; animation:mq 28s linear infinite; }
@keyframes mq { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.clients-track img { height:58px; width:auto; border-radius:4px; opacity:.85; }

/* CTA */
.cta { background:linear-gradient(135deg, var(--black) 0%, #241414 100%); border-top:1px solid #303030; }
.cta-in { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.cta h2 { font-size:clamp(28px,3.6vw,42px); margin:10px 0 14px; }
.cta .sub { color:#c9c9c9; }
.cta-phone { display:inline-block; font-family:'Roboto Slab',serif; font-size:28px; color:#fff; text-decoration:none; margin-top:22px; border-bottom:2px solid var(--red); padding-bottom:4px; }
.cta-phone:hover { color:var(--red); }
.form { background:rgba(255,255,255,.04); border:1px solid #3a3a3a; border-radius:8px; padding:32px; display:grid; gap:14px; }
.form label { font-size:13px; font-weight:600; color:#c9c9c9; display:grid; gap:6px; }
.form input { background:var(--black); border:1px solid #3a3a3a; border-radius:5px; color:#fff; padding:13px 14px; font-size:15px; font-family:inherit; }
.form input:focus { outline:none; border-color:var(--red); }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fnote { font-size:12px; color:#8a8a8a; text-align:center; }
.fok { display:none; text-align:center; padding:20px 0; }
.fok b { font-family:'Roboto Slab',serif; font-size:22px; color:var(--red); }


/* PAGES */
.nx-home section, .nx-page section { padding:72px 0; }
.light { background:#fff; color:var(--black); }
.crumbs { font-size:13px; color:#9b9b9b; padding:18px 0 0; }
.crumbs a { color:#bbb; text-decoration:none; }
.crumbs a:hover { color:var(--red); }
.light .crumbs, .light .crumbs a { color:#8a8a8a; }

/* BANNER */
.banner { position:relative; min-height:340px; display:flex; align-items:flex-end; isolation:isolate; }
.banner-bg { position:absolute; inset:0; z-index:-1; background-size:cover; background-position:center; }
.banner-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(27,28,28,.5), rgba(27,28,28,.92)); }
.banner-in { padding:64px 0 40px; width:100%; }
.banner h1 { font-size:clamp(32px,4.4vw,52px); margin:8px 0 10px; }
.banner p { color:#d3d3d3; max-width:60ch; }
.sechead { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:40px; }
.sechead h2 { font-size:clamp(26px,3.4vw,38px); }
.sechead p { color:var(--gray); max-width:56ch; margin-top:8px; }
.light .sechead p { color:#6d6d6d; }

/* TABS */
.tabs { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.tab { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:11px 20px; border:1px solid #d9d9d9; border-radius:22px; cursor:pointer; background:none; color:#555; transition:all .2s; font-family:'Open Sans'; }
.tab:hover { border-color:var(--red); color:var(--red); }
.tab.on { background:var(--black); border-color:var(--black); color:#fff; }

/* DISH CARDS */
.dishes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dish-card { border:1px solid #e6e6e6; border-radius:6px; overflow:hidden; background:#fff; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s; }
.dish-card:hover { box-shadow:0 14px 34px rgba(27,28,28,.12); transform:translateY(-3px); }
.dish-card .ph { aspect-ratio:4/3; overflow:hidden; }
.dish-card .ph img { width:100%; height:100%; object-fit:cover; }
.dish-b { padding:20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.dish-b h3 { font-size:18px; }
.consist { font-size:13px; color:#8a8a8a; flex:1; }
.dish-meta { display:flex; align-items:baseline; justify-content:space-between; border-top:1px solid #eee; padding-top:12px; }
.dish-meta .w { font-size:13px; color:#8a8a8a; }
.dish-meta .pr { font-family:'Roboto Slab',serif; font-size:20px; color:var(--black); }

/* GOODS */
.goods { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.good { border:1px solid #e6e6e6; border-radius:6px; overflow:hidden; display:flex; flex-direction:column; background:#fff; transition:box-shadow .25s, transform .25s; }
.good:hover { box-shadow:0 14px 34px rgba(27,28,28,.12); transform:translateY(-3px); }
.good .ph { aspect-ratio:1; background:#f6f6f6; display:block; }
.good .ph img { width:100%; height:100%; object-fit:cover; }
.good-b { padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.good-b h3 { font-size:16px; font-weight:500; line-height:1.35; flex:1; }
.good-b h3 a { text-decoration:none; }
.good-b h3 a:hover { color:var(--red); }
.good-b .price { font-family:'Roboto Slab',serif; font-size:20px; font-weight:700; color:var(--black); }
.good-b .price span { font-family:'Open Sans'; font-size:12px; color:#8a8a8a; font-weight:400; }
.tocart { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px; border-radius:5px; border:1px solid var(--red); background:var(--red); color:#fff; font-weight:700; font-size:13px; text-transform:uppercase; cursor:pointer; transition:all .25s; font-family:'Open Sans'; }
.tocart:hover { background:transparent; color:var(--red); }
.tocart.added { background:#1d7a34; border-color:#1d7a34; color:#fff; }
.tocart svg { width:16px; height:16px; }
.cats { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.cat-chip { font-size:13px; font-weight:600; border:1px solid #d9d9d9; border-radius:20px; padding:10px 16px; color:#444; text-decoration:none; transition:all .2s; cursor:pointer; background:none; font-family:'Open Sans'; }
.cat-chip b { color:var(--red); }
.cat-chip:hover, .cat-chip.on { border-color:var(--red); color:var(--red); }

/* STEPS */
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.stepn { font-family:'Roboto Slab',serif; font-size:52px; font-weight:700; color:var(--red); line-height:1; }
.step h3 { font-size:19px; margin:12px 0 8px; }
.step p { color:#6d6d6d; font-size:15px; }
.dark-steps .step p { color:#b9b9b9; }

/* SEO + FAQ */
.seo-text { max-width:820px; color:#c9c9c9; font-size:15px; }
.seo-text h2 { color:#fff; font-size:26px; margin-bottom:14px; }
.seo-text p { margin-bottom:12px; }
.faq { max-width:820px; }
.faq details { border:1px solid #e2e2e2; border-radius:6px; margin-bottom:12px; background:#fff; }
.faq summary { cursor:pointer; padding:18px 20px; font-weight:600; font-family:'Roboto Slab',serif; font-size:16px; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.faq summary::after { content:'+'; color:var(--red); font-size:22px; }
.faq details[open] summary::after { content:'–'; }
.faq details p { padding:0 20px 18px; color:#6d6d6d; font-size:15px; }

/* PRODUCT */
.nproduct { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start; }
.pgal-main { aspect-ratio:1; border:1px solid #e6e6e6; border-radius:8px; overflow:hidden; margin-bottom:12px; }
.pgal-main img { width:100%; height:100%; object-fit:cover; }
.pgal-thumbs { display:flex; gap:10px; }
.pgal-thumbs button { width:84px; height:84px; border:1px solid #e0e0e0; border-radius:6px; overflow:hidden; cursor:pointer; padding:0; background:none; }
.pgal-thumbs button.on { border-color:var(--red); }
.pgal-thumbs img { width:100%; height:100%; object-fit:cover; }
.pinfo h1 { font-size:clamp(26px,3vw,36px); margin-bottom:12px; }
.pinfo .price { font-family:'Roboto Slab',serif; font-size:32px; margin:14px 0 4px; }
.pinfo .price span { font-size:14px; color:#8a8a8a; font-family:'Open Sans'; }
.pmeta { font-size:14px; color:#6d6d6d; margin-bottom:20px; }
.pbuy { display:flex; gap:14px; align-items:stretch; margin:22px 0; flex-wrap:wrap; }
.qty { display:flex; border:1px solid #d9d9d9; border-radius:5px; overflow:hidden; }
.qty button { width:46px; border:0; background:#f6f6f6; font-size:20px; cursor:pointer; color:var(--black); }
.qty input { width:56px; text-align:center; border:0; font-size:16px; font-weight:700; font-family:inherit; }
.plist { border-top:1px solid #eee; padding-top:18px; font-size:14px; color:#555; display:grid; gap:8px; }
.plist b { color:var(--black); }

/* CART PAGE */
.cart-table { width:100%; border-collapse:collapse; color:var(--black); font-size:16px; font-family:'Open Sans',Arial,sans-serif; }
.cart-table th { text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#8a8a8a; padding:0 12px 12px 0; border-bottom:1px solid #e2e2e2; font-family:'Open Sans'; }
.cart-table td { padding:16px 12px 16px 0; border-bottom:1px solid #eee; vertical-align:middle; }
.ci { display:flex; gap:14px; align-items:center; }
.ci img { width:64px; height:64px; object-fit:cover; border-radius:6px; }
.ci b { font-family:'Roboto Slab',serif; font-weight:500; }
.rm { background:none; border:0; color:#b0b0b0; font-size:20px; cursor:pointer; min-width:40px; min-height:40px; }
.cart-table .qty button { min-height:40px; }
.cart-table .qty input { min-height:40px; }
.rm:hover { color:var(--red); }
.cart-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:40px; align-items:start; }
.cart-side { border:1px solid #e2e2e2; border-radius:8px; padding:26px; position:sticky; top:150px; display:grid; gap:14px; background:#fafafa; }
.cart-side h3 { font-size:19px; }
.cart-side label { font-size:13px; font-weight:600; color:#555; display:grid; gap:6px; }
.cart-side input { border:1px solid #d9d9d9; border-radius:5px; padding:12px 13px; font-size:15px; font-family:inherit; background:#fff; }
.cart-side input:focus { outline:none; border-color:var(--red); }
.dates { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.total-row { display:flex; justify-content:space-between; font-size:15px; color:#555; }
.total-row.big { font-family:'Roboto Slab',serif; font-size:21px; color:var(--black); border-top:1px solid #e2e2e2; padding-top:12px; }
.cart-note { font-size:13px; color:#8a8a8a; }
.empty-cart { text-align:center; padding:40px 0; color:#8a8a8a; }

/* GALLERY */
.gal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gal-grid figure { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:8px; }
.gal-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.gal-grid figure:hover img { transform:scale(1.05); }
.gal-grid figcaption { position:absolute; inset:auto 0 0 0; padding:40px 16px 14px; font-family:'Roboto Slab',serif; font-size:15px; color:#fff; background:linear-gradient(180deg,transparent,rgba(27,28,28,.9)); }

/* CTA + FORM */
.cta { background:linear-gradient(135deg, var(--black) 0%, #241414 100%); border-top:1px solid #303030; }
.cta-in { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.cta h2 { font-size:clamp(26px,3.4vw,38px); margin:8px 0 12px; }
.cta .sub { color:#c9c9c9; }
.cta-phone { display:inline-block; font-family:'Roboto Slab',serif; font-size:26px; color:#fff; text-decoration:none; margin-top:20px; border-bottom:2px solid var(--red); padding-bottom:4px; }
.form { background:rgba(255,255,255,.04); border:1px solid #3a3a3a; border-radius:8px; padding:30px; display:grid; gap:14px; }
.form label { font-size:13px; font-weight:600; color:#c9c9c9; display:grid; gap:6px; }
.form input { background:var(--black); border:1px solid #3a3a3a; border-radius:5px; color:#fff; padding:13px 14px; font-size:15px; font-family:inherit; }
.form input:focus { outline:none; border-color:var(--red); }
.fnote { font-size:12px; color:#8a8a8a; text-align:center; }


/* ==== Мобільні правила секцій (з макетів) ==== */
@media (max-width:1000px) {
  .hero-in { grid-template-columns:1fr; padding-top:44px; padding-bottom:52px; gap:44px; }
  .hero-video { justify-self:center; width:min(300px,86%); }
  .hero h1 { font-size:clamp(32px,9vw,44px); }
  .hero .sub { font-size:15px; }
  .hero-cta .nbtn { width:100%; }
  .hstats { gap:0 24px; display:grid; grid-template-columns:1fr 1fr; row-gap:18px; }
  .portals { grid-template-columns:1fr; }
  .portal { min-height:340px; }
  /* каруселі зі свайпом */
  .chips { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin:0 -24px 32px; padding:2px 24px; }
  .chips::-webkit-scrollbar { display:none; }
  .chip { white-space:nowrap; flex:0 0 auto; padding:10px 16px; }
  .goods { display:flex; overflow-x:auto; gap:14px; margin:0 -24px; padding:4px 24px 8px; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .goods::-webkit-scrollbar { display:none; }
  .good { flex:0 0 72vw; max-width:300px; scroll-snap-align:start; }
  .strip { display:flex; overflow-x:auto; gap:14px; margin:0 -24px; padding:0 24px 8px; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .strip::-webkit-scrollbar { display:none; }
  .strip figure { flex:0 0 68vw; max-width:280px; scroll-snap-align:start; }
  .vband { display:flex; overflow-x:auto; gap:14px; max-width:none; margin:0 -24px; padding:0 24px 8px; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .vband::-webkit-scrollbar { display:none; }
  .vcard { flex:0 0 74vw; max-width:300px; scroll-snap-align:center; }
  .steps,.revs { grid-template-columns:1fr; }
  .about,.cta-in { grid-template-columns:1fr; gap:36px; }
  .adv { grid-template-columns:1fr; }
  .sechead { margin-bottom:36px; }
  .sechead .nbtn { width:100%; }
  .form { padding:24px; }
  .frow { grid-template-columns:1fr; }
  .cta-phone { font-size:24px; }
  .ft { grid-template-columns:1fr; text-align:center; gap:22px; justify-items:center; }
  .ft-c { text-align:center; }
  section { padding:56px 0; }
  .nx-noop { padding-bottom:76px; }
  footer { padding-bottom:20px; }
}
@media (max-width:1000px) {
  .cat-collage video.main { display:none; }
  .cat-collage img.vfall { display:block; }
}
@media (max-width:1000px) {
  .cat-hero-in { grid-template-columns:1fr; }
  .cat-collage { justify-self:center; }
  .blog-grid { grid-template-columns:1fr; }
  .revs { grid-template-columns:1fr; }
  .logos-row { gap:14px 26px; }
  .logos-row img { height:46px; }
  .art-cta { justify-content:center; text-align:center; }
  section { padding:52px 0; }
  .dishes-grid { grid-template-columns:1fr 1fr; gap:14px; }
  .goods { grid-template-columns:1fr 1fr; gap:14px; }
  .nproduct { grid-template-columns:1fr; gap:32px; }
  .cart-grid { grid-template-columns:1fr; }
  .cart-side { position:static; }
  .gal-grid { grid-template-columns:1fr 1fr; }
  .steps { grid-template-columns:1fr; }
  .cta-in { grid-template-columns:1fr; gap:32px; }
  .ft { grid-template-columns:1fr; text-align:center; gap:20px; justify-items:center; }
  .ft-c { text-align:center; }
  .sechead .nbtn { width:100%; }
  .tabs, .cats { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-left:-24px; margin-right:-24px; padding-left:24px; padding-right:24px; }
  .tabs::-webkit-scrollbar, .cats::-webkit-scrollbar { display:none; }
  .tab, .cat-chip { white-space:nowrap; flex:0 0 auto; }
  .cart-table th:nth-child(2), .cart-table td:nth-child(2) { display:none; }
  .ci { gap:10px; }
  .ci img { width:48px; height:48px; }
  .ci b { font-size:14px; }
  .cart-table td { padding:12px 6px 12px 0; }
  .qty button { width:38px; }
  .qty input { width:38px; }
}
@media (max-width:560px) {
  .dishes-grid { grid-template-columns:1fr; }
  .goods { grid-template-columns:1fr 1fr; }
}

/* ==== Блоки, загублені при першій витяжці ==== */
/* SEARCH */
.search-row { display:flex; gap:14px; margin-bottom:28px; flex-wrap:wrap; }
.search-box { flex:1; min-width:260px; position:relative; }
.search-box svg { position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; stroke:#9b9b9b; }
.search-box input { width:100%; border:1px solid #d9d9d9; border-radius:5px; padding:14px 16px 14px 46px; font-size:15px; font-family:inherit; }
.search-box input:focus { outline:none; border-color:var(--red); }
.search-empty { display:none; text-align:center; color:#8a8a8a; padding:40px 0; }

/* LOGOS */
.logos-band { background:#fff; border-top:1px solid #eee; padding:44px 0; overflow:hidden; }
.logos-row { display:flex; gap:56px; align-items:center; margin-top:22px; width:max-content; animation:logomq 30s linear infinite; }
.logos-row:hover { animation-play-state:paused; }
@keyframes logomq { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.logos-row img { height:68px; width:auto; opacity:.8; transition:opacity .2s; }
.logos-row img:hover { opacity:1; }

/* REVIEWS */
.revs { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.rev { border:1px solid #e6e6e6; border-radius:8px; padding:26px; font-size:15px; color:#444; }
.rev .stars { color:var(--red); letter-spacing:3px; margin-bottom:12px; font-size:14px; }
.rev b { display:block; margin-top:16px; font-family:'Roboto Slab',serif; color:var(--black); }
.rev span { font-size:13px; color:#8a8a8a; }

/* KEJTERING HERO */
.cat-hero { position:relative; isolation:isolate; overflow:hidden; }
.cat-hero-bg { position:absolute; inset:0; z-index:-1; background-size:cover; background-position:center 35%; }
.cat-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(27,28,28,.96) 30%, rgba(27,28,28,.55) 70%, rgba(27,28,28,.35)); }
.cat-hero-in { display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; padding-top:56px; padding-bottom:56px; }
.cat-hero h1 { font-size:clamp(34px,4.6vw,56px); margin:10px 0 14px; }
.cat-hero .sub { color:#d3d3d3; max-width:52ch; margin-bottom:28px; }
.cat-hero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px; }
.cat-usp { display:flex; gap:34px; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.15); padding-top:22px; }
.cat-usp b { font-family:'Roboto Slab',serif; font-size:24px; color:var(--red); display:block; }
.cat-usp span { font-size:13px; color:#b9b9b9; }
.cat-collage { position:relative; justify-self:end; width:min(380px,100%); aspect-ratio:4/5; }
.cat-collage img { position:absolute; object-fit:cover; border-radius:8px; box-shadow:0 18px 44px rgba(0,0,0,.45); }
.cat-collage img.main, .cat-collage video.main { width:72%; aspect-ratio:3/4; top:0; left:0; z-index:1; }
.cat-collage video.main { position:absolute; object-fit:cover; border-radius:8px; box-shadow:0 18px 44px rgba(0,0,0,.45); }
.cat-collage img.small { width:56%; aspect-ratio:1; bottom:0; right:0; z-index:2; border:4px solid var(--black); }
.cat-collage img.vfall { display:none; }
@media (max-width:1000px) {
  .cat-collage video.main { display:none; }
  .cat-collage img.vfall { display:block; }
}
.cat-collage .badge { position:absolute; z-index:3; top:12px; right:0; background:var(--red); color:#fff; font-family:'Roboto Slab',serif; font-size:15px; padding:10px 16px; border-radius:5px; box-shadow:0 8px 22px rgba(225,41,29,.4); }

/* BLOG */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.bcard { border:1px solid #e6e6e6; border-radius:8px; overflow:hidden; background:#fff; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s; text-decoration:none; }
.bcard:hover { box-shadow:0 14px 34px rgba(27,28,28,.12); transform:translateY(-3px); }
.bcard .ph { aspect-ratio:16/10; overflow:hidden; }
.bcard .ph img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.bcard:hover .ph img { transform:scale(1.04); }
.bcard-b { padding:22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.bmeta { display:flex; gap:12px; font-size:12px; color:#8a8a8a; text-transform:uppercase; letter-spacing:.06em; font-weight:600; }
.bmeta i { color:var(--red); font-style:normal; }
.bcard-b h3 { font-size:19px; line-height:1.3; }
.bcard-b p { font-size:14px; color:#6d6d6d; flex:1; }
.bcard-b .more { font-size:13px; font-weight:700; text-transform:uppercase; color:var(--red); }

/* ARTICLE */
.article { max-width:760px; margin:0 auto; }
.article h1 { font-size:clamp(28px,4vw,44px); margin:14px 0 16px; }
.art-meta { display:flex; gap:16px; font-size:13px; color:#8a8a8a; margin-bottom:28px; flex-wrap:wrap; }
.art-meta b { color:var(--black); font-weight:600; }
.article .lead-img { border-radius:8px; overflow:hidden; margin-bottom:32px; }
.article h2 { font-size:26px; margin:36px 0 14px; }
.article p { color:#444; margin-bottom:16px; }
.article ul { margin:0 0 16px 22px; color:#444; }
.article li { margin-bottom:8px; }
.art-table { width:100%; border-collapse:collapse; color:var(--black); margin:20px 0 28px; font-size:15px; }
.art-table th { background:var(--black); color:#fff; text-align:left; padding:12px 14px; font-family:'Roboto Slab',serif; font-weight:500; }
.art-table td { border:1px solid #e2e2e2; padding:11px 14px; }
.art-table tr:nth-child(even) td { background:#fafafa; }
.art-cta { background:var(--black); border-radius:8px; padding:30px; margin:36px 0; display:flex; gap:24px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.art-cta h3 { color:#fff; font-size:20px; max-width:38ch; }
.art-quote { border-left:4px solid var(--red); padding:6px 0 6px 20px; font-family:'Roboto Slab',serif; font-size:19px; color:var(--black); margin:26px 0; }


.logos-band { background:#fff; border-top:1px solid #eee; padding:44px 0; overflow:hidden; }
.logos-row { display:flex; gap:56px; align-items:center; margin-top:22px; width:max-content; animation:logomq 30s linear infinite; }
.logos-row:hover { animation-play-state:paused; }
@keyframes logomq { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.logos-row img { height:68px; width:auto; opacity:.8; }
@media (max-width:1000px) { .logos-row img { height:46px; } }

/* ==== Фікси: назви товарів, пропорції фото, форма футера ==== */
.good-b h3 a, .dish-b h3 a, .bcard-b h3 a { color:inherit !important; }
.good-b h3 a:hover { color:var(--red) !important; }
.good .ph img, .dish-card .ph img, .strip figure img, .bcard .ph img, .gal-grid img {
  width:100% !important; height:100% !important; object-fit:cover;
}
.ncta-form, .ncta-form p, .ncta-form label, .ncta-form .wpcf7 { color:#c9c9c9 !important; }
.ncta-form input:not([type="submit"]), .ncta-form textarea {
  color:#fff !important; background:var(--black) !important; border:1px solid #3a3a3a !important; border-radius:5px !important;
}
.ncta-form input::placeholder, .ncta-form textarea::placeholder { color:#8a8a8a !important; opacity:1 !important; }
.ncta-form input[type="submit"] { background:var(--red) !important; color:#fff !important; border:1px solid var(--red) !important; }
.ncta-form input[type="submit"]:hover { background:transparent !important; color:var(--red) !important; }

/* Білі секції: заголовки темні, фото в рамках */
.light :is(h2,h3):not([style*="color"]) { color:var(--black); }
.good .ph, .dish-card .ph, .bcard .ph { overflow:hidden; }
.good .ph { aspect-ratio:1/1; }

/* ==== СТАНДАРТ ФОТО-ОБЛАСТЕЙ (остаточний): квадрат через padding + absolute img ==== */
.good .ph {
  aspect-ratio:auto !important;
  position:relative; display:block; width:100%;
  height:0 !important; padding-top:100% !important;
  overflow:hidden; background:#f6f6f6;
}
.good .ph img {
  position:absolute; inset:0;
  width:100% !important; height:100% !important;
  object-fit:cover; margin:0 !important;
}
.dish-card .ph, .bcard .ph {
  position:relative; display:block; width:100%;
  height:0 !important; overflow:hidden; background:#f6f6f6;
}
.dish-card .ph { padding-top:75% !important; }
.bcard .ph { padding-top:62.5% !important; }
.dish-card .ph img, .bcard .ph img {
  position:absolute; inset:0;
  width:100% !important; height:100% !important;
  object-fit:cover; margin:0 !important;
}

/* Кнопки-контур на білих секціях */
.light .nbtn-line { color:var(--black); border-color:#c9c9c9; }
.light .nbtn-line:hover { color:var(--red); border-color:var(--red); }

/* ==== РЕСТАЙЛ ОФОРМЛЕННЯ ЗАМОВЛЕННЯ (кошик + чекаут оренди) ==== */
body.page-template-page-dishes-cart .section:not(.ncta),
body.page-template-page-checkout-dishes .section:not(.ncta) {
  background:#fff; color:var(--black);
}
body[class*="page-template-page-dishes-cart"] .container-extra,
body[class*="page-template-page-checkout"] .container-extra {
  max-width:1240px; margin:0 auto; padding:40px 24px 72px;
}
body[class*="dishes-cart"] .order-page .heading, body[class*="checkout"] .order-page .heading,
body[class*="dishes-cart"] .order-page__title, body[class*="checkout"] .order-page__title {
  color:var(--black) !important;
}
body[class*="dishes-cart"] .order-page, body[class*="checkout"] .order-page { color:#333; }
body[class*="dishes-cart"] .input-text, body[class*="checkout"] .input-text,
body[class*="dishes-cart"] select, body[class*="checkout"] select {
  background:#fff !important; color:var(--black) !important;
  border:1px solid #d9d9d9 !important; border-radius:5px !important;
  padding:13px 14px !important; font-size:15px !important;
}
body[class*="dishes-cart"] .input-text::placeholder, body[class*="checkout"] .input-text::placeholder { color:#9b9b9b !important; opacity:1 !important; }
body[class*="dishes-cart"] .input-text:focus, body[class*="checkout"] .input-text:focus { border-color:var(--red) !important; outline:none; }
body[class*="dishes-cart"] .order-sum, body[class*="checkout"] .order-sum {
  background:#fafafa; border:1px solid #e2e2e2; border-radius:8px; padding:26px;
}
body[class*="dishes-cart"] .product__count-input, body[class*="dishes-cart"] .product__period-input {
  background:#fff !important; color:var(--black) !important; border:1px solid #d9d9d9 !important; border-radius:5px !important; min-height:40px;
}
body[class*="dishes-cart"] .btn-primary, body[class*="checkout"] .btn-primary,
body[class*="dishes-cart"] input[type="submit"], body[class*="checkout"] input[type="submit"] {
  background:var(--red) !important; color:#fff !important; border:1px solid var(--red) !important; border-radius:5px !important;
  text-transform:uppercase; font-weight:600;
}
body[class*="dishes-cart"] .btn-primary:hover, body[class*="checkout"] .btn-primary:hover { background:transparent !important; color:var(--red) !important; }

/* Липкий пошук + підкатегорії візуально як діти */
.nx-page .search-row { position:sticky; top:var(--header-height); z-index:60; background:#fff; padding:14px 0 10px; margin-bottom:14px; }
.cats-sub { background:#f7f5f2; border:1px solid #ececec; border-radius:10px; padding:12px 16px !important; margin:-16px 0 36px !important; position:relative; }
.cats-sub::before { content:"↳ підкатегорії:"; font-size:12px; color:#9b9b9b; margin-right:10px; align-self:center; text-transform:uppercase; letter-spacing:.06em; font-weight:600; }
.cat-chip-sub { background:#fff; }

/* FAQ по центру */
.faq { margin-left:auto; margin-right:auto; }
section .wrap > .sechead:has(+ .faq) { max-width:820px; margin-left:auto; margin-right:auto; }

/* Телефон у шапці — помітний */
.nhd-phone {
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid #3a3a3a; border-radius:5px; padding:10px 16px;
  font-size:16px; font-weight:700; transition:border-color .2s, color .2s;
}
.nhd-phone::before {
  content:""; width:16px; height:16px; flex-shrink:0;
  background:var(--red);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z%27/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z%27/%3E%3C/svg%3E") center/contain no-repeat;
}
.nhd-phone:hover { border-color:var(--red); color:var(--red); }

/* Іконки у випадашках меню */
.nhd-nav .sub-menu a, .nmm .sub-menu a { display:flex; align-items:center; gap:10px; }
.nhd-nav .sub-menu a::before, .nmm .sub-menu a::before {
  content:""; width:18px; height:18px; flex-shrink:0; background:var(--red);
  -webkit-mask:var(--mi) center/contain no-repeat; mask:var(--mi) center/contain no-repeat;
}
li.menu-item-2586 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%279%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%274%27/%3E%3C/svg%3E"); }
li.menu-item-2587 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M7 3h10l-1.5 7a3.5 3.5 0 01-7 0L7 3z%27/%3E%3Cpath d=%27M12 13v6M8 21h8%27/%3E%3C/svg%3E"); }
li.menu-item-2588 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M4 18v-6a2 2 0 012-2h12a2 2 0 012 2v6%27/%3E%3Cpath d=%27M4 18h16M6 18v3M18 18v3M8 10V6h8v4%27/%3E%3C/svg%3E"); }
li.menu-item-2589 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M3 7l9-4 9 4-9 4-9-4z%27/%3E%3Cpath d=%27M3 13l9 4 9-4M3 17l9 4 9-4%27/%3E%3C/svg%3E"); }
li.menu-item-2590 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M12 4l9 16H3L12 4z%27/%3E%3Cpath d=%27M12 20v-5%27/%3E%3C/svg%3E"); }
li.menu-item-2591 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Crect x=%273%27 y=%273%27 width=%277%27 height=%277%27/%3E%3Crect x=%2714%27 y=%273%27 width=%277%27 height=%277%27/%3E%3Crect x=%273%27 y=%2714%27 width=%277%27 height=%277%27/%3E%3Crect x=%2714%27 y=%2714%27 width=%277%27 height=%277%27/%3E%3C/svg%3E"); }
li.menu-item-2592 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M4 3h12a3 3 0 013 3v15H7a3 3 0 01-3-3V3z%27/%3E%3Cpath d=%27M8 8h7M8 12h7%27/%3E%3C/svg%3E"); }
li.menu-item-2597 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M5 4h14c0 5-3 8-7 8s-7-3-7-8z%27/%3E%3Cpath d=%27M12 12v7M8 21h8%27/%3E%3C/svg%3E"); }
li.menu-item-2598 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M7 3v8M5 3v5a2 2 0 004 0V3%27/%3E%3Cpath d=%27M7 11v10M17 3c-2 2-2 7 0 9v9%27/%3E%3C/svg%3E"); }
li.menu-item-2599 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Ccircle cx=%279%27 cy=%278%27 r=%273%27/%3E%3Ccircle cx=%2716%27 cy=%279%27 r=%272.5%27/%3E%3Cpath d=%27M4 20c0-3 2-5 5-5s5 2 5 5M14 20c0-2.5 1-4 3-4s3 1.5 3 4%27/%3E%3C/svg%3E"); }
li.menu-item-2600 a { --mi:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27%3E%3Cpath d=%27M12 3c3 4-2 5 0 8 1 1.5 3 1 3 4a3.5 3.5 0 11-7 0c0-4 2-4 4-12z%27/%3E%3C/svg%3E"); }
/* CTA-блок у статті: білий заголовок на чорному (перебиває правило світлих секцій) */
.art-cta h3 { color:#fff !important; }
