
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Manrope:wght@400;500;600&display=swap");

/* Servis Bar — premium homepage */

:root {
  --sb-bg: #080909;
  --sb-bg2: #0d0e0f;
  --sb-bg3: #151617;
  --sb-wine: #781326;
  --sb-wine2: #9d1830;
  --sb-ivory: #f2efe8;
  --sb-muted: rgba(255,255,255,.62);
  --sb-line: rgba(255,255,255,.14);
  --sb-fg: #f2efe8;
  --sb-fg-dim: rgba(242,239,232,.62);
  --sb-card: rgba(12,13,13,.92);
  --sb-card-hover: #101112;
  --sb-display: "Oswald", "Arial Narrow", sans-serif;
  --sb-text: "Manrope", Arial, sans-serif;
}

/* Theme tokens — homepage follows site light/dark toggle */
body.theme-dark {
  --sb-bg: #080909;
  --sb-bg2: #0d0e0f;
  --sb-bg3: #151617;
  --sb-muted: rgba(255,255,255,.62);
  --sb-line: rgba(255,255,255,.14);
  --sb-fg: #f2efe8;
  --sb-fg-dim: rgba(242,239,232,.62);
  --sb-card: rgba(12,13,13,.92);
  --sb-card-hover: #101112;
}
body.theme-light {
  --sb-bg: #ffffff;
  --sb-bg2: #f2efe8;
  --sb-bg3: #ffffff;
  --sb-muted: rgba(8,9,9,.58);
  --sb-line: rgba(8,9,9,.12);
  --sb-fg: #080909;
  --sb-fg-dim: rgba(8,9,9,.58);
  --sb-card: #ffffff;
  --sb-card-hover: #f7f4ee;
}



.sb-home {
  font-family: var(--sb-text);
  color: var(--sb-fg);
  background: var(--sb-bg);
  margin: 0 !important;
  padding: 0 0 72px !important;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  font-size: 17px;
}
.sb-home *,
.sb-home *::before,
.sb-home *::after { box-sizing: border-box; }

.sb-home__wrap {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

.sb-home__eyebrow {
  margin: 0 0 18px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(243,240,234,.7);
}
.sb-home__eyebrow::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 2px;
  margin-right: 14px;
  vertical-align: middle;
  background: var(--sb-wine2);
}

.sb-home h1,
.sb-home h2,
.sb-home h3,
.sb-home .sb-home__title,
.sb-home .sb-home__paths h2,
.sb-home .sb-home__manifesto h2,
.sb-home .sb-home__head h2,
.sb-home .sb-home__cta-band h2,
.sb-home .sb-home__contacts h2 {
  font-family: var(--sb-display) !important;
  text-transform: uppercase !important;
  letter-spacing: -.02em !important;
  font-weight: 700 !important;
  color: #f2efe8 !important;
  opacity: 1 !important;
  margin: 0;
  line-height: 1.12 !important;
  font-style: normal !important;
}
.sb-home h1 *,
.sb-home h2 *,
.sb-home h3 * {
  color: #f2efe8 !important;
  opacity: 1 !important;
  font-style: normal !important;
}

/* —— HERO —— */
.sb-home__hero {
  position: relative;
  min-height: min(92vh, 920px);
  padding: 64px 0 40px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 70% 45%, rgba(120,19,38,.22), transparent 34%),
    linear-gradient(180deg, #050506 0%, #0a090b 55%, #161214 100%);
}
.sb-home__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 55%, #000);
  pointer-events: none;
}
.sb-home__hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(380px, .95fr);
  gap: 36px 48px;
  align-items: center;
  min-height: 640px;
}
.sb-home__kicker {
  margin: 0 0 28px;
  color: rgba(243,240,234,.65);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.sb-home__kicker::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 2px;
  margin-right: 14px;
  vertical-align: middle;
  background: var(--sb-wine2);
}
/* Hero title — readable line gaps, no overlap */
.sb-home__title {
  font-size: clamp(2.4rem, 4.6vw, 4.2rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
  font-weight: 700 !important;
  color: #f2efe8 !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.sb-home__title span {
  display: block;
  white-space: nowrap;
  font-style: normal !important;
  color: #f2efe8 !important;
  opacity: 1 !important;
}
.sb-home__title span + span {
  margin-top: .12em;
}
.sb-home__lead {
  max-width: 44ch;
  margin: 24px 0 28px !important;
  padding: 0 !important;
  color: var(--sb-muted);
  font-size: 17px;
  line-height: 1.55;
  clear: both;
}
.sb-home__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.sb-home__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 58px;
  padding: 0 28px !important;
  border-radius: 0 !important;
  font-family: var(--sb-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid transparent;
  cursor: pointer;
  transition: .2s background, .2s border-color, .2s color;
}
.sb-home__btn b {
  font-size: 20px;
  font-weight: 400;
}
.sb-home__btn--wine {
  background: var(--sb-wine) !important;
  border-color: var(--sb-wine) !important;
  color: #fff !important;
}
.sb-home__btn--wine:hover {
  background: var(--sb-wine2) !important;
  border-color: var(--sb-wine2) !important;
  color: #fff !important;
}
.sb-home__btn--ghost {
  background: transparent !important;
  border-color: rgba(255,255,255,.35) !important;
  color: #fff !important;
}
.sb-home__btn--ghost:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #080909 !important;
}
.sb-home__badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 42px 0 0;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  letter-spacing: .04em;
}
.sb-home__badge span {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  color: #fff;
  font-family: var(--sb-display);
  font-size: 14px;
  font-weight: 600;
}
.sb-home__visual {
  position: relative;
  margin: 0 -6% 0 0;
  justify-self: end;
  width: min(720px, 100%);
  aspect-ratio: 1;
}
.sb-home__visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,.45));
  float: none !important;
}

/* —— MARQUEE —— */
.sb-home__marquee {
  background: var(--sb-wine);
  overflow: hidden;
  padding: 18px 0;
  border: 0;
}
.sb-home__marquee-track {
  display: flex;
  gap: 56px;
  width: max-content;
  animation: sb-marquee 28s linear infinite;
  font-family: var(--sb-display);
  font-size: 18px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
}
@keyframes sb-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* —— RESTORATOR 360 banner —— */
.sb-home__r360[hidden] { display: none !important; }
.sb-home__r360 {
  position: relative;
  background: #120e10 !important;
  border-top: 1px solid rgba(242, 239, 232, .08) !important;
  border-bottom: 1px solid rgba(242, 239, 232, .08) !important;
  padding: 22px 0;
  color: #f2efe8 !important;
}
.sb-home__r360-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  flex-wrap: wrap;
}
.sb-home__r360-label {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(242, 239, 232, .55) !important;
}
.sb-home__r360-title {
  margin: 0 0 6px;
  font-family: var(--sb-display, "Oswald", sans-serif);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 600;
  letter-spacing: .02em;
  color: #f2efe8 !important;
  line-height: 1.1;
}
.sb-home__r360-lead {
  margin: 0;
  max-width: 42ch;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(242, 239, 232, .78) !important;
}
.sb-home__r360-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.sb-home__r360-btn {
  min-height: 44px;
  padding: 0 18px;
  font-size: 13px;
  color: #fff !important;
}
.sb-home__r360-close {
  border: 0;
  background: transparent;
  color: rgba(242, 239, 232, .55) !important;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 8px 4px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sb-home__r360-close:hover {
  color: #f2efe8 !important;
}
@media (max-width: 720px) {
  .sb-home__r360 {
    padding: 18px 0;
  }
  .sb-home__r360-inner {
    align-items: flex-start;
  }
  .sb-home__r360-actions {
    width: 100%;
    justify-content: space-between;
  }
}

/* —— PATHS —— */
.sb-home__paths {
  padding: 64px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(90deg, rgba(90,18,28,.22) 0%, transparent 42%),
    var(--sb-bg);
}
.sb-home__paths-layout {
  display: grid;
  grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
  gap: 36px 48px;
  align-items: start;
}
.sb-home__paths h2 {
  margin: 10px 0 14px !important;
  font-size: clamp(2rem, 3.4vw, 3rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
  max-width: 12ch;
}
.sb-home__paths-hint {
  margin: 8px 0 0;
  color: rgba(255,255,255,.55);
  font-size: 16px;
  line-height: 1.5;
  max-width: 30ch;
}
.sb-home__path-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.sb-home__path {
  display: flex;
  flex-direction: column;
  min-height: 220px;
  padding: 20px 18px 18px;
  border: 1px solid var(--sb-line);
  background: rgba(12,13,13,.92);
  color: inherit !important;
  text-decoration: none !important;
  transition: border-color .25s, transform .25s, background .25s;
}
.sb-home__path:hover {
  border-color: var(--sb-wine2);
  background: #101112;
  transform: translateY(-3px);
}
.sb-home__path-num {
  font-family: var(--sb-display);
  font-size: 13px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.45);
  margin-bottom: 22px;
}
.sb-home__path h3 {
  margin: 0 0 10px !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
  color: #fff !important;
}
.sb-home__path p {
  margin: 0 0 auto;
  color: rgba(255,255,255,.58);
  font-size: 15px;
  line-height: 1.5;
}
.sb-home__path-go {
  margin-top: 28px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: 16px;
}
.sb-home__path--wa {
  border-color: rgba(140,30,45,.55);
  background: linear-gradient(160deg, rgba(90,18,28,.35), #0c0d0d 55%);
}

/* —— MANIFESTO —— */
.sb-home__manifesto {
  padding: 64px 0;
  border-bottom: 1px solid var(--sb-line);
  background:
    linear-gradient(90deg, rgba(120,19,38,.16), transparent 38%),
    #0c0d0e;
}
.sb-home__manifesto-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 48px;
  align-items: center;
}
.sb-home__manifesto h2 {
  margin: 10px 0 18px !important;
  font-size: clamp(2rem, 3.6vw, 3.2rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.02em !important;
  max-width: 16ch;
}
.sb-home__manifesto h2,
.sb-home__manifesto h2 * {
  color: #f2efe8 !important;
  opacity: 1 !important;
  font-style: normal !important;
}
.sb-home__manifesto-text {
  margin: 0 0 32px;
  max-width: 44ch;
  color: var(--sb-muted);
  font-size: 17px;
  line-height: 1.55;
}
.sb-home__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 28px;
  align-items: start;
  margin: 0 0 28px;
  padding: 0;
  list-style: none !important;
  border: 0;
}
.sb-home__facts li {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: none !important;
  list-style: none !important;
  position: relative;
}

.sb-home__facts li::before,
.sb-home__facts li::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sb-home__facts strong {
  display: flex;
  align-items: flex-end;
  min-height: 2.2rem;
  font-family: var(--sb-display);
  font-size: 2rem;
  line-height: 1;
  color: var(--sb-wine2);
  letter-spacing: -.02em;
}
.sb-home__facts span {
  font-size: 13px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.04em;
}
.sb-home__manifesto-visual {
  margin: 0;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sb-line);
  min-height: 520px;
  background: #111;
}
.sb-home__manifesto-visual img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
  float: none !important;
}
.sb-home__manifesto-visual figcaption {
  position: absolute;
  left: 16px;
  bottom: 14px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.8);
}

/* —— DIRS —— */
.sb-home__dirs {
  padding: 64px 0;
  border-bottom: 1px solid var(--sb-line);
}
.sb-home__head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 36px;
}
.sb-home__head h2 {
  margin-top: 8px !important;
  font-size: clamp(1.9rem, 3.2vw, 2.8rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
  max-width: 22ch;
}
.sb-home__link {
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--sb-wine2);
  padding-bottom: 2px;
}
.sb-home__link:hover { color: var(--sb-wine2) !important; }

.sb-home__dirs-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.sb-home__dir {
  position: relative;
  display: block;
  min-height: 280px;
  overflow: hidden;
  border: 1px solid var(--sb-line);
  color: inherit !important;
  text-decoration: none !important;
  background: #111;
}
.sb-home__dir img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  float: none !important;
  transition: transform 1s ease;
  filter: saturate(.9) contrast(1.05);
}
.sb-home__dir:hover img { transform: scale(1.05); }
.sb-home__dir-meta {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: 36px 22px 22px;
  background: linear-gradient(transparent, rgba(8,9,9,.96));
}
.sb-home__dir-meta span {
  display: block;
  margin-bottom: 8px;
  font-family: var(--sb-display);
  font-size: 12px;
  letter-spacing: .16em;
  color: var(--sb-wine2);
}
.sb-home__dir-meta h3 {
  margin: 0 0 6px !important;
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  color: #fff !important;
}
.sb-home__dir-meta p {
  margin: 0;
  font-size: 14px;
  color: rgba(255,255,255,.62);
}

/* —— CASES CAROUSEL —— */
.sb-home__cases {
  padding: 72px 0 56px;
  background: var(--sb-bg);
  overflow: hidden;
  border-top: 1px solid var(--sb-line);
}

.sb-home__cases-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.sb-home__cases-head h2 {
  margin: 0;
  max-width: 18ch;
}

.sb-home__cases-controls {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  flex-shrink: 0;
}

.sb-home__cases-hint {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sb-fg-dim);
}

.sb-home__cases-nav {
  display: flex;
  gap: 8px;
}

.sb-home__cases-btn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--sb-line);
  border-radius: 3px;
  background: transparent;
  color: var(--sb-fg);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, opacity 0.2s;
}

.sb-home__cases-btn:hover:not(:disabled) {
  border-color: var(--sb-wine2);
  background: rgba(157, 24, 48, 0.1);
}

.sb-home__cases-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.sb-home__cases-rail {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0 max(20px, calc((100% - 1200px) / 2 + 20px)) 20px;
  cursor: grab;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  outline: none;
}

.sb-home__cases-rail::-webkit-scrollbar {
  display: none;
}

.sb-home__cases-rail.is-drag {
  cursor: grabbing;
  scroll-behavior: auto;
  scroll-snap-type: none;
}

.sb-home__case {
  position: relative;
  flex: 0 0 min(78vw, 520px);
  height: min(68vh, 620px);
  min-height: 440px;
  scroll-snap-align: start;
  overflow: hidden;
  border: 1px solid var(--sb-line);
  border-radius: 4px;
  text-decoration: none !important;
  color: #f2efe8 !important;
  background: #111;
  isolation: isolate;
}

.sb-home__case img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.88) contrast(1.04);
  transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

.sb-home__case:hover img {
  transform: scale(1.05);
}

.sb-home__case-body {
  position: absolute;
  inset: auto 0 0 0;
  padding: 36px 28px 28px;
  background: linear-gradient(transparent, rgba(8, 9, 9, 0.92) 42%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #fff !important;
}

.sb-home__case-body span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ff8fa3 !important;
  font-weight: 600;
}

.sb-home__case-body h3 {
  margin: 0 !important;
  font-family: var(--sb-display) !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  color: #fff !important;
}

.sb-home__case-body p {
  margin: 0;
  max-width: 38ch;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82) !important;
}

.sb-home__case-body em {
  margin-top: 10px;
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  align-self: flex-start;
  padding-bottom: 2px;
  transition: border-color 0.2s, color 0.2s;
}

.sb-home__case:hover .sb-home__case-body em {
  color: #ffd0d8;
  border-color: var(--sb-wine2);
}

.sb-home__cases-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 8px;
}

.sb-home__cases-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sb-home__cases-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--sb-line);
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.sb-home__cases-dot.is-active {
  background: var(--sb-wine2);
  transform: scale(1.25);
}

.sb-home__cases-ig {
  margin-top: 36px;
  padding: 0 max(20px, calc((100% - 1200px) / 2 + 20px));
}

.sb-home__cases-ig-panel {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr auto;
  align-items: center;
  gap: 28px 40px;
  overflow: hidden;
  padding: clamp(28px, 4vw, 40px) clamp(24px, 4vw, 44px);
  border: 1px solid rgba(157, 24, 48, 0.28);
  border-radius: 6px;
  background:
    radial-gradient(ellipse 55% 80% at 0% 50%, rgba(157, 24, 48, 0.35), transparent 55%),
    radial-gradient(ellipse 40% 70% at 100% 20%, rgba(120, 19, 38, 0.28), transparent 50%),
    linear-gradient(120deg, #12090b 0%, #1a0c10 45%, #0d0a0b 100%);
  box-shadow:
    0 18px 48px rgba(8, 9, 9, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.sb-home__cases-ig-glow {
  position: absolute;
  inset: -40% auto auto 55%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(157, 24, 48, 0.45), transparent 68%);
  filter: blur(8px);
  pointer-events: none;
  animation: sbIgPulse 5.5s ease-in-out infinite;
}

.sb-home__cases-ig-shine {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 40%,
    rgba(255, 255, 255, 0.07) 50%,
    transparent 60%,
    transparent 100%
  );
  background-size: 220% 100%;
  animation: sbIgShine 7s ease-in-out infinite;
}

.sb-home__cases-ig-copy {
  position: relative;
  z-index: 1;
  max-width: 42ch;
}

.sb-home__cases-ig-copy .sb-home__eyebrow {
  color: #ff8fa3;
  margin-bottom: 10px;
}

.sb-home__cases-ig-copy .sb-home__eyebrow::before {
  background: #ff8fa3;
}

.sb-home__cases-ig-copy h3 {
  margin: 0 0 10px !important;
  font-family: var(--sb-display) !important;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem) !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #fff !important;
}

.sb-home__cases-ig-copy p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.68);
}

.sb-home__ig-btn {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: min(100%, 320px);
  padding: 14px 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 4px;
  background:
    linear-gradient(105deg, #9d1830, #781326 55%, #5c101f);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(120, 19, 38, 0.35);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.sb-home__ig-btn::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg, rgba(255, 180, 190, 0.55), transparent 40%, transparent 60%, rgba(255, 120, 140, 0.35));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.85;
}

.sb-home__ig-btn:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 16px 40px rgba(120, 19, 38, 0.45);
  border-color: rgba(255, 255, 255, 0.32);
  color: #fff !important;
}

.sb-home__ig-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.sb-home__ig-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

.sb-home__ig-text strong {
  font-family: var(--sb-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff !important;
}

.sb-home__ig-text em {
  font-style: normal;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.78) !important;
}

.sb-home__ig-arrow {
  flex-shrink: 0;
  font-size: 18px;
  opacity: 0.95;
  transition: transform 0.28s ease;
}

.sb-home__ig-btn:hover .sb-home__ig-arrow {
  transform: translate(3px, -3px);
}

@keyframes sbIgPulse {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.12); }
}

@keyframes sbIgShine {
  0%, 100% { background-position: 120% 0; }
  50% { background-position: -20% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .sb-home__cases-ig-glow,
  .sb-home__cases-ig-shine {
    animation: none;
  }
}

/* —— STUDIO (demo «Доверие» / гастрономическая студия) —— */
.sb-home__studio {
  background: #090806;
  color: #f2efe8;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sb-home__studio-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  min-height: 560px;
  width: 100%;
  max-width: none;
}

.sb-home__studio-photo {
  margin: 0;
  overflow: hidden;
  background: #111;
  min-height: 420px;
}

.sb-home__studio-photo picture,
.sb-home__studio-photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.sb-home__studio-photo img {
  object-fit: cover;
  object-position: center 20%;
  min-height: 420px;
}

.sb-home__studio-copy {
  padding: clamp(40px, 7vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(115deg, #090806, #15110e);
}

.sb-home__studio .sb-home__eyebrow {
  color: #9d1830;
}

.sb-home__studio .sb-home__eyebrow::before {
  background: #9d1830;
}

.sb-home__studio h2 {
  margin: 0;
  max-width: 16ch;
  color: #f2efe8 !important;
}

.sb-home__studio-lead {
  margin: 20px 0 0;
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(242, 239, 232, 0.62);
}

.sb-home__studio-name {
  margin: 32px 0 0 !important;
  font-family: var(--sb-display);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #f2efe8 !important;
  text-transform: none;
}

.sb-home__studio-name span {
  display: block;
  margin-top: 8px;
  font-family: var(--sb-text);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #9d1830;
}

.sb-home__studio .sb-home__cta {
  margin-top: 32px;
}

.sb-home__studio .sb-home__btn--ghost {
  border-color: rgba(242, 239, 232, 0.28);
  color: #f2efe8 !important;
}

.sb-home__studio .sb-home__btn--ghost:hover {
  border-color: #9d1830;
  background: rgba(157, 24, 48, 0.12);
}

/* —— SAMURA partner —— */
.sb-home__samura {
  padding: 64px 0;
  border-top: 1px solid var(--sb-line);
  border-bottom: 1px solid var(--sb-line);
  background: var(--sb-bg2);
  color: var(--sb-fg);
}

.sb-home__samura-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(300px, 1.05fr);
  gap: 48px;
  align-items: center;
}

.sb-home__samura-label {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sb-wine2);
}

.sb-home__samura h2 {
  margin: 0 0 18px !important;
  font-size: clamp(1.85rem, 3.2vw, 2.75rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
  max-width: 18ch;
  color: var(--sb-fg) !important;
  text-transform: none;
}

.sb-home__samura h2 em {
  font-style: normal;
  color: var(--sb-wine2) !important;
}

.sb-home__samura-lead {
  margin: 0 0 28px;
  max-width: 44ch;
  font-size: 16px;
  line-height: 1.55;
  color: var(--sb-fg-dim);
}

.sb-home__samura-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 24px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none !important;
  border: 0;
}

.sb-home__samura-facts li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  list-style: none !important;
  position: relative;
}


.sb-home__samura-facts li::before,
.sb-home__samura-facts li::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sb-home__samura-facts strong {
  font-family: var(--sb-display);
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--sb-fg);
  line-height: 1;
}

.sb-home__samura-facts span {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sb-fg-dim);
}

.sb-home__samura .sb-home__cta {
  margin-top: 0;
}

.sb-home__samura .sb-home__btn--ghost {
  border-color: var(--sb-line);
  color: var(--sb-fg) !important;
}

.sb-home__samura .sb-home__btn--ghost:hover {
  border-color: var(--sb-wine2);
  background: rgba(157, 24, 48, 0.08);
}

.sb-home__samura-visual {
  margin: 0;
  position: relative;
  overflow: visible;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sb-home__samura-visual picture,
.sb-home__samura-visual img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}

/* —— CTA —— */
.sb-home__cta-band {
  padding: 56px 0;
  border-block: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(105deg, rgba(120,19,38,.55), rgba(8,9,9,.2) 45%),
    #0b0c0c;
}
.sb-home__cta-band h2 {
  margin: 0 0 14px !important;
  font-size: clamp(1.9rem, 3.2vw, 2.8rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
  max-width: 22ch;
}
.sb-home__cta-band p {
  margin: 0 0 28px;
  max-width: 44ch;
  color: rgba(255,255,255,.75);
  font-size: 17px;
  line-height: 1.5;
}

/* —— CONTACTS + FORM —— */
.sb-home__contacts {
  padding: 56px 0;
  background:
    linear-gradient(90deg, rgba(120,19,38,.2), transparent 42%),
    #0c0d0e;
  border-top: 1px solid var(--sb-line);
}
.sb-home__contacts-layout {
  display: flex !important;
  flex-wrap: wrap;
  gap: 28px 36px;
  align-items: flex-start;
  justify-content: flex-start;
}
.sb-home__contacts-info {
  flex: 1 1 420px;
  max-width: 480px;
  min-width: 280px;
}
.sb-home__contacts h2,
.sb-home .sb-home__contacts h2 {
  margin: 8px 0 12px !important;
  font-size: clamp(1.75rem, 2.8vw, 2.4rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
  max-width: none !important;
  color: #f2efe8 !important;
  opacity: 1 !important;
}
.sb-home__contacts-lead {
  margin: 0 0 16px;
  max-width: 36ch;
  color: var(--sb-muted);
  font-size: 14px;
  line-height: 1.45;
}
.sb-home__contacts-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  max-width: none;
}
.sb-home__contacts-list li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  min-height: 0 !important;
  border-top: 1px solid var(--sb-line) !important;
  border-bottom: 0 !important;
  background: transparent !important;
  line-height: 1.25 !important;
}
.sb-home__contacts-list li:last-child {
  border-bottom: 1px solid var(--sb-line) !important;
}
.sb-home__contacts-list li::before,
.sb-home__contacts-list li::after {
  display: none !important;
  content: none !important;
}
.sb-home__contacts-list span {
  display: block;
  margin: 0 0 2px;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  line-height: 1.2;
}
.sb-home__contacts-list a,
.sb-home__contacts-list p {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
  font-family: var(--sb-display) !important;
  letter-spacing: -.01em;
  line-height: 1.25 !important;
  opacity: 1 !important;
}
.sb-home__contacts-list a:hover { color: var(--sb-wine2) !important; }

.sb-home__form {
  flex: 1 1 420px;
  width: auto;
  max-width: 480px;
  min-width: 280px;
  background: var(--sb-bg3);
  border: 1px solid var(--sb-line);
  border-top: 3px solid var(--sb-wine2);
  padding: 18px 18px 16px;
  overflow: visible;
  box-sizing: border-box;
}
.sb-home__form-title {
  margin: 0 0 12px;
  padding: 0;
  font-family: var(--sb-display);
  font-size: 1.15rem;
  line-height: 1.2;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: #fff !important;
  opacity: 1 !important;
}
.sb-home__form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  margin-bottom: 4px;
}
.sb-home__form-grid .sb-home__form-msg {
  grid-column: 1 / -1;
}
.sb-home__form label {
  display: block;
  margin-bottom: 0;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sb-muted);
}
.sb-home__form input,
.sb-home__form textarea {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 0 12px;
  border: 1px solid var(--sb-line);
  border-radius: 0;
  background: var(--sb-bg);
  color: #fff;
  font-size: 14px;
  font-family: var(--sb-text);
  outline: none;
  box-sizing: border-box;
}
.sb-home__form input { height: 40px; }
.sb-home__form textarea {
  padding: 8px 12px;
  min-height: 64px;
  height: 64px;
  resize: vertical;
}
.sb-home__form input:focus,
.sb-home__form textarea:focus { border-color: var(--sb-wine2); }
.sb-home__check {
  display: flex !important;
  gap: 8px;
  align-items: flex-start;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--sb-muted) !important;
  margin: 2px 0 12px !important;
}
.sb-home__check input {
  width: 16px !important;
  height: 16px !important;
  margin: 2px 0 0 !important;
  flex: 0 0 auto;
  accent-color: var(--sb-wine2);
}
.sb-home__btn--block { width: 100%; }
.sb-home__form .sb-home__btn {
  min-height: 46px;
  font-size: 13px !important;
}
.sb-home__ok {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-left: 3px solid var(--sb-wine2);
  background: rgba(157,24,48,.18);
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
}

/* —— VIEWED PRODUCTS: align with homepage wrap —— */




@media (max-width: 980px) {
  .sb-home__wrap { width: calc(100% - 28px); }
  .sb-home__hero { min-height: 0; padding: 48px 0 32px; }
  .sb-home__hero-grid {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 20px;
  }
  .sb-home__copy { order: 2; }
  .sb-home__visual {
    order: -1;
    width: min(360px, 92vw);
    margin: 0 auto 4px;
    justify-self: center;
  }
  .sb-home__title {
    max-width: none;
    font-size: clamp(2.4rem, 9vw, 3.2rem) !important;
    line-height: 1.12 !important;
  }
  .sb-home__paths h2,
  .sb-home__manifesto h2,
  .sb-home__head h2,
  .sb-home__cta-band h2,
  .sb-home__contacts h2 {
    max-width: none;
  }
  .sb-home__cta .sb-home__btn { width: 100%; }
  .sb-home__title span { white-space: normal; }
  .sb-home__paths-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .sb-home__manifesto-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .sb-home__contacts-layout { flex-direction: column; }
  .sb-home__paths aside,
  .sb-home__manifesto-layout > div:first-child {
    min-width: 0;
    width: 100%;
  }
  .sb-home__path-cards,
  .sb-home__manifesto-visual {
    min-width: 0;
    width: 100%;
  }
  .sb-home__contacts-info, .sb-home__form { flex: 1 1 auto; width: 100%; max-width: none; min-width: 0; }
  .sb-home__form-grid { grid-template-columns: 1fr; }
  .sb-home__path-cards { grid-template-columns: 1fr; }
  .sb-home__dirs-grid { grid-template-columns: 1fr 1fr; }
  .sb-home__facts { grid-template-columns: 1fr; }
  .sb-home__manifesto-visual,
  .sb-home__manifesto-visual img { min-height: 320px; }
  .sb-home__dir { min-height: 260px; }
  .sb-home__studio-grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .sb-home__studio-photo,
  .sb-home__studio-photo img {
    min-height: 280px;
    height: 280px;
  }
  .sb-home__studio-copy {
    padding: 36px 20px 48px;
  }
  .sb-home__studio h2 {
    max-width: none;
  }
  .sb-home__samura {
    padding: 48px 0;
  }
  .sb-home__samura-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .sb-home__samura h2 {
    max-width: none;
  }
  .sb-home__samura-facts {
    grid-template-columns: 1fr;
  }
  .sb-home__samura-visual,
  .sb-home__samura-visual img {
    min-height: 0;
  }
  .sb-home__cases {
    padding: 48px 0 40px;
  }
  .sb-home__cases-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .sb-home__cases-controls {
    align-items: flex-start;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
  }
  .sb-home__case {
    flex-basis: min(88vw, 420px);
    height: 52vh;
    min-height: 360px;
  }
  .sb-home__cases-foot {
    flex-direction: column;
    align-items: flex-start;
  }
  .sb-home__ig-btn {
    min-width: 0;
    width: 100%;
    padding: 14px 16px;
  }
  .sb-home__ig-text strong {
    font-size: 13px;
  }
  .sb-home__cases-ig-panel {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  
}
@media (max-width: 560px) {
  .sb-home__dirs-grid { grid-template-columns: 1fr; }
}

/* ===== SB HOME LIGHT THEME ===== */
/* Light = white bg, black text, burgundy accents */



body.theme-light .sb-home h1,
body.theme-light .sb-home h2,
body.theme-light .sb-home h3,
body.theme-light .sb-home .sb-home__title,
body.theme-light .sb-home .sb-home__paths h2,
body.theme-light .sb-home .sb-home__manifesto h2,
body.theme-light .sb-home .sb-home__head h2,
body.theme-light .sb-home .sb-home__cta-band h2,
body.theme-light .sb-home .sb-home__contacts h2,
body.theme-light .sb-home h1 *,
body.theme-light .sb-home h2 *,
body.theme-light .sb-home h3 *,
body.theme-light .sb-home__title,
body.theme-light .sb-home__title span {
  color: #080909 !important;
}

body.theme-light .sb-home__studio,
body.theme-light .sb-home__studio-copy {
  background: linear-gradient(115deg, #090806, #15110e) !important;
  color: #f2efe8 !important;
}

body.theme-light .sb-home .sb-home__studio h2,
body.theme-light .sb-home .sb-home__studio-name,
body.theme-light .sb-home__studio h2,
body.theme-light .sb-home__studio-name {
  color: #f2efe8 !important;
}

body.theme-light .sb-home__studio-lead {
  color: rgba(242, 239, 232, 0.62) !important;
}

body.theme-light .sb-home__studio .sb-home__eyebrow {
  color: #9d1830 !important;
}

body.theme-light .sb-home__studio .sb-home__btn--ghost {
  border-color: rgba(242, 239, 232, 0.28) !important;
  color: #f2efe8 !important;
}

/* Samura follows site theme (white bg in light mode) */
body.theme-light .sb-home__samura {
  background: #fff;
  color: #080909;
  border-color: rgba(8, 9, 9, 0.1);
}

body.theme-light .sb-home__samura h2,
body.theme-light .sb-home__samura-facts strong {
  color: #080909 !important;
}

body.theme-light .sb-home__samura h2 em,
body.theme-light .sb-home__samura-label {
  color: var(--sb-wine2) !important;
}

body.theme-light .sb-home__samura-lead,
body.theme-light .sb-home__samura-facts span {
  color: rgba(8, 9, 9, 0.58) !important;
}

body.theme-light .sb-home__samura .sb-home__btn--ghost {
  border-color: rgba(8, 9, 9, 0.16) !important;
  color: #080909 !important;
}

body.theme-light .sb-home__cases {
  background: #fff !important;
}

body.theme-light .sb-home__cases-head h2,
body.theme-light .sb-home .sb-home__cases-head h2 {
  color: #080909 !important;
}

body.theme-light .sb-home__cases-hint {
  color: rgba(8, 9, 9, 0.55) !important;
}

body.theme-light .sb-home__cases-btn {
  border-color: rgba(8, 9, 9, 0.14) !important;
  color: #080909 !important;
}

body.theme-light .sb-home__cases-btn:hover:not(:disabled) {
  border-color: var(--sb-wine2) !important;
  background: rgba(157, 24, 48, 0.08) !important;
}

body.theme-light .sb-home__case {
  border-color: rgba(8, 9, 9, 0.1) !important;
  color: #fff !important;
}

body.theme-light .sb-home .sb-home__case,
body.theme-light .sb-home .sb-home__case *,
body.theme-light .sb-home .sb-home__case-body,
body.theme-light .sb-home .sb-home__case-body h3,
body.theme-light .sb-home .sb-home__case-body p,
body.theme-light .sb-home .sb-home__case-body em,
body.theme-light .sb-home__case-body,
body.theme-light .sb-home__case-body h3,
body.theme-light .sb-home__case-body p,
body.theme-light .sb-home__case-body em {
  color: #fff !important;
}

body.theme-light .sb-home .sb-home__case-body span,
body.theme-light .sb-home__case-body span {
  color: #ff8fa3 !important;
}

body.theme-light .sb-home .sb-home__case-body p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.theme-light .sb-home__cases-dot {
  background: rgba(8, 9, 9, 0.18) !important;
}

body.theme-light .sb-home__cases-dot.is-active {
  background: var(--sb-wine2) !important;
}

body.theme-light .sb-home__ig-btn,
body.theme-light .sb-home__ig-btn *,
body.theme-light .sb-home__ig-text strong,
body.theme-light .sb-home__ig-text em,
body.theme-light .sb-home .sb-home__cases-ig-copy h3,
body.theme-light .sb-home__cases-ig-copy h3,
body.theme-light .sb-home__cases-ig-copy p {
  color: #fff !important;
}

body.theme-light .sb-home__cases-ig-copy p {
  color: rgba(255, 255, 255, 0.68) !important;
}

body.theme-light .sb-home__cases-ig-copy .sb-home__eyebrow {
  color: #ff8fa3 !important;
}

body.theme-light .sb-home__eyebrow,
body.theme-light .sb-home__kicker,
body.theme-light .sb-home__lead,
body.theme-light .sb-home__paths-hint,
body.theme-light .sb-home__badge,
body.theme-light .sb-home__path p,
body.theme-light .sb-home__path-num,
body.theme-light .sb-home__manifesto-text,
body.theme-light .sb-home__cta-band p,
body.theme-light .sb-home__contacts-lead,
body.theme-light .sb-home__contacts-list span,
body.theme-light .sb-home__form-msg,
body.theme-light .sb-home__dir-meta {
  color: rgba(8,9,9,.62) !important;
}

body.theme-light .sb-home__hero {
  background:
    radial-gradient(ellipse at 70% 45%, rgba(120,19,38,.10), transparent 40%),
    linear-gradient(180deg, #ffffff 0%, #f7f4ee 55%, #f2efe8 100%) !important;
}
body.theme-light .sb-home__hero::before {
  opacity: .35;
  background-image:
    linear-gradient(rgba(8,9,9,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,9,9,.05) 1px, transparent 1px);
}

body.theme-light .sb-home__btn--ghost {
  border-color: rgba(8,9,9,.28) !important;
  color: #080909 !important;
}
body.theme-light .sb-home__btn--ghost:hover {
  background: #080909 !important;
  border-color: #080909 !important;
  color: #fff !important;
}
body.theme-light .sb-home__badge span {
  border-color: rgba(8,9,9,.2);
  color: #080909;
}

body.theme-light .sb-home__paths {
  background:
    linear-gradient(90deg, rgba(120,19,38,.06) 0%, transparent 42%),
    #fff !important;
  border-bottom-color: rgba(8,9,9,.1) !important;
}
body.theme-light .sb-home__path {
  background: #fff !important;
  border-color: rgba(8,9,9,.12) !important;
  color: #080909 !important;
  box-shadow: 0 8px 24px rgba(8,9,9,.04);
}
body.theme-light .sb-home__path:hover {
  background: #f7f4ee !important;
  border-color: var(--sb-wine) !important;
}
body.theme-light .sb-home__path h3,
body.theme-light .sb-home__path-go {
  color: #080909 !important;
}
body.theme-light .sb-home__path-go {
  border-top-color: rgba(8,9,9,.12) !important;
}
body.theme-light .sb-home__path--wa {
  background: linear-gradient(160deg, rgba(120,19,38,.08), #fff 55%) !important;
  border-color: rgba(120,19,38,.35) !important;
}

body.theme-light .sb-home__manifesto {
  background:
    linear-gradient(90deg, rgba(120,19,38,.06), transparent 38%),
    #f2efe8 !important;
  border-bottom-color: rgba(8,9,9,.1) !important;
}
body.theme-light .sb-home__manifesto-text,
body.theme-light .sb-home__manifesto-text p,
body.theme-light .sb-home__manifesto-visual figcaption {
  color: rgba(8,9,9,.72) !important;
}

body.theme-light .sb-home__dirs,
body.theme-light .sb-home__cta-band,
body.theme-light .sb-home__contacts {
  background: #fff !important;
  border-color: rgba(8,9,9,.1) !important;
  color: #080909 !important;
}
body.theme-light .sb-home__facts {
  background: transparent !important;
  border: 0 !important;
  color: #080909 !important;
}
body.theme-light .sb-home__facts span {
  color: rgba(8, 9, 9, 0.55) !important;
}
body.theme-light .sb-home__form,
body.theme-light .sb-home__contacts-list li {
  background: #fff !important;
  border-color: rgba(8,9,9,.12) !important;
  color: #080909 !important;
}
/* photo cards keep dark canvas — text forced white below */
body.theme-light .sb-home__dir {
  background: #111 !important;
  border-color: rgba(8,9,9,.12) !important;
  color: #fff !important;
}
body.theme-light .sb-home__contacts-list a,
body.theme-light .sb-home__contacts-list p,
body.theme-light .sb-home__form-title,
body.theme-light .sb-home__link {
  color: #080909 !important;
}
body.theme-light .sb-home__contacts-list a:hover,
body.theme-light .sb-home__link:hover {
  color: var(--sb-wine) !important;
}

body.theme-light .sb-home__form input,
body.theme-light .sb-home__form textarea,
body.theme-light .sb-home__form select {
  background: #fff !important;
  color: #080909 !important;
  border-color: rgba(8,9,9,.18) !important;
}

body.theme-light .sb-home__btn--wine,
body.theme-light .sb-home__marquee {
  background: var(--sb-wine) !important;
  border-color: var(--sb-wine) !important;
  color: #fff !important;
}
body.theme-light .sb-home__r360 {
  background: #120e10 !important;
  border-top-color: rgba(242, 239, 232, .1) !important;
  border-bottom-color: rgba(242, 239, 232, .1) !important;
  color: #f2efe8 !important;
}
body.theme-light .sb-home__r360-label {
  color: rgba(242, 239, 232, .55) !important;
}
body.theme-light .sb-home__r360-title {
  color: #f2efe8 !important;
}
body.theme-light .sb-home__r360-lead {
  color: rgba(242, 239, 232, .78) !important;
}
body.theme-light .sb-home__r360-close {
  color: rgba(242, 239, 232, .55) !important;
}
body.theme-light .sb-home__r360-close:hover {
  color: #f2efe8 !important;
}
body.theme-light .sb-home__r360 .sb-home__btn--wine {
  background: var(--sb-wine) !important;
  border-color: var(--sb-wine) !important;
  color: #fff !important;
}
body.theme-light .sb-home__marquee-track {
  color: #fff !important;
}
body.theme-light .sb-home__eyebrow::before,
body.theme-light .sb-home__kicker::before {
  background: var(--sb-wine) !important;
}



/* SB_DIR_CARDS_WHITE_TEXT: photo cards always keep light text (readable on dark images) */
body.theme-light .sb-home__dir,
body.theme-light .sb-home__dir .sb-home__dir-meta,
body.theme-light .sb-home__dir .sb-home__dir-meta span,
body.theme-light .sb-home__dir .sb-home__dir-meta h3,
body.theme-light .sb-home__dir .sb-home__dir-meta p,
body.theme-light .sb-home__dir h3,
body.theme-light .sb-home__dir h3 * {
  color: #fff !important;
}
body.theme-light .sb-home__dir .sb-home__dir-meta span {
  color: #c45a6a !important; /* wine accent on numbers */
}
body.theme-light .sb-home__dir .sb-home__dir-meta p {
  color: rgba(255,255,255,.72) !important;
}


/* Reviews block — homepage + /company/reviews/ */

.sb-reviews {
  --sb-rev-bg: var(--sb-bg2, #0d0e0f);
  --sb-rev-fg: var(--sb-fg, #f2efe8);
  --sb-rev-muted: var(--sb-fg-dim, rgba(242, 239, 232, 0.62));
  --sb-rev-line: var(--sb-line, rgba(255, 255, 255, 0.14));
  --sb-rev-card: var(--sb-card, rgba(12, 13, 13, 0.92));
  --sb-rev-wine: var(--sb-wine, #781326);
  font-family: var(--sb-text, "Manrope", Arial, sans-serif);
  color: var(--sb-rev-fg);
}

body.theme-light .sb-reviews {
  --sb-rev-bg: #f2efe8;
  --sb-rev-fg: #080909;
  --sb-rev-muted: rgba(8, 9, 9, 0.58);
  --sb-rev-line: rgba(8, 9, 9, 0.12);
  --sb-rev-card: #fff;
}

.sb-reviews--home {
  background: var(--sb-rev-bg);
  padding: 72px 0;
  border-top: 1px solid var(--sb-rev-line);
}

.sb-reviews--page {
  padding: 24px 0 64px;
}

.sb-reviews__wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.sb-reviews__eyebrow {
  margin: 0 0 10px;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sb-wine2, #9d1830);
}

.sb-reviews__title,
.sb-reviews__page-title {
  margin: 0 0 12px;
  font-family: var(--sb-display, "Oswald", "Arial Narrow", sans-serif);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  font-weight: 600;
  text-transform: uppercase;
}

.sb-reviews__lead {
  margin: 0;
  max-width: 52ch;
  color: var(--sb-rev-muted);
  font-size: 15px;
  line-height: 1.55;
}

.sb-reviews__head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px 32px;
  align-items: start;
  margin-bottom: 28px;
}

.sb-reviews__page-head {
  margin-bottom: 32px;
}

.sb-reviews__page-head-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 40px;
  align-items: center;
  margin-bottom: 24px;
}

.sb-reviews__page-head-text {
  min-width: 0;
}

.sb-reviews__page-hero {
  margin: 0;
  flex-shrink: 0;
  background: transparent !important;
}

.sb-reviews__page-hero img {
  display: block;
  width: min(280px, 34vw);
  height: auto;
  border-radius: 0;
  box-shadow: none;
  background: transparent !important;
  filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.22));
}

body.theme-light .sb-reviews__page-hero img {
  filter: drop-shadow(0 14px 24px rgba(8, 9, 9, 0.12));
}

.sb-reviews__page-head .sb-reviews__metrics {
  margin-top: 0;
}

.sb-reviews__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.sb-reviews__metric {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 140px;
  padding: 14px 16px;
  border: 1px solid var(--sb-rev-line);
  border-radius: 4px;
  background: var(--sb-rev-card);
  text-decoration: none !important;
  color: inherit !important;
  transition: border-color 0.2s, transform 0.2s;
}

.sb-reviews__metric:hover {
  border-color: var(--sb-rev-wine);
  transform: translateY(-1px);
}

.sb-reviews__metric-val {
  font-family: var(--sb-display, "Oswald", sans-serif);
  font-size: 28px;
  line-height: 1;
  font-weight: 600;
}

.sb-reviews__metric-stars {
  color: #e8b923;
  font-size: 12px;
  letter-spacing: 1px;
}

.sb-reviews__metric-lbl {
  font-size: 12px;
  color: var(--sb-rev-muted);
}

.sb-reviews__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 28px !important;
  row-gap: 28px !important;
  gap: 28px !important;
  align-items: start;
}

.sb-reviews__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.sb-reviews__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.sb-reviews__card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
  border: 1px solid var(--sb-rev-line);
  border-radius: 4px;
  background: var(--sb-rev-card);
  min-height: 0;
  height: auto;
  margin: 0;
  box-sizing: border-box;
  align-self: start;
}

}

.sb-reviews__card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.sb-reviews__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sb-reviews__badge--2gis {
  background: rgba(0, 166, 81, 0.15);
  color: #00a651;
}

.sb-reviews__badge--yandex {
  background: rgba(255, 51, 51, 0.12);
  color: #ff3333;
}

body.theme-light .sb-reviews__badge--2gis {
  background: rgba(0, 166, 81, 0.12);
  color: #007a3d;
}

body.theme-light .sb-reviews__badge--yandex {
  color: #d42b2b;
}

.sb-reviews__stars {
  color: #e8b923;
  font-size: 13px;
  letter-spacing: 1px;
  white-space: nowrap;
}

.sb-reviews__quote {
  margin: 0;
  flex: 1;
  font-size: 15px;
  line-height: 1.55;
  color: var(--sb-rev-fg);
}

.sb-reviews__foot {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sb-reviews__foot strong {
  font-size: 14px;
}

.sb-reviews__foot span {
  font-size: 12px;
  color: var(--sb-rev-muted);
}

.sb-reviews__link {
  font-size: 12px;
  font-weight: 600;
  color: var(--sb-wine2, #9d1830) !important;
  text-decoration: none !important;
}

.sb-reviews__link:hover {
  text-decoration: underline !important;
}

.sb-reviews__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.sb-reviews__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  letter-spacing: 0.02em;
}

.sb-reviews__btn--wine {
  background: var(--sb-rev-wine);
  color: #fff !important;
  border: 1px solid var(--sb-rev-wine);
}

.sb-reviews__btn--ghost {
  background: transparent;
  color: var(--sb-rev-fg) !important;
  border: 1px solid var(--sb-rev-line);
}

.sb-reviews__maps {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--sb-rev-line);
}

.sb-reviews__maps-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
}

.sb-reviews__maps-link--2gis {
  background: #00a651;
  color: #fff !important;
}

.sb-reviews__maps-link--yandex {
  background: #ff3333;
  color: #fff !important;
}


html.sb-reviews-page .right_block.wide_Y,
html.sb-reviews-page .right_block.wide_N {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 991px) {
  .sb-reviews__head {
    grid-template-columns: 1fr;
  }
  .sb-reviews__page-head-row {
    grid-template-columns: 1fr;
  }
  .sb-reviews__page-hero {
    order: -1;
    justify-self: center;
  }
  .sb-reviews__page-hero img {
    width: min(220px, 70vw);
  }
  .sb-reviews__grid--2,
  .sb-reviews__grid--3 {
    grid-template-columns: 1fr;
  }
  .sb-reviews--home {
    padding: 48px 0;
  }
}



html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sb-text);
  background:var(--sb-bg);
  color:var(--sb-fg);
  -webkit-font-smoothing:antialiased;
}
body.theme-light{background:#fff;color:#080909}
body.theme-dark{background:#080909;color:#f2efe8}

.site-header{overflow:visible;
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid rgba(8,9,9,.08);
}
body.theme-dark .site-header{
  background:rgba(8,9,9,.92);
  border-bottom-color:rgba(255,255,255,.1);
}
.site-header__top{
  width:min(1280px,calc(100% - 32px));
  margin:0 auto;
  display:flex;align-items:center;gap:18px;
  padding:14px 0 10px;
}
.site-logo{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;color:inherit;flex:0 0 auto;
}
.site-logo img{width:48px;height:48px;object-fit:cover;border-radius:4px;display:block}
.site-logo span{font-family:var(--sb-display);font-size:18px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.site-logo em{font-style:normal;color:var(--sb-wine2)}
.site-search{
  flex:1;display:flex;align-items:center;
  border:1px solid rgba(8,9,9,.14);
  background:#fff;min-height:46px;padding:0 6px 0 14px;gap:8px;
}
body.theme-dark .site-search{background:#151617;border-color:rgba(255,255,255,.14)}
.site-search input{
  flex:1;border:0;outline:0;background:transparent;
  font:500 15px/1.3 var(--sb-text);color:inherit;min-width:0;
}
.site-search__cat{
  border:0;background:transparent;font:600 12px/1 var(--sb-text);
  letter-spacing:.08em;text-transform:uppercase;color:rgba(8,9,9,.55);
  padding:0 10px;border-left:1px solid rgba(8,9,9,.1);cursor:pointer;white-space:nowrap;
}
body.theme-dark .site-search__cat{color:rgba(242,239,232,.55);border-left-color:rgba(255,255,255,.12)}
.site-search__cam{
  width:36px;height:36px;border:0;background:var(--sb-wine);color:#fff;
  display:grid;place-items:center;cursor:pointer;flex:0 0 auto;
}
.site-header__right{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.site-phone{
  font:600 15px/1 var(--sb-text);color:inherit;text-decoration:none;white-space:nowrap;
}
.site-phones{
  position:relative;
  display:flex;
  align-items:center;
}
.site-phones__main{
  font:600 15px/1 var(--sb-text);color:inherit;text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
}
.site-phones__caret{
  display:inline-flex;opacity:.55;
}
.site-phones__drop{
  display:none;
  position:absolute;top:calc(100% + 10px);right:0;z-index:80;
  min-width:280px;
  padding:10px;
  background:#fff;color:#080909;
  border:1px solid rgba(8,9,9,.12);
  box-shadow:0 16px 40px rgba(0,0,0,.14);
}
body.theme-dark .site-phones__drop{
  background:#151617;color:#f2efe8;border-color:rgba(255,255,255,.14);
}
.site-phones.is-open .site-phones__drop,
.site-phones:hover .site-phones__drop{ display:block; }
.site-phones__row{
  display:flex;flex-direction:column;gap:4px;
  padding:10px 12px;
  border-bottom:1px solid rgba(8,9,9,.08);
}
body.theme-dark .site-phones__row{ border-color:rgba(255,255,255,.1); }
.site-phones__row:last-child{ border-bottom:0; }
.site-phones__row a{
  font:700 15px/1.2 var(--sb-text);color:inherit;text-decoration:none;
}
.site-phones__row a:hover{ color:var(--sb-wine2,#9d1830); }
.site-phones__row span{
  font-size:12px;opacity:.6;line-height:1.35;
}
.site-phones__messengers{
  display:flex;gap:10px;margin-top:6px;font-size:12px;
}
.site-phones__messengers a{ font-weight:600;color:var(--sb-wine2,#9d1830);text-decoration:none; }
@media (max-width:900px){
  .site-phones{ display:none; }
}
.site-icon-btn{
  width:40px;height:40px;border:1px solid rgba(8,9,9,.14);
  background:transparent;border-radius:999px;display:grid;place-items:center;
  cursor:pointer;color:inherit;text-decoration:none;
}
body.theme-dark .site-icon-btn{border-color:rgba(255,255,255,.16)}
.site-nav{
  width:min(1280px,calc(100% - 32px));
  margin:0 auto;
  display:flex;flex-wrap:wrap;gap:4px 22px;
  padding:0 0 14px;
  justify-content:center;
  position:relative;
  z-index:40;
}
.site-nav a{
  font:600 12px/1 var(--sb-text);
  letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:rgba(8,9,9,.72);padding:8px 0;
}
body.theme-dark .site-nav a{color:rgba(242,239,232,.72)}
.site-nav a:hover{color:var(--sb-wine2)}

.site-nav__item{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.site-nav__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.site-nav__caret{
  display:inline-flex;
  opacity:.55;
  transform:translateY(-1px);
  transition:transform .15s, opacity .15s;
}
.site-nav__item:hover > .site-nav__link,
.site-nav__item.is-open > .site-nav__link{
  color:var(--sb-wine2);
}
.site-nav__item:hover .site-nav__caret,
.site-nav__item.is-open .site-nav__caret{
  opacity:1;
  transform:translateY(-1px) rotate(180deg);
}
.site-nav__drop{
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%) translateY(6px);
  min-width:240px;
  padding-top:10px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
  z-index:80;
}
.site-nav__item:hover > .site-nav__drop,
.site-nav__item.is-open > .site-nav__drop{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.site-nav__drop-inner{
  background:#fff;
  border:1px solid rgba(8,9,9,.1);
  box-shadow:0 14px 40px rgba(8,9,9,.12);
  border-radius:4px;
  padding:8px 0;
  overflow:hidden;
}
body.theme-dark .site-nav__drop-inner{
  background:#151617;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 14px 40px rgba(0,0,0,.45);
}
.site-nav__drop-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 18px;
  font:600 12px/1.25 var(--sb-text) !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
  color:#222 !important;
  text-decoration:none;
  white-space:nowrap;
}
body.theme-dark .site-nav__drop-link{color:#f2efe8 !important}
.site-nav__drop-link:hover{
  background:rgba(157,24,48,.06);
  color:var(--sb-wine2) !important;
}
.site-nav__drop-link em{
  font-style:normal;
  font-weight:600;
  font-size:11px;
  color:rgba(8,9,9,.4);
}
body.theme-dark .site-nav__drop-link em{color:rgba(242,239,232,.4)}

.site-nav__item--mega{position:static}
.site-nav__drop--mega{
  left:0;
  right:0;
  width:100%;
  transform:translateY(6px);
  min-width:0;
}
.site-nav__item--mega:hover > .site-nav__drop--mega,
.site-nav__item--mega.is-open > .site-nav__drop--mega{
  transform:translateY(0);
}
.site-nav__drop--mega .site-nav__drop-inner{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  padding:12px 8px;
}
.site-nav__drop--mega .site-nav__drop-link{
  white-space:normal;
  border-radius:3px;
}

@media (max-width: 900px) {
  .site-nav{display:none}
  .site-nav.is-open{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding-bottom:18px;
    gap:0;
  }
  .site-nav__item{display:block;width:100%}
  .site-nav__drop{
    position:static;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    padding:0;
    display:none;
    min-width:0;
  }
  .site-nav__item.is-open > .site-nav__drop{display:block}
  .site-nav__drop-inner{
    box-shadow:none;
    border:0;
    border-left:2px solid rgba(157,24,48,.35);
    border-radius:0;
    margin:4px 0 8px 8px;
    padding:4px 0;
    background:transparent;
  }
  .site-nav__drop--mega .site-nav__drop-inner{
    width:auto;
    grid-template-columns:1fr;
    margin:4px 0 8px 8px;
  }
  body.theme-dark .site-nav__drop-inner{background:transparent;box-shadow:none}
}

.site-side{
  position:fixed;right:0;top:50%;transform:translateY(-50%);
  z-index:90;display:flex;flex-direction:column;gap:0;
  background:#1a1b1c;border-radius:8px 0 0 8px;overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.site-side a{
  width:48px;height:48px;display:grid;place-items:center;
  color:#f2efe8;text-decoration:none;position:relative;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-side a:last-child{border-bottom:0}
.site-side a:hover{background:var(--sb-wine)}
.site-side__n{
  position:absolute;top:6px;right:6px;
  min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:var(--sb-wine2);color:#fff;font:700 10px/16px var(--sb-text);
  text-align:center;
}

.site-footer{
  background:#0d0e0f;color:#f2efe8;padding:48px 0 28px;margin-top:0;
}
body.theme-light .site-footer{background:#0d0e0f}
.site-footer__inner{
  width:min(1120px,calc(100% - 40px));margin:0 auto;
  display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;
}
.site-footer a{color:rgba(242,239,232,.78);text-decoration:none}
.site-footer a:hover{color:#fff}
.site-footer h4{
  margin:0 0 14px;font:600 12px/1 var(--sb-text);
  letter-spacing:.16em;text-transform:uppercase;color:rgba(242,239,232,.5);
}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer__brand{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.site-footer__brand img{width:44px;height:44px;border-radius:4px;object-fit:cover}
.site-footer__copy{
  width:min(1120px,calc(100% - 40px));margin:28px auto 0;
  padding-top:18px;border-top:1px solid rgba(255,255,255,.1);
  font-size:13px;color:rgba(242,239,232,.45);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}

.site-burger{
  display:none;
  width:40px;
  height:40px;
  border:1px solid rgba(8,9,9,.12);
  background:transparent;
  border-radius:50%;
  cursor:pointer;
  color:inherit;
  position:relative;
  padding:0;
  flex:0 0 auto;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
body.theme-dark .site-burger{border-color:rgba(255,255,255,.14)}
.site-burger span{
  display:block;
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:1.5px;
  margin-left:-9px;
  background:currentColor;
  border-radius:1px;
  transform-origin:center;
  transition:transform .24s cubic-bezier(.4,0,.2,1), opacity .18s ease;
}
.site-burger span:nth-child(1){transform:translateY(-5.5px)}
.site-burger span:nth-child(2){transform:translateY(0)}
.site-burger span:nth-child(3){transform:translateY(5.5px)}
.site-burger[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}
.site-burger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.2)}
.site-burger[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}
.site-burger:hover{
  border-color:var(--sb-wine2,#9d1830);
  color:var(--sb-wine2,#9d1830);
}
.site-burger[aria-expanded="true"]{
  border-color:var(--sb-wine2,#9d1830);
  color:var(--sb-wine2,#9d1830);
  background:rgba(157,24,48,.06);
}

.site-search-btn{display:none}

@media (max-width:900px){
  .site-header__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:calc(100% - 24px);
    padding:10px 0;
  }
  .site-logo{flex:0 0 auto}
  .site-logo img{width:40px;height:40px}
  .site-logo span{font-size:15px}
  .site-header__right{
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:auto;
  }
  .site-search{
    display:none !important;
  }
  .site-search.is-open{
    display:flex !important;
    position:absolute;
    left:12px;
    right:12px;
    top:100%;
    z-index:90;
    min-height:48px;
    width:auto;
    margin-top:6px;
    border-radius:12px;
    box-shadow:0 10px 32px rgba(0,0,0,.14);
    background:#fff;
  }
  body.theme-dark .site-search.is-open{background:#151617}
  .site-header{position:sticky}
  .site-phone,.site-phones{display:none !important}
  .site-search-btn{
    display:grid !important;
    place-items:center;
  }
  .site-search-btn[aria-expanded="true"]{
    border-color:var(--sb-wine2,#9d1830);
    color:var(--sb-wine2,#9d1830);
    background:rgba(157,24,48,.06);
  }
  .site-burger{
    display:block !important;
    order:100;
  }
  .site-side{display:none}
  .site-footer__inner{grid-template-columns:1fr}
  .site-nav.is-open{
    width:calc(100% - 24px);
    padding:8px 0 16px;
  }
  .site-nav.is-open > a,
  .site-nav.is-open > .site-nav__item > .site-nav__link{
    padding:14px 2px;
    border-bottom:1px solid rgba(8,9,9,.07);
  }
  /* Hide fav/cart — keep search + theme + cabinet + burger */
  .site-header__right > a.site-icon-btn[href*="favorite"],
  .site-header__right > a.site-icon-btn[href*="basket"]{
    display:none;
  }
}

/* Ensure homepage sits flush under header */
.sb-home{padding-top:0 !important}
.sb-home__r360[hidden]{display:none !important}


/* ==== from sb-turnkey.css ==== */
/* Servis Bar turnkey landing — black / burgundy / white */
:root {
  --sb-bg: #080909;
  --sb-bg2: #0d0e0f;
  --sb-bg3: #151617;
  --sb-wine: #781326;
  --sb-wine2: #9d1830;
  --sb-white: #f3f0ea;
  --sb-muted: rgba(243, 240, 234, .62);
  --sb-line: rgba(255, 255, 255, .14);
  --sb-display: "Oswald", "Arial Narrow", sans-serif;
  --sb-text: "Manrope", Arial, sans-serif;
}

/* Follow site theme toggle */
body.theme-dark {
  --sb-bg: #080909;
  --sb-bg2: #0d0e0f;
  --sb-bg3: #151617;
  --sb-white: #f3f0ea;
  --sb-muted: rgba(243, 240, 234, .62);
  --sb-line: rgba(255, 255, 255, .14);
}
body.theme-light {
  --sb-bg: #ffffff;
  --sb-bg2: #f2efe8;
  --sb-bg3: #ffffff;
  --sb-white: #080909;
  --sb-muted: rgba(8, 9, 9, .58);
  --sb-line: rgba(8, 9, 9, .12);
}


body:has(.sb-tk) .wrapper_inner > .container > .right_block,
body:has(.sb-tk) #content > .container,
body:has(.sb-tk) .page-top,
body:has(.sb-tk) .breadcrumbs {
  max-width: none !important;
}
body:has(.sb-tk) .page-top,
body:has(.sb-tk) #pagetitle,
body:has(.sb-tk) .topic__heading,
body:has(.sb-tk) .breadcrumbs {
  display: none !important;
}
body:has(.sb-tk) #content,
body:has(.sb-tk) .middle,
body:has(.sb-tk) .container,
body:has(.sb-tk) .right_block,
body:has(.sb-tk) .wrapper_inner {
  background: var(--sb-bg) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}
body:has(.sb-tk) .right_block.narrow_Y,
body:has(.sb-tk) .content-md {
  width: 100% !important;
  max-width: none !important;
}

.sb-tk {
  font-family: var(--sb-text);
  color: var(--sb-white);
  background: var(--sb-bg);
  margin: 0 !important;
  padding: 0 0 40px !important;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}
.sb-tk *,
.sb-tk *::before,
.sb-tk *::after { box-sizing: border-box; }

.sb-tk__wrap {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

.sb-tk__eyebrow {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sb-muted);
}
.sb-tk__eyebrow::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 2px;
  margin-right: 12px;
  vertical-align: middle;
  background: var(--sb-wine2);
}

.sb-tk h1,
.sb-tk h2,
.sb-tk h3 {
  font-family: var(--sb-display);
  text-transform: uppercase;
  letter-spacing: -.03em;
  font-weight: 700;
  color: var(--sb-white);
  margin: 0 0 14px;
  line-height: .95;
}
.sb-tk h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); max-width: 12ch; }
.sb-tk h2 { font-size: clamp(1.7rem, 3.5vw, 2.6rem); max-width: 18ch; }
.sb-tk h3 { font-size: 1.15rem; letter-spacing: -.01em; margin-bottom: 10px; }

.sb-tk__lead {
  margin: 0;
  max-width: 42ch;
  font-size: 16px;
  line-height: 1.55;
  color: var(--sb-muted);
}

/* HERO */
.sb-tk__hero {
  padding: 56px 0 48px;
  background:
    linear-gradient(90deg, rgba(120, 19, 38, .35) 0%, transparent 55%),
    var(--sb-bg);
  border-bottom: 1px solid var(--sb-line);
}
.sb-tk__hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.sb-tk__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px !important;
  border-radius: 0 !important;
  font-family: var(--sb-text) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid transparent;
  cursor: pointer;
  transition: .2s background, .2s border-color, .2s color;
}
.sb-tk__btn--wine {
  background: var(--sb-wine) !important;
  border-color: var(--sb-wine) !important;
  color: #fff !important;
}
.sb-tk__btn--wine:hover {
  background: var(--sb-wine2) !important;
  border-color: var(--sb-wine2) !important;
  color: #fff !important;
}
.sb-tk__btn--ghost {
  background: transparent !important;
  border-color: rgba(255,255,255,.35) !important;
  color: #fff !important;
}
.sb-tk__btn--ghost:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #080909 !important;
}
.sb-tk__btn--block { width: 100%; }

/* SECTIONS */
.sb-tk__section {
  padding: 56px 0;
  border-bottom: 1px solid var(--sb-line);
  background: var(--sb-bg);
}
.sb-tk__section--tint { background: var(--sb-bg2); }

/* GRID — fixed, no shifting */
.sb-tk__grid3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
  align-items: stretch;
}
.sb-tk__card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 22px 20px;
  background: var(--sb-bg3);
  border: 1px solid var(--sb-line);
  border-top: 3px solid var(--sb-wine2);
}
.sb-tk__card > span {
  display: block;
  margin-bottom: 16px;
  font-family: var(--sb-display);
  font-size: 12px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.4);
}
.sb-tk__card p {
  margin: 0;
  color: var(--sb-muted);
  font-size: 14px;
  line-height: 1.5;
  flex: 1;
}

/* BRANDS — equal cells, no wrap chaos */
.sb-tk__brands-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
  list-style: none;
  padding: 0;
}
.sb-tk__brands-grid li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 12px 8px;
  border: 1px solid var(--sb-line);
  background: var(--sb-bg3);
  color: #fff;
  font-family: var(--sb-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
}

/* CALC */
.sb-tk__calc-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  margin-top: 8px;
}
.sb-tk__calc-copy p,
.sb-tk__calc-copy li {
  color: var(--sb-muted);
  font-size: 15px;
  line-height: 1.5;
}
.sb-tk__calc-copy ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.sb-tk__calc-copy li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 8px;
}
.sb-tk__calc-copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 2px;
  background: var(--sb-wine2);
}
.sb-tk__form {
  background: var(--sb-bg3);
  border: 1px solid var(--sb-line);
  border-top: 3px solid var(--sb-wine2);
  padding: 24px 22px;
}
.sb-tk__form label {
  display: block;
  margin-bottom: 14px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sb-muted);
}
.sb-tk__form input,
.sb-tk__form select {
  display: block;
  width: 100%;
  margin-top: 8px;
  height: 48px;
  padding: 0 14px;
  border: 1px solid var(--sb-line);
  border-radius: 0;
  background: var(--sb-bg);
  color: #fff;
  font-size: 15px;
  font-family: var(--sb-text);
  text-transform: none;
  letter-spacing: 0;
  outline: none;
}
.sb-tk__form input:focus,
.sb-tk__form select:focus {
  border-color: var(--sb-wine2);
}
.sb-tk__check {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--sb-muted) !important;
  margin: 4px 0 18px !important;
}
.sb-tk__check input {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  flex: 0 0 auto;
  accent-color: var(--sb-wine2);
}
.sb-tk__ok {
  margin: 14px 0 0;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
  padding: 12px 14px;
  border-left: 3px solid var(--sb-wine2);
  background: rgba(157, 24, 48, .18);
}

.sb-tk__section--wine {
  background: var(--sb-wine);
  border-bottom: 0;
}
.sb-tk__section--wine .sb-tk__eyebrow { color: rgba(255,255,255,.7); }
.sb-tk__section--wine .sb-tk__eyebrow::before { background: #fff; }
.sb-tk__section--wine .sb-tk__calc-copy p,
.sb-tk__section--wine .sb-tk__calc-copy li { color: rgba(255,255,255,.85); }
.sb-tk__section--wine .sb-tk__form {
  background: rgba(0,0,0,.28);
  border-color: rgba(255,255,255,.2);
  border-top-color: #fff;
}

@media (max-width: 900px) {
  .sb-tk__wrap { width: calc(100% - 28px); }
  .sb-tk__grid3,
  .sb-tk__calc-wrap { grid-template-columns: 1fr; }
  .sb-tk__brands-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-tk__hero { padding: 36px 0 32px; }
  .sb-tk__section { padding: 40px 0; }
  .sb-tk__btn { width: 100%; }
  .sb-tk__hero-cta { flex-direction: column; }
}


/* fallback without :has */
html.sb-tk-page .page-top,
html.sb-tk-page #pagetitle,
html.sb-tk-page .topic__heading,
html.sb-tk-page .breadcrumbs { display: none !important; }
html.sb-tk-page #content,
html.sb-tk-page .middle,
html.sb-tk-page .container,
html.sb-tk-page .right_block,
html.sb-tk-page .wrapper_inner {
  background: #080909 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

/* CASES — like custom site projects cards */
.sb-tk__cases {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
  align-items: stretch;
}
.sb-tk__case {
  position: relative;
  display: block;
  min-height: 460px;
  height: 62vh;
  max-height: 620px;
  overflow: hidden;
  border: 1px solid var(--sb-line);
  background: #111;
  padding: 0 !important;
}
.sb-tk__case img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.04);
  transition: transform 1.2s ease;
}
.sb-tk__case:hover img { transform: scale(1.05); }
.sb-tk__case-body {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: 36px 24px 24px;
  background: linear-gradient(transparent, rgba(8,9,9,.96));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.sb-tk__case-body span {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sb-wine2);
}
.sb-tk__case-body h3 {
  margin: 0 0 10px;
  font-size: clamp(1.6rem, 2.4vw, 2.3rem);
  line-height: .95;
  color: #fff;
}
.sb-tk__case-body p {
  margin: 0;
  color: rgba(243,240,234,.68);
  font-size: 14px;
  line-height: 1.45;
  max-width: 36ch;
}
.sb-tk__case-body a {
  display: inline-block;
  margin-top: 14px;
  width: fit-content;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--sb-wine2);
  padding-bottom: 2px;
}
.sb-tk__case-body a:hover { color: var(--sb-wine2) !important; }
@media (max-width: 900px) {
  .sb-tk__cases { grid-template-columns: 1fr; }
  .sb-tk__case {
    height: 52vh;
    min-height: 380px;
    max-height: none;
  }
}

/* ===== SB TK THEME LIGHT ===== */
body.theme-light:has(.sb-tk) #content,
body.theme-light:has(.sb-tk) .middle,
body.theme-light:has(.sb-tk) .container,
body.theme-light:has(.sb-tk) .right_block,
body.theme-light:has(.sb-tk) .wrapper_inner,
body.theme-light .sb-tk {
  background: #fff !important;
  color: #080909 !important;
}

body.theme-light .sb-tk h1,
body.theme-light .sb-tk h2,
body.theme-light .sb-tk h3,
body.theme-light .sb-tk h1 *,
body.theme-light .sb-tk h2 *,
body.theme-light .sb-tk h3 * {
  color: #080909 !important;
}

body.theme-light .sb-tk__lead,
body.theme-light .sb-tk__eyebrow,
body.theme-light .sb-tk__card p,
body.theme-light .sb-tk__card > span,
body.theme-light .sb-tk__calc-copy p,
body.theme-light .sb-tk__calc-copy li {
  color: rgba(8,9,9,.62) !important;
}

body.theme-light .sb-tk__hero {
  background:
    radial-gradient(ellipse at 18% 20%, rgba(120,19,38,.10), transparent 42%),
    linear-gradient(180deg, #fff 0%, #f7f4ee 100%) !important;
}
body.theme-light .sb-tk__section,
body.theme-light .sb-tk__section--tint {
  background: #fff !important;
}
body.theme-light .sb-tk__section--tint {
  background: #f2efe8 !important;
}
body.theme-light .sb-tk__card,
body.theme-light .sb-tk__brands-grid li {
  background: #fff !important;
  border-color: rgba(8,9,9,.12) !important;
  color: #080909 !important;
  box-shadow: 0 8px 24px rgba(8,9,9,.04);
}
body.theme-light .sb-tk__brands-grid li {
  color: #080909 !important;
}

body.theme-light .sb-tk__btn--ghost {
  border-color: rgba(8,9,9,.28) !important;
  color: #080909 !important;
}
body.theme-light .sb-tk__btn--ghost:hover {
  background: #080909 !important;
  border-color: #080909 !important;
  color: #fff !important;
}

body.theme-light .sb-tk input,
body.theme-light .sb-tk textarea,
body.theme-light .sb-tk select {
  background: #fff !important;
  color: #080909 !important;
  border-color: rgba(8,9,9,.18) !important;
}

body.theme-dark:has(.sb-tk) #content,
body.theme-dark:has(.sb-tk) .middle,
body.theme-dark:has(.sb-tk) .container,
body.theme-dark:has(.sb-tk) .right_block,
body.theme-dark:has(.sb-tk) .wrapper_inner,
body.theme-dark .sb-tk {
  background: #080909 !important;
  color: #f3f0ea !important;
}
body.theme-dark .sb-tk h1,
body.theme-dark .sb-tk h2,
body.theme-dark .sb-tk h3 {
  color: #f3f0ea !important;
}


/* ==== from sb-sets.css ==== */

.sb-sets .sb-tk__wrap {
  width: min(1180px, calc(100% - 40px)) !important;
}

.sb-sets__list {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}

.sb-sets__card {
  display: grid !important;
  grid-template-columns: minmax(260px, 36%) minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  border: 1px solid var(--sb-line, rgba(255,255,255,.14));
  background: var(--sb-bg3, #151617);
  overflow: hidden;
  float: none !important;
}

.sb-sets__media {
  min-height: 100%;
  min-height: 320px;
  background: #111 center / cover no-repeat;
  float: none !important;
}

.sb-sets__body {
  padding: 28px 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  width: 100%;
  float: none !important;
}

.sb-sets__head h2 {
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  margin: 0 0 8px !important;
  max-width: none !important;
  line-height: 1.05;
}
.sb-sets__head p {
  margin: 0;
  color: var(--sb-muted, rgba(243,240,234,.62));
  font-size: 14px;
  line-height: 1.45;
  max-width: 52ch;
}

.sb-sets__items {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  float: none !important;
}

.sb-sets__item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 16px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--sb-line, rgba(255,255,255,.14));
  background: var(--sb-bg, #080909);
  float: none !important;
  clear: both !important;
}

.sb-sets__thumb {
  flex: 0 0 76px;
  width: 76px !important;
  height: 76px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.1);
  background: #111 center / contain no-repeat;
  float: none !important;
  display: block !important;
  position: static !important;
  text-indent: 0 !important;
}
.sb-sets__thumb--empty {
  background: #121314;
}

.sb-sets__info {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  float: none !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sb-sets__name {
  display: block !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.35 !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
}
.sb-sets__name:hover { color: #9d1830 !important; }

.sb-sets__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
}

.sb-sets__qty-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sb-muted, rgba(243,240,234,.62));
  font-weight: 600;
}
.sb-sets__qty {
  width: 72px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 0 !important;
  background: #0d0e0f !important;
  color: #fff !important;
  font-size: 15px !important;
  font-family: var(--sb-text, Manrope, Arial, sans-serif) !important;
  text-align: center;
}

.sb-sets__unit {
  font-size: 13px;
  color: var(--sb-muted, rgba(243,240,234,.62));
}
.sb-sets__line {
  margin-left: auto;
  font-family: var(--sb-display, Oswald, sans-serif);
  font-size: 1.05rem;
  letter-spacing: -.02em;
  color: #fff;
  white-space: nowrap;
}

.sb-sets__foot {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid var(--sb-line, rgba(255,255,255,.14));
}
.sb-sets__total {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sb-sets__total span {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sb-muted, rgba(243,240,234,.62));
}
.sb-sets__total strong {
  font-family: var(--sb-display, Oswald, sans-serif);
  font-size: clamp(1.5rem, 3vw, 2rem);
  letter-spacing: -.02em;
  color: #fff;
  font-weight: 700;
}
.sb-sets__foot .sb-tk__btn {
  min-width: 240px;
}

.sb-sets__msg {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid #9d1830;
  background: rgba(157,24,48,.18);
  color: #fff;
  font-size: 13px;
}


.sb-sets img,
.sb-sets__items img,
.sb-sets li::before,
.sb-sets li::after {
  float: none !important;
  content: none !important;
}

@media (max-width: 900px) {
  .sb-sets .sb-tk__wrap { width: calc(100% - 28px) !important; }
  .sb-sets__card { grid-template-columns: 1fr !important; }
  .sb-sets__media { min-height: 200px; max-height: 240px; }
  .sb-sets__body { padding: 20px 16px 18px; }
  .sb-sets__line { margin-left: 0; }
  .sb-sets__foot {
    flex-direction: column;
    align-items: stretch;
  }
  .sb-sets__foot .sb-tk__btn { width: 100%; min-width: 0; }
}

@media (max-width: 560px) {
  .sb-sets__item { align-items: flex-start; }
  .sb-sets__thumb { flex-basis: 64px; width: 64px !important; height: 64px !important; }
  .sb-sets__row { gap: 8px 12px; }
}

/* ===== SB SETS THEME ===== */
body.theme-light .sb-sets__card {
  background: #fff !important;
  border-color: rgba(8,9,9,.12) !important;
}
body.theme-light .sb-sets__head h2,
body.theme-light .sb-sets__name,
body.theme-light .sb-sets__items a,
body.theme-light .sb-sets__foot strong,
body.theme-light .sb-sets__line,
body.theme-light .sb-sets__unit,
body.theme-light .sb-sets__total {
  color: #080909 !important;
}
body.theme-light .sb-sets__head p,
body.theme-light .sb-sets__meta {
  color: rgba(8,9,9,.58) !important;
}
body.theme-light .sb-sets__item {
  background: #f7f4ee !important;
  border-color: rgba(8,9,9,.1) !important;
}
body.theme-light .sb-sets__thumb,
body.theme-light .sb-sets__thumb--empty,
body.theme-light .sb-sets__media {
  background-color: #f2efe8 !important;
  border-color: rgba(8,9,9,.1) !important;
}
body.theme-light .sb-sets__qty,
body.theme-light .sb-sets__qty-wrap input {
  background: #fff !important;
  color: #080909 !important;
  border-color: rgba(8,9,9,.2) !important;
}
body.theme-light .sb-sets__foot {
  border-top-color: rgba(8,9,9,.12) !important;
}
body.theme-light .sb-sets__msg {
  background: rgba(120,19,38,.08) !important;
  color: #080909 !important;
}
body.theme-light .sb-sets__items a:hover,
body.theme-light .sb-sets__name:hover {
  color: #781326 !important;
}

body.theme-dark .sb-sets__card {
  background: #151617 !important;
  border-color: rgba(255,255,255,.14) !important;
}
body.theme-dark .sb-sets__head h2,
body.theme-dark .sb-sets__name,
body.theme-dark .sb-sets__items a,
body.theme-dark .sb-sets__foot strong,
body.theme-dark .sb-sets__line {
  color: #f3f0ea !important;
}
body.theme-dark .sb-sets__item {
  background: #080909 !important;
  border-color: rgba(255,255,255,.14) !important;
}
body.theme-dark .sb-sets__qty {
  background: #0d0e0f !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.2) !important;
}


/* ==== Inner pages layout ==== */
.site-nav a.is-active { color: var(--sb-wine2); }
.page-hero {
  padding: 56px 0 28px;
  background: var(--sb-bg);
}
.page-hero h1 {
  margin: 0 0 14px;
  font-family: var(--sb-display);
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1.05;
  color: var(--sb-fg);
}
.page-hero__lead {
  margin: 0 0 22px;
  max-width: 640px;
  font-size: 17px;
  line-height: 1.55;
  color: var(--sb-fg-dim);
}
.page-hero__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.page-note {
  margin: 28px 0 48px;
  color: var(--sb-fg-dim);
  font-size: 14px;
}
.prose {
  padding: 12px 0 64px;
  max-width: 820px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--sb-fg-dim);
}
.prose h2 {
  margin: 36px 0 14px;
  font-family: var(--sb-display);
  font-size: 28px;
  color: var(--sb-fg);
  text-transform: uppercase;
}
.prose b, .prose strong { color: var(--sb-fg); }
.facts-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0 0 28px;
}
.facts-row div {
  border: 1px solid var(--sb-line);
  padding: 18px;
  background: var(--sb-card);
}
.facts-row strong {
  display: block;
  font-family: var(--sb-display);
  font-size: 32px;
  color: var(--sb-fg);
}
.facts-row span { font-size: 13px; color: var(--sb-fg-dim); }
.req { list-style: none; padding: 0; margin: 0 0 28px; }
.req li {
  display: flex; justify-content: space-between; gap: 16px;
  padding: 12px 0; border-bottom: 1px solid var(--sb-line);
}
.req span { color: var(--sb-fg-dim); }
.req b { color: var(--sb-fg); font-weight: 600; }

.projects-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  padding: 12px 0 64px;
}
.project-card {
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  border: 1px solid var(--sb-line);
  background: var(--sb-card);
  overflow: hidden;
  transition: .2s border-color, .2s transform;
}
.project-card:hover { border-color: var(--sb-wine2); transform: translateY(-2px); }
.project-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.project-card div { padding: 16px 16px 20px; }
.project-card span { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--sb-fg-dim); }
.project-card h3 {
  margin: 8px 0;
  font-family: var(--sb-display);
  font-size: 22px;
  text-transform: uppercase;
  color: var(--sb-fg);
}
.project-card p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--sb-fg-dim); }

.chefs-grid, .news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12px 0 64px;
}
.chef-card, .news-card {
  border: 1px solid var(--sb-line);
  background: var(--sb-card);
  padding: 18px;
}
.chef-card a.chef-card__img { display: block; }
.chef-card a.chef-card__img img,
.chef-card img { width: 100%; aspect-ratio: 1; object-fit: cover; margin-bottom: 14px; display: block; background: #f2efe8; }
.chef-card__ph {
  width: 100%; aspect-ratio: 4/3; display: grid; place-items: center;
  background: #151617; color: #f2efe8; font-family: var(--sb-display);
  font-size: 48px; margin-bottom: 14px;
}
body.theme-light .chef-card__ph { background: #f2efe8; color: #080909; }
.chef-card h3, .news-card h3 {
  margin: 0 0 6px;
  font-family: var(--sb-display);
  text-transform: uppercase;
  font-size: 20px;
  color: var(--sb-fg);
}
.chef-card p, .news-card p { margin: 0; color: var(--sb-fg-dim); font-size: 14px; line-height: 1.5; }
.chef-card--feature { grid-column: span 2; }

.contacts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 8px 0 28px;
}
.contact-card {
  border: 1px solid var(--sb-line);
  padding: 22px;
  background: var(--sb-card);
}
.contact-card h3 {
  margin: 0 0 8px;
  font-family: var(--sb-display);
  text-transform: uppercase;
  color: var(--sb-fg);
}
.contact-card p { margin: 0 0 10px; color: var(--sb-fg-dim); }
.contact-card a { color: var(--sb-wine2); text-decoration: none; font-weight: 600; }

@media (max-width: 900px) {
  .facts-row, .projects-grid, .chefs-grid, .news-grid, .contacts-grid { grid-template-columns: 1fr; }
  .chef-card--feature { grid-column: auto; }
}

/* Light theme for turnkey/sets pages */
body.theme-light .sb-tk,
body.theme-light .sb-sets {
  color: #080909;
  background: #fff;
}







/* REVIEW GRID SPACING FIX */
.sb-reviews .sb-reviews__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  row-gap: 28px !important;
  column-gap: 28px !important;
  align-items: start !important;
}
.sb-reviews .sb-reviews__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.sb-reviews .sb-reviews__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.sb-reviews .sb-reviews__grid > .sb-reviews__card {
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  float: none !important;
}
@media (max-width: 991px) {
  .sb-reviews .sb-reviews__grid,
  .sb-reviews .sb-reviews__grid--2,
  .sb-reviews .sb-reviews__grid--3 {
    grid-template-columns: 1fr !important;
  }
}


/* ==== Catalog landing (text tiles, 3-col) ==== */
.catalog-page {
  background: #fff;
  padding: 28px 0 72px;
  min-height: 60vh;
}
body.theme-dark .catalog-page {
  background: var(--sb-bg, #080909);
}
.catalog-page__wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}
.catalog-page__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 8px 0 48px;
}
.cat-tile,
.cat-index__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 0;
  padding: 20px 18px;
  border: 1px solid rgba(8, 9, 9, 0.12);
  border-radius: 0;
  background: #fff;
  text-decoration: none;
  color: #080909;
  box-sizing: border-box;
  transition: border-color 0.25s, background 0.25s;
  box-shadow: none;
  transform: none;
}
body.theme-dark .cat-tile,
body.theme-dark .cat-index__item {
  background: #0d0e0f;
  border-color: rgba(255, 255, 255, 0.15);
  color: #f3f0ea;
}
.cat-tile:hover,
.cat-index__item:hover {
  border-color: #9d1830;
  background: rgba(157, 24, 48, 0.06);
  box-shadow: none;
  transform: none;
  color: #080909;
}
body.theme-dark .cat-tile:hover,
body.theme-dark .cat-index__item:hover {
  background: rgba(120, 19, 38, 0.12);
  color: #f3f0ea;
}
.cat-tile__name,
.cat-tile strong,
.cat-index__item strong {
  font-family: var(--sb-display, "Oswald", "Arial Narrow", sans-serif);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #080909;
  margin: 0;
}
body.theme-dark .cat-tile__name,
body.theme-dark .cat-tile strong,
body.theme-dark .cat-index__item strong {
  color: #f3f0ea;
}
.cat-tile__count,
.cat-index__item span {
  font-family: var(--sb-text, "Manrope", Arial, sans-serif);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #777;
}
body.theme-dark .cat-tile__count,
body.theme-dark .cat-index__item span {
  color: #939393;
}

.catalog-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px 20px;
  margin-bottom: 22px;
}
.catalog-toolbar__back {
  color: rgba(8,9,9,.55);
  text-decoration: none;
  font-size: 14px;
}
.catalog-toolbar__back:hover { color: var(--sb-wine2, #9d1830); }
.catalog-toolbar__title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  flex: 1 1 auto;
}
.catalog-toolbar__meta {
  font-size: 14px;
  color: rgba(8,9,9,.45);
}
body.theme-dark .catalog-toolbar__title { color: #f2efe8; }
body.theme-dark .catalog-toolbar__back,
body.theme-dark .catalog-toolbar__meta { color: rgba(242,239,232,.55); }

/* Product listing layout + Aspro-like cards (servis-bar.ru) */
.catalog-layout {
  display: block;
}
.catalog-layout.is-listing {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.catalog-filters {
  position: sticky;
  top: 90px;
  padding: 4px 0 20px;
}
.catalog-filters__block {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(8,9,9,.08);
}
.catalog-filters__title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #222;
}
.catalog-filters__row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.catalog-filters__row input {
  width: 100%;
  height: 36px;
  border: 1px solid rgba(8,9,9,.15);
  border-radius: 3px;
  padding: 0 10px;
  font-size: 13px;
}
.catalog-filters__check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #333;
  cursor: pointer;
  margin-bottom: 8px;
}
.catalog-filters__apply {
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 3px;
  background: var(--sb-wine2, #9d1830);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}
.catalog-filters__apply:hover { filter: brightness(1.06); }

.sb-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  align-items: center;
}
.sb-quick-filters__label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(8,9,9,.45);
  margin-right: 4px;
}
.sb-quick-filters__chip {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(8,9,9,.12);
  background: #fff;
  color: #080909;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: .15s background, .15s border-color, .15s color;
}
.sb-quick-filters__chip:hover {
  border-color: var(--sb-wine2, #9d1830);
  color: var(--sb-wine2, #9d1830);
}
.sb-quick-filters__chip.is-active {
  background: var(--sb-wine2, #9d1830);
  border-color: var(--sb-wine2, #9d1830);
  color: #fff;
}
body.theme-dark .sb-quick-filters__chip {
  background: #151617;
  border-color: rgba(255,255,255,.14);
  color: #f2efe8;
}
body.theme-dark .sb-quick-filters__chip.is-active {
  background: #781326;
  border-color: #781326;
  color: #fff;
}

.catalog-products__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 16px;
}
.sb-card { min-width: 0; }
.sb-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  box-sizing: border-box;
}
body.theme-dark .sb-card__inner { background: var(--sb-card, #151617); }

.sb-card__image {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #fff;
  overflow: hidden;
}
body.theme-dark .sb-card__image { background: #101112; }
.sb-card__img-link { display: block; width: 100%; height: 100%; }
.sb-card__img-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
  box-sizing: border-box;
}
.sb-card__badge {
  position: absolute;
  left: 0;
  top: 12px;
  z-index: 2;
  background: #7cb342;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 4px 9px 4px 8px;
  border-radius: 0 2px 2px 0;
}
.sb-card__fast {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 4px;
  background: #fff;
  color: #444;
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
  cursor: pointer;
  display: grid;
  place-items: center;
  opacity: 0;
  transition: opacity .15s;
}
.sb-card:hover .sb-card__fast { opacity: 1; }
.sb-card__fast:hover { color: var(--sb-wine2, #9d1830); }

.sb-card__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 4px 4px;
  flex: 1;
}
.sb-card__stars {
  display: flex;
  gap: 2px;
  margin-bottom: 2px;
}
.sb-card__star {
  width: 12px;
  height: 12px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23d0d0d0' d='M6 1.2l1.4 2.8 3.1.5-2.2 2.2.5 3.1L6 8.3 3.2 9.8l.5-3.1L1.5 4.5l3.1-.5z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}
.sb-card__title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  min-height: 3.9em;
}
.sb-card__title a {
  color: #222;
  text-decoration: none;
}
.sb-card__title a:hover { color: var(--sb-wine2, #9d1830); }
body.theme-dark .sb-card__title a { color: #f2efe8; }

.sb-card__avail {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #2e7d32;
}
.sb-card__avail i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2e7d32;
  display: inline-block;
}
.sb-card__avail--out { color: #999; }
.sb-card__avail--out i { background: #bbb; }

.sb-card__art {
  font-size: 12px;
  color: rgba(8,9,9,.42);
}
body.theme-dark .sb-card__art { color: rgba(242,239,232,.45); }

.sb-card__price {
  margin-top: 4px;
  font-size: 20px;
  font-weight: 700;
  color: #111;
  line-height: 1.15;
}
body.theme-dark .sb-card__price { color: #f2efe8; }
.sb-card__price--na {
  font-size: 14px;
  font-weight: 600;
  color: rgba(8,9,9,.5);
}
.sb-card__measure {
  font-size: 13px;
  font-weight: 600;
  color: #111;
}

.sb-card__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .2s ease, opacity .2s ease, margin .2s ease;
}
.sb-card:hover .sb-card__actions {
  max-height: 160px;
  opacity: 1;
  margin-top: 10px;
}
.sb-card__mini {
  display: flex;
  gap: 8px;
}
.sb-card__icon {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(8,9,9,.12);
  border-radius: 3px;
  background: #fff;
  color: #444;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.sb-card__icon:hover {
  border-color: var(--sb-wine2, #9d1830);
  color: var(--sb-wine2, #9d1830);
}
.sb-card__buy {
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 3px;
  background: #8b1a2b;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.sb-card__buy:hover { filter: brightness(1.08); }
.sb-card__buy.is-added { background: #2e7d32; }
.sb-card__wa {
  width: 100%;
  height: 42px;
  border-radius: 3px;
  background: #25d366;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.sb-card__wa:hover { filter: brightness(1.05); color: #fff; }

.catalog-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 36px;
}
.catalog-pager__btn {
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(8,9,9,.12);
  text-decoration: none;
  color: #222;
  font-size: 14px;
  font-weight: 600;
  border-radius: 3px;
}
.catalog-pager__btn.is-active,
.catalog-pager__btn:hover {
  background: var(--sb-wine2, #9d1830);
  border-color: var(--sb-wine2, #9d1830);
  color: #fff;
}
.catalog-empty {
  padding: 48px 0;
  text-align: center;
  color: rgba(8,9,9,.5);
  font-size: 16px;
}

/* Product detail — as on servis-bar.ru Aspro */
.sb-product-page { padding-bottom: 64px; }
.sb-product { margin-top: 8px; }
.sb-product__empty {
  padding: 48px 0;
  text-align: center;
  color: rgba(8,9,9,.5);
}
.sb-product__crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
  font-size: 13px;
  color: rgba(8,9,9,.45);
  margin: 0 0 22px;
}
.sb-product__crumbs a {
  color: rgba(8,9,9,.55);
  text-decoration: none;
}
.sb-product__crumbs a:hover { color: var(--sb-wine2, #9d1830); }
.sb-product__crumbs span:last-child {
  color: rgba(8,9,9,.75);
  max-width: 100%;
}
.sb-product__layout {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 40px 48px;
  align-items: start;
}
.sb-product__side { position: sticky; top: 16px; }
.sb-product__gallery {
  position: relative;
  background: #fff;
  border: 1px solid rgba(8,9,9,.08);
}
.sb-product__badge {
  position: absolute;
  top: 14px; left: 14px; z-index: 2;
  background: var(--sb-wine2, #9d1830);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 5px 10px;
  line-height: 1;
}
.sb-product__gallery-main {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: #fff;
}
.sb-product__gallery-main img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  padding: 28px;
}
.sb-product__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 12px 12px;
}
.sb-product__thumb {
  width: 64px; height: 64px;
  padding: 4px;
  border: 1px solid rgba(8,9,9,.12);
  background: #fff;
  cursor: pointer;
}
.sb-product__thumb.is-active,
.sb-product__thumb:hover { border-color: var(--sb-wine2, #9d1830); }
.sb-product__thumb img {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
}
.sb-product__info h1 {
  margin: 0 0 18px;
  font-size: 26px;
  line-height: 1.28;
  font-weight: 700;
  color: #111;
}
.sb-product__headnote {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  margin-bottom: 10px;
  font-size: 13px;
}
.sb-product__article {
  color: rgba(8,9,9,.5);
}
.sb-product__article b { color: rgba(8,9,9,.75); font-weight: 600; }
.sb-product__chars-link {
  color: var(--sb-wine2, #9d1830);
  text-decoration: none;
  border-bottom: 1px dotted rgba(157,24,48,.45);
}
.sb-product__chars-link:hover { border-bottom-color: var(--sb-wine2, #9d1830); }
.sb-product__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 4px;
  margin: 0 0 6px;
  color: #111;
  line-height: 1;
}
.sb-product__price-val {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.sb-product__price-cur {
  font-size: 22px;
  font-weight: 700;
}
.sb-product__price-measure {
  margin-left: 4px;
  font-size: 15px;
  font-weight: 500;
  color: rgba(8,9,9,.45);
}
.sb-product__price--na {
  font-size: 22px;
  font-weight: 600;
  color: rgba(8,9,9,.55);
}
.sb-product__price-note {
  font-size: 12px;
  color: rgba(8,9,9,.45);
  margin-bottom: 14px;
}
.sb-product__stock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #2e7d32;
  margin-bottom: 18px;
}
.sb-product__stock i {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #2e7d32;
}
.sb-product__stock b { font-weight: 700; color: #1b5e20; }
.sb-product__stock--out { color: #999; }
.sb-product__stock--out i { background: #bbb; }
.sb-product__stock--out b { color: #777; }
.sb-product__buyrow {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
  margin-bottom: 12px;
}
.sb-product__qty {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid rgba(8,9,9,.16);
  background: #fff;
  height: 48px;
}
.sb-product__qty-btn {
  width: 40px;
  border: 0;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  color: rgba(8,9,9,.65);
  cursor: pointer;
}
.sb-product__qty-btn:hover { color: var(--sb-wine2, #9d1830); }
.sb-product__qty input {
  width: 48px;
  border: 0;
  border-left: 1px solid rgba(8,9,9,.1);
  border-right: 1px solid rgba(8,9,9,.1);
  text-align: center;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  -moz-appearance: textfield;
}
.sb-product__qty input::-webkit-outer-spin-button,
.sb-product__qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.sb-product__buy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 200px;
  height: 48px;
  padding: 0 22px;
  border: 0;
  background: var(--sb-wine2, #9d1830);
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .15s, background .15s;
}
.sb-product__buy:hover { filter: brightness(1.08); }
.sb-product__buy.is-added { background: #2e7d32; }
.sb-product__alt {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 16px;
}
.sb-product__oneclick,
.sb-product__offer {
  font-size: 14px;
  color: var(--sb-wine2, #9d1830);
  text-decoration: none;
  border-bottom: 1px dotted rgba(157,24,48,.4);
}
.sb-product__oneclick:hover,
.sb-product__offer:hover { border-bottom-style: solid; }
.sb-product__icons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-bottom: 18px;
}
.sb-product__icon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-size: 13px;
  color: rgba(8,9,9,.55);
  cursor: pointer;
  text-decoration: none;
}
.sb-product__icon:hover,
.sb-product__icon.is-active { color: var(--sb-wine2, #9d1830); }
.sb-product__perks {
  list-style: none;
  margin: 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(8,9,9,.08);
  font-size: 13px;
  line-height: 1.5;
  color: rgba(8,9,9,.55);
}
.sb-product__perks li + li { margin-top: 8px; }
.sb-product__tabs {
  margin-top: 48px;
  border-top: 1px solid rgba(8,9,9,.1);
}
.sb-product__tablist {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid rgba(8,9,9,.1);
}
.sb-product__tab {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 16px 20px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(8,9,9,.45);
  cursor: pointer;
}
.sb-product__tab:hover { color: #111; }
.sb-product__tab.is-active {
  color: #111;
  box-shadow: inset 0 -2px 0 var(--sb-wine2, #9d1830);
}
.sb-product__panel { display: none; padding: 24px 0 8px; }
.sb-product__panel.is-active { display: block; }
.sb-product__tab-body {
  max-width: 820px;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(8,9,9,.78);
}
.sb-product__tab-body p { margin: 0 0 12px; }
.sb-product__tab-body--pre { white-space: pre-wrap; }
.sb-product__related {
  margin-top: 48px;
  padding-top: 8px;
}
.sb-product__related h2 {
  margin: 0 0 22px;
  font-size: 22px;
  font-weight: 700;
}
body.theme-dark .sb-product__gallery,
body.theme-dark .sb-product__gallery-main,
body.theme-dark .sb-product__qty { background: #151617; }
body.theme-dark .sb-product__info h1,
body.theme-dark .sb-product__price,
body.theme-dark .sb-product__tab.is-active,
body.theme-dark .sb-product__related h2 { color: #f2efe8; }
body.theme-dark .sb-product__tab-body { color: rgba(242,239,232,.78); }

@media (max-width: 1200px) {
  .catalog-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .catalog-page__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cat-tile, .cat-index__item { min-height: 0; padding: 16px 14px; }
  .cat-tile__name, .cat-tile strong, .cat-index__item strong { font-size: 1.15rem; }
  .catalog-layout.is-listing { grid-template-columns: 1fr; }
  .catalog-filters { position: static; }
  .catalog-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  .sb-product__layout { grid-template-columns: 1fr; gap: 24px; }
  .sb-product__side { position: static; }
  .sb-product__info h1 { font-size: 22px; }
  .sb-product__price-val { font-size: 28px; }
  .sb-product__buy { flex: 1; min-width: 0; }
  .sb-product__tab { padding: 14px 12px; font-size: 12px; }
  .sb-card__fast,
  .sb-card__actions { opacity: 1; max-height: 200px; }
}
@media (max-width: 560px) {
  .catalog-page__grid { grid-template-columns: 1fr; }
  .catalog-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-card__title { font-size: 12px; }
  .sb-card__price { font-size: 16px; }
  .sb-card__buy, .sb-card__wa { height: 38px; font-size: 12px; }
  .sb-product__buyrow { flex-direction: column; }
  .sb-product__qty { width: 100%; justify-content: space-between; }
  .sb-product__qty input { flex: 1; }
}

/* Content pages from servis-bar mirror */
a.news-card { text-decoration: none; color: inherit; display: block; transition: border-color .2s, transform .2s; }
a.news-card:hover { border-color: var(--sb-wine2, #9d1830); transform: translateY(-2px); }
.prose img { max-width: 100%; height: auto; border-radius: 4px; margin: 12px 0; }
.prose table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14px; }
.prose td, .prose th { border: 1px solid rgba(8,9,9,.12); padding: 8px 10px; text-align: left; vertical-align: top; }
.prose ul.req, .prose .req { list-style: none; padding: 0; }

/* Useful info / news list — as on servis-bar.ru */
.sb-news-page { padding: 0 0 72px; background: #fff; min-height: 50vh; }
.sb-news-years {
  display: flex; flex-wrap: wrap; align-items: stretch;
  border-bottom: 1px solid rgba(8,9,9,.1);
  background: #fff;
  margin: 0 0 28px;
  padding: 0;
  position: sticky; top: 0; z-index: 20;
}
.sb-news-years__btn {
  appearance: none; border: 0; background: transparent;
  padding: 14px 22px; font: inherit; font-size: 13px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; color: rgba(8,9,9,.45);
  cursor: pointer; border-right: 1px solid rgba(8,9,9,.08);
}
.sb-news-years__btn:hover { color: #111; }
.sb-news-years__btn.is-active { color: #111; box-shadow: inset 0 -2px 0 var(--sb-wine2, #9d1830); }
.sb-news-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 22px;
}
.sb-news-card { display: flex; flex-direction: column; min-width: 0; }
.sb-news-card__media {
  display: block; aspect-ratio: 4 / 3; overflow: hidden;
  background: #f3f3f3; border-radius: 3px; margin-bottom: 12px;
}
.sb-news-card__media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .35s ease;
}
.sb-news-card:hover .sb-news-card__media img { transform: scale(1.04); }
.sb-news-card__date {
  display: block; font-size: 12px; color: rgba(8,9,9,.45); margin-bottom: 6px;
}
.sb-news-card__title { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 700; }
.sb-news-card__title a { color: #111; text-decoration: none; }
.sb-news-card__title a:hover { color: var(--sb-wine2, #9d1830); }
.sb-news-empty { text-align: center; color: rgba(8,9,9,.45); padding: 40px 0; }
@media (max-width: 1100px) {
  .sb-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .sb-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  .sb-news-years__btn { padding: 12px 14px; font-size: 12px; }
}
@media (max-width: 520px) {
  .sb-news-grid { grid-template-columns: 1fr; }
}
