/* krymistok.ru — brand palette (navy #254793 + red #e30e13) + best-of-competitors elements.
   Original CSS authored from extracted values; no vendor CSS copied. */
:root {
  --kr-navy:   #254793;   /* primary blue */
  --kr-navy-2: #33559a;
  --kr-navy-d: #1d3e88;
  --kr-red:    #e30e13;   /* accent red */
  --kr-red-d:  #c00a0e;
  --kr-header: rgba(236,236,236,0.92); /* translucent grey header */
  --kr-tint:   #f4f8fc;   /* cool water-like alt section */
}
body { color: #1a2230; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
h1, h2, h3, .brand-name, .stat-num, .navbar-brand { font-family: "Montserrat", Arial, sans-serif; }

/* ---------- Header / top menu (translucent grey, logo left, centered links, red pill CTA, NO phone) ---------- */
.site-header {
  background: var(--kr-header);
  -webkit-backdrop-filter: saturate(160%) blur(6px);
  backdrop-filter: saturate(160%) blur(6px);
  border-bottom: 1px solid #dfe3ea;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.site-header .navbar { padding-top: .35rem; padding-bottom: .35rem; min-height: 55px; }
.navbar-brand { display: flex; align-items: center; gap: .5rem; }
.brand-drop { font-size: 1.7rem; line-height: 1; }
.brand-name { color: var(--kr-navy); font-weight: 800; font-size: 1.3rem; letter-spacing: .2px; }
.navbar-nav .nav-link {
  color: var(--kr-navy);          /* #254793 */
  font-weight: 600;
  text-transform: none;            /* menu is normal case */
  font-size: 1.02rem;
  padding: .4rem .8rem;
  white-space: nowrap;             /* keep «Розлив под брендом» on one line */
  transition: color .15s;
}
/* a touch tighter on mid-desktop so all 7 items + CTA fit one row */
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-nav .nav-link { font-size: .96rem; padding: .4rem .6rem; }
}
.navbar-nav .nav-link:hover  { color: var(--kr-red); }
.navbar-nav .nav-link.active { color: var(--kr-red); }

/* ---------- Buttons ---------- */
.btn-cta {                          /* CTA "Заказать": red pill, uppercase, hover -> navy */
  background: var(--kr-red); color: #fff;
  border-radius: 20px; padding: .5rem 1.5rem; font-weight: 700;
  text-transform: uppercase; font-size: .8rem; letter-spacing: .4px; white-space: nowrap;
  transition: background-color .2s;
}
.btn-cta:hover { background: var(--kr-navy); color: #fff; }
.btn-primary {
  --bs-btn-bg: var(--kr-navy); --bs-btn-border-color: var(--kr-navy);
  --bs-btn-hover-bg: var(--kr-navy-d); --bs-btn-hover-border-color: var(--kr-navy-d);
  --bs-btn-active-bg: var(--kr-navy-d);
  border-radius: 20px; font-weight: 600;
}
.btn-lg.btn-primary, .btn-lg.btn-outline-secondary, .btn-lg.btn-light { border-radius: 24px; }
.btn-outline-primary {
  --bs-btn-color: var(--kr-navy); --bs-btn-border-color: var(--kr-navy);
  --bs-btn-hover-bg: var(--kr-navy); --bs-btn-hover-border-color: var(--kr-navy);
  border-radius: 20px;
}
.text-primary { color: var(--kr-navy) !important; }
.badge.bg-primary { background: var(--kr-navy) !important; }
.badge.bg-secondary { background: var(--kr-navy-2) !important; }

/* ---------- Stat counters band (НИК / Trueco trust pattern) ---------- */
.stats-band { background: var(--kr-navy); color: #fff; border-radius: 14px; padding: 1.75rem 1rem; }
.stats-band .stat-num { font-size: 2.3rem; font-weight: 800; line-height: 1.1; }
.stats-band .stat-num .u { color: #9fc1ff; font-size: 1.3rem; }
.stats-band .stat-label { font-size: .9rem; opacity: .85; }

/* ---------- 4-step quality process (Trueco pattern) ---------- */
.proc-step { background: #fff; border: 1px solid #e2e8f2; border-radius: 12px; padding: 1.1rem; height: 100%; }
.proc-step .proc-n {
  width: 34px; height: 34px; border-radius: 50%; background: var(--kr-red); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-weight: 700; margin-bottom: .5rem;
}
.proc-step h3 { font-size: 1rem; color: var(--kr-navy); margin: 0 0 .25rem; }

/* ---------- Content ---------- */
.page-body h2 { color: var(--kr-navy); font-size: 1.35rem; margin-top: 1.6rem; }
.page-body h3 { color: var(--kr-navy-d); }
.page-body ul, .page-body ol { padding-left: 1.2rem; }
.page-body table { border-collapse: collapse; width: 100%; margin: 1rem 0; }
.page-body th { background: #eef2fb; color: var(--kr-navy); }
.page-body th, .page-body td { border: 1px solid #d6deef; padding: 8px 12px; text-align: left; }
.lead-form .form-control, .lead-form .form-select { font-size: .95rem; }
.hero-cta { background: var(--kr-navy); color: #fff; }
section.alt { background: var(--kr-tint); border-radius: 14px; }
main { min-height: 60vh; }

.brand-logo { display: block; }

/* ---------- Catalog («КАТАЛОГ ПРОДУКЦИИ» grid, our design) ---------- */
.catalog-head h1 { font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--kr-navy); }
.catfilters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.75rem; }
.catfilter {
  display: inline-block; border: 1px solid #cdd8ea; background: #fff; color: var(--kr-navy);
  border-radius: 22px; padding: .4rem 1.1rem; font-weight: 600; font-size: .92rem; text-decoration: none;
  transition: all .15s;
}
.catfilter:hover { border-color: var(--kr-navy); color: var(--kr-navy); }
.catfilter.is-active { background: var(--kr-navy); border-color: var(--kr-navy); color: #fff; }

.product-card {
  display: flex; flex-direction: column; height: 100%; background: #fff;
  border: 1px solid #e6ebf3; border-radius: 16px; overflow: hidden;
  transition: box-shadow .2s, transform .2s; text-decoration: none; color: inherit;
}
.product-card:hover { box-shadow: 0 12px 28px rgba(37,71,147,.14); transform: translateY(-3px); color: inherit; }
.product-card .pc-imgwrap {
  background: linear-gradient(180deg,#f4f8fc 0%, #e9f1fa 100%);
  display: flex; align-items: center; justify-content: center; padding: 1.1rem; aspect-ratio: 3 / 4;
}
.product-card .pc-imgwrap img { max-height: 250px; max-width: 100%; width: auto; object-fit: contain; }
.product-card .pc-body { padding: .85rem 1rem 1.1rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.product-card .pc-title { font-family: "Montserrat", Arial, sans-serif; font-weight: 700; font-size: 1.02rem; color: var(--kr-navy); line-height: 1.25; }
.product-card .pc-meta { font-size: .85rem; color: #6a778c; }
.pc-badge { align-self: flex-start; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .3px;
  border-radius: 20px; padding: .18rem .6rem; }
.pc-badge.own { background: #e7edfb; color: var(--kr-navy); }
.pc-badge.pl  { background: #fde7e8; color: var(--kr-red-d); }
.product-card .pc-cta { margin-top: auto; font-weight: 600; color: var(--kr-red); font-size: .9rem; }
.product-card:hover .pc-cta { color: var(--kr-navy); }

/* ---------- Product detail ---------- */
.pd-imgwrap { background: linear-gradient(180deg,#f4f8fc,#e6f0fa); border-radius: 18px; padding: 1.5rem; text-align: center; }
.pd-imgwrap img { max-height: 460px; width: auto; }
.pd-specs { width: 100%; border-collapse: collapse; }
.pd-specs th, .pd-specs td { border-bottom: 1px solid #e6ebf3; padding: .55rem .25rem; text-align: left; font-size: .95rem; }
.pd-specs th { color: #6a778c; font-weight: 600; width: 45%; }

/* ---------- Brands-we-bottle strip (home) ---------- */
.brandstrip { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.brandstrip .bs-item { background: #fff; border: 1px solid #e6ebf3; border-radius: 14px; padding: .8rem; text-align: center; width: 150px; }
.brandstrip .bs-item img { height: 150px; width: auto; }
.brandstrip .bs-item .bs-name { font-size: .8rem; color: #6a778c; margin-top: .35rem; }

/* ---------- Certificates / documents ---------- */
.cert-card {
  display: flex; flex-direction: column; height: 100%; background: #fff;
  border: 1px solid #e6ebf3; border-radius: 14px; overflow: hidden; text-decoration: none; color: inherit;
  transition: box-shadow .2s, transform .2s;
}
.cert-card:hover { box-shadow: 0 12px 28px rgba(37,71,147,.14); transform: translateY(-3px); color: inherit; }
.cert-thumb { display: block; background: #f4f8fc; border-bottom: 1px solid #e6ebf3; padding: .9rem; text-align: center; }
.cert-thumb img { max-height: 260px; width: auto; max-width: 100%; box-shadow: 0 4px 14px rgba(37,71,147,.12); }
.cert-body { padding: .8rem 1rem 1.05rem; display: flex; flex-direction: column; gap: .25rem; flex: 1; }
.cert-title { font-family: "Montserrat", Arial, sans-serif; font-weight: 700; font-size: .98rem; color: var(--kr-navy); line-height: 1.25; }
.cert-sub { font-size: .85rem; color: #6a778c; }
.cert-link { margin-top: auto; font-weight: 600; color: var(--kr-red); font-size: .88rem; }
.cert-card:hover .cert-link { color: var(--kr-navy); }

@media (max-width: 991px) {
  .navbar-nav { padding: .5rem 0; }
  .btn-cta { display: inline-block; margin-top: .5rem; }
  .stats-band .stat-num { font-size: 1.9rem; }
}

/* ===================================================================
   2026 modern refresh — depth, gradients, motion, no link underlines
   =================================================================== */
:root {
  --kr-radius:    16px;
  --kr-radius-lg: 24px;
  --kr-grad:      linear-gradient(135deg, #2b56b0 0%, #1d3e88 100%);
  --kr-grad-soft: linear-gradient(180deg, #f7fbff 0%, #eaf3fd 100%);
  --kr-sh-sm: 0 2px 10px rgba(22,40,80,.06);
  --kr-sh:    0 12px 30px rgba(22,40,80,.10);
  --kr-sh-lg: 0 26px 60px rgba(22,40,80,.16);
}
html { scroll-behavior: smooth; }
body {
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  background: linear-gradient(180deg,#fbfdff 0, #f5f9fd 280px, #ffffff 640px) no-repeat;
}
/* no underlines anywhere — modern color/hover affordance instead */
a, a:hover, a:focus { text-decoration: none; }
::selection { background: rgba(37,71,147,.16); }
main.container { padding-top: 2.1rem; }
h1, h2 { letter-spacing: -.015em; }

/* kicker / eyebrow label */
.kicker {
  display: inline-block; font-family: "Montserrat", Arial, sans-serif; font-weight: 700;
  font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--kr-red);
  background: #fde7e8; border-radius: 20px; padding: .32rem .85rem; margin-bottom: 1rem;
}
/* section heading with gradient accent bar */
.sec-title { position: relative; font-weight: 700; }
.sec-title::after { content:""; display:block; width:46px; height:4px; border-radius:4px;
  background: var(--kr-grad); margin-top: .55rem; }

/* hero */
.home-hero {
  background: var(--kr-grad-soft); border: 1px solid #e6eef9; border-radius: 26px;
  padding: clamp(1.4rem, 3vw, 2.6rem); box-shadow: var(--kr-sh-sm);
}
.home-hero h1 { font-weight: 800; line-height: 1.07; }
.hero-illustration { width: 100%; max-width: 480px; height: auto; display: block; margin: 0 auto;
  border-radius: 18px; box-shadow: 0 16px 34px rgba(22,40,80,.16); }
@media (max-width: 991px) { .hero-illustration { margin-top: .5rem; max-width: 420px; } }

/* buttons */
.btn { transition: transform .16s ease, box-shadow .16s ease, background-color .2s ease; }
.btn-primary { box-shadow: 0 8px 20px rgba(37,71,147,.22); }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(37,71,147,.30); }
.btn-cta { background: linear-gradient(135deg,#f23b3f,#e30e13); box-shadow: 0 8px 18px rgba(227,14,19,.26); }
.btn-cta:hover { background: var(--kr-grad); box-shadow: 0 10px 22px rgba(37,71,147,.30); transform: translateY(-1px); }
.btn-outline-primary:hover { transform: translateY(-1px); }

/* navbar refine: frosted, animated active/hover underline accent */
.site-header { background: rgba(255,255,255,.82); border-bottom-color: #e7ecf4; }
.navbar-nav .nav-link { position: relative; }
.navbar-nav .nav-link.active::after,
.navbar-nav .nav-link:hover::after {
  content: ""; position: absolute; left: 1.05rem; right: 1.05rem; bottom: .12rem;
  height: 2px; border-radius: 2px; background: var(--kr-red);
}

/* stats band: gradient + soft glow */
.stats-band { background: var(--kr-grad); border-radius: 22px; box-shadow: var(--kr-sh); position: relative; overflow: hidden; }
.stats-band::before { content:""; position:absolute; top:-50px; right:-40px; width:200px; height:200px;
  background: radial-gradient(circle, rgba(159,193,255,.35), transparent 70%); pointer-events:none; }

/* tiles / cards depth + motion */
.proc-step { border-radius: var(--kr-radius); box-shadow: var(--kr-sh-sm); }
.proc-step .proc-n { background: var(--kr-grad); box-shadow: 0 6px 14px rgba(37,71,147,.25); }
.product-card, .cert-card { border-radius: 18px; box-shadow: var(--kr-sh-sm); }
.product-card:hover, .cert-card:hover { box-shadow: var(--kr-sh-lg); }
.border.rounded { border-radius: var(--kr-radius) !important; border-color: #e6ebf3 !important;
  box-shadow: var(--kr-sh-sm); transition: transform .18s ease, box-shadow .18s ease; }
.border.rounded:hover { transform: translateY(-2px); box-shadow: var(--kr-sh); }

/* feature sections */
.hero-cta { background: var(--kr-grad); border-radius: var(--kr-radius-lg); box-shadow: var(--kr-sh); }
section.alt { border-radius: var(--kr-radius-lg); }

/* modern dark footer */
.site-footer { background: #131d33; color: #c4cfe6; border: 0; }
.site-footer .text-muted { color: #93a1bd !important; }
.site-footer a, .site-footer .link-secondary { color: #c4cfe6 !important; }
.site-footer a:hover { color: #ffffff !important; }
.site-footer .brand-logo { filter: brightness(0) invert(1); opacity: .92; }

/* ---------- Blog ---------- */
.post-card { display: flex; flex-direction: column; height: 100%; background: #fff;
  border: 1px solid #e6ebf3; border-radius: 18px; overflow: hidden; text-decoration: none; color: inherit;
  box-shadow: var(--kr-sh-sm); transition: transform .18s ease, box-shadow .18s ease; }
.post-card:hover { transform: translateY(-3px); box-shadow: var(--kr-sh-lg); color: inherit; }
.post-cover { display: block; aspect-ratio: 12 / 5; overflow: hidden; background: #eaf1fb; }
.post-cover img { width: 100%; height: 100%; object-fit: cover; }
.post-body { padding: 1rem 1.15rem 1.2rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.post-date { font-size: .8rem; color: #8593ab; }
.post-title { font-family: "Montserrat", Arial, sans-serif; font-weight: 700; font-size: 1.08rem;
  color: var(--kr-navy); line-height: 1.28; }
.post-excerpt { font-size: .9rem; color: #5f6c81; }
.post-link { margin-top: auto; font-weight: 600; color: var(--kr-red); font-size: .9rem; }
.post-card:hover .post-link { color: var(--kr-navy); }
.post-hero { display: block; width: 100%; aspect-ratio: 12 / 5; object-fit: cover; background: #eaf1fb;
  border-radius: 18px; margin-bottom: 1.1rem; box-shadow: var(--kr-sh); }
.post-content { font-size: 1.05rem; line-height: 1.7; }
.post-content h2 { margin-top: 1.8rem; }
.post-content p { margin-bottom: 1rem; }

/* ---------- Lightbox gallery ---------- */
.lb-overlay { position: fixed; inset: 0; background: rgba(16,24,44,.88);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  display: none; align-items: center; justify-content: center; z-index: 1080; padding: 4vh 3vw;
  opacity: 0; transition: opacity .18s ease; }
.lb-overlay.open { display: flex; opacity: 1; }
.lb-stage { position: relative; max-width: 880px; width: 100%; text-align: center; }
.lb-img { max-width: 100%; max-height: 80vh; border-radius: 16px; background: #fff;
  box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.lb-cap { color: #eaf1fd; margin-top: .9rem; font-weight: 600; }
.lb-count { color: #9fb3d6; font-size: .82rem; margin-top: .15rem; }
.lb-btn { position: absolute; top: 50%; transform: translateY(-50%); border: 0; cursor: pointer;
  width: 54px; height: 54px; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff;
  font-size: 1.7rem; line-height: 1; transition: background .15s; }
.lb-btn:hover { background: rgba(255,255,255,.30); }
.lb-prev { left: -10px; } .lb-next { right: -10px; }
.lb-close { position: fixed; top: 18px; right: 22px; width: 46px; height: 46px; border-radius: 50%;
  border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 1.5rem; cursor: pointer; }
.lb-close:hover { background: rgba(255,255,255,.30); }
@media (max-width: 575px) { .lb-prev { left: 0; } .lb-next { right: 0; } .lb-btn { width: 44px; height: 44px; } }

@media (max-width: 991px) {
  .home-hero { border-radius: 20px; }
  .stats-band { border-radius: 18px; }
}

/* ---------- Header dropdown («О компании») ---------- */
.navbar-nav .dropdown-menu { border: 1px solid #e6ebf3; border-radius: 14px; box-shadow: var(--kr-sh-lg);
  padding: .4rem; margin-top: .4rem; }
.navbar-nav .dropdown-item { border-radius: 9px; padding: .5rem .8rem; font-weight: 500; color: var(--kr-navy); white-space: normal; }
.navbar-nav .dropdown-item:hover, .navbar-nav .dropdown-item:focus { background: var(--kr-tint); color: var(--kr-red); }
.navbar-nav .dropdown-item.active { background: var(--kr-navy); color: #fff; }
.navbar-nav .dropdown-toggle::after { vertical-align: .12em; }
@media (min-width: 992px) { .navbar-nav .dropdown:hover > .dropdown-menu { display: block; } }

/* ---------- News (regional-portal style) ---------- */
.news-rubrics { display: flex; flex-wrap: wrap; gap: .5rem; }
.news-rub { display: inline-block; padding: .4rem .95rem; border-radius: 999px; font-size: .9rem; font-weight: 600;
  color: var(--kr-navy); background: #fff; border: 1px solid #dbe4f1; transition: all .15s; }
.news-rub:hover { border-color: var(--kr-navy); color: var(--kr-navy); }
.news-rub.active { background: var(--kr-navy); border-color: var(--kr-navy); color: #fff; }
.news-card { display: flex; flex-direction: column; height: 100%; background: #fff;
  border: 1px solid #e6ebf3; border-radius: 18px; overflow: hidden; text-decoration: none; color: inherit;
  box-shadow: var(--kr-sh-sm); transition: transform .18s ease, box-shadow .18s ease; }
.news-card:hover { transform: translateY(-3px); box-shadow: var(--kr-sh-lg); color: inherit; }
.news-cover { position: relative; display: block; aspect-ratio: 12 / 5; overflow: hidden; background: #eaf1fb; }
.news-cover img { width: 100%; height: 100%; object-fit: contain; }  /* show full cover, no cropping */
.news-rub-badge { position: absolute; left: .7rem; top: .7rem; background: var(--kr-red); color: #fff;
  font-size: .72rem; font-weight: 700; padding: .22rem .6rem; border-radius: 999px; }
.news-body { padding: 1rem 1.15rem 1.2rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.news-meta { font-size: .8rem; color: #8593ab; }
.news-title { font-family: "Montserrat", Arial, sans-serif; font-weight: 700; font-size: 1.06rem;
  color: var(--kr-navy); line-height: 1.28; }
.news-excerpt { font-size: .9rem; color: #5f6c81; }
.news-link { margin-top: auto; font-weight: 600; color: var(--kr-red); font-size: .9rem; }
.news-card:hover .news-link { color: var(--kr-navy); }
.news-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; font-size: .9rem; color: #8593ab; }
.news-rub-pill { background: var(--kr-navy); color: #fff; font-weight: 600; font-size: .78rem; padding: .26rem .7rem; border-radius: 999px; }

/* news listing = single-column feed: wide cover on TOP, text BELOW, stacked down (ref krym-pbk.ru/news) */
.news-grid { display: flex; flex-direction: column; gap: 1.6rem; }
.news-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e6ebf3; border-radius: 16px;
  overflow: hidden; text-decoration: none; color: inherit; box-shadow: var(--kr-sh-sm); transition: transform .15s, box-shadow .15s; }
.news-card:hover { transform: translateY(-3px); box-shadow: var(--kr-sh-lg); color: inherit; }
.nc-cover { display: block; width: 100%; aspect-ratio: 12 / 5; background: #eaf1fb; overflow: hidden; }
.nc-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-body { padding: 1.15rem 1.5rem 1.35rem; display: flex; flex-direction: column; gap: .55rem; min-width: 0; }
.nc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .8rem; font-size: .84rem; color: #8593ab; }
.nc-rub { background: var(--kr-navy); color: #fff; font-weight: 600; font-size: .74rem; padding: .2rem .6rem; border-radius: 999px; }
.nc-title { font-family: "Montserrat", Arial, sans-serif; font-weight: 700; font-size: 1.4rem; line-height: 1.25; color: var(--kr-navy); }
.nc-excerpt { color: #5f6c81; font-size: .97rem; line-height: 1.55; }
.nc-link { margin-top: .25rem; font-weight: 600; color: var(--kr-red); font-size: .93rem; }
.news-card:hover .nc-link { color: var(--kr-navy); }

/* ---------- Production virtual tour (horizontal carousel, per client reference) ---------- */
.tour-carousel { position: relative; }
.tour-track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: .25rem .25rem 1rem; scrollbar-width: thin; }
.tour-slide { flex: 0 0 auto; width: clamp(260px, 33%, 380px); scroll-snap-align: start;
  display: block; text-decoration: none; color: inherit; background: #fff; border: 1px solid #e6ebf3;
  border-radius: 16px; overflow: hidden; box-shadow: var(--kr-sh-sm); transition: transform .18s, box-shadow .18s; }
.tour-slide:hover { transform: translateY(-3px); box-shadow: var(--kr-sh-lg); color: inherit; }
.tour-thumb { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #eaf1fb; }
.tour-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.tour-slide:hover .tour-thumb img { transform: scale(1.05); }
.tour-zoom { position: absolute; right: .6rem; bottom: .6rem; width: 36px; height: 36px; border-radius: 50%;
  background: rgba(29,62,136,.85); color: #fff; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .18s; }
.tour-slide:hover .tour-zoom { opacity: 1; }
.tour-cap { display: block; padding: .7rem .9rem .85rem; font-weight: 600; font-size: .92rem; color: var(--kr-navy); }
.tour-nav { position: absolute; top: 36%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px;
  border-radius: 50%; border: 0; background: var(--kr-navy); color: #fff; font-size: 1.3rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center; box-shadow: var(--kr-sh); opacity: .94; }
.tour-nav:hover { background: var(--kr-navy-d); opacity: 1; }
.tour-prev { left: -12px; } .tour-next { right: -12px; }
@media (max-width: 575px) { .tour-nav { width: 38px; height: 38px; } .tour-prev { left: 0; } .tour-next { right: 0; } }

/* ---------- Social band (prominent navy strip, per client reference) ---------- */
.social-band { background: var(--kr-grad, linear-gradient(135deg, var(--kr-navy), var(--kr-navy-d)));
  color: #fff; text-align: center; box-shadow: var(--kr-sh); }
.social-band h2 { color: #fff; letter-spacing: .01em; }
.social-row { display: flex; flex-wrap: wrap; gap: 1.4rem 2rem; justify-content: center; align-items: flex-start; }
.social-btn { display: inline-flex; flex-direction: column; align-items: center; gap: .5rem; text-decoration: none;
  width: 92px; transition: transform .15s; }
.social-btn:hover { transform: translateY(-3px); }
.social-ic { width: 60px; height: 60px; border-radius: 50%; background: var(--soc, #fff); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 1.15rem; font-weight: 800;
  letter-spacing: .02em; box-shadow: 0 8px 20px rgba(0,0,0,.25); }
.social-ic i { font-size: 1.65rem; }   /* bootstrap icons larger than text monograms */
.social-ic img { width: 30px; height: 30px; display: block; }
.social-ic-full { background: #fff !important; padding: 0; overflow: hidden; }
.social-ic-full img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.social-btn:hover .social-ic { box-shadow: 0 12px 26px rgba(0,0,0,.35); }
.social-lbl { font-weight: 600; color: #eaf1fd; font-size: .9rem; }

/* === Баннер cookie (152-ФЗ), 15.10.2026 === */
.ki-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:1080;max-width:760px;margin:0 auto;
  background:#fff;border:1px solid rgba(37,71,147,.18);border-radius:12px;padding:14px 16px;
  display:flex;gap:12px 16px;align-items:center;flex-wrap:wrap;font-size:.9rem;line-height:1.45;color:#1f2a44}
.ki-cookie[hidden]{display:none}
.ki-cookie__text{flex:1 1 320px}
.ki-cookie__text a{color:#254793;text-decoration:underline}
.ki-cookie__actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:575.98px){.ki-cookie{left:8px;right:8px;bottom:8px}.ki-cookie__actions .btn{flex:1 1 auto}}
@media print{.ki-cookie{display:none!important}}
