  :root {
    --color-accent: #EC1A4A;
    --color-accent-hover: #c91540;
    --color-bg-dark: #1e1e1e;
    --color-text: #1a1a1a;
    --color-text-muted: #595f6e;
    --color-bg-section: #f4f4f5;
    --color-border: #e5e7eb;
    --color-white: #fff;
    --color-success: #5cb85c;
    --color-warning: #f59e0b;
    /* Р СћР С•Р В»РЎРЉР С”Р С• Р Т‘Р В»РЎРЏ Р Р†РЎвЂ№Р Т‘Р ВµР В»Р ВµР Р…Р С‘РЎРЏ: Р Р…Р С•Р Р†РЎвЂ№Р в„– Р С—РЎР‚Р С•Р Т‘РЎС“Р С”РЎвЂљ, Р В°Р С”РЎвЂ Р С‘РЎРЏ, РЎРѓР С—Р ВµРЎвЂ Р С—РЎР‚Р ВµР Т‘Р В»Р С•Р В¶Р ВµР Р…Р С‘Р Вµ РІР‚вЂќ Р Р…Р Вµ Р С‘РЎРѓР С—Р С•Р В»РЎРЉР В·Р С•Р Р†Р В°РЎвЂљРЎРЉ Р Р† Р В±Р В°Р В·Р С•Р Р†Р С•Р С UI */
    --color-highlight: #a78bfa;
    --radius: 8px;
    --hero-min-height: 600px;
    --hero-min-height-mobile: 520px;
    --fs-micro: 12px;
    --fs-small: 14px;
    --fs-base: 16px;
    --fs-lead: 18px;
    --fs-card-title: 22px;
    --fs-price: 28px;
    --fs-section: clamp(22px, 2.5vw, 34px);
    --fs-hero: clamp(28px, 4.5vw, 54px);
  }
  * { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
  img { max-width: 100%; height: auto; display: block; }
  html { scroll-behavior: smooth; }
  html { -webkit-text-size-adjust: 100%; }
  body { overscroll-behavior-y: contain; font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; color: var(--color-text); font-size: 16px; line-height: 1.5; background: #fff; background-image: linear-gradient(180deg, var(--color-bg-section) 0%, #eaeaec 100%); background-attachment: fixed; }
  /* Guard against accidental boxed layout on desktop. */
  html, body, #page, .site, .site-main, main#main {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  main#main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  a { text-decoration: none; color: inherit; }
  .wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
  .section-card { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); border-top: 3px solid var(--color-accent); }
  .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 22px; border-radius: var(--radius); font-size: 14px; font-weight: 600; cursor: pointer; border: none; transition: background .15s, color .15s; white-space: nowrap; min-height: 44px; }
  .btn-accent { background: linear-gradient(135deg, #D41745 0%, #ff4d6d 100%); color: #fff; }
  .btn-accent:hover { background: linear-gradient(135deg, #b81239 0%, #D41745 100%); }
  .btn-outline { background: transparent; color: var(--color-accent); border: 2px solid var(--color-accent); }
  .btn-outline:hover { background: var(--color-accent); color: #fff; }
  .btn-white { background: #fff; color: var(--color-bg-dark); }
  .btn-white:hover { background: #f0f0f0; }
  .btn-lg { padding: 13px 30px; font-size: 16px; }
  .section-label { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--color-accent); margin-bottom: 6px; }
  .section-title { font-size: clamp(22px, 2.5vw, 34px); font-weight: 800; letter-spacing: -0.5px; line-height: 1.2; color: var(--color-text); }
  .section-label--light { color: rgba(255,255,255,.7); }
  .section-title--light { color: #fff; }
  .section-sub { font-size: 16px; color: var(--color-text-muted); margin-top: 6px; margin-bottom: 24px; }

  /* HEADER */
  .header { position: sticky; top: 0; z-index: 999; background: #fff; border-bottom: 1px solid var(--color-border); box-shadow: 0 2px 8px rgba(0,0,0,.06); }
  .header-row1 { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 24px 8px; max-width: 1200px; margin: 0 auto; }
  .header-row2 { border-top: 1px solid var(--color-border); background: #fff; }
  .logo img { height: 38px; display: block; width: auto; }
  .header-right { display: flex; align-items: center; gap: 12px; }
  .phone { display: flex; flex-direction: column; align-items: flex-start; }
.header-tg { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background: var(--color-bg-dark); color: #fff; flex-shrink: 0; transition: background .15s; }
.header-tg svg { width: 20px; height: 20px; }
.header-tg img { width: 20px; height: 20px; display: block; object-fit: contain; object-position: center; }
.header-tg:hover { background: var(--color-accent); }
  .mob-nav-rating { display: none; }
  .mob-r-item { display: flex; flex-direction: column; gap: 3px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: 12px; padding: 10px 16px; flex: 1; }
  .mob-r-score { font-size: 24px; font-weight: 900; color: #fff; line-height: 1; }
  .mob-r-stars { color: var(--color-warning); font-size: 13px; letter-spacing: 2px; }
  .mob-r-label { font-size: 11px; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 1px; }
  .phone a { font-size: 17px; font-weight: 700; color: var(--color-bg-dark); white-space: nowrap; }
  .phone a:hover { color: var(--color-accent); }
  .phone-city { font-size: 11px; color: #6b7280; text-align: left; line-height: 1; margin-top: 2px; }
  .burger { display: none; flex-direction: column; gap: 3px; cursor: pointer; padding: 10px; background: none; border: none; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .burger-icon { display: flex; flex-direction: column; gap: 5px; align-items: center; }
  .burger span { display: block; width: 24px; height: 2px; background: var(--color-bg-dark); border-radius: 2px; }
  .burger-icon svg { width: 24px; height: auto; color: var(--color-bg-dark); display: block; }
  .burger-label { font-size: 10px; font-weight: 700; color: var(--color-bg-dark); letter-spacing: 0.5px; text-transform: uppercase; line-height: 1; }
  .mob-nav-header { display: none; }
  .mob-nav-footer { display: none; }
  .mob-nav-close { background: none; border: none; color: rgba(255,255,255,.5); cursor: pointer; padding: 4px; display: flex; align-items: center; justify-content: center; }
  .mob-nav-close svg { width: 22px; height: 22px; }
  .mob-nav-close:hover { color: #fff; }

  /* NAV */
  .nav { display: flex; gap: 0; max-width: 1200px; margin: 0 auto; padding: 0 24px; justify-content: space-between; }
  .nav-item { position: relative; }
  .nav-link { display: flex; align-items: center; gap: 4px; padding: 10px 14px; font-size: 15px; font-weight: 500; border-radius: 6px; cursor: pointer; transition: background .1s, color .1s; white-space: nowrap; }
  .nav-link:hover { background: #fff; color: var(--color-accent); }
  .nav-link .arr { font-size: 9px; opacity: .5; }

  /* MEGA MENU */
  .mega { display: none; position: absolute; top: 100%; left: -20px; width: 680px; background: #fff; border: 1px solid var(--color-border); border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,.12); padding: 20px; z-index: 600; gap: 0; }
  .nav-item:hover .mega { display: flex; }
  .mega-col { flex: 1; padding: 0 8px; }
  .mega-col + .mega-col { border-left: 1px solid var(--color-border); }
  .mega-col-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--color-text-muted); margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--color-border); }
  .mega a { display: block; padding: 7px 8px; font-size: 14px; color: var(--color-text); border-radius: 6px; }
  .mega a:hover { background: #fff; color: var(--color-accent); }

  /* DROPDOWN */
  .dropdown { display: none; position: absolute; top: 100%; left: 0; min-width: 210px; background: #fff; border: 1px solid var(--color-border); border-radius: 10px; box-shadow: 0 8px 28px rgba(0,0,0,.1); padding: 8px; z-index: 600; }
  .nav-item:hover .dropdown { display: block; }
  .dropdown a { display: block; padding: 7px 13px; font-size: 14px; border-radius: 6px; }
  .dropdown a:hover { background: #fff; color: var(--color-accent); }

  /* Protect header navigation from third-party/blog styles (e.g. generic .nav/.nav-link). */
  .header .nav {
    display: flex;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    justify-content: space-between;
  }
  .header .nav-item { position: relative; }
  .header .nav-link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 10px 14px;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
    border-radius: 6px;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: normal;
  }
  .header .nav-link .arr { font-size: 9px; line-height: 1; opacity: .5; }
  .header .mega a,
  .header .dropdown a {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
  }

  /* HERO */
  .hero { position: relative; overflow: hidden; }
  .slides { display: flex; transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .slide { min-width: 100%; min-height: var(--hero-min-height); display: flex; align-items: center; padding: 60px 24px; position: relative; }
  .slide__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
  .slide__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.52)); }
  .cool-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
  .cool-chip { width: 28px; height: 28px; border-radius: 50%; border: 3px solid rgba(255,255,255,.35); cursor: pointer; transition: transform .2s; flex-shrink: 0; }
  .cool-chip:hover { transform: scale(1.2); border-color: #fff; }
  .cool-chip-onix { background: #1a1a1a; }
  .cool-chip-graphite { background: #555; }
  .cool-chip-tabak { background: #7a5533; }
  .cool-chip-sangria { background: #8b1a2f; }
  .cool-chip-offwhite { background: #f5f0e8; border-color: rgba(255,255,255,.5); }
  .slide-inner { max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 1; }
  .slide-badge { display: inline-block; background: var(--color-accent); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 1px; padding: 4px 14px; border-radius: 20px; margin-bottom: 16px; text-transform: uppercase; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
  .slide h1, .slide-h1 { font-size: clamp(28px, 4.5vw, 54px); font-weight: 900; color: #fff; line-height: 1.1; max-width: 620px; margin-bottom: 14px; letter-spacing: -1px; }
  .slide h1 em, .slide-h1 em { color: #fff; font-style: normal; font-weight: 900; }
  .slide p { font-size: 17px; color: rgba(255,255,255,.75); max-width: 480px; margin-bottom: 28px; }
  .slide-actions { display: flex; gap: 12px; flex-wrap: wrap; }
  .sale-badge { display: none; }
  .hero-nav { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); display: flex; gap: 7px; z-index: 1; }
  .dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.4); cursor: pointer; transition: all .2s; }
  .dot.active { background: #fff; width: 22px; border-radius: 4px; }
  .hero-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.15); border: none; cursor: pointer; color: #fff; font-size: 17px; display: flex; align-items: center; justify-content: center; transition: background .2s; z-index: 1; }
  .hero-arrow:hover { background: rgba(255,255,255,.3); }
  .hero-arrow.prev { left: 18px; }
  .hero-arrow.next { right: 18px; }

  
/* BESEDKI advantages: keep titles readable in the vhdv reference layout */
#besedki-advantages .vhdv-adv__card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas:
    "icon num"
    "title title"
    "desc desc";
  gap: 10px 14px;
}
#besedki-advantages .odn-adv__head { display: contents; }
#besedki-advantages .odn-adv__meta { display: contents; }
#besedki-advantages .vhdv-adv__icon { grid-area: icon; }
#besedki-advantages .vhdv-adv__num { grid-area: num; align-self: center; }
#besedki-advantages .vhdv-adv__title {
  grid-area: title;
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
}
#besedki-advantages .vhdv-adv__desc { grid-area: desc; }

/* BESEDKI page: home hero reference without carousel JS binding */
.besedki-home-hero .slides { transform: none !important; }
.besedki-home-hero .slide { min-height: var(--hero-min-height); }
.besedki-home-hero .slide__bg { background-position: center; }
.besedki-home-hero .btn-outline { color: #fff; border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.08); }
.besedki-home-hero .btn-outline:hover { background: #fff; color: var(--color-text); border-color: #fff; }
@media (max-width: 640px) {
  .besedki-home-hero .slide { min-height: var(--hero-min-height-mobile); }
}

  /* CATALOG TABS */
  .catalog { padding: 48px 24px; }
  .cat-tab { padding: 9px 20px; border-radius: 30px; font-size: 14px; font-weight: 400; border: 1px solid #ddd; background: #fff; color: var(--color-text); cursor: pointer; transition: all .15s; }
  .cat-tab.active, .cat-tab:hover { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
  .catalog-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 24px; }
  .catalog-grid { display: flex; flex-direction: column; gap: 12px; }
  .cat-row { display: grid; gap: 12px; }
  .cat-card { position: relative; overflow: hidden; border-radius: 14px; min-height: 170px; cursor: pointer; transition: transform .2s, box-shadow .2s; border: 1.5px solid var(--color-border); }
  .cat-card:hover { box-shadow: 0 6px 20px rgba(236,26,74,.08); transform: translateY(-2px); }
  .cat-card-label { position: relative; z-index: 1; padding: 18px 18px 16px; max-width: 58%; }
  .cat-card-label b { display: block; font-size: 15px; font-weight: 700; margin-bottom: 4px; line-height: 1.3; }
  .cat-card-label span { font-size: 12px; }
  .cat-card-img { position: absolute; bottom: 0; right: 0; width: 160px; height: 130px; z-index: 0; }
  .cat-card-img img { width: 100%; height: 100%; object-fit: contain; object-position: right bottom; }
  @media (max-width: 640px) {
    .cat-row { grid-template-columns: repeat(2, 1fr) !important; }
    .cat-row > .cat-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .cat-card { min-height: 150px; }
    .cat-card-label { max-width: 55%; padding: 14px 14px 8px; }
    .cat-card-img { position: absolute; bottom: 0; right: 0; width: 110px; height: 100px; }
    .cat-card-img img { object-position: right bottom; }
  }

  /* PROFILES - melke style */
  .profiles-filter { display: flex; gap: 6px; flex-wrap: wrap; margin: 20px 0 28px; }
  .tab-btn { padding: 8px 18px; border-radius: 30px; font-size: 14px; font-weight: 600; border: 1px solid #ddd; background: #fff; color: var(--color-text); cursor: pointer; transition: all .15s; }
  .tab-btn.active, .tab-btn:hover { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
  .profiles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .profile-card { border-radius: 20px; overflow: hidden; background: #fff; border: 1.5px solid var(--color-border); box-shadow: 0 2px 12px rgba(0,0,0,.07); transition: transform .2s, box-shadow .2s; cursor: pointer; position: relative; }
  .profile-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(236,26,74,.1); }
  .profile-img-area { display: block; background: #fff; position: relative; aspect-ratio: 4/3; overflow: hidden; }
  .profile-photo { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
  .profile-badges-row { position: absolute; top: 12px; right: 12px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
  .pb-pill { background: var(--color-accent); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 14px; border-radius: 20px; white-space: nowrap; }
  .pb-pill-outline { background: #fff; color: #1a1a1a; font-size: 12px; font-weight: 700; padding: 5px 14px; border-radius: 20px; border: 2px solid var(--color-accent); white-space: nowrap; }
  .pb-pill-neutral { background: var(--color-text-muted) !important; }
  .profile-dark-body { background: #fff; padding: 20px; }
  .pbd-prices { display: flex; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
  .pbd-price-col .pbd-label { font-size: 11px; color: var(--color-text-muted); margin-bottom: 3px; text-transform: uppercase; letter-spacing: 0.5px; }
  .pbd-price-main { font-size: 18px; font-weight: 800; color: var(--color-text); }
  .pbd-price-old { font-size: 14px; color: var(--color-text-muted); text-decoration: line-through; }
  .pbd-btn { width: 100%; padding: 14px; border-radius: 10px; border: none; background: var(--color-accent); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .15s; text-align: center; }
  .pbd-btn:hover { background: var(--color-accent-hover); }

  /* CONFIGURATIONS */
  .cfg-tabs-bar { display: flex; gap: 6px; margin: 20px 0 28px; background: transparent; padding: 0; flex-wrap: wrap; box-shadow: none; }
  .cfg-tab { flex: 0 0 auto; padding: 9px 20px; font-size: 14px; font-weight: 400; background: #fff; border: 1px solid #ddd; border-radius: 30px; cursor: pointer; color: var(--color-text); transition: all .15s; text-align: center; white-space: nowrap; }
  .cfg-tab.active, .cfg-tab:hover { color: #fff; background: var(--color-accent); border-color: var(--color-accent); }
  .cfg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .cfg-card { background: #fff; border-radius: 20px; padding: 0; display: flex; flex-direction: column; align-items: center; overflow: hidden; border: 1.5px solid var(--color-border); transition: transform .2s, box-shadow .2s; }
  .cfg-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(236,26,74,.08); }
  .cfg-img-wrap { width: 100%; flex: 1; min-height: 200px; overflow: hidden; border-radius: 0; margin-bottom: 0; background: #fff; }
  .cfg-img-wrap img { width: 100%; height: 100%; object-fit: contain; display: block; }
  h3.cfg-name { padding: 16px 16px 0; }
  .cfg-size { padding: 6px 16px 0; font-size: 14px; color: var(--color-text-muted); }
  .cfg-price { font-size: 28px; font-weight: 900; color: var(--color-text); margin-bottom: 16px; padding: 8px 16px 0; }
  .cfg-btn { width: calc(100% - 32px); margin: 0 16px 16px; padding: 13px; border-radius: 10px; border: none; background: var(--color-accent); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .15s; text-align: center; }
  .cfg-btn:hover { background: var(--color-accent-hover); }

  .bb-door-glazing { padding: 64px 24px; background: transparent; }
  .bb-door-glazing .section-title { margin-bottom: 24px; }
  .bb-door-glazing__list { display: flex; flex-direction: column; gap: 16px; }
  .bb-door-glazing__item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #fff; border-radius: 20px; border: 1.5px solid var(--color-border); overflow: hidden; min-height: 340px; }
  .bb-door-glazing__media { background: #dcdfe5; min-height: 340px; display: flex; align-items: center; justify-content: center; }
  .bb-door-glazing__media img { width: 100%; height: 100%; object-fit: contain; }
  .bb-door-glazing__content { padding: 32px; display: flex; flex-direction: column; }
  .bb-door-glazing__title { font-size: 1rem; font-weight: 800; line-height: 1.25; text-transform: uppercase; letter-spacing: .03em; margin: 0 0 14px; color: var(--color-text); }
  .bb-door-glazing__desc { font-size: 0.9rem; line-height: 1.6; color: var(--color-text-muted); margin: 0; max-width: 95%; }
  .bb-door-glazing__footer { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--color-border); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .bb-door-glazing__price { font-size: 1.7rem; font-weight: 900; line-height: 1; color: var(--color-text); text-transform: uppercase; white-space: nowrap; }
  .bb-door-glazing__btn { min-width: 0; min-height: 44px; margin: 0; padding: 10px 18px; border-radius: 10px; font-size: 14px; font-weight: 700; white-space: nowrap; }
  .bb-door-glazing__btn:hover { transform: none; }
  @media (max-width: 1024px) {
    .bb-door-glazing__item { min-height: 320px; }
    .bb-door-glazing__media { min-height: 320px; }
    .bb-door-glazing__content { padding: 24px; }
    .bb-door-glazing__title { font-size: 0.95rem; }
    .bb-door-glazing__price { font-size: 1.5rem; }
  }
  @media (max-width: 768px) {
    .bb-door-glazing { padding: 48px 24px; }
    .bb-door-glazing .section-title { margin-bottom: 20px; }
    .bb-door-glazing__item { grid-template-columns: 1fr; }
    .bb-door-glazing__media { min-height: 260px; }
    .bb-door-glazing__content { padding: 22px; }
    .bb-door-glazing__title { font-size: 0.95rem; margin-bottom: 10px; }
    .bb-door-glazing__desc { font-size: 0.88rem; max-width: 100%; }
    .bb-door-glazing__footer { align-items: stretch; gap: 10px; }
    .bb-door-glazing__price { font-size: 1.45rem; white-space: normal; }
    .bb-door-glazing__btn { width: 100%; min-height: 46px; }
  }

  /* WHY US */
  .why-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 36px; }
  .why-item { text-align: center; background: #fff; border-radius: 20px; padding: 28px 16px; box-shadow: 0 1px 4px rgba(0,0,0,.04); border-top: 3px solid var(--color-accent); transition: transform .2s, box-shadow .2s; }
  .why-item:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(236,26,74,.08); }
  .why-icon { display: flex; justify-content: center; margin-bottom: 14px; transition: transform .2s ease; }
  .why-num { font-size: 32px; font-weight: 900; color: var(--color-accent); display: block; }
  .why-title { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
  .why-desc { font-size: 14px; color: var(--color-text-muted); line-height: 1.5; }
  .why-text { font-size: 14px; color: var(--color-text-muted); line-height: 1.5; }

  /* PANORAMNYE: advantages should be 4-up on desktop */
  .panoramnye-advantages .why-grid { grid-template-columns: repeat(4, 1fr); }

  /* PROCESS */
  .process { padding: 64px 24px; background: transparent; }
  .process > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
  .process .section-label { color: var(--color-accent) !important; }
  .process .section-title { color: var(--color-text); }
  .process-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: 40px; position: relative; }
  .process-steps::before { content: ''; position: absolute; top: 27px; left: 10%; right: 10%; height: 2px; background: var(--color-border); }
  .process-step { text-align: center; padding: 24px 16px 20px; position: relative; background: transparent; border-radius: 0; transition: transform .2s; }
  .process-step:hover { transform: translateY(-2px); }
  .step-num { width: 54px; height: 54px; border-radius: 50%; background: var(--color-accent); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; color: #fff; margin: 0 auto 12px; position: relative; z-index: 1; }
  .step-dur { font-size: 13px; color: var(--color-accent); font-weight: 700; margin-bottom: 5px; }
  .step-name { font-size: 14px; font-weight: 700; color: var(--color-text); margin-bottom: 6px; }
  .step-desc { font-size: 13px; color: var(--color-text-muted); }

  /* COMPARISON - new style */
  .compare { padding: 64px 24px; }
  .compare > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
  .compare-layout { display: flex; gap: 40px; align-items: flex-start; margin-top: 36px; }
  .compare-photo-col { flex: 0 0 38%; border-radius: 20px; overflow: hidden; }
  .compare-photo-col img { width: 100%; display: block; object-fit: cover; min-height: 420px; }
  .compare-content-col { flex: 1; }
  .compare-content-col h2 { font-size: 18px; font-weight: 900; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 24px; }
  .cmp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .cmp-col-head { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; padding-bottom: 12px; border-bottom: 2px solid var(--color-border); color: var(--color-text-muted); margin-bottom: 0; }
  .cmp-col-head.us { color: var(--color-accent); }
  .cmp-point { display: flex; gap: 10px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--color-border); font-size: 14px; line-height: 1.5; color: var(--color-text); }
  .cmp-point-them { padding: 14px 0 14px 16px; border-left: 1px solid var(--color-border); }
  .cmp-icon { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .cmp-icon svg { width: 13px; height: 13px; }
  .cmp-plus { background: var(--color-accent); color: #fff; }
  .compare-layout-rev { flex-direction: row-reverse; }
  .compare-block + .compare-block { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--color-border); }
  .cmp-minus { background: #e5e7eb; color: #595f6e; }
  .cmp-tabs-bar { display: flex; gap: 0; margin: 24px 0 0; border-bottom: 2px solid var(--color-border); }
  .cmp-tab { padding: 13px 26px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; background: none; border: none; border-bottom: 3px solid transparent; margin-bottom: -2px; color: var(--color-text-muted); transition: color .15s; white-space: nowrap; }
  .cmp-tab.active { color: var(--color-text); border-bottom-color: var(--color-accent); }
  .cmp-tab:hover:not(.active) { color: var(--color-text); }
  .cmp-panel { display: none; }
  .cmp-panel.active { display: block; }

  /* QUIZ */
  .quiz-section { padding: 64px 24px; }
  .quiz-section > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); border: 2px solid var(--color-accent); }
  .quiz-section .section-label { color: var(--color-accent); }
  .quiz-section .section-sub { color: var(--color-text-muted); font-size: 16px; }
  .quiz-section .section-title { color: var(--color-text); }
  .quiz-layout { display: grid; grid-template-columns: 1fr 300px; gap: 36px; max-width: 1100px; margin: 36px auto 0; align-items: start; }
  .quiz-wrap { /* left column */ }
  .quiz-progress { height: 4px; background: var(--color-border); border-radius: 4px; margin-bottom: 28px; overflow: hidden; }
  .quiz-bar { height: 100%; background: var(--color-accent); border-radius: 4px; transition: width .3s; }
  .quiz-step-lbl { font-size: 13px; color: var(--color-text-muted); margin-bottom: 8px; }
  .quiz-q { font-size: 24px; font-weight: 800; margin-bottom: 24px; color: var(--color-text); }
  .quiz-opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .quiz-opt { padding: 0; border-radius: 14px; border: 2px solid var(--color-border); background: #fff; cursor: pointer; text-align: center; transition: all .15s; color: var(--color-text); display: flex; flex-direction: column; align-items: stretch; overflow: hidden; }
  .quiz-opt:hover { border-color: var(--color-accent); box-shadow: 0 2px 12px rgba(236,26,74,.1); }
  .quiz-opt.sel { background: #fff; color: var(--color-accent); border-color: var(--color-accent); box-shadow: 0 0 0 2px rgba(236,26,74,.15); }
  .quiz-opt-img { width: 100%; height: 220px; object-fit: cover; display: block; flex-shrink: 0; }
  .quiz-opt-label { font-size: 14px; font-weight: 600; padding: 14px 10px; flex: 1; display: flex; align-items: center; justify-content: center; }
  .quiz-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; }
  .q-back { background: transparent; border: 2px solid var(--color-border); color: var(--color-text); padding: 10px 20px; border-radius: 8px; cursor: pointer; font-size: 14px; }
  .q-back:hover { border-color: var(--color-accent); color: var(--color-accent); }
  .q-next { background: var(--color-accent); color: #fff; padding: 12px 28px; border-radius: 8px; border: none; font-size: 16px; font-weight: 700; cursor: pointer; }
  .q-next:hover { background: var(--color-accent-hover); }
  .quiz-err { font-size: 13px; color: var(--color-accent); background: rgba(236,26,74,.08); border-radius: 8px; padding: 8px 14px; margin-top: 10px; display: none; }
  .quiz-err.show { display: block; }
  @keyframes qShake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-8px)} 40%,80%{transform:translateX(8px)} }
  .quiz-opts.shake { animation: qShake .35s; }
  .quiz-result { display: none; text-align: center; padding: 20px 0; }
  .quiz-result h3 { font-size: 26px; font-weight: 800; color: var(--color-text); margin-bottom: 8px; }
  .quiz-result p { color: var(--color-text-muted); margin-bottom: 24px; }
  .q-form { display: flex; flex-direction: column; gap: 10px; max-width: 400px; margin: 0 auto; }
  .q-input { padding: 13px 16px; border-radius: 10px; border: 1.5px solid var(--color-border); font-size: 16px; outline: none; background: #fff; }
  .q-input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(236,26,74,.1); }
  .q-submit { background: var(--color-accent); color: #fff; padding: 14px; border-radius: 10px; border: none; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .15s; }
  .q-submit:hover { background: var(--color-accent-hover); }
  .q-privacy { font-size: 12px; color: var(--color-text-muted); text-align: center; margin-top: 2px; line-height: 1.4; }
  /* Profiles recommendation panel */
  .quiz-recs { background: #fff; border-radius: 20px; padding: 20px; position: sticky; top: 80px; border: 1.5px solid var(--color-border); }
  .quiz-recs-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--color-text-muted); margin-bottom: 14px; }
  .quiz-rec-list { display: flex; flex-direction: column; gap: 8px; }
  .quiz-rec-card { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 10px; padding: 8px 10px; border: 1.5px solid transparent; transition: all .25s; }
  .quiz-rec-card.match { background: rgba(236,26,74,.06); border-color: var(--color-accent); }
  .quiz-rec-card.faded { opacity: .3; }
  .quiz-rec-card img { width: 52px; height: 40px; object-fit: contain; border-radius: 6px; background: rgba(255,255,255,.1); flex-shrink: 0; }
  .quiz-rec-name { font-size: 13px; font-weight: 700; }
  .quiz-rec-sub { font-size: 11px; opacity: .65; margin-top: 1px; }
  .quiz-rec-badge { margin-left: auto; background: #fff; color: var(--color-accent); font-size: 10px; font-weight: 800; padding: 2px 8px; border-radius: 20px; flex-shrink: 0; white-space: nowrap; }

  /* REVIEWS */
  .reviews { padding: 64px 24px; }
  .reviews-top { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 32px; flex-wrap: wrap; gap: 16px; }
  .rating-badges { display: flex; gap: 14px; }
  .r-badge { display: flex; align-items: center; gap: 10px; padding: 10px 18px; border: 1.5px solid var(--color-border); border-radius: 12px; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
  .r-badge .platform { font-size: 12px; color: var(--color-text-muted); }
  .r-badge .score { font-size: 22px; font-weight: 800; }
  .r-badge .stars { color: var(--color-warning); font-size: 14px; }
  .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .review-card { background: #fff; border: 1.5px solid var(--color-border); border-radius: 14px; padding: 22px; }
  .review-card--mobile-only { display: none; }
  .review-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
  .reviewer { display: flex; align-items: center; gap: 12px; }
  .r-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--color-accent); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 14px; flex-shrink: 0; }
  .r-name { font-weight: 700; font-size: 14px; }
  .r-date { font-size: 12px; color: var(--color-text-muted); }
  .r-stars { color: var(--color-warning); font-size: 14px; }
  .review-text { font-size: 14px; line-height: 1.65; color: var(--color-text-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .review-text.expanded { display: block; overflow: visible; }
  .review-expand { font-size: 13px; color: var(--color-accent); cursor: pointer; margin-top: 6px; display: none; font-weight: 600; background: none; border: none; padding: 0; text-decoration: underline; text-underline-offset: 2px; }
  .review-src { font-size: 12px; color: var(--color-text-muted); margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--color-border); }

  /* BLOG */
  section.blog { padding: 64px 24px; }
  .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 32px; }
  .blog-card { background: #fff; border-radius: 14px; overflow: hidden; border: 1.5px solid var(--color-border); transition: box-shadow .2s; }
  .blog-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08); }
  .blog-img { height: 180px; overflow: hidden; }
  .blog-body { padding: 20px; }
  .blog-cat { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--color-accent); margin-bottom: 8px; }
  .blog-lead { font-size: 13px; color: var(--color-text-muted); line-height: 1.5; margin-bottom: 14px; }
  .blog-footer { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--color-text-muted); }
  .read-more { color: var(--color-accent); font-weight: 600; font-size: 13px; }
  .blog-title a { color: inherit; text-decoration: none; }
  .blog-title a:hover { color: var(--color-accent); }

  /* BLOG ARCHIVE */
  .page-hero { padding: 100px 0 48px; background: #fff; border-bottom: 1px solid var(--color-border); }
  .page-hero__inner {  width: 100%; }
  .page-hero__title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; color: var(--color-text); margin: 8px 0 12px; }
  .page-hero__sub { font-size: 1rem; color: var(--color-text-muted); max-width: 560px; }
  .page-hero .section-label { color: var(--color-accent); }
  .blog-archive { padding: 64px 0; }
  .blog-grid--archive { margin-top: 0; }
  .blog-grid--archive .blog-img { height: 200px; }
  .blog-pagination { margin-top: 48px; display: flex; gap: 8px; flex-wrap: wrap; }
  .blog-pagination .page-numbers { padding: 8px 16px; border-radius: 8px; border: 1.5px solid var(--color-border); font-size: 14px; font-weight: 500; color: var(--color-text); background: #fff; text-decoration: none; transition: all .15s; }
  .blog-pagination .page-numbers.current { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
  .blog-pagination .page-numbers:hover:not(.current) { border-color: var(--color-accent); color: var(--color-accent); }
  .blog-empty { padding: 80px 0; text-align: center; font-size: 1.1rem; color: var(--color-text-muted); }

  /* Blog archive: tighten top spacing below header. */
  body.blog .page-hero {
    padding: 48px 0 32px;
  }
  body.blog .blog-archive {
    padding: 40px 0 56px;
  }
  body.blog .blog-empty {
    padding: 48px 0;
  }

  /* SINGLE POST */
  .post-header { padding: 100px 0 40px; background: var(--color-bg-dark); }
  .post-header .section-label { color: var(--color-accent); }
  .post-header__title { font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 900; color: #fff; margin: 8px 0 16px; line-height: 1.2; max-width: 760px; }
  .post-header__meta { display: flex; gap: 20px; font-size: 13px; color: rgba(255,255,255,.5); }
  .post-thumb { padding: 40px 0 0; background: #fff; }
  .post-thumb__img { width: 100%; max-height: 480px; object-fit: cover; border-radius: 20px; display: block; }
  .post-content { padding: 48px 0 32px; background: #fff; }
  .post-content__inner { max-width: 760px; }
  .post-content__inner p { font-size: 16px; line-height: 1.75; color: var(--color-text); margin-bottom: 20px; }
  .post-content__inner h2 { font-size: 1.5rem; font-weight: 800; margin: 36px 0 14px; }
  .post-content__inner h3 { font-size: 1.2rem; font-weight: 700; margin: 28px 0 10px; }
  .post-content__inner ul, .post-content__inner ol { padding-left: 24px; margin-bottom: 20px; }
  .post-content__inner li { font-size: 16px; line-height: 1.7; margin-bottom: 6px; color: var(--color-text); }
  .post-content__inner img { max-width: 100%; border-radius: 12px; margin: 20px 0; display: block; }
  .post-content__inner blockquote { border-left: 4px solid var(--color-accent); padding: 12px 20px; margin: 24px 0; background: #fff; border-radius: 0 8px 8px 0; font-style: italic; color: var(--color-text-muted); }
  .post-tags { padding: 20px 0 32px; background: #fff; }
  .post-tag { display: inline-block; padding: 5px 14px; border-radius: 20px; border: 1.5px solid var(--color-border); font-size: 12px; font-weight: 500; color: var(--color-text-muted); text-decoration: none; margin-right: 8px; margin-bottom: 8px; transition: all .15s; }
  .post-tag:hover { border-color: var(--color-accent); color: var(--color-accent); }
  .post-back { padding: 0 0 48px; background: #fff; }
  .post-back__link { font-size: 14px; font-weight: 600; color: var(--color-accent); text-decoration: none; }
  .related-posts { padding: 64px 0; background: #fff; }

  /* FAQ */
  .faq { padding: 64px 24px; }
  .faq > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
  .faq-list { margin-top: 32px; display: flex; flex-direction: column; gap: 8px; }
  .faq-item { border: 1.5px solid var(--color-border); border-radius: 10px; overflow: hidden; }
  .faq-q { padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-weight: 600; font-size: 16px; background: #fff; }
  .faq-q:hover { background: #f0f0f0; }
  .faq-q span.t { flex: 1; margin-right: 12px; }
  .faq-arr { font-size: 16px; color: var(--color-text-muted); transition: transform .2s; }
  .faq-item.open .faq-arr { transform: rotate(180deg); }
  .faq-a { display: none; padding: 0 20px 16px; font-size: 14px; color: var(--color-text-muted); line-height: 1.6; }
  .faq-item.open .faq-a { display: block; }

  /* CTA */
  .cta { padding: 72px 24px; text-align: center; }
  .cta .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 48px 32px; }
  .cta h2 { font-size: clamp(26px, 3.5vw, 42px); font-weight: 800; margin-bottom: 12px; color: #fff; }
  .cta p { font-size: 17px; color: rgba(255,255,255,.7); line-height: 1.6; margin-bottom: 32px; }
  .cta-form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; max-width: 580px; margin: 0 auto; }
  .cta-input { flex: 1; min-width: 180px; padding: 14px 18px; border-radius: var(--radius); border: none; font-size: 16px; outline: none; background: rgba(255,255,255,.1); color: #fff; }
  .cta-input::placeholder { color: rgba(255,255,255,.5); }
  .cta-submit { padding: 14px 30px; border-radius: var(--radius); border: none; background: linear-gradient(135deg, #D41745 0%, #ff4d6d 100%); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .15s; }
  .cta-submit:hover { background: linear-gradient(135deg, #b81239 0%, #D41745 100%); }
  .cta-note { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 10px; }
  .form-consents { width: 100%; display: flex; flex-direction: column; gap: 8px; text-align: left; }
  .form-checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; line-height: 1.45; color: var(--color-text-muted); cursor: pointer; }
  .form-checkbox input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; margin: 1px 0 0; accent-color: var(--color-accent); cursor: pointer; }
  .form-checkbox a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 2px; }
  .form-consent-error { display: none; width: 100%; font-size: 12px; line-height: 1.35; color: #DC2626; }
  .form-consents.has-error .form-checkbox input[type="checkbox"] { outline: 2px solid rgba(220,38,38,.35); outline-offset: 2px; }
  .cta-consents { max-width: 860px; margin: 4px auto 2px; }
  .cta-consents .form-checkbox { color: rgba(255,255,255,.72); }
  .cta-consents .form-checkbox a { color: rgba(255,255,255,.9); }
  .cta-consents .form-consent-error { color: #ffb4c4; }
  .q-consents { gap: 7px; margin: 0 0 2px; }
  .q-consents .form-checkbox { font-size: 11px; }

  /* FOOTER */
  .footer { background: var(--color-bg-dark); color: rgba(255,255,255,.6); padding: 48px 24px 32px; }
  .footer-grid {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 38px;
    margin-bottom: 34px;
    align-items: start;
  }
  .footer-nav-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 34px;
    align-items: start;
  }
  .footer-logo img { max-height: 40px; height: auto; margin-bottom: 22px; display: block; filter: brightness(2); width: auto; }
  .footer-logo p { font-size: 17px; line-height: 1.65; color: rgba(255,255,255,.55); margin: 0 0 24px; }
  .footer-ci { font-size: 15px; color: rgba(255,255,255,.6); margin-bottom: 12px; line-height: 1.4; }
  .footer-ci a { color: rgba(255,255,255,.9); font-size: 24px; font-weight: 800; display: inline; }
  .footer-ci a:hover { color: #fff; }
  .footer-ci.sm a { font-size: 15px; font-weight: 600; }
  .footer-ya-rating { display: inline-flex; align-items: center; gap: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 16px 22px; margin-top: 22px; }
  .footer-ya-score { font-size: 28px; font-weight: 900; color: #fff; line-height: 1; }
  .footer-ya-stars { color: var(--color-warning); font-size: 16px; letter-spacing: 1px; }
  .footer-ya-lbl { font-size: 13px; color: rgba(255,255,255,.4); margin-top: 7px; }
  .footer-col { min-width: 0; }
  .footer-col h4 { margin: 0 0 14px; }
  .footer-col-title { display: inline-block; color: #fff; font-size: 14px; line-height: 1.2; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; }
  .footer-col-title:hover { color: #fff; }
  .footer-col a:not(.footer-col-title) { display: block; font-size: 13px; color: rgba(255,255,255,.6); padding: 0; margin: 0 0 8px; line-height: 1.32; overflow-wrap: anywhere; }
  .footer-col a:not(.footer-col-title):hover { color: #fff; }
  .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; }
  .footer-bottom-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
  .footer-bottom-links { display: flex; gap: 20px; flex-wrap: wrap; }
  .footer-bottom a { color: rgba(255,255,255,.55); font-size: 12px; }
  .footer-bottom a:hover { color: #fff; }
  .footer-copy { font-size: 12px; color: rgba(255,255,255,.45); }
  .footer-legal { font-size: 13px; color: rgba(255,255,255,.28); line-height: 1.65; }
  .sitemap-page { padding: 24px 0 64px; }
  .sitemap-page .container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
  .sitemap-breadcrumbs { margin: 0 0 28px; font-size: 16px; color: var(--color-text-muted); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
  .sitemap-breadcrumbs a { color: #052535; text-decoration: underline; }
  .sitemap-breadcrumbs__dot { color: var(--color-text-muted); }
  .sitemap-title { margin: 0 0 28px; font-size: clamp(32px, 4.6vw, 56px); font-weight: 800; text-transform: none; letter-spacing: 0; color: var(--color-text-dark); line-height: 1.1; }
  .sitemap-groups { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 26px 48px; }
  .sitemap-group h2 { margin: 0 0 12px; font-size: 22px; color: var(--color-text-dark); line-height: 1.2; }
  .sitemap-links { margin: 0; padding-left: 22px; }
  .sitemap-links li { margin: 0 0 8px; }
  .sitemap-links a { font-size: 16px; line-height: 1.45; color: #2a53df; text-decoration: underline; text-underline-offset: 2px; }

  .phone-icon { display: none; align-items: center; justify-content: center; }

  /* FLOATING TELEGRAM */

  /* FOCUS STYLES РІР‚вЂќ keyboard navigation */
  :focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
  .btn:focus-visible { outline-offset: 3px; }
  .nav-link:focus-visible { background: #fff; }

  /* FORM VALIDATION STATES */
  .cta-input:focus { box-shadow: 0 0 0 3px rgba(236,26,74,.25); background: rgba(255,255,255,.15); }
  .cta-input.error { border: 2px solid var(--color-accent) !important; }
  .cta-input.ok { border: 2px solid var(--color-success) !important; }
  .cta-success { color: #fff; font-size: 17px; font-weight: 700; margin-top: 12px;
                 padding: 14px 24px; background: rgba(255,255,255,.15); border-radius: 10px; }
  .cta-submit[disabled] { opacity: .6; cursor: not-allowed; }
  .q-input:focus { box-shadow: 0 0 0 3px rgba(255,255,255,.4); }

  /* SECTION TITLE РІР‚вЂќ h2 semantic variant */

  /* H3 PRODUCT NAME РІР‚вЂќ profile cards */
  h3.pbd-name { font-size: 30px; font-weight: 900; color: var(--color-text); margin-bottom: 16px; letter-spacing: -0.5px; }
  h3.cfg-name { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px;
                text-align: center; margin-bottom: 10px; color: var(--color-text); line-height: 1.4; }
  h3.blog-title { font-size: 16px; font-weight: 700; line-height: 1.4; margin-bottom: 8px; }

  /* SKIP LINK РІР‚вЂќ accessibility */
  .skip-link { position: absolute; left: -9999px; top: 0; background: var(--color-accent);
               color: #fff; padding: 8px 16px; border-radius: 0 0 6px 0; z-index: 9999;
               font-weight: 700; font-size: 14px; }
  .skip-link:focus { left: 0; }


  /* SOCIALS */
  .coolcolours-section { padding: 80px 24px; }
  .coolcolours-section > .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 48px 32px; }
  .coolcolours-section .section-label { color: var(--color-accent); }
  .coolcolours-section .section-title,
  .coolcolours-section .section-sub { color: #fff; }
  .coolcolours-section .section-sub { color: rgba(255,255,255,.55); }
  .cc-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; margin-top: 40px; }
  .cc-colors { display: flex; flex-direction: column; gap: 12px; }
  .cc-swatch { display: flex; align-items: center; gap: 16px; padding: 14px 18px; border-radius: 12px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); cursor: pointer; transition: background .15s; }
  .cc-swatch:hover { background: rgba(255,255,255,.09); }
  .cc-swatch-dot { width: 48px; height: 28px; border-radius: 6px; flex-shrink: 0; border: 2px solid rgba(255,255,255,.2); }
  .cc-swatch-name { color: #fff; font-size: 15px; font-weight: 600; }
  .cc-swatch-desc { color: rgba(255,255,255,.4); font-size: 13px; margin-top: 2px; }
  .cc-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .cc-fact { padding: 20px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); border-radius: 14px; }
  .cc-fact-num { font-size: 32px; font-weight: 900; color: #fff; line-height: 1; margin-bottom: 6px; }
  .cc-fact-lbl { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.4; }
  .cc-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; background: rgba(236,26,74,.18); border: 1px solid rgba(236,26,74,.4); border-radius: 20px; color: var(--color-accent); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 20px; }
  .cc-avail { margin-top: 24px; font-size: 14px; color: rgba(255,255,255,.4); }
  .cc-avail strong { color: rgba(255,255,255,.7); }
  .cc-swatch { cursor: pointer; }
  .cc-swatch.active { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.35); }
  .cc-price-hl { margin-top: 24px; padding: 20px 22px; background: rgba(236,26,74,.15); border: 1.5px solid rgba(236,26,74,.4); border-radius: 20px; }
  .cc-price-hl-label { font-size: 11px; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
  .cc-price-hl-price { font-size: 38px; font-weight: 900; color: #fff; line-height: 1; margin-bottom: 10px; }
  .cc-price-hl-chips { display: flex; gap: 8px; flex-wrap: wrap; }
  .cc-chip { font-size: 12px; color: rgba(255,255,255,.65); background: rgba(255,255,255,.09); border-radius: 20px; padding: 4px 12px; white-space: nowrap; }
  .cc-compare { margin-bottom: 20px; border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); display: flex; }
  .cc-cmp-col { flex: 1; }
  .cc-cmp-col:last-child { border-left: 1px solid rgba(255,255,255,.1); }
  .cc-cmp-head { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; padding: 11px 14px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .cc-cmp-us .cc-cmp-head { color: var(--color-accent); }
  .cc-cmp-them .cc-cmp-head { color: rgba(255,255,255,.3); }
  .cc-cmp-li { font-size: 12px; padding: 8px 14px; border-bottom: 1px solid rgba(255,255,255,.05); display: flex; gap: 7px; line-height: 1.4; }
  .cc-cmp-li:last-child { border-bottom: none; }
  .cc-cmp-us .cc-cmp-li { color: rgba(255,255,255,.75); }
  .cc-cmp-them .cc-cmp-li { color: rgba(255,255,255,.3); }
.cc-cmp-us .cc-cmp-li::before { content: '\2713'; color: var(--color-accent); font-weight: 900; flex-shrink: 0; }
.cc-cmp-them .cc-cmp-li::before { content: '\2717'; color: rgba(255,255,255,.2); flex-shrink: 0; }
  .cc-fact-deadline { grid-column: 1 / -1; }

  @media (max-width: 540px) {
    .coolcolours-section > .wrap {
      padding: 28px 16px;
    }
    .coolcolours-section .btn-lg {
      width: 100%;
    }
  }
  .socials-section { padding: 64px 24px; background: #fff; }
  .socials-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 16px; align-items: center; }
  .socials-intro { padding-right: 24px; }
  .soc-card { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: #fff;
              border-radius: 14px; border: 1.5px solid var(--color-border); text-decoration: none;
              color: var(--color-text); transition: all .2s; }
  .soc-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.09); transform: translateY(-2px); border-color: var(--color-accent); }
  .soc-card-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center;
                   justify-content: center; font-size: 18px; font-weight: 900; color: #fff; flex-shrink: 0; }
  .soc-vk .soc-card-icon { background: #0077ff; }
  .soc-tg .soc-card-icon { background: #229ED9; }
  .soc-yt .soc-card-icon { background: #ff0000; }
  .soc-card-name { font-size: 14px; font-weight: 700; margin-bottom: 3px; }
  .soc-card-count { font-size: 13px; color: var(--color-text-muted); }
  .soc-card-arr { margin-left: auto; color: var(--color-text-muted); font-size: 18px; }

  /* GALLERY */
  .gallery { padding: 64px 24px; }
  .gallery > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
  .gallery-top { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; }
  .gallery-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 12px; }
  .gal-card { border-radius: 14px; overflow: hidden; position: relative; box-shadow: 0 2px 8px rgba(0,0,0,.1); transition: transform .2s, box-shadow .2s; }
  .gal-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.15); }
  .gal-big { grid-row: span 2; }
  .gal-img { width: 100%; height: 220px; object-fit: cover; }
  .gal-big .gal-img { height: 100%; min-height: 452px; }
  .gal-label { position: absolute; bottom: 0; left: 0; right: 0; padding: 14px 16px;
               background: linear-gradient(transparent 0%, rgba(0,0,0,.85) 100%); color: #fff;
               font-size: 14px; font-weight: 700; text-shadow: 0 1px 4px rgba(0,0,0,.5); }

  @media (max-width: 1024px) {
    .cc-layout { grid-template-columns: 1fr; gap: 32px; }
    .cc-facts { grid-template-columns: 1fr 1fr; }
    .socials-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .socials-intro { grid-column: span 2; padding-right: 0; margin-bottom: 4px; }
    .gallery-grid { grid-template-columns: 1fr 1fr; }
    .gal-big { grid-row: span 1; }
    .gal-big .gal-img { min-height: 220px; }
    .gallery-grid .gal-card:last-child:nth-child(odd) { grid-column: span 2; }
  }
  @media (max-width: 768px) {
    .socials-grid { grid-template-columns: 1fr; }
    .socials-intro { grid-column: 1; }
    .gallery-top { flex-direction: column; align-items: flex-start; gap: 12px; }
  }
  @media (max-width: 480px) {
    .gallery-grid { grid-template-columns: 1fr; }
    .gallery > .wrap { padding: 24px 16px; }
  }

  /* TABLET 1024px */
  @media (max-width: 1024px) {
    .profiles-grid { grid-template-columns: repeat(2, 1fr); }
    .why-grid { grid-template-columns: repeat(2, 1fr); }
    .process-steps { grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .process-steps::before { display: none; }
    .footer-grid { grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); gap: 28px; }
    .footer-nav-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 22px; }
    .quiz-layout { grid-template-columns: 1fr; }
    .quiz-recs { display: none; }
    .quiz-opts { grid-template-columns: repeat(2, 1fr); }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .reviews-grid { grid-template-columns: repeat(2, 1fr); }
    .review-card--mobile-only { display: block; }
    .cfg-grid { grid-template-columns: repeat(2, 1fr); }
    .compare-layout { flex-direction: column; }
    .compare-photo-col { flex: 0 0 auto; width: 100%; }
    .compare-photo-col img { min-height: 280px; }
  }

  /* MOBILE 768px */
  @media (max-width: 768px) {
        .bottom-nav { display: flex; }
    .header-row2 { display: none; }
    #headerRow2.open { display: flex; justify-content: flex-end; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.6); z-index: 998; }
    #headerRow2.open .nav { display: flex !important; flex-direction: column; background: var(--color-bg-dark); width: 300px; max-width: 85vw; height: 100%; overflow-y: auto; padding: 0; gap: 0; justify-content: flex-start; margin: 0; }
    .nav { display: flex; }
    #headerRow2.open .mob-nav-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid rgba(255,255,255,.1); flex-shrink: 0; }
    #headerRow2.open .mob-nav-header span { color: rgba(255,255,255,.5); font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
    #headerRow2.open .mob-nav-footer { display: flex; flex-direction: column; padding: 24px 20px; gap: 10px; margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); flex-shrink: 0; }
    #headerRow2.open .mob-nav-footer > a[href^="tel:+7495"] { margin-bottom: -6px; }
    #headerRow2.open .mob-nav-tg-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      padding: 12px 16px;
      border-radius: 12px;
      background: rgba(255,255,255,.12);
      color: #fff;
      font-size: 15px;
      font-weight: 600;
      text-decoration: none;
      border: 1px solid rgba(255,255,255,.18);
      box-sizing: border-box;
    }
    #headerRow2.open .mob-nav-tg-btn:active { opacity: .85; }
    #headerRow2.open .nav-item { width: 100%; border-bottom: 1px solid rgba(255,255,255,.08); }
    #headerRow2.open .nav-link { padding: 18px 20px; font-size: 18px; font-weight: 600; justify-content: space-between; border-radius: 0; color: #fff; }
    #headerRow2.open .nav-link:hover { background: rgba(255,255,255,.05); color: var(--color-accent); }
    #headerRow2.open .nav-link .arr { opacity: .4; }
    #headerRow2.open .mega,
    #headerRow2.open .dropdown { display: none; position: static; width: 100%; box-shadow: none; border: none; border-top: 1px solid rgba(255,255,255,.06); border-radius: 0; padding: 4px 0 12px; background: rgba(0,0,0,.25); }
    #headerRow2.open .mega { flex-direction: column; }
    #headerRow2.open .mega-col { border-left: none !important; padding: 4px 0; }
    #headerRow2.open .mega-col-title { padding: 12px 20px 6px; font-size: 11px; color: rgba(255,255,255,.35); letter-spacing: 1.5px; }
    #headerRow2.open .mega a,
    #headerRow2.open .dropdown a { display: block; padding: 10px 20px; font-size: 15px; color: rgba(255,255,255,.75); border-radius: 0; }
    #headerRow2.open .mega a:hover,
    #headerRow2.open .dropdown a:hover { background: rgba(255,255,255,.06); color: #fff; }
    #headerRow2.open .nav-item.mob-open > .mega,
    #headerRow2.open .nav-item.mob-open > .dropdown { display: block !important; }
    .burger { display: flex; }
    .btn-cta-header { display: none; }
    .phone a { font-size: 13px; white-space: nowrap; }
    .header-row1 { padding: 8px 12px; gap: 8px; }
    .header-right { gap: 6px; }
    .header-row1 .header-right .phone { display: none !important; }
.header-tg { width: 32px; height: 32px; border-radius: 6px; }
.header-tg svg { width: 17px; height: 17px; }
.header-tg img { width: 17px; height: 17px; }
    .btn.btn-accent.btn-cta-header { font-size: 12px; padding: 9px 12px; white-space: nowrap; }

    .slide { min-height: var(--hero-min-height-mobile); padding: 40px 60px 40px 16px; }
    .slide h1, .slide-h1 { font-size: clamp(22px, 6vw, 36px); }
    .slide p { font-size: 14px; }
    .sale-badge { display: none; }
    .slide-actions { flex-direction: column; align-items: flex-start; }
    .slide-actions .btn { width: clamp(220px, 45vw, 320px); max-width: 100%; min-width: 0; align-self: flex-start; justify-content: center; }

    .catalog, .profiles, .configs, .why, .process, .compare, .quiz-section,
    .reviews, .gallery, .blog, .faq, .cta { padding: 40px 16px; }

    .profiles-grid { grid-template-columns: 1fr; }
    .why-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .process-steps { grid-template-columns: 1fr 1fr; gap: 24px; }
    .process-steps::before { display: none; }
    .quiz-opts { grid-template-columns: 1fr 1fr; gap: 8px; }
    .quiz-q { font-size: 18px; }
    .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .review-card { padding: 16px; }
    .review-top { flex-direction: column; align-items: flex-start; gap: 8px; }
    .rating-badges { flex-direction: row; flex-wrap: wrap; gap: 10px; }
    .reviews-top { flex-direction: column; align-items: flex-start; }
    #headerRow2.open .mob-nav-rating { display: flex; gap: 10px; padding: 0 0 4px; }
    .blog-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .footer-nav-grid { grid-template-columns: 1fr 1fr; gap: 22px 18px; }
    .footer-col h4 { margin-bottom: 10px; }
    .footer-col a { margin-bottom: 8px; }
    .footer { padding: 40px 16px 88px; }
    .footer-bottom-row { flex-direction: column; align-items: flex-start; gap: 6px; }
    .footer-bottom-links { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; width: 100%; }
    .cta-form { flex-direction: column; }
    .cta-input { min-width: unset; width: 100%; }
    .cfg-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .cfg-tabs-bar { gap: 6px; flex-wrap: wrap; overflow-x: visible; }
    .cfg-tab { font-size: 12px; padding: 8px 14px; }
    .compare-layout { flex-direction: column; }
    .compare-photo-col img { min-height: 220px; }
    .cmp-two-col { gap: 0; }
    .cmp-point { font-size: 12px; }
  }

  @media (max-width: 480px) {
    .hero-arrow { display: none; }
    .slide { padding: 40px 16px; }
    .slide-actions .btn { width: 100%; }
    .why-grid { grid-template-columns: 1fr; }
    .process-steps { grid-template-columns: 1fr; }
    .quiz-opts { grid-template-columns: 1fr; }
    .cfg-grid { grid-template-columns: 1fr 1fr; }
    .cfg-img-wrap { min-height: 150px; }
    h3.cfg-name { font-size: 12px; padding: 12px 10px 0; letter-spacing: 0; }
    .cfg-price { font-size: 20px; padding: 6px 10px 0; margin-bottom: 10px; }
    .cfg-btn { width: calc(100% - 20px); margin: 0 10px 12px; }
    .profiles-grid { grid-template-columns: 1fr; }
    .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .footer-nav-grid { grid-template-columns: 1fr; gap: 18px; }
    .footer-bottom-links { grid-template-columns: 1fr; gap: 8px; }
    .blog-grid { grid-template-columns: 1fr; }
    .section-title { font-size: clamp(20px, 6vw, 28px); }
    .compare-content-col h2 { font-size: 16px; }
    .cmp-point { font-size: 12px; }
    .pbd-name { font-size: 24px; }
    .header-row1 { padding: 8px 10px; gap: 6px; }
    .phone-text { display: none; }
    .phone-icon { display: flex !important; }
    .phone a { font-size: 13px; white-space: nowrap; }
    .sitemap-page { padding-top: 12px; }
    .sitemap-page .container { padding: 0 16px; }
    .sitemap-breadcrumbs { margin-bottom: 16px; font-size: 14px; gap: 8px; }
    .sitemap-title { margin-bottom: 20px; }
    .sitemap-groups { grid-template-columns: 1fr; gap: 18px; }
    .sitemap-group h2 { font-size: 18px; margin-bottom: 10px; }
    .sitemap-links a { font-size: 15px; }
  }

  /* BOTTOM NAVIGATION РІР‚вЂќ mobile only (NNG: +25% engagement vs hamburger-only) */
  .bottom-nav {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fff;
    border-top: 1px solid var(--color-border);
    z-index: 200;
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: 0 -2px 12px rgba(0,0,0,.1);
  }
  .bnav-item {
    flex: 1;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 8px 4px 10px;
    min-height: 56px;
    font-size: 11px; font-weight: 600; color: var(--color-text-muted);
    text-decoration: none;
    gap: 3px;
    cursor: pointer;
    background: none; border: none;
    -webkit-tap-highlight-color: transparent;
  }
  .bnav-item:active { opacity: .7; }
  .bnav-icon { display: flex; align-items: center; justify-content: center; line-height: 1; }
  .bnav-cta {
    flex: 1.5;
    background: var(--color-accent); color: #fff !important;
    border-radius: 10px; margin: 6px 4px;
    font-size: 12px; font-weight: 700;
    min-height: 44px; padding: 8px 6px;
  }
  .bnav-cta:active { background: var(--color-accent-hover); }

  /* РІвЂќР‚РІвЂќР‚ SCROLL REVEAL BASE РІвЂќР‚РІвЂќР‚ */
  .reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .55s ease, transform .55s ease;
  }
  .reveal.visible {
    opacity: 1;
    transform: translateY(0);
  }
  /* staggered delay for nth children */
  .reveal-group > * { opacity: 0; transform: translateY(24px); transition: opacity .55s ease, transform .55s ease; }
  .reveal-group > *.visible { opacity: 1; transform: translateY(0); }
  .reveal-group > *:nth-child(1) { transition-delay: 0s; }
  .reveal-group > *:nth-child(2) { transition-delay: .08s; }
  .reveal-group > *:nth-child(3) { transition-delay: .16s; }
  .reveal-group > *:nth-child(4) { transition-delay: .24s; }
  .reveal-group > *:nth-child(5) { transition-delay: .32s; }
  .reveal-group > *:nth-child(6) { transition-delay: .40s; }

  /* РІвЂќР‚РІвЂќР‚ HERO LOAD ANIMATION РІвЂќР‚РІвЂќР‚ */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  .slide-badge   { animation: fadeUp .5s ease both; animation-delay: .1s; }
  .slide h1, .slide-h1 { animation: fadeUp .6s ease both; animation-delay: .25s; }
  .slide p       { animation: fadeUp .6s ease both; animation-delay: .4s; }
  .slide-actions { animation: fadeUp .6s ease both; animation-delay: .55s; }

  /* РІвЂќР‚РІвЂќР‚ BUTTON INTERACTIONS РІвЂќР‚РІвЂќР‚ */
  .btn { transition: background .15s, color .15s, transform .1s, box-shadow .15s; }
  .btn:active { transform: scale(0.96); }
  .btn-accent:hover { box-shadow: 0 4px 20px rgba(236,26,74,.35); }

  /* РІвЂќР‚РІвЂќР‚ CATALOG CARD HOVER РІвЂќР‚РІвЂќР‚ */
  .catalog-card { transition: transform .2s ease, box-shadow .2s ease; cursor: pointer; }
  .catalog-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.10); }

  /* РІвЂќР‚РІвЂќР‚ PROFILE CARD HOVER ENHANCEMENT РІвЂќР‚РІвЂќР‚ */
  .profile-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: var(--color-accent);
    transform: scaleX(0);
    transition: transform .25s ease;
    transform-origin: left;
  }
  .profile-card { position: relative; }
  .profile-card:hover::after { transform: scaleX(1); }

  /* РІвЂќР‚РІвЂќР‚ REVIEW CARD HOVER РІвЂќР‚РІвЂќР‚ */
  .review-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s; }
  .review-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.08); border-color: var(--color-accent); }

  /* РІвЂќР‚РІвЂќР‚ WHY ITEM ICON HOVER РІвЂќР‚РІвЂќР‚ */
  .why-item:hover .why-icon { transform: scale(1.1); }

  /* РІвЂќР‚РІвЂќР‚ PROCESS STEP HOVER РІвЂќР‚РІвЂќР‚ */
  .process-step { transition: transform .2s ease; }
  .process-step:hover { transform: translateY(-3px); }

  /* РІвЂќР‚РІвЂќР‚ BOTTOM NAV: active item highlight РІвЂќР‚РІвЂќР‚ */
  .bnav-item.active { color: var(--color-accent); }
  .bnav-cta { transition: transform .1s, background .15s; }
  .bnav-cta:active { transform: scale(0.95); }

  /* РІвЂќР‚РІвЂќР‚ SCROLL PROGRESS BAR РІвЂќР‚РІвЂќР‚ */
  .scroll-progress {
    position: fixed;
    top: 0; left: 0;
    height: 3px;
    background: var(--color-accent);
    z-index: 9999;
    width: 0%;
    transition: width .1s linear;
  }

/* PAGE TEMPLATE */
.page-content-wrap { padding-top: 48px; padding-bottom: 64px; }
.page-content-wrap > h1 { font-size: clamp(22px, 2.5vw, 32px); font-weight: 800; margin-bottom: 32px; letter-spacing: -0.5px; }
.page-content h2 { font-size: 18px; font-weight: 700; margin: 36px 0 12px; color: var(--color-text); }
.page-content p { font-size: 15px; line-height: 1.7; color: var(--color-text-muted); margin-bottom: 12px; }
.page-content ul { padding-left: 20px; margin-bottom: 12px; }
.page-content ul li { font-size: 15px; line-height: 1.7; color: var(--color-text-muted); margin-bottom: 6px; }
.page-content a { color: var(--color-accent); }
.page-content a:hover { text-decoration: underline; }
@media (max-width: 768px) {
  .page-content-wrap { padding-top: 32px; padding-bottom: 48px; }
}

/* Cookie Notice */
#cookie-notice {
  position: fixed !important;
  bottom: 24px !important;
  left: 24px !important;
  right: auto !important;
  top: auto !important;
  min-width: 0 !important;
  width: min(390px, calc(100vw - 48px)) !important;
  max-width: 390px !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 44px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.08) inset !important;
  background: #242424 !important;
  overflow: hidden !important;
}
#cookie-notice.cookie-notice-hidden,
#cookie-notice:not(.cookie-notice-visible):not(.cookie-revoke-visible) {
  display: none !important;
}
#cookie-notice .cookie-notice-container {
  padding: 20px 22px 22px !important;
  text-align: left !important;
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}
#cookie-notice #cn-notice-text {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: rgba(255,255,255,.9) !important;
  display: block !important;
  margin: 0 28px 16px 0 !important;
  max-width: 330px !important;
}
#cookie-notice .cn-notice-title {
  display: block !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  margin: 0 0 12px !important;
}
#cookie-notice .cn-notice-copy {
  display: block !important;
}
#cookie-notice #cn-notice-text a {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
#cookie-notice .cn-button,
#cookie-notice .cn-button:not(.cn-button-custom) {
  background: #D41745 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 11px 24px !important;
  min-height: 42px !important;
  width: auto !important;
  min-width: 142px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  margin: 0 !important;
  display: inline-block !important;
  text-align: center !important;
  transition: background .15s, transform .15s !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}
#cookie-notice .cn-button:hover {
  background: #b81239 !important;
  transform: translateY(-1px) !important;
}
#cookie-notice #cn-close-notice {
  top: 14px !important;
  right: 14px !important;
  opacity: .35 !important;
}
#cookie-notice #cn-close-notice:hover {
  opacity: .8 !important;
}
.cn-buttons-container { display: block !important; }
@media (max-width: 600px) {
  #cookie-notice {
    left: 12px !important;
    right: 12px !important;
    bottom: 78px !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 16px !important;
  }
  #cookie-notice .cookie-notice-container {
    padding: 18px 18px 18px !important;
  }
  #cookie-notice #cn-notice-text {
    font-size: 14px !important;
    margin: 0 26px 14px 0 !important;
    max-width: none !important;
  }
  #cookie-notice .cn-notice-title {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }
  #cookie-notice .cn-button,
  #cookie-notice .cn-button:not(.cn-button-custom) {
    width: 100% !important;
    min-height: 42px !important;
    font-size: 15px !important;
  }
}

/* WordPress admin bar offset */
.logged-in .header { top: 32px; }
@media (max-width: 782px) { .logged-in .header { top: 46px; } }
/* Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--color-accent); color: #fff; padding: 8px 16px; border-radius: 0 0 6px 0; z-index: 9999; font-weight: 700; font-size: 14px; }
.skip-link:focus { left: 0; }

/* FR PANORAMA (override to match standard slider look) */
#fr-panorama .bconf-card__img {
  background: #17181b;
  aspect-ratio: 16/11;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
#fr-panorama .bconf-card__img img {
  position: static;
  width: 100%;
  height: 100%;
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  transform: none;
}
#fr-panorama .bconf-card__name { min-height: 48px; }
#fr-panorama .bconf-card__prices {
  min-height: 32px;
  display: flex;
  align-items: flex-end;
}

/* ============================================================
   BREADCRUMB BAR
   ============================================================ */
.breadcrumb-bar { background: transparent; border-bottom: none; padding: 10px 0; }
.breadcrumb-bar .rank-math-breadcrumb { font-size: 0.82rem; color: var(--color-text-muted); }
.breadcrumb-bar .rank-math-breadcrumb a { color: var(--color-text-muted); text-decoration: none; }
.breadcrumb-bar .rank-math-breadcrumb a:hover { color: var(--color-accent); }
.breadcrumb-bar .rank-math-breadcrumb .separator { margin: 0 6px; opacity: .5; }
.breadcrumb-bar .rank-math-breadcrumb p { margin: 0; }

/* ============================================================
   OKNA PAGE РІР‚вЂќ STATIC HERO
   ============================================================ */
.okna-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.okna-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.okna-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)); }
.okna-hero__inner { position: relative; z-index: 1; padding-top: 100px; padding-bottom: 60px; width: 100%; }
.okna-hero__content { max-width: 700px; text-align: left; }
.okna-hero__title { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 900; line-height: 1.1; color: #fff; margin-bottom: 16px; }
.okna-hero__sub { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 32px; }
.okna-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; justify-content: flex-start; }
.okna-hero--no-stats .okna-hero__content { max-width: 1200px; }
.okna-hero--no-stats .okna-hero__actions { margin-bottom: 0; }
.okna-hero__stats { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.okna-hero__stat { display: flex; flex-direction: column; padding: 0 24px; }
.okna-hero__stat:first-child { padding-left: 0; }
.okna-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.okna-hero__stat-lbl { font-size: 0.75rem; color: rgba(255,255,255,.5); }
.okna-hero__stat-sep { width: 1px; height: 36px; background: rgba(255,255,255,.2); }
@media (max-width: 600px) {
  .okna-hero { min-height: var(--hero-min-height-mobile); }
  .okna-hero__stat-sep { display: none; }
  .okna-hero__stat { padding: 8px 0; text-align: center; }
  .okna-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
}

/* ============================================================
   BALKONY HERO  (Р В°Р Р…Р В°Р В»Р С•Р С– okna-hero Р Т‘Р В»РЎРЏ РЎРѓРЎвЂљРЎР‚Р В°Р Р…Р С‘РЎвЂ РЎвЂ№ Р В±Р В°Р В»Р С”Р С•Р Р…Р С•Р Р†)
   ============================================================ */
.balkony-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.balkony-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.balkony-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)); }
.balkony-hero__inner { position: relative; z-index: 1; padding-top: 100px; padding-bottom: 60px;; width: 100%; }
.balkony-hero__content { max-width: 700px; }
.balkony-hero__title { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 900; line-height: 1.1; color: #fff; margin-bottom: 16px; }
.balkony-hero__sub { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 32px; }
.balkony-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.balkony-hero__stats { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.balkony-hero__stat { display: flex; flex-direction: column; padding: 0 24px; }
.balkony-hero__stat:first-child { padding-left: 0; }
.balkony-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.balkony-hero__stat-lbl { font-size: 0.75rem; color: rgba(255,255,255,.5); }
.balkony-hero__stat-sep { width: 1px; height: 36px; background: rgba(255,255,255,.2); }
@media (max-width: 600px) {
  .balkony-hero { min-height: var(--hero-min-height-mobile); }
  .balkony-hero__stat-sep { display: none; }
  .balkony-hero__stat { padding: 8px 0; text-align: center; }
  .balkony-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
}

/* ============================================================
   SEO TEXT BLOCK  (РЎРѓР Р†Р ВµРЎвЂљР В»Р В°РЎРЏ РЎРѓР ВµР С”РЎвЂ Р С‘РЎРЏ РІР‚вЂќ РЎвЂљРЎвЂР СР Р…РЎвЂ№Р в„– РЎвЂљР ВµР С”РЎРѓРЎвЂљ)
   ============================================================ */
.seotext { padding: 64px 0; border-bottom: none; background: transparent; }
.seotext .wrap { background: #fff; border-radius: 20px; padding: 48px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.seotext--gray { background: #fff; }
.seotext__grid { display: grid; grid-template-columns: 1fr 340px; gap: 56px; align-items: start; }
.seotext__title { font-size: clamp(1.3rem, 2.5vw, 1.7rem); font-weight: 700; color: var(--color-text); margin-bottom: 20px; line-height: 1.3; }
.seotext__main p { color: var(--color-text-muted); line-height: 1.75; margin-bottom: 16px; font-size: 0.97rem; }
.seotext__main strong { color: var(--color-text); }
.seotext__subtitle { font-size: 1.15rem; font-weight: 700; color: var(--color-text); margin: 32px 0 16px; line-height: 1.3; }
.seotext__aside { display: flex; flex-direction: column; gap: 16px; }
.seotext__fact { display: flex; align-items: flex-start; gap: 14px; background: #fff; border: 1px solid var(--color-border); border-radius: 12px; padding: 16px; }
.seotext__fact-icon { flex-shrink: 0; margin-top: 2px; }
.seotext__fact-lbl { font-size: 0.8rem; color: var(--color-text-muted); margin-top: 2px; }
@media (max-width: 900px) {
  .seotext__grid { grid-template-columns: 1fr; gap: 32px; }
  .seotext__aside { flex-direction: row; flex-wrap: wrap; }
  .seotext__fact { flex: 1 1 calc(50% - 10px); min-width: 200px; }
}
@media (max-width: 540px) {
  .seotext__fact { flex: 1 1 100%; }
}

/* ============================================================
   OKNA TYPES  (РЎРѓР Р†Р ВµРЎвЂљР В»Р В°РЎРЏ РЎРѓР ВµР С”РЎвЂ Р С‘РЎРЏ РІР‚вЂќ РЎвЂљРЎвЂР СР Р…РЎвЂ№Р в„– РЎвЂљР ВµР С”РЎРѓРЎвЂљ)
   ============================================================ */
.okna-types { padding: 64px 0; background: #fff; }
.okna-types__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 32px; }
.okna-types__card { background: #fff; border: 1px solid var(--color-border); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.okna-types__card:hover { border-color: var(--color-accent); box-shadow: 0 4px 20px rgba(236,26,74,.12); }
.okna-types__img-wrap { aspect-ratio: 4/3; overflow: hidden; }
.okna-types__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.okna-types__card:hover .okna-types__img-wrap img { transform: scale(1.04); }
.okna-types__body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.okna-types__body h3 { font-size: 1.05rem; font-weight: 700; color: var(--color-text); }
.okna-types__body p { font-size: 0.82rem; color: var(--color-text-muted); line-height: 1.55; flex: 1; }
.okna-types__price { font-size: 1rem; font-weight: 700; color: var(--color-accent); }

/* Р СњР ВµРЎРѓРЎвЂљР В°Р Р…Р Т‘Р В°РЎР‚РЎвЂљР Р…РЎвЂ№Р Вµ */
.okna-types__custom { margin-top: 32px; background: #fff; border-radius: 20px; padding: 40px; }
.okna-custom__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 32px; }
.okna-custom__item { display: flex; flex-direction: column; gap: 10px; }
.okna-custom__img { aspect-ratio: 4/3; border-radius: 12px; overflow: hidden; border: 1px solid var(--color-border); }
.okna-custom__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.okna-custom__item:hover .okna-custom__img img { transform: scale(1.06); }
.okna-custom__name { font-size: 0.85rem; font-weight: 600; color: var(--color-text); text-align: center; }

@media (max-width: 1024px) {
  .okna-types__grid { grid-template-columns: repeat(2, 1fr); }
  .okna-custom__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .okna-types__grid { grid-template-columns: 1fr; }
  .okna-custom__grid { grid-template-columns: repeat(2, 1fr); }
  .okna-types__custom { padding: 24px; }
}

/* ============================================================
   PROMO РІР‚вЂќ Р С’Р С™Р В¦Р ВР В  (РЎвЂљРЎвЂР СР Р…Р В°РЎРЏ РЎРѓР ВµР С”РЎвЂ Р С‘РЎРЏ РІР‚вЂќ РЎРЏР Р†Р Р…РЎвЂ№Р в„– РЎвЂћР С•Р Р…)
   ============================================================ */
.promo { padding: 64px 0; background: var(--color-bg-dark); }
.promo .section-label { color: var(--color-accent); }
.promo .section-title { color: #fff; }
.promo__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; min-width: 0; max-width: 100%; box-sizing: border-box; }
.promo__card { background: var(--color-bg-dark); border: 1px solid rgba(255,255,255,.08); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 14px; min-width: 0; max-width: 100%; box-sizing: border-box; }
.promo__card--accent { border-color: rgba(236,26,74,.4); background: linear-gradient(135deg, rgba(236,26,74,.1) 0%, var(--color-bg-dark) 60%); }
.promo__card-badge { display: inline-flex; align-items: center; background: var(--color-accent); color: #fff; font-size: 0.72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; width: fit-content; }
.promo__card-badge--green { background: var(--color-accent); }
.promo__card-badge--blue  { background: var(--color-text); }
.promo__discount { font-size: 3rem; font-weight: 900; color: #fff; line-height: 1; }
.promo__discount--sm { font-size: 2.2rem; }
.promo__title { font-size: 1.1rem; font-weight: 700; color: #fff; line-height: 1.3; }
.promo__text { font-size: 0.85rem; color: rgba(255,255,255,.6); line-height: 1.6; flex: 1; }
.promo__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.promo__list li { font-size: 0.82rem; color: rgba(255,255,255,.7); padding-left: 18px; position: relative; }
.promo__list li::before { content: '+'; position: absolute; left: 0; color: var(--color-accent); font-weight: 900; }
.promo__card .btn { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
@media (max-width: 1024px) {
  .promo__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .promo__grid { grid-template-columns: 1fr; }
  .promo__discount { font-size: 2.2rem; }
}

/* ============================================================
   WINDOW TYPES (wintypes) РІР‚вЂќ РЎРѓР Р†Р ВµРЎвЂљР В»Р В°РЎРЏ РЎРѓР ВµР С”РЎвЂ Р С‘РЎРЏ РЎРѓ РЎвЂљР В°Р В±Р В°Р СР С‘
   ============================================================ */
.wintypes { padding: 64px 0; background: #fff; }
.wintypes__tabs { display: flex; gap: 8px; margin-top: 28px; flex-wrap: wrap; }
.wintypes__tab { padding: 9px 20px; border-radius: 30px; font-size: 14px; font-weight: 500; border: 1.5px solid var(--color-border); background: #fff; cursor: pointer; transition: all .15s; }
.wintypes__tab:hover { border-color: var(--color-accent); color: var(--color-accent); }
.wintypes__tab.active { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.wintypes__panel { margin-top: 32px; }
.wintypes__layout { display: grid; grid-template-columns: 420px 1fr; gap: 20px; align-items: stretch; }
.wintypes__photo { position: relative; border-radius: 20px; overflow: hidden; min-height: 300px; }
#dveri-types .wintypes__catgrid { align-self: stretch; display: flex; flex-direction: column; }
#dveri-types .dveri-type-card { flex: 1; }
.wintypes__photo > a { display: block; position: absolute; inset: 0; } .wintypes__photo > a > img { width: 100%; height: 100%; object-fit: cover; display: block; } .wintypes__photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.wintypes__photo-badge { position: absolute; bottom: 20px; left: 20px; background: rgba(0,0,0,.7); backdrop-filter: blur(6px); color: #fff; padding: 12px 18px; border-radius: 12px; display: flex; flex-direction: column; gap: 2px; }
.wintypes__photo-discount { font-size: 2rem; font-weight: 900; color: var(--color-accent); line-height: 1; }
.wintypes__catgrid { display: flex; flex-direction: column; gap: 12px; align-self: start; }
.wintypes__catgrid .cat-row { display: grid; gap: 12px; }
.wintypes__catgrid .cat-card { min-height: 160px; }
@media (max-width: 768px) { .wintypes__layout { grid-template-columns: 1fr; } .wintypes__photo { min-height: 240px; } }

/* Р СњР ВµРЎРѓРЎвЂљР В°Р Р…Р Т‘Р В°РЎР‚РЎвЂљР Р…РЎвЂ№Р Вµ РЎвЂћР С•РЎР‚Р СРЎвЂ№ (shared with okna-types) */
.wintypes__custom { margin-top: 48px; background: #fff; border-radius: 20px; padding: 40px; }
.wintypes__custom-title { font-size: 1.2rem; font-weight: 700; color: var(--color-text); margin-bottom: 24px; }

@media (max-width: 1100px) {
  .wintypes__layout { grid-template-columns: 1fr; }
  .wintypes__photo { max-height: 360px; }
}
@media (max-width: 700px) {
  .wintypes__grid { grid-template-columns: repeat(2, 1fr); }
  .wintypes__tabs { gap: 6px; }
  .wintypes__tab { padding: 8px 14px; font-size: 13px; }
  .wintypes__custom { padding: 24px; }
}
@media (max-width: 420px) {
  .wintypes__grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   PROFILES COMPARE РІР‚вЂќ Р С–Р С•РЎР‚Р С‘Р В·Р С•Р Р…РЎвЂљР В°Р В»РЎРЉР Р…РЎвЂ№Р в„– РЎРѓР С”РЎР‚Р С•Р В»Р В» Р С”Р В°РЎР‚РЎвЂљР С•РЎвЂЎР ВµР С”
   ============================================================ */
.pcompare { padding: 64px 0; background: transparent; max-width: 100%; overflow-x: hidden; }
.pcompare > .wrap { max-width: 1200px; margin: 0 auto; min-width: 0; overflow: hidden; background: var(--color-white); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); box-sizing: border-box; }
.pcompare__scroll { max-width: 100%; min-width: 0; overflow-x: auto; padding-bottom: 16px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--color-accent) var(--color-border); }
.pcompare__scroll::-webkit-scrollbar { height: 6px; }
.pcompare__scroll::-webkit-scrollbar-track { background: var(--color-border); border-radius: 3px; }
.pcompare__scroll::-webkit-scrollbar-thumb { background: var(--color-accent); border-radius: 3px; }
.pcompare__row { display: flex; gap: 20px; min-width: max-content; padding: 4px 0; }
.pcompare__col { background: #fff; border: 1.5px solid var(--color-border); border-radius: 20px; padding: 24px 20px; width: 220px; display: flex; flex-direction: column; gap: 16px; transition: border-color .2s, box-shadow .2s; }
.pcompare__col:hover { border-color: var(--color-accent); box-shadow: 0 6px 24px rgba(236,26,74,.12); }
.pcompare__img-wrap { border-radius: 12px; overflow: hidden; background: #fff; }
.pcompare__img-wrap img { width: 100%; display: block; object-fit: cover; }
.pcompare__head { display: flex; flex-direction: column; gap: 4px; }
.pcompare__tier { font-size: 0.72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); }
.pcompare__name { font-size: 1rem; font-weight: 800; color: var(--color-text); }
.pcompare__badge { font-size: 0.78rem; color: #fff; background: var(--color-accent); border-radius: 20px; padding: 2px 10px; width: fit-content; font-weight: 600; }
.pcompare__specs { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pcompare__spec { display: flex; flex-direction: column; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid var(--color-border); }
.pcompare__spec:last-child { border-bottom: none; padding-bottom: 0; }
.pcompare__spec-label { font-size: 0.72rem; color: var(--color-text-muted); }
.pcompare__spec-val { font-size: 0.85rem; font-weight: 700; color: var(--color-text); }
.pcompare__yes { color: var(--color-success); }
.pcompare__no  { color: var(--color-text-muted); font-weight: 400; }
.pcompare__spec--ro .pcompare__spec-val { color: var(--color-accent); }
.pcompare__pricing { display: flex; flex-direction: column; gap: 2px; }
.pcompare__price { font-size: 1rem; font-weight: 800; color: var(--color-accent); }
.pcompare__old { font-size: 0.8rem; color: var(--color-text-muted); text-decoration: line-through; }
.pcompare__btn { width: 100%; margin-top: 4px; }

/* ============================================================
   STATS РІР‚вЂќ РЎРѓРЎвЂЎРЎвЂРЎвЂљРЎвЂЎР С‘Р С”Р С‘
   ============================================================ */
.stats { padding: 56px 0; background: #fff; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.stats__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.stats__item { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 24px 16px; border-right: 1px solid var(--color-border); }
.stats__item:last-child { border-right: none; }
.stats__num { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 900; color: var(--color-accent); line-height: 1; }
.stats__unit { font-size: 0.82rem; color: var(--color-text-muted); margin-top: 2px; min-height: 1.2em; }
.stats__lbl { font-size: 0.8rem; color: var(--color-text); font-weight: 600; margin-top: 8px; line-height: 1.4; max-width: 160px; }
@media (max-width: 900px) {
  .stats__grid { grid-template-columns: repeat(3, 1fr); }
  .stats__item:nth-child(3) { border-right: none; }
}
@media (max-width: 560px) {
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stats__item:nth-child(2n) { border-right: none; }
  .stats__item:nth-child(3) { border-right: 1px solid var(--color-border); }
}

/* ============================================================
   CUSTOM SHAPES РІР‚вЂќ Р Р…Р ВµРЎРѓРЎвЂљР В°Р Р…Р Т‘Р В°РЎР‚РЎвЂљР Р…РЎвЂ№Р Вµ РЎвЂћР С•РЎР‚Р СРЎвЂ№ (tab layout)
   ============================================================ */
.cshapes { padding: 64px 0; background: #fff; }
.cshapes__tabs { display: flex; gap: 8px; margin-top: 28px; flex-wrap: wrap; }
.cshapes__tab { padding: 9px 20px; border-radius: 30px; font-size: 14px; font-weight: 500; border: 1.5px solid var(--color-border); background: #fff; cursor: pointer; transition: all .15s; }
.cshapes__tab:hover { border-color: var(--color-accent); color: var(--color-accent); }
.cshapes__tab.active { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.cshapes__panel { margin-top: 32px; }
.cshapes__layout { display: grid; grid-template-columns: clamp(300px, 52%, 560px) 1fr; gap: 48px; align-items: stretch; }
.cshapes__photo { border-radius: 20px; overflow: hidden; background: var(--color-border); }
.cshapes__photo img { width: 100%; display: block; object-fit: cover; aspect-ratio: 5/4; }
.cshapes__info {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 20px;
  min-height: 100%;
}
.cshapes__title { font-size: clamp(1.4rem, 2.5vw, 1.9rem); font-weight: 800; color: var(--color-text); line-height: 1.2; }
.cshapes__desc { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.7; }
.cshapes__price { font-size: 1.6rem; font-weight: 900; color: var(--color-accent); }
.cshapes__actions { display: flex; gap: 12px; flex-wrap: wrap; }

@media (max-width: 1100px) {
  .cshapes__layout { grid-template-columns: 1fr; gap: 32px; }
  .cshapes__photo { max-height: 400px; overflow: hidden; }
  .cshapes__info { display: flex; flex-direction: column; min-height: 0; }
}
@media (max-width: 640px) {
  .cshapes__tab { padding: 8px 14px; font-size: 13px; }
  .cshapes__price { font-size: 1.3rem; }
}

/* ============================================================
   INSTALLATION STEPS РІР‚вЂќ РЎвЂЎРЎвЂљР С• Р Р†РЎвЂ¦Р С•Р Т‘Р С‘РЎвЂљ Р Р† РЎС“РЎРѓРЎвЂљР В°Р Р…Р С•Р Р†Р С”РЎС“
   ============================================================ */
.install { padding: 64px 0; }
.install__grid { display: grid; grid-template-columns: 380px 1fr; gap: 64px; align-items: start; }
.install__left { position: sticky; top: 100px; }
.install__lead { font-size: 0.92rem; color: var(--color-text-muted); line-height: 1.75; margin-top: 16px; }
.install__lead strong { color: var(--color-text); }
.install__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.install__step { display: flex; flex-direction: column; gap: 10px; }
.install__num { width: 44px; height: 44px; border-radius: 12px; background: var(--color-accent); color: #fff; font-size: 1.1rem; font-weight: 900; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.install__text { font-size: 0.85rem; color: var(--color-text-muted); line-height: 1.6; }

@media (max-width: 1100px) {
  .install__grid { grid-template-columns: 1fr; gap: 40px; }
  .install__left { position: static; }
  .install .install__left .section-title {
    line-height: 1.15;
    max-width: 760px;
  }
  .install .install__left .section-title br { display: none; }
}
@media (max-width: 700px) {
  .install .install__left .section-title {
    font-size: clamp(24px, 7vw, 32px);
    max-width: 100%;
  }
  .install__steps { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
  .install__steps { grid-template-columns: 1fr; }
}

/* ============================================================
   WINDOW TYPES CATALOG РІР‚вЂќ Р Р†Р С‘Р Т‘РЎвЂ№ Р С•Р С”Р С•Р Р… (РЎРѓР ВµРЎвЂљР С”Р В°)
   ============================================================ */
.wtypes { padding: 64px 0; background: #fff; }
.wtypes__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 32px; }
.wtypes__card { display: flex; flex-direction: column; background: #fff; border: 1.5px solid var(--color-border); border-radius: 20px; overflow: hidden; text-decoration: none; color: inherit; transition: border-color .2s, box-shadow .2s; }
.wtypes__card:hover { border-color: var(--color-accent); box-shadow: 0 6px 24px rgba(236,26,74,.12); }
.wtypes__img-wrap { overflow: hidden; }
.wtypes__img-wrap img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; transition: transform .4s; }
.wtypes__card:hover .wtypes__img-wrap img { transform: scale(1.05); }
.wtypes__body { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.wtypes__name { font-size: 0.95rem; font-weight: 700; color: var(--color-text); }
.wtypes__price { font-size: 0.85rem; color: var(--color-accent); font-weight: 600; margin-top: 2px; }
.wtypes__link { font-size: 0.8rem; color: var(--color-text-muted); margin-top: auto; padding-top: 8px; }

@media (max-width: 1024px) {
  .wtypes__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .wtypes__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) {
  .wtypes__grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   PROFILE HERO РІР‚вЂќ product hero for individual profile pages
   ============================================================ */
.prof-hero { background: var(--color-bg-dark); min-height: var(--hero-min-height); display: flex; align-items: center; }
.prof-hero > .wrap { padding: 72px 32px 64px; }
.prof-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;  width: 100%; }
.prof-hero .section-label { color: rgba(255,255,255,.5); }
.prof-hero__title { font-size: clamp(26px, 3vw, 42px); font-weight: 900; color: #fff; line-height: 1.15; margin: 8px 0 14px; }
.prof-hero__sub { font-size: 16px; color: rgba(255,255,255,.65); line-height: 1.6; margin-bottom: 28px; }
.prof-hero__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin-bottom: 28px; }
.prof-hero__spec { display: flex; flex-direction: column; gap: 2px; }
.prof-hero__spec-label { font-size: 11px; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: 0.8px; }
.prof-hero__spec-val { font-size: 17px; font-weight: 700; color: #fff; }
.prof-hero__pricing { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.prof-hero__discount-badge { background: var(--color-accent); color: #fff; font-size: 22px; font-weight: 900; padding: 10px 16px; border-radius: 10px; line-height: 1; }
.prof-hero__price { font-size: 24px; font-weight: 800; color: #fff; }
.prof-hero__old { font-size: 14px; color: rgba(255,255,255,.4); text-decoration: line-through; margin-top: 2px; }
.prof-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-outline-light { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.35); }
.btn-outline-light:hover { border-color: #fff; background: rgba(255,255,255,.1); }
.prof-hero__photo { position: relative; display: flex; justify-content: center; align-items: center; }
.prof-hero__photo-mask { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 80px rgba(0,0,0,.55); }
.prof-hero__photo-mask img { width: 100%; max-width: 480px; object-fit: cover; display: block; }
.prof-hero__badge { position: absolute; bottom: 14px; left: 14px; background: var(--color-accent); color: #fff; font-size: 13px; font-weight: 700; padding: 6px 14px; border-radius: 6px; z-index: 3; }

@media (max-width: 900px) {
  .prof-hero__inner { grid-template-columns: 1fr;  width: 100%; }
  .prof-hero__photo { margin-top: 24px; }
  .prof-hero__photo img { max-width: 320px; }
}
@media (max-width: 560px) {
  .prof-hero__specs { grid-template-columns: 1fr 1fr; }
  .prof-hero__btns { flex-direction: column; }
  .prof-hero__btns .btn { width: 100%; justify-content: center; }
}

/* ============================================================
   PROFILE CONFIGS РІР‚вЂќ typical window configurations with prices
   ============================================================ */
.pconfigs { padding: 72px 0; background: transparent; }
.pconfigs > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.pconfigs__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 36px; }
.pconfigs__card { background: #fff; border: 1.5px solid var(--color-border); border-radius: 20px; overflow: hidden; border-top: 3px solid var(--color-accent); transition: border-color .2s, box-shadow .2s; display: flex; flex-direction: column; }
.pconfigs__card:hover { border-color: var(--color-accent); box-shadow: 0 8px 24px rgba(236,26,74,.08); }
.pconfigs__img-wrap { background: #fff; display: flex; align-items: center; justify-content: center; padding: 20px; height: 180px; }
.pconfigs__img-wrap img { width: 100%; height: 100%; object-fit: contain; }
.pconfigs__body { padding: 18px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.pconfigs__label { font-size: 15px; font-weight: 700; color: var(--color-text); margin-bottom: 4px; }
.pconfigs__size { font-size: 13px; color: var(--color-text-muted); margin-bottom: 6px; }
.pconfigs__desc { font-size: 13px; color: var(--color-text-muted); line-height: 1.5; margin-bottom: 12px; flex: 1; }
.pconfigs__pricing { display: flex; align-items: baseline; gap: 10px; }
.pconfigs__price { font-size: 18px; font-weight: 800; color: var(--color-accent); }
.pconfigs__old { font-size: 13px; color: var(--color-text-muted); text-decoration: line-through; }
.pconfigs__cta-wrap { text-align: center; margin-top: 40px; }

@media (max-width: 900px) {
  .pconfigs__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .pconfigs__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PROFILE FEATURES РІР‚вЂќ advantages + specs table
   ============================================================ */
.pfeat { padding: 72px 0; background: transparent; }
.pfeat > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.pfeat__layout { display: grid; grid-template-columns: 1fr 380px; gap: 48px; margin-top: 36px; align-items: start; }
.pfeat__features { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; align-content: space-between; }
.pfeat__item { display: flex; gap: 20px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--color-border); transition: transform .2s; }
.pfeat__item:nth-child(odd):last-child,
.pfeat__item:nth-child(even):last-child { border-bottom: none; }
.pfeat__item:nth-last-child(-n+2) { border-bottom: none; }
.pfeat__item:hover { transform: translateX(4px); }
.pfeat__item:hover .pfeat__icon-wrap { box-shadow: 0 4px 16px rgba(236,26,74,.12); }
.pfeat__icon-wrap { flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--color-accent); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.pfeat__title { font-size: 14px; font-weight: 700; color: var(--color-text); margin-bottom: 4px; }
.pfeat__text { font-size: 13px; color: var(--color-text-muted); line-height: 1.5; }
.pfeat__specs-card { background: #fff; border-top: 3px solid var(--color-accent); border-radius: 20px; padding: 24px 24px 28px; box-shadow: 0 4px 20px rgba(0,0,0,.07); position: sticky; top: 90px; }
.pfeat__specs-title { font-size: 15px; font-weight: 700; color: var(--color-text); margin-bottom: 16px; }
.pfeat__table { width: 100%; border-collapse: collapse; }
.pfeat__table tr { border-bottom: 1px solid var(--color-border); }
.pfeat__table tr:last-child { border-bottom: none; }
.pfeat__table td { padding: 10px 0; font-size: 14px; color: var(--color-text); }
.pfeat__table td:first-child { color: var(--color-text-muted); }
.pfeat__table td:last-child { text-align: right; }
.pfeat__cta-btn { width: 100%; margin-top: 20px; justify-content: center; }

@media (max-width: 1024px) {
  .pfeat__layout { grid-template-columns: 1fr; }
  .pfeat__specs-card { position: static; }
}
@media (max-width: 600px) {
  .pfeat__features { grid-template-columns: 1fr; }
}

/* ============================================================
   BALKONY CONFIGS  (РЎвЂљР С‘Р С—Р С•Р Р†РЎвЂ№Р Вµ Р В±Р В°Р В»Р С”Р С•Р Р…РЎвЂ№/Р В»Р С•Р Т‘Р В¶Р С‘Р С‘ РЎРѓ toggle РЎвЂљРЎвЂР С—Р В»РЎвЂ№Р в„–/РЎвЂ¦Р С•Р В»Р С•Р Т‘Р Р…РЎвЂ№Р в„–)
   ============================================================ */
.bconf { padding: 64px 0; background: #fff; }
.bconf__head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 16px; margin-bottom: 28px; }
.bconf__toggle { display: flex; gap: 8px; }
.bconf__toggle-btn { padding: 9px 20px; border-radius: 30px; font-size: 14px; font-weight: 500; border: 1.5px solid var(--color-border); background: #fff; cursor: pointer; transition: all .15s; }
.bconf__toggle-btn:hover { border-color: var(--color-accent); color: var(--color-accent); }
.bconf__toggle-btn.active { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.bconf__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bconf-card { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.06); display: flex; flex-direction: column; }
.bconf-card__img { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.bconf-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.bconf-card:hover .bconf-card__img img { transform: scale(1.04); }
.bconf-card__body { padding: 16px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.bconf-card__name { font-size: 1rem; font-weight: 700; color: var(--color-text); margin-bottom: 8px; }
.bconf-card__desc { font-size: 0.82rem; color: var(--color-text-muted); line-height: 1.5; margin: 0 0 12px; }
.bconf-card__prices { margin-bottom: 14px; }
.bconf-card__price-label { font-size: 12px; color: var(--color-text-muted); display: block; margin-bottom: 4px; }
.bconf-card__old { font-size: 12px; color: var(--color-text-muted); text-decoration: line-through; display: block; margin-bottom: 4px; }
.bconf-card__price { font-size: 1.25rem; font-weight: 800; color: var(--color-text); margin-bottom: 4px; }
.bconf-card__monthly { font-size: 12px; color: var(--color-text-muted); margin-bottom: 0; }
.bconf-card__btn { width: 100%; padding: 11px; background: var(--color-accent); color: #fff; border: none; border-radius: 10px; font-size: 0.9rem; font-weight: 700; cursor: pointer; text-align: center; transition: opacity .2s; margin-top: auto; }
.bconf-card__btn:hover { opacity: .88; }
/* Slider (lodzhii) */
.bconf__slider-wrap { position: relative; }
.bconf__slider-viewport { overflow: hidden; }
.bconf__slider { display: flex; gap: 16px; transition: transform .35s ease; will-change: transform; }
.bconf__slider .bconf-card { flex: 0 0 calc((100% - 48px) / 4); min-width: 0; }
.bconf__arrow { position: absolute; top: 40%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px; background: #fff; border: 1.5px solid var(--color-border); border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--color-text); box-shadow: 0 2px 8px rgba(0,0,0,.12); transition: border-color .15s, color .15s; }
.bconf__arrow--prev { left: -22px; }
.bconf__arrow--next { right: -22px; }
.bconf__arrow:hover:not(:disabled) { border-color: var(--color-accent); color: var(--color-accent); }
.bconf__arrow:disabled { opacity: .3; cursor: default; }
@media (max-width: 1024px) { .bconf__grid { grid-template-columns: repeat(2, 1fr); } .bconf__slider .bconf-card { flex: 0 0 calc((100% - 16px) / 2); } }
@media (max-width: 540px) { .bconf__grid { grid-template-columns: 1fr; } .bconf__head { align-items: flex-start; } .bconf__slider .bconf-card { flex: 0 0 100%; } .bconf__arrow { width: 36px; height: 36px; } .bconf__arrow--prev { left: -18px; } .bconf__arrow--next { right: -18px; } }




/* KOPE balcony configurations */
.kope-configs .section-title {
  max-width: 760px;
}
.kope-configs__slider-wrap {
  margin-top: 28px;
}
.kope-configs .bconf__slider {
  gap: 28px;
}
.kope-configs .bconf-card {
  flex: 0 0 calc((100% - 84px) / 4);
  min-width: 0;
}
.kope-configs__media {
  aspect-ratio: 4 / 3;
  background: #1b1b1b;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.kope-configs .kope-configs__media img {
  position: static;
  width: auto;
  height: auto !important;
  max-width: calc(100% - 56px);
  max-height: calc(100% - 44px);
  object-fit: contain;
  display: block;
  padding: 0;
}
.kope-configs .bconf-card__name {
  min-height: 2.6em;
}
@media (max-width: 1024px) {
  .kope-configs .bconf__slider {
    gap: 16px;
  }
  .kope-configs .bconf-card {
    flex-basis: calc((100% - 16px) / 2);
  }
}
@media (max-width: 540px) {
  .kope-configs .bconf-card {
    flex-basis: 100%;
  }
  .kope-configs .kope-configs__media img {
    max-width: calc(100% - 36px);
    max-height: calc(100% - 32px);
  }
}

/* ============================================================
   BALKONY PACKAGES  (РЎвЂ Р ВµР Р…РЎвЂ№ РЎРѓ Р С”Р С•Р СР С—Р В»Р ВµР С”РЎвЂљР В°Р СР С‘ РІР‚вЂќ РЎРѓРЎвЂ¦Р ВµР СРЎвЂ№ Р В±Р В°Р В»Р С”Р С•Р Р…Р С•Р Р†)
   ============================================================ */
.bpkg { padding: 64px 0; background: #fff; }
.bpkg__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 32px; }
.bpkg-card { background: #fff; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; }
.bpkg-card__img { position: relative; aspect-ratio: 4/3; overflow: hidden; background: #fff; display: flex; align-items: center; justify-content: center; padding: 16px; }
.bpkg-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; transition: transform .4s; }
.bpkg-card:hover .bpkg-card__img img { transform: scale(1.04); }
.bpkg-card__body { padding: 16px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.bpkg-card__name { font-size: 1rem; font-weight: 700; color: var(--color-text); margin-bottom: 14px; }
.bpkg-card__area { font-size: 0.88rem; font-weight: 500; color: var(--color-text-muted); margin-left: 6px; }
.bpkg-card__prices { flex: 1; margin-bottom: 16px; display: flex; flex-direction: column; gap: 8px; }
.bpkg-price-row { display: flex; flex-direction: column; gap: 2px; }
.bpkg-price-val { font-size: 1.1rem; font-weight: 800; color: var(--color-accent); }
.bpkg-price-lbl { font-size: 12px; color: var(--color-text-muted); }
.bpkg-card__btn { width: 100%; padding: 12px 18px; border-radius: 10px; font-size: 0.9rem; font-weight: 700; text-align: center; margin-top: auto; }
.bpkg-card__btn:hover { opacity: 1; }
@media (max-width: 1024px) { .bpkg__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .bpkg__grid { grid-template-columns: 1fr; } }

/* ============================================================
   BALKONY HOUSE TYPES  (РЎвЂ Р ВµР Р…РЎвЂ№ Р С—Р С• РЎвЂљР С‘Р С—Р В°Р С Р Т‘Р С•Р СР С•Р Р† РІР‚вЂќ РЎвЂљРЎвЂР СР Р…Р В°РЎРЏ РЎРѓР ВµР С”РЎвЂ Р С‘РЎРЏ)
   ============================================================ */
.bhtypes { padding: 64px 0; background: var(--color-bg-dark); }
.bhtypes .section-label { color: rgba(255,255,255,.5); }
.bhtypes .section-title { color: #fff; }
.bhtypes__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.bhtypes-card { background: var(--color-bg-dark); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: transform .25s; }
.bhtypes-card:hover { transform: translateY(-4px); }
.bhtypes-card__img { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.bhtypes-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.bhtypes-card__title-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.1) 60%); display: flex; align-items: flex-end; padding: 16px; }
.bhtypes-card__name { font-size: 0.95rem; font-weight: 700; color: #fff; line-height: 1.3; margin: 0; }
.bhtypes-card__body { padding: 14px 16px 18px; display: flex; flex-direction: column; flex: 1; }
.bhtypes-card__desc { font-size: 0.82rem; color: rgba(255,255,255,.55); line-height: 1.5; flex: 1; margin-bottom: 14px; }
.bhtypes-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bhtypes-card__price { font-size: 1rem; font-weight: 700; color: #fff; }
.bhtypes-card__btn { flex-shrink: 0; background: var(--color-accent); border: none; border-radius: 10px; color: #fff; font-size: 0.82rem; font-weight: 700; padding: 8px 14px; cursor: pointer; white-space: nowrap; transition: opacity .2s; }
.bhtypes-card__btn:hover { opacity: .85; }
@media (max-width: 1024px) { .bhtypes__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .bhtypes__grid { grid-template-columns: 1fr; } }


/* ============================================================
   BALKONY MATERIALS  (Р С•РЎвЂљР Т‘Р ВµР В»Р С•РЎвЂЎР Р…РЎвЂ№Р Вµ Р СР В°РЎвЂљР ВµРЎР‚Р С‘Р В°Р В»РЎвЂ№ РІР‚вЂќ РЎвЂљР В°Р В±РЎвЂ№ + Р В±Р В°Р Р…Р Р…Р ВµРЎР‚)
   ============================================================ */
.bmat { padding: 64px 0; background: #fff; }
.bmat .section-title { margin-bottom: 24px; }
.bmat__tabs { display: flex; gap: 8px; margin-bottom: 28px; flex-wrap: wrap; }
.bmat__tab { padding: 9px 20px; border-radius: 30px; font-size: 14px; font-weight: 500; border: 1.5px solid var(--color-border); background: #fff; cursor: pointer; transition: all .15s; }
.bmat__tab:hover { border-color: var(--color-accent); color: var(--color-accent); }
.bmat__tab.active { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
.bmat__panel { display: none; }
.bmat__panel.active { display: block; }
.bmat__banner { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 16/6; min-height: 260px; margin-bottom: 20px; }
.bmat__banner-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .3s; }
.bmat__banner-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,.6) 0%, rgba(0,0,0,.1) 60%); }
.bmat__banner-info { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 28px 32px; }
.bmat__banner-text { display: flex; flex-direction: column; gap: 6px; }
.bmat__banner-name { font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: 700; color: #fff; line-height: 1.2; }
.bmat__banner-price { font-size: clamp(0.95rem, 1.5vw, 1.1rem); color: rgba(255,255,255,.85); }
.bmat__banner-btn { flex-shrink: 0; white-space: nowrap; }
.bmat__header { margin-bottom: 24px; }
.bmat__swatches { display: flex; gap: 12px; flex-wrap: wrap; }
.bmat__swatch { background: none; border: none; padding: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 6px; width: 80px; }
.bmat__swatch-img { width: 76px; height: 56px; object-fit: cover; border-radius: 10px; display: block; outline: 2.5px solid transparent; outline-offset: 2px; transition: outline-color .15s, transform .15s; }
.bmat__swatch:hover .bmat__swatch-img { transform: scale(1.05); }
.bmat__swatch.active .bmat__swatch-img { outline-color: var(--color-accent); }
.bmat__swatch-label { font-size: 11px; color: var(--color-text-muted); text-align: center; line-height: 1.3; padding: 0 2px 4px; min-height: 2.8em; }
.bmat__swatch.active .bmat__swatch-label { color: var(--color-accent); font-weight: 600; }
@media (max-width: 768px) { .bmat__banner { aspect-ratio: 4/3; } .bmat__banner-info { padding: 20px; flex-direction: column; align-items: flex-start; } }
@media (max-width: 540px) { .bmat__tab { padding: 8px 14px; font-size: 13px; } .bmat__swatch { width: 68px; } .bmat__swatch-img { width: 64px; height: 48px; } }

/* ============================================================
   BALKONY EXAMPLES  (Р С—РЎР‚Р С‘Р СР ВµРЎР‚РЎвЂ№ РЎР‚Р В°РЎРѓРЎвЂЎРЎвЂРЎвЂљР С•Р Р†)
   ============================================================ */
.bex { padding: 64px 0; background: #fff; }
.bex .section-title { margin-bottom: 40px; }
.bex-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: 20px; overflow: hidden; background: #fff; margin-bottom: 24px; box-shadow: 0 2px 16px rgba(0,0,0,.06); }
.bex-card--reverse { flex-direction: row-reverse; }
.bex-card__img { overflow: hidden; aspect-ratio: 4/3; }
.bex-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.bex-card:hover .bex-card__img img { transform: scale(1.04); }
.bex-card__body { padding: 36px 40px; display: flex; flex-direction: column; justify-content: center; }
.bex-card__title { font-size: 1rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--color-text); margin: 0 0 20px; }
.bex-card__area { font-size: 0.8rem; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--color-text-muted); margin-left: 6px; }
.bex-card__list { list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 10px; }
.bex-card__item { display: flex; align-items: baseline; gap: 6px; }
.bex-card__item-name { font-size: 0.88rem; color: var(--color-text); flex-shrink: 0; }
.bex-card__item::after { content: ''; flex: 1; border-bottom: 1px dotted var(--color-border); min-width: 20px; order: 1; }
.bex-card__item-name { order: 0; }
.bex-card__item-price { font-size: 0.88rem; font-weight: 700; color: var(--color-text); white-space: nowrap; order: 2; }
.bex-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid var(--color-border); }
.bex-card__total { font-size: 1.2rem; font-weight: 800; color: var(--color-text); text-transform: uppercase; }
@media (max-width: 900px) {
  .bex-card { grid-template-columns: 1fr; }
  .bex-card--reverse { direction: ltr; }
  .bex-card__img { aspect-ratio: 16/9; }
  .bex-card__body { padding: 24px; }
}

/* ============================================================
   BALKONY STEPS  (РЎв‚¬Р ВµРЎРѓРЎвЂљРЎРЉ РЎв‚¬Р В°Р С–Р С•Р Р† Р С” Р С•РЎРѓРЎвЂљР ВµР С”Р В»Р ВµР Р…Р С‘РЎР‹)
   ============================================================ */
.bsteps { padding: 64px 0; background: #fff; }
.bsteps .section-title { margin-bottom: 32px; }
.bsteps__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bsteps-card { position: relative; background: #fff; border: 1px solid var(--color-border); border-top: 3px solid var(--color-accent); border-radius: 12px; padding: 24px 22px 56px; overflow: hidden; min-height: 210px; display: flex; flex-direction: column; align-items: flex-start; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.bsteps-card__icon { width: 40px; height: 40px; margin-bottom: 18px; color: var(--color-accent); background: rgba(212,23,69,.08); border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; }
.bsteps-card__icon svg { width: 22px; height: 22px; fill: currentColor; display: block; }
.bsteps-card__title { font-size: 0.95rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--color-text); margin: 0 0 10px; line-height: 1.3; }
.bsteps-card__desc { font-size: 0.9rem; color: var(--color-text-muted); line-height: 1.55; margin: 0; max-width: 32ch; }
.bsteps-card__num { position: absolute; bottom: 16px; right: 18px; min-width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: 1rem; font-weight: 800; color: var(--color-accent); line-height: 1; background: rgba(212,23,69,.08); opacity: 1; }
@media (max-width: 900px) { .bsteps__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .bsteps__grid { grid-template-columns: 1fr; } }

/* DVERI TYPES */
.dveri-type-card { background: #fff; border-radius: 20px; padding: 36px 40px; display: flex; flex-direction: column; gap: 16px; height: 100%; }
.dveri-type-card__title { font-size: 1.4rem; font-weight: 800; color: var(--color-text); margin: 0; }
.dveri-type-card__desc { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.65; margin: 0; flex: 1; }
.dveri-type-card__price { font-size: 1.5rem; font-weight: 900; color: var(--color-text); }

/* DVERI CATALOG */
.dcat { padding: 64px 0; background: #fff; }
.dcat .bconf-card__img { background: #fff; }
.dcat .bconf-card__img img { object-fit: contain; padding: 16px; }

/* DVERI CONFIGS */
.dconf__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 36px; align-items: start; }
.dconf-card { background: #fff; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; border: 1px solid var(--color-border); }
.dconf-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.dconf-card__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #f3f5f7; display: grid; place-items: center; }
.dconf-card__badge { position: absolute; top: 12px; right: 12px; background: var(--color-accent); color: #fff; font-size: 11px; font-weight: 700; padding: 6px 12px; border-radius: 6px; text-transform: uppercase; letter-spacing: .05em; z-index: 1; }
.dconf-card__img img { width: 82%; height: 82%; object-fit: contain; display: block; transition: transform .35s; }
.dconf-card:hover .dconf-card__img img { transform: scale(1.02); }
.dconf-card__body { padding: 24px 28px 28px; display: grid; grid-template-rows: auto auto auto auto auto; height: 100%; align-content: start; }
.dconf-card__name { font-size: 1rem; font-weight: 800; letter-spacing: .02em; color: var(--color-text); margin: 0 0 12px; }
.dconf-card__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 20px; min-height: 0; }
.dconf-card__price { font-size: 1.5rem; font-weight: 900; color: var(--color-text); margin: 0 0 4px; align-self: start; }
.dconf-card__note { font-size: 11px; color: var(--color-text-muted); margin-bottom: 20px; line-height: 1.4; min-height: 30px; }
.dconf-card__btn { width: 100%; padding: 12px; background: var(--color-accent); color: #fff; border: none; border-radius: 10px; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: opacity .2s; margin-top: auto; }
.dconf-card__btn:hover { opacity: .88; }
@media (max-width: 1100px) { .dconf-card__desc { min-height: 0; } .dconf-card__note { min-height: 0; } }
@media (max-width: 1199px) { .dconf__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .dconf__grid { grid-template-columns: 1fr; } .dconf > .wrap { padding: 24px 16px; } }

/* Dconf cards: align price and CTA by the tallest card in each row */
.dconf__grid { align-items: stretch; }
.dconf-card { height: 100%; }
.dconf-card__body { grid-template-rows: auto auto minmax(0, 1fr) auto auto auto; align-content: stretch; }
.dconf-card__name { grid-row: 1; }
.dconf-card__desc { grid-row: 2; }
.dconf-card__price { grid-row: 4; }
.dconf-card__note { grid-row: 5; }
.dconf-card__btn { grid-row: 6; margin-top: 0; }
@media (max-width: 600px) {
  .dconf-card { height: auto; }
  .dconf-card__body { grid-template-rows: auto auto auto auto auto; height: auto; align-content: start; padding: 22px 20px 24px; }
  .dconf-card__name, .dconf-card__desc, .dconf-card__price, .dconf-card__note, .dconf-card__btn { grid-row: auto; }
}

/* Sliding windows: tighten first catalog spacing and keep aligned bottoms */
.page-template-page-razdvizhnye .dconf#razdvizhnye-types .dconf__grid { gap: 20px; }
.page-template-page-razdvizhnye .dconf#razdvizhnye-types .dconf-card__body { padding: 20px 22px 22px; }
.page-template-page-razdvizhnye .dconf#razdvizhnye-types .dconf-card__name { min-height: 62px; margin-bottom: 10px; }
.page-template-page-razdvizhnye .dconf#razdvizhnye-types .dconf-card__desc { min-height: 118px; margin-bottom: 16px; }
.page-template-page-razdvizhnye .dconf#razdvizhnye-types .dconf-card__note { margin-bottom: 16px; }
@media (max-width: 1199px) {
  .page-template-page-razdvizhnye .dconf#razdvizhnye-types .dconf-card__name,
  .page-template-page-razdvizhnye .dconf#razdvizhnye-types .dconf-card__desc { min-height: 0; }
}
.page-template-page-razdvizhnye .dconf#razdvizhnye-types > .wrap.section-card {
  border-top: none !important;
}
.page-template-page-razdvizhnye .dconf#razdvizhnye-types > .wrap.section-card::before {
  content: none !important;
  display: none !important;
}

/* Dveri page color rhythm overrides */
.page-template-page-dveri .compare { background: #fff; }

/* ========== COMPLEKTACIYA (shared) ========== */
.complektaciya { padding: 64px 0; background: var(--color-bg-dark); color: #fff; }
.complektaciya .section-label { color: rgba(255,255,255,.5); }
.complektaciya .section-title { color: #fff; }
.compl__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.compl-card { background: var(--color-bg-dark); border-radius: 20px; overflow: hidden; transition: transform .25s; }
.compl-card:hover { transform: translateY(-4px); }
.compl-card__img { aspect-ratio: 4/3; overflow: hidden; }
.compl-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.compl-card:hover .compl-card__img img { transform: scale(1.04); }
.compl-card__body { padding: 14px 16px 18px; }
.compl-card__name { font-size: 0.95rem; font-weight: 700; color: #fff; margin: 0 0 8px; }
.compl-card__desc { font-size: 0.82rem; color: rgba(255,255,255,.55); line-height: 1.5; margin: 0; }
@media (max-width: 1024px) { .compl__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .compl__grid { grid-template-columns: 1fr; } }

/* ========== COTTAGES ADVANTAGES ========== */
.ctg-adv { padding: 64px 0; background: #fff; }
.ctg-adv__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px; }
.ctg-adv__card { background: #fff; border-radius: 20px; padding: 32px; transition: box-shadow .2s; }
.ctg-adv__card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.06); }
.ctg-adv__icon { color: var(--color-accent); margin-bottom: 16px; }
.ctg-adv__title { font-size: 1.1rem; font-weight: 800; color: var(--color-text); margin: 0 0 8px; }
.ctg-adv__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }
@media (max-width: 1024px) { .ctg-adv__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ctg-adv__grid { grid-template-columns: 1fr; } }

/* Cottages page overrides */
.page-template-page-cottages .dcat .bconf-card__img { background: transparent; }
.page-template-page-cottages .dcat .bconf-card__img img { object-fit: cover; padding: 0; }
#cottages-catalog .bconf-card__body { display: flex; flex-direction: column; }
#cottages-catalog .bconf-card__prices { margin-top: auto; }
#cottages-catalog .bconf-card__btn { margin-top: 0; }.page-template-page-cottages .blog { background: transparent; }

/* ========== ALUMINUM PRODUCTS ========== */
.alu-products { padding: 64px 0; background: #fff; }
.alu-products__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px; }
.alu-card { background: #fff; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; }
.alu-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.alu-card__img { aspect-ratio: 4/3; overflow: hidden; background: #f1f3f6; display: flex; align-items: center; justify-content: center; padding: 16px; border-radius: 14px; }
.alu-card__img img { width: 100%; height: 100%; max-width: 92%; max-height: 92%; object-fit: contain; display: block; transition: transform .4s; }
.alu-card:hover .alu-card__img img { transform: scale(1.02); }
.alu-card__body { padding: 24px 28px 28px; display: flex; flex-direction: column; flex: 1; }
.alu-card__name { font-size: 1.1rem; font-weight: 800; color: var(--color-text); margin: 0 0 10px; }
.alu-card__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 16px; }
.alu-card__specs { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.alu-card__specs li { font-size: 0.82rem; color: var(--color-text-muted); padding-left: 16px; position: relative; }
.alu-card__specs li::before { content: '\2713'; position: absolute; left: 0; color: var(--color-accent); font-weight: 700; }
.alu-card__price { font-size: 1.5rem; font-weight: 900; color: var(--color-text); margin-bottom: 16px; }
.alu-card__btn { width: 100%; padding: 12px; background: var(--color-accent); color: #fff; border: none; border-radius: 10px; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: opacity .2s; margin-top: auto; }
.alu-card__btn:hover { opacity: .88; }
@media (max-width: 1024px) { .alu-products__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .alu-products__grid { grid-template-columns: 1fr; } }

/* ========== ALUMINUM ADVANTAGES ========== */
.alu-adv { padding: 64px 0; background: #fff; }
.alu-adv__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 36px; }
.alu-adv__card { display: flex; gap: 16px; align-items: flex-start; background: #fff; border-radius: 20px; padding: 24px; transition: box-shadow .2s; }
.alu-adv__card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.05); }
.alu-adv__icon { flex-shrink: 0; color: var(--color-accent); }
.alu-adv__title { font-size: 1rem; font-weight: 800; color: var(--color-text); margin: 0 0 4px; }
.alu-adv__desc { font-size: 0.82rem; color: var(--color-text-muted); line-height: 1.5; margin: 0; }
@media (max-width: 768px) { .alu-adv__grid { grid-template-columns: 1fr; } }

/* ========== ALUMINUM RAL PROMO ========== */
.alu-ral { padding: 64px 0; background: transparent; }
.alu-ral > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.alu-ral__grid { display: grid; grid-template-columns: minmax(280px, 1fr) 1.35fr; gap: 32px; margin-top: 24px; align-items: start; }
.alu-ral__content .section-sub { margin: 0 0 16px; color: var(--color-text-muted); max-width: 62ch; }
.alu-ral__list { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 10px; }
.alu-ral__list li { position: relative; padding-left: 18px; color: var(--color-text); font-size: 0.95rem; line-height: 1.5; }
.alu-ral__list li::before { content: 'вЂў'; position: absolute; left: 0; color: var(--color-accent); }
.alu-ral__palette { display: grid; grid-template-columns: repeat(5, minmax(132px, 1fr)); gap: 14px; }
.alu-ral__swatch { background: #f6f6f7; border-radius: 18px; padding: 10px 10px 12px; box-shadow: inset 0 0 0 1px var(--color-border); }
.alu-ral__swatch-color { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); margin-bottom: 8px; }
.alu-ral__swatch-code { display: block; text-align: center; font-size: 1rem; line-height: 1.2; font-weight: 600; color: var(--color-text); letter-spacing: .01em; }
@media (max-width: 1300px) { .alu-ral__palette { grid-template-columns: repeat(4, minmax(132px, 1fr)); } }
@media (max-width: 1024px) { .alu-ral__palette { grid-template-columns: repeat(3, minmax(132px, 1fr)); } }
@media (max-width: 900px) { .alu-ral__grid { grid-template-columns: 1fr; } .alu-ral__palette { grid-template-columns: repeat(3, minmax(120px, 1fr)); } }
@media (max-width: 620px) { .alu-ral > .wrap { padding: 36px 20px; } .alu-ral__palette { grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 10px; } .alu-ral__swatch-code { font-size: 0.95rem; } }

/* Aluminum page overrides */
.page-template-page-alyuminiy .blog { background: transparent; }

/* ALYUMINIY SUBPAGES: align hero image/button style with /okna/lite60 */
.page-template-page-alyuminiy-sub .prof-hero__photo-mask {
  background: #fff;
}
.page-template-page-alyuminiy-sub .prof-hero__photo-mask img {
  max-width: 480px;
  width: 100%;
  height: 100%;
  padding: 10px;
  object-fit: contain;
}

/* ========== DOOR SUBPAGES ========== */
.dveri-sub-products { padding: 64px 0; background: #fff; }
.dveri-sub__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 36px; }
.dveri-sub-card { background: #fff; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; }
.dveri-sub-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.dveri-sub-card__img { aspect-ratio: 4/3; overflow: hidden; }
.dveri-sub-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.dveri-sub-card:hover .dveri-sub-card__img img { transform: scale(1.04); }
.dveri-sub-card__body { padding: 28px 32px 32px; display: flex; flex-direction: column; flex: 1; }
.dveri-sub-card__badge { display: inline-block; background: #fff; border: 1.5px solid var(--color-border); color: var(--color-text-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 4px 10px; border-radius: 20px; margin-bottom: 12px; }
.dveri-sub-card__badge--hit { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.dveri-sub-card__name { font-size: 1.2rem; font-weight: 800; color: var(--color-text); margin: 0 0 10px; }
.dveri-sub-card__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 16px; }
.dveri-sub-card__specs { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.dveri-sub-card__specs li { font-size: 0.85rem; color: var(--color-text-muted); padding-left: 18px; position: relative; }
.dveri-sub-card__specs li::before { content: 'РІСљвЂњ'; position: absolute; left: 0; color: var(--color-accent); font-weight: 700; }
.dveri-sub-card__price { font-size: 1.6rem; font-weight: 900; color: var(--color-text); margin-bottom: 16px; }
.dveri-sub-card__btn { width: 100%; padding: 13px; background: var(--color-accent); color: #fff; border: none; border-radius: 10px; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: opacity .2s; }
.dveri-sub-card__btn:hover { opacity: .88; }
@media (max-width: 768px) { .dveri-sub__grid { grid-template-columns: 1fr; } }

/* Door subpages: 4-column grid for Р СР ВµР В¶Р С”Р С•Р СР Р…Р В°РЎвЂљР Р…РЎвЂ№Р Вµ */
.page-template-page-dveri-mezhkomnatnye .dveri-sub__grid { grid-template-columns: repeat(2, 1fr); }
/* Subpages blog override */
/* removed: dveri-vhodnye blog white bg */
.page-template-page-dveri-psk .blog { background: transparent; }

/* ============================================================
   Р вЂ™Р ТђР С›Р вЂќР СњР В«Р вЂў Р вЂќР вЂ™Р вЂўР В Р В РІР‚вЂќ vhdv-*
   ============================================================ */
.vhdv-adv { padding: 80px 0; background: transparent; }
.vhdv-adv > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.vhdv-adv__num { font-size: 1.3rem; font-weight: 900; color: var(--color-accent); margin: 0 0 6px; line-height: 1.2; }
.vhdv-adv__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; align-items: stretch; }
.vhdv-adv__card { background: #fff; border-radius: 20px; padding: 28px 24px; min-width: 0; height: 100%; display: flex; flex-direction: column; }
.vhdv-adv__icon { color: var(--color-accent); margin-bottom: 16px; }
.vhdv-adv__title { font-size: 1.05rem; font-weight: 800; color: var(--color-text); margin: 0 0 10px; }
.vhdv-adv__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

/* ODNOSTVORCHATOE advantages: reduce excessive line breaks */
.odn-adv .vhdv-adv__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; align-items: stretch; }
.odn-adv .vhdv-adv__card { border: 1px solid var(--color-border); padding: 24px; display: flex; flex-direction: column; gap: 14px; min-width: 0; height: 100%; }
.odn-adv .odn-adv__head { display: flex; align-items: flex-start; gap: 12px; }
.odn-adv .vhdv-adv__icon { margin: 0; width: 28px; height: 28px; flex: 0 0 28px; }
.odn-adv .odn-adv__meta { min-width: 0; }
.odn-adv .vhdv-adv__num { margin: 0 0 4px; font-size: 1.7rem; line-height: 1; }
.odn-adv .vhdv-adv__title { margin: 0; font-size: 1.05rem; line-height: 1.25; }
.odn-adv .vhdv-adv__desc { font-size: 0.95rem; line-height: 1.55; }

.vhdv-glass { padding: 80px 0; background: #fff; }
.vhdv-glass__lead { font-size: 1rem; color: var(--color-text-muted); max-width: 640px; margin: 0 0 40px; line-height: 1.7; }
.vhdv-glass__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vhdv-glass__card { background: #fff; border-radius: 20px; overflow: hidden; }
.vhdv-glass__img { aspect-ratio: 4/3; overflow: hidden; }
.vhdv-glass__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.vhdv-glass__card:hover .vhdv-glass__img img { transform: scale(1.04); }
.vhdv-glass__body { padding: 20px 24px 24px; }
.vhdv-glass__body h3 { font-size: 1rem; font-weight: 800; color: var(--color-text); margin: 0 0 8px; }
.vhdv-glass__body p { font-size: 0.875rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

.vhdv-series { padding: 80px 0; background: #fff; }
.vhdv-series__compare { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; margin-top: 48px; }
.vhdv-series__card { background: #fff; border-radius: 24px; overflow: hidden; position: relative; }
.vhdv-series__card--hit { border: 2px solid var(--color-accent); background: #fff; }
.vhdv-series__hit-badge { position: absolute; top: 16px; right: 16px; background: var(--color-accent); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; letter-spacing: .06em; z-index: 1; }
.vhdv-series__img { aspect-ratio: 4/3; overflow: hidden; }
.vhdv-series__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vhdv-series__body { padding: 28px 32px 36px; }
.vhdv-series__badge { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-accent); background: rgba(211,47,47,.08); border-radius: 20px; padding: 4px 12px; margin-bottom: 12px; }
.vhdv-series__body h3 { font-size: 1.3rem; font-weight: 800; color: var(--color-text); margin: 0 0 10px; }
.vhdv-series__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 20px; }
.vhdv-series__specs { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.vhdv-series__specs td { font-size: 0.875rem; padding: 7px 0; border-bottom: 1px solid var(--color-border); color: var(--color-text-muted); }
.vhdv-series__specs td:first-child { color: var(--color-text); width: 55%; }
.vhdv-series__price { font-size: 1.6rem; font-weight: 900; color: var(--color-text); margin-bottom: 20px; }

.vhdv-acc { padding: 80px 0; background: var(--color-bg-dark); }
.vhdv-acc .section-label { color: rgba(255,255,255,.5); }
.vhdv-acc .section-title { color: #fff; }
.vhdv-acc__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 48px; }
.vhdv-acc__card { background: var(--color-bg-dark); border-radius: 20px; padding: 28px 24px; }
.vhdv-acc__icon { color: var(--color-accent); margin-bottom: 16px; }
.vhdv-acc__card h3 { font-size: 1rem; font-weight: 800; color: #fff; margin: 0 0 10px; }
.vhdv-acc__card p { font-size: 0.875rem; color: rgba(255,255,255,.55); line-height: 1.6; margin: 0; }

@media (max-width: 1024px) {
  .vhdv-adv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .odn-adv .vhdv-adv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vhdv-acc__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .vhdv-adv__grid, .vhdv-glass__grid, .vhdv-series__compare { grid-template-columns: 1fr; }
  .vhdv-acc__grid { grid-template-columns: 1fr; }
  .odn-adv .vhdv-adv__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Р вЂР С’Р вЂєР С™Р С›Р СњР СњР В«Р вЂў Р вЂќР вЂ™Р вЂўР В Р В РІР‚вЂќ bldv-*
   ============================================================ */
.bldv-komplekt { padding: 80px 0; background: #fff; }
.bldv-komplekt__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; }
.bldv-komplekt__item { background: #fff; border-radius: 20px; padding: 36px 28px; text-align: center; }
.bldv-komplekt__icon { color: var(--color-accent); margin-bottom: 20px; }
.bldv-komplekt__item h3 { font-size: 1.1rem; font-weight: 800; color: var(--color-text); margin: 0 0 12px; }
.bldv-komplekt__item p { font-size: 0.875rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 16px; }
.bldv-komplekt__spec { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--color-accent); background: rgba(211,47,47,.08); border-radius: 20px; padding: 5px 14px; }

.bldv-prices { padding: 80px 0; background: #fff; }
.bldv-prices__table-wrap { overflow-x: auto; margin: 40px 0 20px; }
.bldv-prices__table { width: 100%; border-collapse: collapse; }
.bldv-prices__table th { text-align: left; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-text-muted); padding: 0 16px 16px; border-bottom: 2px solid var(--color-border); }
.bldv-prices__table td { padding: 18px 16px; border-bottom: 1px solid var(--color-border); font-size: 0.9rem; color: var(--color-text); vertical-align: top; }
.bldv-prices__table tbody tr:hover { background: #fff; }
.bldv-prices__row--hit { background: rgba(211,47,47,.03); }
.bldv-prices__sub { display: block; font-size: 0.8rem; color: var(--color-text-muted); margin-top: 3px; }
.bldv-prices__badge { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: var(--color-accent); color: #fff; border-radius: 20px; padding: 2px 8px; margin-top: 5px; }
.bldv-prices__cost { font-size: 1.1rem; font-weight: 900; color: var(--color-text); white-space: nowrap; }
.bldv-prices__monthly { font-size: 0.875rem; color: var(--color-accent); font-weight: 700; white-space: nowrap; }
.bldv-prices__note { font-size: 0.825rem; color: var(--color-text-muted); line-height: 1.6; max-width: 700px; }
.bldv-prices__cta { display: flex; align-items: center; gap: 16px; margin-top: 32px; flex-wrap: wrap; }

.bldv-melke { padding: 80px 0; background: var(--color-bg-dark); }
.bldv-melke .section-label { color: rgba(255,255,255,.5); }
.bldv-melke .section-title { color: #fff; }
.bldv-melke__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 48px; align-items: start; }
.bldv-melke__intro { font-size: 0.95rem; color: rgba(255,255,255,.7); line-height: 1.7; margin: 0 0 28px; }
.bldv-melke__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.bldv-melke__list li { font-size: 0.9rem; color: rgba(255,255,255,.7); display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: rgba(255,255,255,.05); border-radius: 10px; }
.bldv-melke__list li span { font-weight: 900; color: #fff; font-size: 1rem; min-width: 80px; }
.bldv-melke__profiles { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.bldv-melke__profile-item { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; background: var(--color-bg-dark); border-radius: 12px; }
.bldv-melke__profile-item strong { font-size: 0.9rem; font-weight: 800; color: #fff; }
.bldv-melke__profile-item span { font-size: 0.8rem; color: rgba(255,255,255,.5); }
.bldv-melke__link { display: inline-block; color: var(--color-accent); font-size: 0.9rem; font-weight: 700; text-decoration: none; }
.bldv-melke__link:hover { text-decoration: underline; }

.bldv-colours { padding: 80px 0; background: #fff; }
.bldv-colours__lead { font-size: 0.95rem; color: var(--color-text-muted); max-width: 680px; margin: 0 0 40px; line-height: 1.7; }
.bldv-colours__swatches { display: flex; flex-wrap: wrap; gap: 16px; }
.bldv-colours__swatch { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.bldv-colours__dot { width: 48px; height: 48px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.bldv-colours__swatch span { font-size: 0.72rem; color: var(--color-text-muted); text-align: center; max-width: 60px; }
.bldv-colours__cta { margin-top: 36px; }

@media (max-width: 1024px) {
  .bldv-melke__grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 768px) {
  .bldv-komplekt__grid { grid-template-columns: 1fr; }
  .bldv-melke__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Р СљР вЂўР вЂ“Р С™Р С›Р СљР СњР С’Р СћР СњР В«Р вЂў Р вЂќР вЂ™Р вЂўР В Р В РІР‚вЂќ mzdv-*
   ============================================================ */
.mzdv-intro { padding: 80px 0; background: #fff; }
.mzdv-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.mzdv-intro__text p { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.7; margin: 0 0 16px; }
.mzdv-intro__facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.mzdv-intro__fact { background: #fff; border-radius: 20px; padding: 24px 20px; text-align: center; }
.mzdv-intro__num { display: block; font-size: 2rem; font-weight: 900; color: var(--color-accent); line-height: 1.1; }
.mzdv-intro__lbl { font-size: 0.8rem; color: var(--color-text-muted); margin-top: 4px; }

.mzdv-variants { padding: 80px 0; background: #fff; }
.mzdv-variants .dveri-sub__grid { grid-template-columns: repeat(2, 1fr); }

.mzdv-why { padding: 80px 0; background: #fff; }
.mzdv-why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 48px; }
.mzdv-why__item { padding: 24px 20px; border-radius: 20px; border: 1.5px solid var(--color-border); }
.mzdv-why__num { font-size: 2rem; font-weight: 900; color: var(--color-accent); opacity: .25; line-height: 1; margin-bottom: 10px; }
.mzdv-why__item h3 { font-size: 0.95rem; font-weight: 800; color: var(--color-text); margin: 0 0 8px; }
.mzdv-why__item p { font-size: 0.85rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

.mzdv-features { padding: 80px 0; background: var(--color-bg-dark); }
.mzdv-features .section-label { color: rgba(255,255,255,.5); }
.mzdv-features .section-title { color: #fff; }
.mzdv-features__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; }
.mzdv-features__item { background: var(--color-bg-dark); border-radius: 20px; padding: 36px 28px; }
.mzdv-features__item svg { color: var(--color-accent); margin-bottom: 20px; display: block; }
.mzdv-features__item h3 { font-size: 1rem; font-weight: 800; color: #fff; margin: 0 0 12px; }
.mzdv-features__item p { font-size: 0.875rem; color: rgba(255,255,255,.55); line-height: 1.6; margin: 0; }

.mzdv-process { padding: 80px 0; background: #fff; }
.mzdv-process__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.mzdv-process__step { padding: 28px 24px; border-radius: 20px; border: 1.5px solid var(--color-border); position: relative; }
.mzdv-process__num { font-size: 3rem; font-weight: 900; color: var(--color-accent); opacity: .15; line-height: 1; margin-bottom: 12px; }
.mzdv-process__step h3 { font-size: 1rem; font-weight: 800; color: var(--color-text); margin: 0 0 8px; }
.mzdv-process__step p { font-size: 0.875rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

.mzdv-guarantee { padding: 80px 0; background: #fff; }
.mzdv-guarantee__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; }
.mzdv-guarantee__card { background: #fff; border-radius: 24px; padding: 40px 32px; text-align: center; }
.mzdv-guarantee__years { font-size: 5rem; font-weight: 900; color: var(--color-accent); line-height: 1; }
.mzdv-guarantee__lbl { font-size: 1rem; font-weight: 700; color: var(--color-text-muted); margin-bottom: 16px; }
.mzdv-guarantee__card h3 { font-size: 1rem; font-weight: 800; color: var(--color-text); margin: 0 0 10px; }
.mzdv-guarantee__card p { font-size: 0.875rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

@media (max-width: 1024px) {
  .mzdv-intro__grid { grid-template-columns: 1fr; gap: 40px; }
  .mzdv-why__grid { grid-template-columns: repeat(2, 1fr); }
  .mzdv-process__steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .mzdv-intro__grid, .mzdv-features__grid, .mzdv-guarantee__grid { grid-template-columns: 1fr; }
  .mzdv-why__grid { grid-template-columns: 1fr; }
  .mzdv-process__steps { grid-template-columns: 1fr; }
  .mzdv-variants .dveri-sub__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PSK-Р СџР С›Р В Р СћР С’Р вЂєР В« РІР‚вЂќ psk-*
   ============================================================ */
.psk-specs { padding: 80px 0; background: transparent; }
.psk-specs > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.psk-specs__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 48px; align-items: center; }
.psk-specs__table { width: 100%; border-collapse: collapse; }
.psk-specs__table tr:nth-child(even) { background: #fff; }
.psk-specs__table td { padding: 12px 16px; font-size: 0.9rem; color: var(--color-text-muted); border-radius: 6px; }
.psk-specs__table td:first-child { font-weight: 500; }
.psk-specs__table td strong { color: var(--color-text); }
.psk-specs__img-wrap { border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; }
.psk-specs__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.psk-specs__cta { display: flex; align-items: center; gap: 24px; margin-top: 36px; flex-wrap: wrap; }
.psk-specs__price { font-size: 1.5rem; font-weight: 900; color: var(--color-text); }

@media (max-width: 1024px) {
  .psk-specs__layout { grid-template-columns: 1fr; gap: 40px; }
  .psk-specs__img-wrap { order: -1; }
}

/* ============================================================
   Р вЂ™Р ТђР С›Р вЂќР СњР В«Р вЂў Р вЂќР вЂ™Р вЂўР В Р В РІР‚вЂќ vhdv-configs / vhdv-guarantee / vhdv-capture
   ============================================================ */
.vhdv-configs { padding: 80px 0; background: #fff; }
.vhdv-configs .section-sub { font-size: .95rem; color: var(--color-text-muted); max-width: 640px; margin: 12px 0 40px; line-height: 1.7; }
.vhdv-configs__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.vhdv-configs__card { background: #fff; border-radius: 20px; overflow: hidden; position: relative; box-shadow: 0 2px 12px rgba(0,0,0,.06); display: flex; flex-direction: column; }
.vhdv-configs__tag { position: absolute; top: 12px; left: 12px; background: var(--color-accent); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; letter-spacing: .06em; }
.vhdv-configs__img { aspect-ratio: 3/4; overflow: hidden; }
.vhdv-configs__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.vhdv-configs__card:hover .vhdv-configs__img img { transform: scale(1.04); }
.vhdv-configs__body { padding: 20px; display: flex; flex-direction: column; flex: 1; gap: 8px; }
.vhdv-configs__name { font-size: 1rem; font-weight: 800; color: var(--color-text); margin: 0; }
.vhdv-configs__desc { font-size: .8rem; color: var(--color-text-muted); line-height: 1.5; margin: 0; flex: 1; }
.vhdv-configs__price { font-size: 1.15rem; font-weight: 900; color: var(--color-text); }
.btn-sm { font-size: .8rem; padding: 8px 16px; border-radius: 8px; }

.vhdv-guarantee { padding: 80px 0; background: transparent; }
.vhdv-guarantee > .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 80px 32px; }
.vhdv-guarantee__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; }
.vhdv-guarantee__card { background: #fff; border-radius: 20px; padding: 40px 32px; text-align: center; }
.vhdv-guarantee__card--accent { background: rgba(255,255,255,.06); border-top: 3px solid var(--color-accent); }

.vhdv-guarantee__num { font-size: clamp(2.5rem, 4vw, 3.5rem); font-weight: 900; color: var(--color-accent); line-height: 1; }

.vhdv-guarantee__title { font-size: 1rem; font-weight: 700; color: var(--color-text); margin: 8px 0 16px; }
.vhdv-guarantee__desc { font-size: .875rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

.vhdv-capture { padding: 80px 0; background: #fff; }
.vhdv-capture__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.vhdv-capture__title { font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 900; color: var(--color-text); margin: 8px 0 16px; }
.vhdv-capture__desc { font-size: .95rem; color: var(--color-text-muted); line-height: 1.7; margin: 0 0 24px; }
.vhdv-capture__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.vhdv-capture__list li { display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--color-text-muted); }
.vhdv-capture__list li::before { content: 'РІСљвЂњ'; color: var(--color-success); font-weight: 700; flex-shrink: 0; }
.vhdv-capture__form { background: #fff; border-radius: 20px; padding: 40px; box-shadow: 0 4px 24px rgba(0,0,0,.08); }
.vhdv-capture__form .cta-form { display: flex; flex-direction: column; gap: 12px; }
.vhdv-capture__form .cta-input { background: #fff; border: 1.5px solid var(--color-border); color: var(--color-text); border-radius: 10px; padding: 14px 16px; font-size: 1rem; outline: none; transition: border-color .2s; }
.vhdv-capture__form .cta-input:focus { border-color: var(--color-accent); }

@media (max-width: 1199px) {
  .vhdv-configs__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .vhdv-configs__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .vhdv-guarantee__grid { grid-template-columns: 1fr; }
  .vhdv-capture__inner { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 480px) {
  .vhdv-configs__grid { grid-template-columns: 1fr; }
}

/* Guarantee dark section РІР‚вЂќ text overrides */
.vhdv-guarantee .section-label { color: var(--color-accent); }
.vhdv-guarantee .section-title { color: #fff; }
.vhdv-guarantee__card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.vhdv-guarantee__title { color: rgba(255,255,255,.9); }
.vhdv-guarantee__desc { color: rgba(255,255,255,.6); }
.vhdv-guarantee__card--accent { border-color: var(--color-accent); border-top: 3px solid var(--color-accent); }

/* ============================================================
   REDESIGN: section-card wrappers (body gray, content in white cards)
   ============================================================ */

.wintypes { background: transparent; }
.wintypes > .wrap { background: var(--color-white); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.install > .wrap { background: var(--color-white); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

/* cat-card variants (replacing inline styles) */
.cat-card--dark { background: #fff; color: var(--color-text); }
.cat-card--dark .cat-card-label span { color: var(--color-text-muted); }
.cat-card--dark-alt { background: #fff; color: var(--color-text); }
.cat-card--dark-alt .cat-card-label span { color: var(--color-text-muted); }

/* SEO text fact icon color */
.seotext__fact-icon { color: var(--color-accent); }
.seotext__fact-icon svg { stroke: currentColor; }

/* Tab unification: align .tab-btn to match .cat-tab/.cfg-tab */
.tab-btn { padding: 9px 20px; }

/* Why icon color for currentColor SVGs */
.why-icon { color: var(--color-accent); }

/* ============================================================
   PROMO REDESIGN: dark РІвЂ вЂ™ light section-card
   ============================================================ */
.promo { background: transparent; }
.promo > .wrap { background: var(--color-white); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); min-width: 0; max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.promo .section-label { color: var(--color-accent); }
.promo .section-title { color: var(--color-text); }
.promo__card { background: #fff; border: 1.5px solid var(--color-border); }
.promo__card--accent { background: #fff; border-color: var(--color-accent); }
.promo__discount { color: var(--color-accent); }
.promo__title { color: var(--color-text); }
.promo__text { color: var(--color-text-muted); }
.promo__list li { color: var(--color-text-muted); }
.promo__list li::before { color: var(--color-accent); }
.promo__card-badge--blue { background: var(--color-text-muted); }

/* cshapes РІР‚вЂќ section-card wrap */
.cshapes { background: transparent; }
.cshapes > .wrap { background: var(--color-white); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
@media (max-width: 640px) { .cshapes > .wrap { padding: 24px 16px; } }

/* BALKONY REDESIGN: section-card wrappers */
.bpkg { background: transparent; }
.bpkg > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.bmat { background: transparent; }
.bmat > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.bsteps { background: transparent; }
.bsteps > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.bhtypes { background: transparent; }
.bhtypes > .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 48px 32px; }

/* DVERI REDESIGN: section-card wrapper for dconf */
.dconf { padding: 64px 0; background: transparent; }
.dconf > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

/* COTTAGES REDESIGN: section-card wrapper for ctg-adv */
.ctg-adv { background: transparent; }
.ctg-adv > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

/* BUGFIX: complektaciya РІР‚вЂќ dark on .wrap, not on section */
.complektaciya { background: transparent; }
.complektaciya > .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 48px 32px; }
/* BUGFIX: remove cottages blog white background */
.page-template-page-cottages .blog { background: transparent !important; }


/* FIX: ensure all sections have transparent background (cards-on-gray pattern) */
.catalog { background: transparent; }
.profiles { background: transparent; }
.configs { background: transparent; }
.why { background: transparent; }
.reviews { background: transparent; }
section.blog { background: transparent; }
.pcompare { background: transparent; }
.bconf { background: transparent; }
.bex { background: transparent; }
.dcat { background: transparent; }
.page-template-page-dveri .compare { background: transparent; }
.page-template-page-cottages .profiles { background: transparent; }


/* ALYUMINIY PAGE: section-card backgrounds */
.alu-products { background: transparent; }
.alu-products > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.alu-adv { background: transparent; }
.alu-adv > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.alu-adv__card { background: #fff; }

/* ============================================================
   BUGFIX #15: Consistent section backgrounds across ALL pages
   Rule: body gray, sections transparent, white only in .wrap cards
   Dark sections inside .wrap with border-radius: 20px
   ============================================================ */

/* --- White section bg РІвЂ вЂ™ transparent + .wrap white card --- */
.okna-types { background: transparent; }
.okna-types > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.stats { background: transparent; border-top: none; border-bottom: none; }
.stats > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.dveri-sub-products { background: transparent; }
.dveri-sub-products > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.vhdv-series { background: transparent; }
.vhdv-series > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.bldv-prices { background: transparent; }
.bldv-prices > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.mzdv-intro { background: transparent; }
.mzdv-intro > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.mzdv-why { background: transparent; }
.mzdv-why > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }

.mzdv-process { background: transparent; }
.mzdv-process > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }


/* --- Dark sections РІвЂ вЂ™ transparent + .wrap dark card with border-radius --- */
.vhdv-acc { background: transparent; }
.vhdv-acc > .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 48px 32px; }

.bldv-melke { background: transparent; }
.bldv-melke > .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 48px 32px; }

.mzdv-features { background: transparent; }
.mzdv-features > .wrap { background: var(--color-bg-dark); border-radius: 20px; padding: 48px 32px; }

/* --- Explicit var(--color-bg-section) РІвЂ вЂ™ transparent (inherit body gradient) --- */
.vhdv-glass { background: transparent; }
.vhdv-configs { background: transparent; }
.vhdv-capture { background: transparent; }
.bldv-komplekt { background: transparent; }
.bldv-colours { background: transparent; }
.mzdv-variants { background: transparent; }
.mzdv-guarantee { background: transparent; }
.wtypes { background: transparent; }
/* === Pod Derevo: Lamination Colors === */
.pd-colors { padding: 64px 0; }
.pd-colors .section-sub { max-width: 640px; }
.pd-colors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 32px; }
.pd-swatch { display: flex; align-items: flex-start; gap: 16px; background: #fff; border-radius: 14px; padding: 24px; border: 1px solid var(--color-border); transition: box-shadow .2s, transform .2s; }
.pd-swatch:hover { box-shadow: 0 8px 24px rgba(236,26,74,.08); transform: translateY(-2px); }
.pd-swatch-dot { width: 56px; height: 56px; border-radius: 12px; flex-shrink: 0; border: 2px solid var(--color-border); }
.pd-swatch-body { flex: 1; min-width: 0; }
.pd-swatch-name { font-size: 1.05rem; font-weight: 700; color: var(--color-text); margin-bottom: 4px; }
.pd-swatch-desc { font-size: 0.85rem; color: var(--color-text-muted); line-height: 1.5; }
.pd-colors-note { margin-top: 24px; font-size: 0.85rem; color: var(--color-text-muted); text-align: center; }

@media (max-width: 900px) {
  .pd-colors-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .pd-colors-grid { grid-template-columns: 1fr; }
  .pd-swatch { padding: 16px; }
  .pd-swatch-dot { width: 44px; height: 44px; }
}/* ============================================================
   TASK #104: Mezhkomnatnye tab panels (50/50 layout)
   ============================================================ */
.mezh-panel { display: none; }
.mezh-panel.active { display: block; }
.mezh-panel__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 8px;
}
.mezh-panel__img {
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}
.mezh-panel__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 4/3;
}
.mezh-panel__title {
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 800;
  color: var(--color-text);
  margin: 0 0 12px;
}
.mezh-panel__price {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 900;
  color: var(--color-accent);
  margin-bottom: 4px;
}
.mezh-panel__price span {
  font-size: 0.55em;
  font-weight: 600;
  color: var(--color-text-muted);
}
.mezh-panel__size {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 16px;
}
.mezh-panel__desc {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 20px;
}
.mezh-panel__pros {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.mezh-panel__pros li {
  position: relative;
  padding-left: 28px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text);
  margin-bottom: 10px;
}
.mezh-panel__pros li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-success);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
}

/* Section card wrapper for configs */
.dconf > .wrap.section-card {
  background: #fff;
  border-radius: 20px;
  padding: 48px 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

@media (max-width: 768px) {
  .mezh-panel__layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .mezh-panel__img {
    max-height: 300px;
  }
  .dconf > .wrap.section-card {
    padding: 32px 20px;
  }
}

@media (max-width: 540px) {
  .mezh-panel__title { font-size: 20px; }
  .mezh-panel__price { font-size: 24px; }
  .mezh-panel__desc { font-size: 15px; }
  .dconf > .wrap.section-card {
    padding: 24px 16px;
  }
}

/* ========================================
   PSK-Р СџР С›Р В Р СћР С’Р вЂєР В«: Р СњР С›Р вЂ™Р В«Р вЂў Р РЋР СћР ВР вЂєР В
   ======================================== */

/* PSK: HERO */
.psk-hero {
  position: relative;
  min-height: var(--hero-min-height-mobile);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: transparent;
}
.psk-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.psk-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.52), rgba(0,0,0,.52));
}
.psk-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }
.psk-hero__content {
  max-width: 700px;
}
.psk-hero .section-label {
  color: rgba(255,255,255,.7);
}
.psk-hero h1 {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  margin: 0 0 16px 0;
}
.psk-hero__sub {
  font-size: 18px;
  color: rgba(255,255,255,.8);
  max-width: 640px;
  line-height: 1.5;
  margin-bottom: 16px;
}
.psk-hero__price {
  font-size: 32px;
  font-weight: 900;
  color: #fff;
  margin: 12px 0;
}
.psk-hero__price small {
  font-size: 16px;
  font-weight: 500;
  color: rgba(255,255,255,.8);
}
.psk-hero__cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
@media (max-width: 600px) {
  .psk-hero {
    min-height: auto;
  }
  .psk-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
}

/* PSK: CONFIGS (Р СћР С’Р вЂР В«) */
.psk-configs {
  padding: 64px 0;
  background: transparent;
}
.psk-configs > .wrap {
  background: var(--color-white, #fff);
  border-radius: 20px;
  padding: 48px 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.psk-configs__tabs {
  display: flex;
  gap: 8px;
  margin: 24px 0;
  border-bottom: 2px solid var(--color-border);
  flex-wrap: wrap;
}
.psk-tab {
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-muted);
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: all .15s;
}
.psk-tab:hover {
  color: var(--color-accent);
}
.psk-tab.active {
  color: var(--color-accent);
  border-bottom-color: var(--color-accent);
}
.psk-tab-content {
  display: none;
  padding: 32px 0;
}
.psk-tab-content.active {
  display: block;
}
.psk-config-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.psk-config-img-wrap {
  position: relative;
}
.psk-config-img {
  width: 100%;
  border-radius: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.psk-config-info {
  display: flex;
  flex-direction: column;
}
.psk-config-info h3 {
  font-size: 28px;
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 12px;
}
.psk-config-desc {
  font-size: 16px;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: 16px;
}
.psk-config-price {
  font-size: 36px;
  font-weight: 900;
  color: var(--color-accent);
  margin: 20px 0;
}
.psk-config-price small {
  font-size: 18px;
  font-weight: 500;
  color: var(--color-text-muted);
}
.psk-config-features {
  list-style: none;
  padding: 0;
  margin: 24px 0;
}
.psk-config-features li {
  padding: 8px 0;
  font-size: 15px;
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.psk-config-features li::before {
  content: 'РІСљвЂњ';
  color: var(--color-success);
  font-weight: 700;
  font-size: 16px;
}

/* PSK: ADVANTAGES */
.psk-advantages {
  padding: 64px 0;
  background: transparent;
}
.psk-advantages > .wrap {
  background: var(--color-white, #fff);
  border-radius: 20px;
  padding: 48px 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.psk-advantages__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.psk-adv-card {
  background: #fff;
  border-radius: 20px;
  padding: 28px 24px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
  border-top: 3px solid var(--color-accent);
  transition: transform .2s, box-shadow .2s;
}
.psk-adv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}
.psk-adv-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: linear-gradient(135deg, #D41745 0%, #ff4d6d 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.psk-adv-icon svg {
  width: 28px;
  height: 28px;
  color: #fff;
}
.psk-adv-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 8px;
}
.psk-adv-text {
  font-size: 14px;
  color: var(--color-text-muted);
  line-height: 1.5;
}

/* PSK: TECH SPECS РІР‚вЂќ Р Т‘РЎС“Р В±Р В»Р С‘Р С”Р В°РЎвЂљ РЎС“Р Т‘Р В°Р В»РЎвЂР Р…, Р С‘РЎРѓР С—Р С•Р В»РЎРЉР В·РЎС“Р ВµРЎвЂљРЎРѓРЎРЏ Р С•Р С—РЎР‚Р ВµР Т‘Р ВµР В»Р ВµР Р…Р С‘Р Вµ Р С‘Р В· РЎРѓРЎвЂљРЎР‚Р С•Р С”Р С‘ ~1688 */

/* PSK: SEO TEXT */
.seo-text {
  padding: 64px 0;
}
.seo-text__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  margin-top: 32px;
}
.seo-text__col p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-text);
  margin-bottom: 16px;
}

/* PSK: COMPARE TABLE */
.psk-compare {
  padding: 64px 0;
  background: transparent;
}
.psk-compare > .wrap {
  background: var(--color-white, #fff);
  border-radius: 20px;
  padding: 48px 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.psk-compare__table-wrap {
  margin-top: 32px;
  overflow-x: auto;
}
.psk-compare__table {
  width: 100%;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
  border-collapse: collapse;
}
.psk-compare__table thead {
  background: var(--color-bg-dark);
}
.psk-compare__table thead th {
  padding: 16px 20px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: left;
}
.psk-compare__table tbody tr {
  border-bottom: 1px solid var(--color-border);
}
.psk-compare__table tbody tr:last-child {
  border-bottom: none;
}
.psk-compare__table tbody td {
  padding: 16px 20px;
  font-size: 15px;
  color: var(--color-text);
}
.psk-compare__table tbody td:first-child {
  font-weight: 600;
}
.compare-yes {
  color: var(--color-success);
  font-weight: 600;
}
.compare-no {
  color: var(--color-text-muted);
}

/* PSK: GUARANTEE */
.psk-guarantee {
  padding: 64px 0;
  background: transparent;
}
.psk-guarantee > .wrap {
  background: var(--color-white, #fff);
  border-radius: 20px;
  padding: 48px 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.psk-guarantee__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.psk-guarantee__card {
  background: #fff;
  border-radius: 20px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
  border-top: 3px solid var(--color-border);
  transition: transform .2s;
}
.psk-guarantee__card:hover {
  transform: translateY(-4px);
}
.psk-guarantee__card--accent {
  border-top-color: var(--color-accent);
  background: linear-gradient(135deg, #fff 0%, #fff5f7 100%);
}
.psk-guarantee__num {
  font-size: 40px;
  font-weight: 900;
  color: var(--color-accent);
  margin-bottom: 12px;
}
.psk-guarantee__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 10px;
}
.psk-guarantee__desc {
  font-size: 14px;
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* PSK: MOBILE */
@media (max-width: 768px) {
  .psk-config-layout,
  .psk-specs__layout,
  .seo-text__content {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .psk-advantages__grid,
  .psk-guarantee__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .psk-hero__cta {
    flex-direction: column;
  }
  .psk-hero__cta .btn {
    width: 100%;
  }
  .psk-config-layout .psk-config-img-wrap {
    order: 1;
  }
  .psk-config-layout .psk-config-info {
    order: 2;
  }
  .psk-compare__table {
    font-size: 13px;
  }
  .psk-compare__table th,
  .psk-compare__table td {
    padding: 12px 10px;
  }
}
/* =============================================================================
   Р С›Р РЋР СћР вЂўР С™Р вЂєР вЂўР СњР ВР вЂў Р вЂќР С›Р СљР С›Р вЂ™ РІР‚вЂќ Р Т‘Р С•Р С—Р С•Р В»Р Р…Р С‘РЎвЂљР ВµР В»РЎРЉР Р…РЎвЂ№Р Вµ РЎРѓРЎвЂљР С‘Р В»Р С‘
   ========================================================================== */

/* TABS SECTION */
.glazing-tabs {
  padding: 64px 0;
}

.tabs-nav {
  display: flex;
  gap: 12px;
  margin: 32px 0 24px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.tabs-nav::-webkit-scrollbar {
  display: none;
}

.tab-btn {
  padding: 12px 24px;
  border: 2px solid var(--color-border);
  background: #fff;
  color: var(--color-text);
  border-radius: var(--radius);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
  flex-shrink: 0;
  min-height: 44px;
}

.tab-btn:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.tab-btn.active {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: #fff;
}

.tabs-content {
  margin-top: 24px;
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.tab-title {
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--color-text);
}

.tab-features {
  list-style: none;
  margin: 24px 0;
  display: grid;
  gap: 12px;
}

.tab-features li {
  position: relative;
  padding-left: 28px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-text);
}

.tab-features li::before {
  content: 'РІСљвЂњ';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-success);
  font-weight: 700;
  font-size: 18px;
}

.tab-price {
  margin-top: 24px;
  font-size: 28px;
  font-weight: 900;
  color: var(--color-accent);
}

/* Cottage glazing visual tabs */
#tabs.kottegi-tabs {
  padding: 64px 0;
}
#tabs.kottegi-tabs .catalog-tabs {
  margin: 28px 0 28px;
}
#tabs.kottegi-tabs .catalog-tabs .cat-tab.tab-btn {
  padding: 9px 20px;
  border: 1px solid #ddd;
  border-radius: 30px;
  background: #fff;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}
#tabs.kottegi-tabs .catalog-tabs .cat-tab.tab-btn.active,
#tabs.kottegi-tabs .catalog-tabs .cat-tab.tab-btn:hover {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: #fff !important;
}
#tabs.kottegi-tabs .tabs-content {
  margin: 0;
}
#tabs.kottegi-tabs .kottegi-tabs__layout {
  display: grid;
  grid-template-columns: minmax(300px, 36%) minmax(0, 1fr);
  gap: 28px;
  align-items: stretch;
}
#tabs.kottegi-tabs .kottegi-tabs__media {
  min-height: 330px;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
}
#tabs.kottegi-tabs .kottegi-tabs__media img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  display: block;
  object-fit: cover;
}
#tabs.kottegi-tabs .kottegi-tabs__card {
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: clamp(24px, 3vw, 38px);
  border-radius: 16px;
  background: #fff;
}
#tabs.kottegi-tabs .tab-title {
  margin: 0 0 16px;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 850;
}
#tabs.kottegi-tabs .kottegi-tabs__card p {
  max-width: 980px;
  margin: 0;
  color: var(--color-text);
  font-size: clamp(16px, 1.2vw, 20px);
  line-height: 1.55;
}
#tabs.kottegi-tabs .tab-price {
  margin: auto 0 22px;
  padding-top: 28px;
  color: var(--color-text);
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 900;
}
#tabs.kottegi-tabs .btn {
  align-self: flex-start;
}
@media (max-width: 900px) {
  #tabs.kottegi-tabs .kottegi-tabs__layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #tabs.kottegi-tabs .kottegi-tabs__media,
  #tabs.kottegi-tabs .kottegi-tabs__media img,
  #tabs.kottegi-tabs .kottegi-tabs__card {
    min-height: 0;
  }
  #tabs.kottegi-tabs .kottegi-tabs__media {
    aspect-ratio: 16 / 10;
  }
}
@media (max-width: 640px) {
  #tabs.kottegi-tabs {
    padding: 42px 0;
  }
  #tabs.kottegi-tabs .catalog-tabs {
    margin: 24px 0 20px;
  }
  #tabs.kottegi-tabs .kottegi-tabs__card {
    padding: 22px;
  }
  #tabs.kottegi-tabs .btn {
    width: 100%;
  }
}


/* Terraces glazing visual tabs */
#types.terrasy-tabs {
  padding: 64px 0;
}
#types.terrasy-tabs .catalog-tabs {
  margin: 28px 0 28px;
}
#types.terrasy-tabs .catalog-tabs .cat-tab.tab-btn {
  padding: 9px 20px;
  border: 1px solid #ddd;
  border-radius: 30px;
  background: #fff;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}
#types.terrasy-tabs .catalog-tabs .cat-tab.tab-btn.active,
#types.terrasy-tabs .catalog-tabs .cat-tab.tab-btn:hover {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: #fff !important;
}
#types.terrasy-tabs .tabs-content {
  margin: 0;
}
#types.terrasy-tabs .tab-panel.active {
  display: block;
}
#types.terrasy-tabs .terrasy-tabs__layout {
  display: grid;
  grid-template-columns: minmax(300px, 36%) minmax(0, 1fr);
  gap: 28px;
  align-items: stretch;
  min-height: 330px;
}
#types.terrasy-tabs .terrasy-tabs__media {
  height: 330px;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
}
#types.terrasy-tabs .terrasy-tabs__media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: cover;
}
#types.terrasy-tabs .terrasy-tabs__card {
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: clamp(24px, 3vw, 38px);
  border-radius: 16px;
  background: #fff;
}
#types.terrasy-tabs .tab-title {
  margin: 0 0 16px;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 850;
}
#types.terrasy-tabs .terrasy-tabs__card p {
  max-width: 980px;
  margin: 0;
  color: var(--color-text);
  font-size: clamp(16px, 1.2vw, 20px);
  line-height: 1.55;
}
#types.terrasy-tabs .tab-price {
  margin: auto 0 22px;
  padding-top: 28px;
  color: var(--color-text);
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 900;
}
#types.terrasy-tabs .btn {
  align-self: flex-start;
}
@media (max-width: 900px) {
  #types.terrasy-tabs .terrasy-tabs__layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #types.terrasy-tabs .terrasy-tabs__media,
  #types.terrasy-tabs .terrasy-tabs__media img,
  #types.terrasy-tabs .terrasy-tabs__card {
    min-height: 0;
  }
  #types.terrasy-tabs .terrasy-tabs__layout {
    min-height: 0;
  }
  #types.terrasy-tabs .terrasy-tabs__media {
    height: auto;
    aspect-ratio: 16 / 10;
  }
}
@media (max-width: 640px) {
  #types.terrasy-tabs {
    padding: 42px 0;
  }
  #types.terrasy-tabs .catalog-tabs {
    margin: 24px 0 20px;
  }
  #types.terrasy-tabs .terrasy-tabs__card {
    padding: 22px;
  }
  #types.terrasy-tabs .btn {
    width: 100%;
  }
}

/* SEO TEXT SECTION */

.seotext-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  margin-top: 32px;
}

.seotext-main h2 {
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 800;
  margin-bottom: 20px;
  color: var(--color-text);
}

.seotext-main p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 16px;
}

.seotext-sidebar .section-card {
  position: sticky;
  top: 100px;
}

.sidebar-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--color-text);
}

.sidebar-facts {
  list-style: none;
  display: grid;
  gap: 20px;
}

.sidebar-facts li {
  border-top: 3px solid var(--color-accent);
  padding-top: 12px;
}

.fact-num {
  font-size: 32px;
  font-weight: 900;
  color: var(--color-accent);
  line-height: 1;
  margin-bottom: 8px;
}

.fact-text {
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-text-muted);
}

/* COMPLEKTACIYA SECTION */
.complektaciya {
  padding: 64px 0;
}

.complekt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.complekt-item {
  background: #fff;
  border-radius: 20px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
  border-top: 3px solid var(--color-accent);
}

.complekt-icon {
  margin: 0 auto 16px;
  color: var(--color-accent);
}

.complekt-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--color-text);
}

.complekt-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 12px;
}

.complekt-text {
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text);
}

/* COMPARE TABLE */
.compare-table {
  padding: 64px 0;
}

.table-wrap {
  margin-top: 32px;
  overflow-x: auto;
}

.styled-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.styled-table thead {
  background: var(--color-bg-dark);
  color: #fff;
}

.styled-table th {
  padding: 16px 12px;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.styled-table td {
  padding: 16px 12px;
  font-size: 15px;
  border-bottom: 1px solid var(--color-border);
}

.styled-table tbody tr:hover {
  background: #fff;
}

.styled-table tbody tr:last-child td {
  border-bottom: none;
}

.featured-row {
  background: rgba(236, 26, 74, 0.05);
}

.featured-row:hover {
  background: rgba(236, 26, 74, 0.08) !important;
}

.table-note {
  margin-top: 16px;
  font-size: 14px;
  color: var(--color-text-muted);
  text-align: center;
}

/* CONFIGS */

/* CATALOG NOTE */
.catalog-note {
  margin-top: 24px;
  text-align: center;
  font-size: 14px;
  color: var(--color-text-muted);
}

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
  .tabs-nav {
    gap: 8px;
    margin: 24px 0 16px;
  }

  .tab-btn {
    padding: 10px 18px;
    font-size: 14px;
  }

  .tab-title {
    font-size: 22px;
  }

  .tab-price {
    font-size: 24px;
  }

  .seotext-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .seotext-sidebar .section-card {
    position: static;
  }

  .complekt-grid {
    grid-template-columns: 1fr;
  }

  .styled-table {
    font-size: 13px;
  }

  .styled-table th,
  .styled-table td {
    padding: 12px 8px;
  }

  .styled-table th {
    font-size: 12px;
  }

  .fact-num {
    font-size: 28px;
  }
}
/* =============================================================================
   Р С›Р РЋР СћР вЂўР С™Р вЂєР вЂўР СњР ВР вЂў Р вЂќР С›Р СљР С›Р вЂ™ РІР‚вЂќ Р Т‘Р С•Р С—Р С•Р В»Р Р…Р С‘РЎвЂљР ВµР В»РЎРЉР Р…РЎвЂ№Р Вµ РЎРѓРЎвЂљР С‘Р В»Р С‘
   ========================================================================== */

/* TABS SECTION */
/* ============================================
   TERRASY PAGE STYLES
   ============================================ */

/* GLAZING TYPES */
.glazing-types { padding: 64px 0; background: transparent; }
.types-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px; }
.type-card { padding: 32px; transition: box-shadow .2s; }
.type-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.type-title { font-size: 1.375rem; font-weight: 800; color: var(--color-text); margin: 0 0 16px; }
.type-desc { font-size: 0.94rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 20px; }
.type-features { list-style: none; padding: 0; margin: 0 0 24px; }
.type-features li { padding: 8px 0 8px 28px; font-size: 0.88rem; color: var(--color-text); position: relative; line-height: 1.5; }
.type-features li:before { content: 'РІСљвЂњ'; position: absolute; left: 0; top: 8px; color: var(--color-success); font-weight: 900; }
.type-price { font-size: 1.5rem; font-weight: 900; color: var(--color-text); margin: 0 0 20px; }
.type-price .price-note { font-size: 0.75rem; font-weight: 400; color: var(--color-text-muted); }
@media (max-width: 1024px) { .types-grid { grid-template-columns: 1fr; gap: 20px; } }

/* TERRASY ADVANTAGES */
.terrasy-adv { padding: 64px 0; background: transparent; }
.terrasy-adv > .wrap { background: var(--color-white, #fff); border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.terrasy-adv__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px; }
.terrasy-adv__card { background: #fff; border-radius: 20px; padding: 32px; transition: box-shadow .2s; }
.terrasy-adv__card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.06); }
.terrasy-adv__icon { color: var(--color-accent); margin-bottom: 16px; }
.terrasy-adv__title { font-size: 1.1rem; font-weight: 800; color: var(--color-text); margin: 0 0 8px; }
.terrasy-adv__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }
@media (max-width: 1024px) { .terrasy-adv__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .terrasy-adv__grid { grid-template-columns: 1fr; } }

/* SEO TEXT BLOCK */
.seo-text { padding: 64px 0; background: transparent; }
.seo-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; }
.seo-title { font-size: clamp(22px, 2.5vw, 34px); font-weight: 800; color: var(--color-text); margin: 0 0 24px; }
.seo-content { font-size: 0.94rem; color: var(--color-text); line-height: 1.7; }
.seo-content p { margin: 0 0 16px; }
.seo-content p:last-child { margin-bottom: 0; }
.seo-sidebar { background: #fff; border-radius: 20px; padding: 32px 24px; height: fit-content; }
.seo-facts { display: flex; flex-direction: column; gap: 24px; }
.seo-fact { border-left: 3px solid var(--color-accent); padding-left: 16px; }
.seo-fact-num { font-size: 1.75rem; font-weight: 900; color: var(--color-accent); margin: 0 0 4px; }
.seo-fact-label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--color-text); margin: 0 0 4px; }
.seo-fact-desc { font-size: 0.81rem; color: var(--color-text-muted); line-height: 1.4; margin: 0; }
@media (max-width: 900px) { .seo-grid { grid-template-columns: 1fr; gap: 32px; } }

/* TERRASY CONFIGS */
.terrasy-configs { padding: 64px 0; background: transparent; }
.configs-group { margin-top: 48px; }
.configs-group:first-of-type { margin-top: 36px; }
.configs-group-title { font-size: 1.25rem; font-weight: 800; color: var(--color-text); margin: 0 0 20px; padding-bottom: 12px; border-bottom: 2px solid var(--color-border); }
.configs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.config-card { padding: 28px; transition: box-shadow .2s; }
.config-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.config-name { font-size: 1.125rem; font-weight: 800; color: var(--color-text); margin: 0 0 16px; }
.config-features { list-style: none; padding: 0; margin: 0 0 20px; }
.config-features li { padding: 6px 0 6px 24px; font-size: 0.88rem; color: var(--color-text-muted); position: relative; line-height: 1.5; }
.config-features li:before { content: 'РІР‚Сћ'; position: absolute; left: 0; top: 6px; color: var(--color-accent); font-weight: 900; font-size: 1.2rem; }
.config-price { font-size: 1.375rem; font-weight: 900; color: var(--color-text); margin: 0 0 20px; }
.config-price .price-note { font-size: 0.75rem; font-weight: 400; color: var(--color-text-muted); }
@media (max-width: 768px) { .configs-grid { grid-template-columns: 1fr; } }
/* ===== Р вЂР вЂўР РЋР вЂўР вЂќР С™Р В: Р СћР С‘Р С—РЎвЂ№ Р С•РЎРѓРЎвЂљР ВµР С”Р В»Р ВµР Р…Р С‘РЎРЏ ===== */
.types-section {
  padding: 64px 0;
  background: transparent;
}

.types-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.types-section .catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.type-card {
  background: #fff;
  border-radius: 20px;
  padding: 32px 24px;
  border-top: 3px solid var(--color-accent);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.type-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.type-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}

.type-card-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.3;
}

.type-card-price {
  font-size: 18px;
  font-weight: 800;
  color: var(--color-accent);
  white-space: nowrap;
}

.type-card-desc {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 16px;
}

.type-card-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

.type-card-features li {
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text-muted);
  padding-left: 24px;
  position: relative;
  margin-bottom: 8px;
}

.type-card-features li::before {
  content: 'РІСљвЂњ';
  position: absolute;
  left: 0;
  color: var(--color-success);
  font-weight: 700;
}

/* ===== Р вЂР вЂўР РЋР вЂўР вЂќР С™Р В: Р СџРЎР‚Р ВµР С‘Р СРЎС“РЎвЂ°Р ВµРЎРѓРЎвЂљР Р†Р В° ===== */
.advantages-section {
  padding: 64px 0;
  background: transparent;
}

.advantages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.advantage-card {
  background: #fff;
  border-radius: 20px;
  padding: 32px 24px;
  text-align: center;
  transition: transform 0.3s ease;
}

.advantage-card:hover {
  transform: translateY(-4px);
}

.advantage-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
}

.advantage-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.advantage-desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text-muted);
}

/* ===== Р вЂР вЂўР РЋР вЂўР вЂќР С™Р В: Р СџР С•Р С—РЎС“Р В»РЎРЏРЎР‚Р Р…РЎвЂ№Р Вµ РЎР‚Р В°Р В·Р СР ВµРЎР‚РЎвЂ№ ===== */
.configs-section {
  padding: 64px 0;
  background: transparent;
}

.configs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.config-card {
  background: #fff;
  border-radius: 20px;
  padding: 32px 24px;
  border-top: 3px solid var(--color-accent);
  display: flex;
  flex-direction: column;
}

.config-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--color-accent);
  margin-bottom: 8px;
}

.config-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 16px;
}

.config-specs {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
  padding: 16px;
  background: #fff;
  border-radius: 12px;
}

.config-spec-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.config-spec-label {
  font-size: 13px;
  color: var(--color-text-muted);
  font-weight: 600;
}

.config-spec-value {
  font-size: 16px;
  color: var(--color-text);
  font-weight: 700;
}

.config-price-wrap {
  margin-bottom: 24px;
  margin-top: auto;
}

.config-price {
  font-size: 28px;
  font-weight: 900;
  color: var(--color-text);
  margin-bottom: 4px;
}

.config-price-note {
  font-size: 14px;
  color: var(--color-text-muted);
}

.configs-note {
  margin-top: 24px;
  padding: 16px 24px;
  background: #fff;
  border-radius: 12px;
  font-size: 14px;
  color: var(--color-text-muted);
  text-align: center;
  border-left: 4px solid var(--color-accent);
}

.w-full {
  width: 100%;
}

/* ===== Р вЂР вЂўР РЋР вЂўР вЂќР С™Р В: Р СџРЎР‚Р С•РЎвЂ Р ВµРЎРѓРЎРѓ РЎР‚Р В°Р В±Р С•РЎвЂљРЎвЂ№ ===== */
.process-section {
  padding: 64px 0;
  background: transparent;
}

/* ===== WHY SECTION ===== */
.why-section {
  padding: 64px 0;
  background: transparent;
}

/* PROCESS TIMELINE (timeline design) */
.process-timeline {
  position: relative;
  margin-top: 48px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.process-timeline-item {
  position: relative;
  display: flex;
  gap: 32px;
  padding-bottom: 48px;
}

.process-timeline-item:last-child {
  padding-bottom: 0;
}

.process-timeline-item:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 30px;
  top: 60px;
  bottom: 0;
  width: 2px;
  background: var(--color-border);
  z-index: 0;
}

.process-timeline-marker {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.process-timeline-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--color-accent);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 4px 12px rgba(236, 26, 74, 0.2);
}

.process-timeline-content {
  flex: 1;
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 20px;
  padding: 24px 32px;
  border: 1px solid var(--color-border);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.process-timeline-item:hover .process-timeline-content {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.process-timeline-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.process-timeline-desc {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

/* ===== Р вЂР вЂўР РЋР вЂўР вЂќР С™Р В: Р С™Р С•Р СР С—Р В»Р ВµР С”РЎвЂљР В°РЎвЂ Р С‘РЎРЏ ===== */
.complektaciya-section {
  padding: 64px 0;
  background: transparent;
}

.complektaciya-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px;
  margin-top: 32px;
}

.complektaciya-col-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-accent);
}

.complektaciya-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.complektaciya-list li {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text-muted);
  padding-left: 24px;
  position: relative;
  margin-bottom: 12px;
}

.complektaciya-list li::before {
  content: 'РІСљвЂњ';
  position: absolute;
  left: 0;
  color: var(--color-success);
  font-weight: 700;
  font-size: 16px;
}

/* ===== Р вЂР вЂўР РЋР вЂўР вЂќР С™Р В: SEO РЎвЂљР ВµР С”РЎРѓРЎвЂљ ===== */
.seotext-section {
  padding: 64px 0;
  background: transparent;
}

.seotext-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 48px;
  align-items: start;
}

.seotext-main {
  background: #fff;
  border-radius: 20px;
  padding: 48px;
}

.seotext-title {
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 24px;
  line-height: 1.3;
}

.seotext-content p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--color-text);
  margin-bottom: 16px;
}

.seotext-content p:last-child {
  margin-bottom: 0;
}

.seotext-sidebar {
  position: sticky;
  top: 100px;
}

.seotext-facts {
  background: #fff;
  border-radius: 20px;
  padding: 32px 24px;
  border-top: 3px solid var(--color-accent);
}

.seotext-fact {
  padding: 16px 0;
  border-bottom: 1px solid var(--color-border);
}

.seotext-fact:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.seotext-fact:first-child {
  padding-top: 0;
}

.seotext-fact-value {
  font-size: 24px;
  font-weight: 900;
  color: var(--color-accent);
  margin-bottom: 4px;
}

.seotext-fact-label {
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-text-muted);
}

/* ===== Р СљР С•Р В±Р С‘Р В»РЎРЉР Р…Р В°РЎРЏ Р В°Р Т‘Р В°Р С—РЎвЂљР В°РЎвЂ Р С‘РЎРЏ ===== */
@media (max-width: 768px) {
  .types-grid,
  .advantages-grid,
  .configs-grid,
  .complektaciya-grid {
    grid-template-columns: 1fr;
  }

  .process-step {
    flex-direction: column;
    padding: 24px;
  }

  .process-step-num {
    font-size: 36px;
  }

  .seotext-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .seotext-main {
    padding: 32px 24px;
  }

  .seotext-sidebar {
    position: static;
  }

  .config-card,
  .type-card,
  .advantage-card {
    padding: 24px 20px;
  }
}
cat: /root/workspace/okna24x7/zimnie-sady-styles.css: No such file or directory
/* ============================================================
   ZIMNIE SADY HERO
   ============================================================ */
.zimnie-sady-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.zimnie-sady-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.zimnie-sady-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)); }
.zimnie-sady-hero__inner { position: relative; z-index: 1; padding-top: 100px; padding-bottom: 60px;; width: 100%; }
.zimnie-sady-hero__content { max-width: 700px; }
.zimnie-sady-hero__title { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 900; line-height: 1.1; color: #fff; margin-bottom: 16px; }
.zimnie-sady-hero__sub { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 32px; }
.zimnie-sady-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.zimnie-sady-hero__stats { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.zimnie-sady-hero__stat { display: flex; flex-direction: column; padding: 0 24px; }
.zimnie-sady-hero__stat:first-child { padding-left: 0; }
.zimnie-sady-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.zimnie-sady-hero__stat-lbl { font-size: 0.75rem; color: rgba(255,255,255,.5); }
.zimnie-sady-hero__stat-sep { width: 1px; height: 36px; background: rgba(255,255,255,.2); }
@media (max-width: 600px) {
  .zimnie-sady-hero { min-height: var(--hero-min-height-mobile); }
  .zimnie-sady-hero__stat-sep { display: none; }
  .zimnie-sady-hero__stat { padding: 8px 0; text-align: center; }
  .zimnie-sady-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
}


/* ZIMNIE SADY ADVANTAGES */
.zimnie-sady-adv { padding: 64px 24px; background: transparent; }
.zimnie-sady-adv > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.zimnie-sady-adv__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 36px; }
.zimnie-sady-adv__card { background: #fff; border-radius: 20px; padding: 32px; transition: box-shadow .2s, transform .2s; text-align: center; }
.zimnie-sady-adv__card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.06); transform: translateY(-2px); }
.zimnie-sady-adv__icon { color: var(--color-accent); margin-bottom: 16px; display: flex; justify-content: center; }
.zimnie-sady-adv__num { font-size: 2.5rem; font-weight: 900; color: var(--color-accent); margin: 0 0 8px; line-height: 1; }
.zimnie-sady-adv__title { font-size: 1rem; font-weight: 800; color: var(--color-text); margin: 0 0 12px; line-height: 1.3; }
.zimnie-sady-adv__desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }
@media (max-width: 1024px) { .zimnie-sady-adv__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .zimnie-sady-adv__grid { grid-template-columns: 1fr; } }

/* ZIMNIE SADY CONFIGS */
.zimnie-sady-configs { padding: 64px 24px; background: transparent; }
.zimnie-sady-configs > .wrap { background: #fff; border-radius: 20px; padding: 48px 32px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.zimnie-sady-configs .configs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 36px; }
.zimnie-sady-configs .config-card { padding: 28px; transition: box-shadow .2s; }
.zimnie-sady-configs .config-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.zimnie-sady-configs .config-name { font-size: 1.125rem; font-weight: 800; color: var(--color-text); margin: 0 0 12px; }
.zimnie-sady-configs .config-area { font-size: 0.875rem; font-weight: 700; color: var(--color-accent); margin: 0 0 16px; }
.zimnie-sady-configs .config-desc { font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 20px; }
.zimnie-sady-configs .config-price { font-size: 1.375rem; font-weight: 900; color: var(--color-text); margin: 0 0 8px; }
.zimnie-sady-configs .config-price .price-note { font-size: 0.75rem; font-weight: 400; color: var(--color-text-muted); }
.zimnie-sady-configs .config-term { font-size: 0.81rem; color: var(--color-text-muted); margin: 0 0 20px; }
@media (max-width: 900px) { .zimnie-sady-configs .configs-grid { grid-template-columns: 1fr; } }
/* ============================================================
   OSTEKLENIE DOMOV HERO
   ============================================================ */
.osteklenie-domov-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.osteklenie-domov-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.osteklenie-domov-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)); }
.osteklenie-domov-hero__inner { position: relative; z-index: 1; padding-top: 100px; padding-bottom: 60px;; width: 100%; }
.osteklenie-domov-hero__content { max-width: 700px; }
.osteklenie-domov-hero__title { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 900; line-height: 1.1; color: #fff; margin-bottom: 16px; }
.osteklenie-domov-hero__sub { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 32px; }
.osteklenie-domov-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.osteklenie-domov-hero__stats { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.osteklenie-domov-hero__stat { display: flex; flex-direction: column; padding: 0 24px; }
.osteklenie-domov-hero__stat:first-child { padding-left: 0; }
.osteklenie-domov-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.osteklenie-domov-hero__stat-lbl { font-size: 0.75rem; color: rgba(255,255,255,.5); }
.osteklenie-domov-hero__stat-sep { width: 1px; height: 36px; background: rgba(255,255,255,.2); }
@media (max-width: 600px) {
  .osteklenie-domov-hero { min-height: var(--hero-min-height-mobile); }
  .osteklenie-domov-hero__stat-sep { display: none; }
  .osteklenie-domov-hero__stat { padding: 8px 0; text-align: center; }
  .osteklenie-domov-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
}

/* osteklenie-domov catalog classes removed РІР‚вЂќ not used in templates */

/* === seotext-grid fix (osteklenie-domov uses non-BEM names) === */
.seotext-grid { display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: start; }
.seotext-main p { color: var(--color-text-muted); line-height: 1.75; margin-bottom: 16px; font-size: 0.97rem; }
.seotext-main h2 { font-size: clamp(1.3rem, 2.5vw, 1.7rem); font-weight: 700; margin-bottom: 20px; }
.seotext-sidebar .section-card { padding: 24px; }
.sidebar-title { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--color-text-muted); margin-bottom: 16px; }
.sidebar-facts { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
.sidebar-facts li { display: flex; flex-direction: column; gap: 2px; }
.fact-num { font-size: 1.3rem; font-weight: 800; color: var(--color-accent); }
.fact-text { font-size: 0.8rem; color: var(--color-text-muted); line-height: 1.4; }
@media (max-width: 768px) { .seotext-grid { grid-template-columns: 1fr; } }

/* === FIXES: cottage process + types mobile === */
/* Step-desc overflow fix */
.process-step { min-width: 0; }
.step-desc { min-width: 0; flex: 1; word-break: break-word; overflow-wrap: break-word; }
.process-step-desc { min-width: 0; word-break: break-word; overflow-wrap: break-word; }

/* Types grid РІР‚вЂќ force 1 col on mobile */
@media (max-width: 767px) {
  .types-grid { grid-template-columns: 1fr !important; }
  .step-num { width: 44px; height: 44px; font-size: 16px; }

  /* Process timeline mobile */
  .process-timeline {
    margin-top: 32px;
  }
  .process-timeline-item {
    flex-direction: column;
    gap: 12px;
    padding-bottom: 32px;
  }
  .process-timeline-item:not(:last-child)::before {
    left: 20px;
    top: 40px;
  }
  .process-timeline-marker {
    align-self: flex-start;
  }
  .process-timeline-num {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  .process-timeline-content {
    margin-left: 42px;
    padding: 20px 24px;
  }
  .process-timeline-title {
    font-size: 18px;
  }
  .process-timeline-desc {
    font-size: 15px;
  }
}

/* === FIXES: step-num Р Р…Р Вµ Р Т‘Р С•Р В»Р В¶Р ВµР Р… РЎРѓР В¶Р С‘Р СР В°РЎвЂљРЎРЉРЎРѓРЎРЏ Р Р† flex-row === */
.step-num {
  flex-shrink: 0;
  align-self: flex-start;
  aspect-ratio: 1 / 1;
}
.step-dur, .step-name {
  flex-shrink: 0;
}
/* Р СџРЎР‚Р С•РЎвЂ Р ВµРЎРѓРЎРѓ-РЎРѓР ВµР С”РЎвЂ Р С‘РЎРЏ Р С”Р С•РЎвЂљРЎвЂљР ВµР Т‘Р В¶Р ВµР в„– РІР‚вЂќ Р Р†Р ВµРЎР‚РЎвЂљР С‘Р С”Р В°Р В»РЎРЉР Р…РЎвЂ№Р в„– layout Р Р…Р В° Р В»РЎР‹Р В±Р С•Р С РЎРЊР С”РЎР‚Р В°Р Р…Р Вµ */
.process-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.process-step {
  border-bottom: 1px solid var(--color-border);
  padding: 24px 0;
}
.process-step:last-child { border-bottom: none; }

/* === PROCESS STEP MOBILE FIX v2 === */
.process-step {
  display: grid;
  grid-template-columns: 54px auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 4px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.process-step:last-child { border-bottom: none; }
.step-num {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  margin-top: 2px;
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  aspect-ratio: 1;
}
.step-dur {
  grid-column: 2;
  grid-row: 1;
  font-size: 12px;
  color: var(--color-accent);
  font-weight: 700;
  white-space: nowrap;
}
.step-name {
  grid-column: 3;
  grid-row: 1;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-text);
}
.step-desc {
  grid-column: 2 / 4;
  grid-row: 2;
  font-size: 13px;
  color: var(--color-text-muted);
  line-height: 1.55;
  word-break: break-word;
  overflow-wrap: break-word;
  min-width: 0;
}

/* === HERO MOBILE: РЎС“Р СР ВµР Р…РЎРЉРЎв‚¬Р В°Р ВµР С padding Р Т‘Р В»РЎРЏ cottage hero === */
@media (max-width: 600px) {
  .zimnie-sady-hero { min-height: auto; }
  .zimnie-sady-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; }
  .zimnie-sady-hero__title { font-size: 1.6rem; margin-bottom: 10px; }
  .zimnie-sady-hero__sub { font-size: 0.88rem; margin-bottom: 20px; }
  .zimnie-sady-hero__actions { margin-bottom: 24px; }

  .osteklenie-domov-hero { min-height: auto; }
  .osteklenie-domov-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; }
  .osteklenie-domov-hero__title { font-size: 1.6rem; margin-bottom: 10px; }
  .osteklenie-domov-hero__sub { font-size: 0.88rem; margin-bottom: 20px; }
  .osteklenie-domov-hero__actions { margin-bottom: 24px; }}

/* ========================================
   TERRASY HERO
   ======================================== */
.terrasy-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.terrasy-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.terrasy-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)); }
.terrasy-hero__inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 40px;; width: 100%; }
.terrasy-hero__content { max-width: 700px; }
.terrasy-hero__title { font-size: clamp(28px, 4.5vw, 54px); font-weight: 900; color: #fff; margin-bottom: 16px; }
.terrasy-hero__sub { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 32px; line-height: 1.6; }
.terrasy-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) { 
  .terrasy-hero { min-height: auto; } 
  .terrasy-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; } 
}
.alu-adv__text { display: flex; flex-direction: column; gap: 4px; }
/* archnye-styles */

/* Hero */
.archnye-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.archnye-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.archnye-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)); }
.archnye-hero__inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 40px;; width: 100%; }
.archnye-hero__content { max-width: 700px; }
.archnye-hero__title { font-size: clamp(1.8rem, 5vw, 3.2rem); font-weight: 900; color: #fff; margin-bottom: 16px; line-height: 1.15; }
.archnye-hero__sub { font-size: 1rem; color: rgba(255,255,255,.85); margin-bottom: 32px; line-height: 1.6; }
.archnye-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Types */
.archnye-types { padding: 64px 0; background: transparent; }
.archnye-types__subtitle { text-align: center; color: var(--color-text-muted); font-size: 1rem; margin-bottom: 48px; max-width: 700px; margin-left: auto; margin-right: auto; }
.archnye-types__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.archnye-types__card { background: #fff; border-radius: 20px; padding: 32px 24px; border-top: 3px solid var(--color-accent); box-shadow: 0 1px 4px rgba(0,0,0,.04); transition: transform .2s, box-shadow .2s; }
.archnye-types__card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(236,26,74,.08); }
.archnye-types__card-num { font-size: 2.5rem; font-weight: 900; color: var(--color-accent); opacity: .15; margin-bottom: 8px; }
.archnye-types__card-title { font-size: 1.2rem; font-weight: 700; color: var(--color-text); margin-bottom: 12px; }
.archnye-types__card-desc { color: var(--color-text-muted); font-size: 0.95rem; line-height: 1.6; }

/* Profiles */
.archnye-profiles { padding: 64px 0; background: transparent; }
.archnye-profiles__subtitle { text-align: center; color: var(--color-text-muted); font-size: 1rem; margin-bottom: 48px; max-width: 700px; margin-left: auto; margin-right: auto; }
.archnye-profiles__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.archnye-profiles__card { background: #fff; border-radius: 20px; padding: 32px 24px; border-top: 3px solid var(--color-accent); box-shadow: 0 1px 4px rgba(0,0,0,.04); transition: transform .2s, box-shadow .2s; display: flex; flex-direction: column; }
.archnye-profiles__card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(236,26,74,.08); }
.archnye-profiles__badge { display: inline-block; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 4px 10px; border-radius: 6px; margin-bottom: 12px; }
.archnye-profiles__badge--premium { background: linear-gradient(135deg, #f59e0b, #d97706); color: #fff; }
.archnye-profiles__badge--comfort { background: linear-gradient(135deg, #10b981, #059669); color: #fff; }
.archnye-profiles__badge--budget { background: linear-gradient(135deg, #6366f1, #4f46e5); color: #fff; }
.archnye-profiles__name { font-size: 1.4rem; font-weight: 700; color: var(--color-text); margin-bottom: 12px; }
.archnye-profiles__desc { color: var(--color-text-muted); font-size: 0.9rem; line-height: 1.6; margin-bottom: 20px; flex-grow: 1; }
.archnye-profiles__price { font-size: 1.6rem; font-weight: 800; color: var(--color-accent); margin-bottom: 4px; }
.archnye-profiles__price-label { font-size: 0.8rem; color: var(--color-text-muted); margin-bottom: 16px; }

/* Advantages */
.archnye-advantages { padding: 64px 0; background: transparent; }
.archnye-advantages__subtitle { text-align: center; color: var(--color-text-muted); font-size: 1rem; margin-bottom: 48px; max-width: 700px; margin-left: auto; margin-right: auto; }

/* Mobile */
@media (max-width: 600px) {
  .archnye-hero { min-height: auto; }
  .archnye-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; }
  .archnye-types__grid { grid-template-columns: 1fr; }
  .archnye-profiles__grid { grid-template-columns: 1fr; }
}
/* treugolnye-styles */

/* Hero */
.treugolnye-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.treugolnye-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.treugolnye-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)); }
.treugolnye-hero__inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 40px;  width: 100%; }
.treugolnye-hero__content { max-width: 700px; }
.treugolnye-hero__title { font-size: clamp(1.8rem,5vw,3.2rem); font-weight: 900; color: #fff; margin-bottom: 16px; line-height: 1.2; }
.treugolnye-hero__sub { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 32px; line-height: 1.6; }
.treugolnye-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) { .treugolnye-hero { min-height: auto; } .treugolnye-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; } }

/* Warranty section */
.warranty-section { padding: 64px 0; background: transparent; }
.warranty-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; margin-top: 48px; }
.warranty-item { text-align: center; padding: 32px 24px; background: #fff; border-radius: 20px; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.warranty-item__num { font-size: clamp(2.5rem,4vw,3.5rem); font-weight: 900; color: var(--color-accent); margin-bottom: 8px; }
.warranty-item__title { font-size: 1.25rem; font-weight: 700; color: var(--color-text); margin-bottom: 16px; }
.warranty-item__desc { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.6; }
@media (max-width: 768px) { .warranty-grid { gap: 24px; } .warranty-item { padding: 24px 16px; } }
/* treugolnye-missing-styles */

/* catalog-card Р Т‘Р В»РЎРЏ treugolnye-types (Р С‘ Р Т‘РЎР‚РЎС“Р С–Р С‘РЎвЂ¦ types-section РЎРѓРЎвЂљРЎР‚Р В°Р Р…Р С‘РЎвЂ ) */
.types-section .catalog-card { background: #fff; border-radius: 20px; padding: 24px; border-top: 3px solid var(--color-accent); box-shadow: 0 2px 8px rgba(0,0,0,.06); display: flex; flex-direction: column; gap: 16px; transition: transform .2s, box-shadow .2s; }
.types-section .catalog-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.types-section .catalog-card__badge { align-self: flex-start; background: var(--color-accent); color: #fff; font-size: 13px; font-weight: 700; padding: 6px 14px; border-radius: 20px; }
.types-section .catalog-card__title { font-size: 1.5rem; font-weight: 800; color: var(--color-text); margin: 0; }
.types-section .catalog-card__desc { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; flex-grow: 1; }
.types-section .catalog-card__price { display: flex; flex-direction: column; gap: 4px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--color-border); }
.types-section .catalog-card__price-val { font-size: 1.5rem; font-weight: 900; color: var(--color-text); }
.types-section .catalog-card__price-note { font-size: 0.85rem; color: var(--color-text-muted); }

/* btn-block РІР‚вЂќ full width button */
.btn-block { width: 100%; }

/* seotext__fact children */
.seotext__fact-title { font-size: 1rem; font-weight: 700; color: var(--color-text); margin-bottom: 8px; }
.seotext__fact-desc { font-size: 0.9rem; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

@media (max-width: 768px) {
  .types-section .catalog-card { padding: 20px; gap: 14px; }
  .types-section .catalog-card__title { font-size: 1.25rem; }
  .types-section .catalog-card__price-val { font-size: 1.25rem; }
}
/* panoramnye-styles */

/* ============================================================
   HERO
   ============================================================ */
.panoramnye-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.panoramnye-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.panoramnye-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6));
}

.panoramnye-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }

.panoramnye-hero__content {
  max-width: 700px;
}

.panoramnye-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}

.panoramnye-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.7);
  margin-bottom: 32px;
  line-height: 1.6;
}

.panoramnye-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .panoramnye-hero {
    min-height: auto;
  }
  .panoramnye-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
}

/* ============================================================
   PRODUCT CARD
   ============================================================ */
.product-card-section {
  padding: 48px 0;
}

.product-card-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.product-card-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.product-card-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: var(--color-text);
  line-height: 1.6;
}

.product-card-price {
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  border: 1.5px solid var(--color-border);
}

.product-card-price-label {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 8px;
}

.product-card-price-value {
  font-size: 32px;
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 16px;
}

.product-card-specs {
  background: #fff;
  padding: 32px;
  border-radius: 12px;
  border: 1.5px solid var(--color-border);
}

.product-card-specs-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 24px;
}

.product-card-specs-table {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.spec-row {
  display: flex;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border);
}

.spec-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.spec-label {
  font-size: 14px;
  color: var(--color-text-muted);
  font-weight: 500;
}

.spec-value {
  font-size: 14px;
  color: var(--color-text);
  font-weight: 600;
  text-align: right;
}

@media (max-width: 768px) {
  .product-card-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ============================================================
   CONFIGS
   ============================================================ */
.configs-section {
  padding: 48px 0;
}

.configs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.config-card {
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  border-top: 3px solid var(--color-accent);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.config-card-top {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.config-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
}

.config-size {
  font-size: 14px;
  color: var(--color-text-muted);
}

.config-price {
  font-size: 28px;
  font-weight: 800;
  color: var(--color-accent);
}

/* ============================================================
   ADVANTAGES
   ============================================================ */
.advantages-section {
  padding: 48px 0;
}

.advantages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
  margin-top: 32px;
}

.advantage-card {
  background: #fff;
  padding: 32px;
  border-radius: 12px;
  border-top: 3px solid var(--color-accent);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.advantage-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.advantage-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.3;
}

.advantage-text {
  font-size: 15px;
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* ============================================================
   SEO TEXT
   ============================================================ */
.seotext-section {
  padding: 48px 0;
}


.seotext__grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 48px;
}

.seotext__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.seotext__content p {
  color: var(--color-text);
  line-height: 1.7;
  margin: 0;
}

.seotext__aside {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.seotext__fact {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
  border-top: 3px solid var(--color-accent);
}

.seotext__fact-num {
  font-size: 18px;
  font-weight: 800;
  color: var(--color-accent);
  margin-bottom: 8px;
}

.seotext__fact-lbl {
  font-size: 14px;
  color: var(--color-text-muted);
  line-height: 1.4;
}

@media (max-width: 768px) {
  .seotext {
    padding: 32px 24px;
  }
  .seotext__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
/* mansardnye-styles */

/* Hero */
.mansardnye-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.mansardnye-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.mansardnye-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6));
}
.mansardnye-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }
.mansardnye-hero__content {
  max-width: 700px;
}
.mansardnye-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}
.mansardnye-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.7);
  margin-bottom: 32px;
  line-height: 1.5;
}
.mansardnye-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .mansardnye-hero {
    min-height: auto;
  }
  .mansardnye-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
  .mansardnye-hero__actions {
    flex-direction: column;
  }
  .mansardnye-hero__actions .btn {
    width: 100%;
  }
}
/* kruglye-styles */

/* Hero */
.kruglye-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.kruglye-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.kruglye-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)); }
.kruglye-hero__inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 40px;  width: 100%; }
.kruglye-hero__content { max-width: 700px; }
.kruglye-hero__title { font-size: clamp(1.8rem,5vw,3.2rem); font-weight: 900; color: #fff; margin-bottom: 16px; line-height: 1.2; }
.kruglye-hero__sub { font-size: 1rem; color: rgba(255,255,255,.85); margin-bottom: 32px; line-height: 1.6; }
.kruglye-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.kruglye-hero__stats { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.kruglye-hero__stat { display: flex; flex-direction: column; gap: 4px; }
.kruglye-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.kruglye-hero__stat-lbl { font-size: 0.85rem; color: rgba(255,255,255,.7); }
.kruglye-hero__stat-sep { width: 1px; height: 40px; background: rgba(255,255,255,.3); }

@media (max-width: 600px) {
  .kruglye-hero { min-height: auto; }
  .kruglye-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; }
  .kruglye-hero__title { font-size: 1.6rem; }
  .kruglye-hero__stat-sep { display: none; }
  .kruglye-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
}

/* Profiles section */
.kruglye-profiles { padding: 64px 0; background: transparent; }
.section-subtitle { font-size: 1rem; color: var(--color-text-muted); margin-top: 12px; margin-bottom: 32px; max-width: 800px; }
.tab-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; font-size: 11px; font-weight: 600; border-radius: 12px; background: var(--color-accent); color: #fff; text-transform: uppercase; letter-spacing: 0.5px; }
.tab-badge.hit { background: var(--color-warning); }
.tab-badge.new { background: var(--color-success); }
.tab-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin: 24px 0; padding: 24px; background: #fff; border-radius: 12px; }
.tab-spec { display: flex; flex-direction: column; gap: 4px; }
.tab-spec-label { font-size: 0.85rem; color: var(--color-text-muted); }
.tab-spec-value { font-size: 1.25rem; font-weight: 700; color: var(--color-text); }
.tab-title { font-size: 1.5rem; font-weight: 700; color: var(--color-text); margin-bottom: 16px; }
.tab-price { font-size: 1.5rem; font-weight: 800; color: var(--color-accent); margin-top: 24px; }

/* Advantages */
.kruglye-advantages { padding: 64px 0; background: transparent; }
.kruglye-warranty { margin-top: 64px; }
.warranty-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; margin-top: 32px; margin-bottom: 32px; }
.warranty-item { text-align: center; padding: 32px 24px; background: #fff; border-radius: 20px; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.warranty-num { font-size: clamp(2.5rem,4vw,3.5rem); font-weight: 900; color: var(--color-accent); margin-bottom: 8px; }
.warranty-text { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.6; }

/* Cost factors */
.kruglye-cost-factors { padding: 64px 0; background: transparent; }
.cost-factors-list { display: flex; flex-direction: column; gap: 24px; margin-top: 32px; margin-bottom: 32px; }
.cost-factor { display: flex; gap: 24px; padding: 32px; background: #fff; border-radius: 20px; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.cost-factor-num { flex-shrink: 0; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; font-size: 1.75rem; font-weight: 900; color: #fff; background: var(--color-accent); border-radius: 50%; }
.cost-factor-content { flex: 1; }
.cost-factor-title { font-size: 1.25rem; font-weight: 700; color: var(--color-text); margin-bottom: 12px; }
.cost-factor-text { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.6; }

@media (max-width: 768px) {
  .cost-factor { flex-direction: column; gap: 16px; padding: 24px; }
  .cost-factor-num { width: 48px; height: 48px; font-size: 1.5rem; }
}

/* Installation */
.kruglye-installation { padding: 64px 0; background: transparent; }

/* Section CTA */
.section-cta { display: flex; justify-content: center; margin-top: 32px; }
/* korichnevye-styles */

/* Hero */
.korichnevye-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.korichnevye-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.korichnevye-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65));
}
.korichnevye-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }
.korichnevye-hero__content {
  max-width: 800px;
}
.korichnevye-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}
.korichnevye-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.75);
  margin-bottom: 32px;
  line-height: 1.5;
}
.korichnevye-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Palette */
.palette-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 36px;
}
.palette-card {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  transition: transform 0.2s ease;
}
.palette-card:hover {
  transform: translateY(-4px);
}
.palette-swatch {
  width: 100%;
  height: 120px;
  border-radius: 12px;
  margin-bottom: 16px;
  border: 1px solid var(--color-border);
}
.palette-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}
.palette-desc {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  line-height: 1.5;
  margin-bottom: 16px;
}
.palette-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border);
}
.palette-meta-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.875rem;
}
.palette-meta-label {
  font-weight: 600;
  color: var(--color-text);
}
.palette-meta-item span:last-child {
  color: var(--color-text-muted);
}

/* Colors tech section */
.colors-tech {
  padding: 64px 0;
}
.colors-tech .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px;
}

/* Profiles section */
.profiles {
  padding: 64px 0;
}
.profiles .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px;
}


/* Configs section */
.configs {
  padding: 64px 0;
}
.configs .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px;
}

/* Why section */
.why {
  padding: 64px 0;
}
.why .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px;
}

/* Palette section */
.palette {
  padding: 64px 0;
}
.palette .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .korichnevye-hero {
    min-height: auto;
  }
  .korichnevye-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
  .palette-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .colors-tech .wrap,
  .profiles .wrap,
  .configs .wrap,
  .why .wrap,
  .palette .wrap {
    padding: 32px 24px;
  }
}

@media (max-width: 600px) {
  .korichnevye-hero__actions {
    flex-direction: column;
  }
  .korichnevye-hero__actions .btn {
    width: 100%;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .palette-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Korichnevye missing CSS classes */
.config-icon {
  margin-bottom: 16px;
  color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.config-icon svg {
  width: 60px;
  height: 60px;
}
.config-size {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 12px;
}
.config-desc {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-top: 12px;
}
.seotext__fact-text {
  font-size: 0.8rem;
  color: var(--color-text-muted);
  margin-top: 2px;
}
/* serye-styles */

/* ============================================
   SERYE HERO
   ============================================ */
.serye-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.serye-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.serye-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6));
}

.serye-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }

.serye-hero__content {
  max-width: 700px;
}

.serye-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}

.serye-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.7);
  margin-bottom: 32px;
  line-height: 1.5;
}

.serye-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .serye-hero {
    min-height: auto;
  }
  .serye-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
  .serye-hero__actions {
    flex-direction: column;
  }
  .serye-hero__actions .btn {
    width: 100%;
  }
}

/* ============================================
   SERYE TECHNOLOGIES
   ============================================ */
.serye-technologies {
  padding: 64px 0;
}

.serye-tech-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.serye-tech-card {
  background: #fff;
  border-radius: 20px;
  padding: 32px;
  border-top: 3px solid var(--color-accent);
  position: relative;
}

.serye-tech-card__badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--color-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.serye-tech-card__title {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 8px;
}

.serye-tech-card__type {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.serye-tech-card__desc {
  color: var(--color-text);
  margin-bottom: 16px;
  line-height: 1.6;
}

.serye-tech-card__colors {
  background: #fff;
  padding: 12px;
  border-radius: 8px;
  margin-bottom: 16px;
  font-size: 0.875rem;
}

.serye-tech-card__colors strong {
  display: block;
  margin-bottom: 4px;
  color: var(--color-text);
}

.serye-tech-card__price {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--color-accent);
  margin-bottom: 16px;
}

.serye-tech-card .btn {
  width: 100%;
}

@media (max-width: 768px) {
  .serye-tech-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   SERYE PALETTE
   ============================================ */
.serye-palette {
  padding: 64px 0;
}

.serye-palette > .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px 32px;
}

.serye-palette-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.serye-palette-card {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  text-align: center;
}

.serye-palette-card__color {
  width: 100%;
  height: 150px;
  border-radius: 12px;
  margin-bottom: 16px;
}

.serye-palette-card__name {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 8px;
}

.serye-palette-card__desc {
  color: var(--color-text-muted);
  margin-bottom: 12px;
  font-size: 0.875rem;
}

.serye-palette-card__coverage {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.serye-palette-card__use {
  font-size: 0.875rem;
  color: var(--color-text);
  background: #fff;
  padding: 8px;
  border-radius: 6px;
}

@media (max-width: 768px) {
  .serye-palette-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .serye-palette-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   SERYE COOLCOLOURS ABOUT
   ============================================ */
.serye-coolcolours-about {
  padding: 64px 0;
}

.serye-coolcolours-content {
  max-width: 900px;
  margin: 32px auto 0;
}

.serye-coolcolours-content p {
  color: var(--color-text);
  line-height: 1.8;
  margin-bottom: 16px;
}

.serye-coolcolours-content p:last-child {
  margin-bottom: 0;
}

/* ============================================
   SERYE PROFILES
   ============================================ */
.serye-profiles {
  padding: 64px 0;
}

.serye-profiles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 32px;
  margin-top: 32px;
}

.serye-profile-card {
  background: #fff;
  border-radius: 20px;
  padding: 32px;
  border-top: 3px solid var(--color-accent);
}

.serye-profile-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}

.serye-profile-card__name {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--color-text);
}

.serye-profile-card__badge {
  background: var(--color-success);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.serye-profile-card__badge--new {
  background: var(--color-highlight);
}

.serye-profile-card__specs {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.serye-profile-spec {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border);
}

.serye-profile-spec__label {
  font-size: 0.875rem;
  color: var(--color-text-muted);
}

.serye-profile-spec__value {
  font-weight: 700;
  color: var(--color-text);
}

.serye-profile-card__desc {
  color: var(--color-text);
  margin-bottom: 16px;
  line-height: 1.6;
}

.serye-profile-card__price {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--color-accent);
  margin-bottom: 12px;
}

.serye-profile-card__coolcolours {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--color-success);
  margin-bottom: 16px;
  font-weight: 600;
}

.serye-profile-card__coolcolours svg {
  flex-shrink: 0;
}

.serye-profile-card .btn {
  width: 100%;
}

@media (max-width: 768px) {
  .serye-profiles-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   SERYE CONFIGS
   ============================================ */
.serye-configs {
  padding: 64px 0;
}

.serye-configs > .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px 32px;
}

.configs-note {
  text-align: center;
  color: var(--color-text-muted);
  font-size: 0.875rem;
  margin-top: 24px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================
   SERYE WHY
   ============================================ */
.serye-why {
  padding: 64px 0;
}

@media (max-width: 768px) {
  .serye-hero__actions {
    flex-direction: column;
  }
  .serye-hero__actions .btn {
    width: 100%;
  }
}

/* serye-missing-styles */
/* Config card visual elements */
.config-card__visual {
  width: 100px;
  height: 120px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.config-svg {
  width: 100%;
  height: 100%;
  color: var(--color-accent);
}

.config-size {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-muted);
  margin: 0 0 12px;
  text-align: center;
}

.config-desc {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  line-height: 1.5;
  margin: 12px 0 0;
  text-align: center;
}

/* FAQ section (compatibility class) */
.faq-section {
  padding: 64px 0;
}

@media (max-width: 768px) {
  .config-card__visual {
    width: 80px;
    height: 96px;
    margin-bottom: 16px;
  }
}
/* chernye-styles */

/* Hero */
.chernye-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.chernye-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.chernye-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)); }
.chernye-hero__inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 40px;  width: 100%; }
.chernye-hero__content { max-width: 700px; }
.chernye-hero__title { font-size: clamp(1.8rem,5vw,3.2rem); font-weight: 900; color: #fff; margin-bottom: 16px; line-height: 1.2; }
.chernye-hero__sub { font-size: 1rem; color: rgba(255,255,255,.8); margin-bottom: 32px; line-height: 1.5; }
.chernye-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) { .chernye-hero { min-height: auto; } .chernye-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; } }

/* Cool Colours About */
.chernye-coolcolours-about { padding: 48px 0; }
.chernye-coolcolours-content p { margin-bottom: 16px; line-height: 1.7; }
.chernye-coolcolours-content p:last-child { margin-bottom: 0; }

/* Palette */
.chernye-palette { padding: 48px 0; }
.chernye-palette-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin-top: 32px; }
.chernye-palette-card { background: #fff; border: 1px solid var(--color-border); border-radius: 12px; padding: 24px; border-top: 3px solid var(--color-accent); }
.chernye-palette-swatch { width: 100%; height: 100px; border-radius: 8px; margin-bottom: 16px; box-shadow: 0 2px 8px rgba(0,0,0,.1); }
.chernye-palette-name { font-size: 1.25rem; font-weight: 700; color: var(--color-text); margin-bottom: 8px; }
.chernye-palette-color { font-size: 0.875rem; color: var(--color-text-muted); margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.chernye-palette-apply { font-size: 0.875rem; line-height: 1.5; margin-bottom: 12px; color: var(--color-text); }
.chernye-palette-use { font-size: 0.875rem; line-height: 1.5; margin-bottom: 8px; color: var(--color-text); }
.chernye-palette-feat { font-size: 0.875rem; line-height: 1.5; margin-bottom: 0; color: var(--color-text); }

/* Compare */
.chernye-compare { padding: 48px 0; }
.chernye-compare-table { overflow-x: auto; margin-top: 24px; }
.chernye-compare-table table { width: 100%; border-collapse: collapse; background: #fff; }
.chernye-compare-table th { background: var(--color-bg-dark); color: #fff; padding: 12px 16px; text-align: left; font-weight: 700; font-size: 0.875rem; }
.chernye-compare-table td { padding: 12px 16px; border-bottom: 1px solid var(--color-border); font-size: 0.875rem; }
.chernye-compare-table tbody tr:last-child td { border-bottom: none; }
.chernye-compare-rec { margin-top: 24px; padding: 16px 24px; background: #f9fafb; border-left: 4px solid var(--color-accent); border-radius: 8px; }
.chernye-compare-rec p { margin: 0; line-height: 1.6; }
@media (max-width: 768px) { .chernye-compare-table th, .chernye-compare-table td { font-size: 0.75rem; padding: 8px 12px; } }

/* Profiles */
.chernye-profiles { padding: 48px 0; }
.chernye-profiles-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; margin-top: 32px; }
.chernye-profile-card { background: #fff; border: 1px solid var(--color-border); border-radius: 12px; padding: 24px; border-top: 3px solid var(--color-accent); }
.chernye-profile-name { font-size: 1.5rem; font-weight: 700; color: var(--color-text); margin-bottom: 16px; }
.chernye-profile-specs { margin-bottom: 16px; }
.chernye-profile-spec { font-size: 0.875rem; line-height: 1.8; color: var(--color-text); }
.chernye-profile-desc { font-size: 0.875rem; line-height: 1.6; margin-bottom: 12px; color: var(--color-text-muted); }
.chernye-profile-cc { font-size: 0.875rem; line-height: 1.6; margin-bottom: 0; color: var(--color-text); }

/* Configs note */
.configs-note { margin-top: 24px; font-size: 0.875rem; color: var(--color-text-muted); text-align: center; }
/* teploe-styles */

/* Hero */
.teploe-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.teploe-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.teploe-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)); }
.teploe-hero__inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 40px;  width: 100%; }
.teploe-hero__content { max-width: 700px; }
.teploe-hero__title { font-size: clamp(1.8rem, 5vw, 3.2rem); font-weight: 900; color: #fff; margin-bottom: 16px; line-height: 1.15; }
.teploe-hero__title span { display: block; }
.teploe-hero__sub { font-size: 1rem; color: rgba(255,255,255,.85); margin-bottom: 24px; line-height: 1.5; }
.teploe-hero__price-line { margin-bottom: 28px; }
.teploe-hero__price { display: inline-block; background: rgba(236,26,74,.9); backdrop-filter: blur(8px); padding: 16px 24px; border-radius: 12px; }
.teploe-hero__price-lbl { display: block; font-size: 12px; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.teploe-hero__price-val { display: block; font-size: 2rem; font-weight: 900; color: #fff; }
.teploe-hero__price-note { display: block; font-size: 14px; color: rgba(255,255,255,.8); margin-top: 4px; }
.teploe-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.teploe-hero__stats { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.teploe-hero__stat { display: flex; flex-direction: column; gap: 4px; }
.teploe-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.teploe-hero__stat-lbl { font-size: 0.875rem; color: rgba(255,255,255,.7); }
.teploe-hero__stat-sep { width: 1px; height: 40px; background: rgba(255,255,255,.2); }
@media (max-width: 768px) {
  .teploe-hero { min-height: auto; }
  .teploe-hero__inner { padding-top: 80px; padding-bottom: 32px;  width: 100%; }
  .teploe-hero__stat-sep { display: none; }
  .teploe-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
}

/* Configs */
.teploe-configs { padding: 64px 0; }
.config-top { margin-bottom: 16px; }
.config-name { font-size: 1.25rem; font-weight: 700; color: var(--color-text); margin-bottom: 6px; }
.config-meta { font-size: 0.875rem; color: var(--color-text-muted); }
.config-price-box { margin-bottom: 16px; }
.config-price { font-size: 1.75rem; font-weight: 800; color: var(--color-accent); }
.config-price-note { font-size: 0.875rem; color: var(--color-text-muted); margin-top: 2px; }
.config-desc { font-size: 0.95rem; color: var(--color-text); line-height: 1.6; margin-bottom: 20px; }

/* Why */
.teploe-why { padding: 64px 0; background: #fff; }

/* Profiles */
.teploe-profiles { padding: 64px 0; }
.pbd-spec { font-size: 0.875rem; color: rgba(255,255,255,.7); margin-bottom: 12px; }
.pbd-use { font-size: 0.9rem; color: rgba(255,255,255,.85); line-height: 1.5; margin-top: 12px; margin-bottom: 16px; }

/* Prices */
.teploe-prices { padding: 64px 0; }
.price-table-wrap { overflow-x: auto; margin-top: 32px; margin-bottom: 32px; }
.price-table { width: 100%; border-collapse: collapse; }
.price-table tbody tr { border-bottom: 1px solid var(--color-border); }
.price-table tbody tr:last-child { border-bottom: none; }
.price-table__name { padding: 16px 0; font-size: 1rem; color: var(--color-text); }
.price-table__price { padding: 16px 0; font-size: 1.125rem; font-weight: 700; color: var(--color-accent); text-align: right; white-space: nowrap; }
.price-include { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--color-border); }
.price-include__title { font-size: 1.25rem; font-weight: 700; color: var(--color-text); margin-bottom: 20px; }
.price-include__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-bottom: 24px; }
.price-include__list { list-style: none; padding: 0; margin: 0; }
.price-include__list li { padding-left: 28px; position: relative; margin-bottom: 12px; font-size: 0.95rem; color: var(--color-text); line-height: 1.5; }
.price-include__list li::before { content: 'РІСљвЂњ'; position: absolute; left: 0; color: var(--color-success); font-weight: 700; font-size: 1.1rem; }
.price-include__note { font-size: 1rem; color: var(--color-text); line-height: 1.6; }
@media (max-width: 768px) { .price-include__grid { grid-template-columns: 1fr; gap: 16px; } }

/* Compare */
.teploe-compare { padding: 64px 0; background: #fff; }
.compare-table-wrap { overflow-x: auto; margin-top: 32px; margin-bottom: 24px; }
.compare-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.compare-table thead { background: var(--color-bg-dark); color: #fff; }
.compare-table th { padding: 16px 12px; text-align: left; font-weight: 600; }
.compare-table tbody tr { border-bottom: 1px solid var(--color-border); }
.compare-table tbody tr:last-child { border-bottom: none; }
.compare-table__param { padding: 14px 12px; font-weight: 600; color: var(--color-text); }
.compare-table__warm { padding: 14px 12px; color: var(--color-success); background: rgba(92,184,92,.03); }
.compare-table__cold { padding: 14px 12px; color: var(--color-text-muted); }
.compare-note { font-size: 0.95rem; color: var(--color-text); line-height: 1.6; margin-top: 24px; }
@media (max-width: 768px) {
  .compare-table { font-size: 0.85rem; }
  .compare-table th, .compare-table td { padding: 10px 8px; }
}
@media (max-width: 768px) {
  .configs-grid,
  .houses-grid,
  .pricing-grid,
  .glazing-types-grid {
    grid-template-columns: 1fr;
  }
}
/* francuzskij-styles */

/* Hero */
.francuzskij-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.francuzskij-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.francuzskij-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6));
}

.francuzskij-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }

.francuzskij-hero__content {
  max-width: 700px;
}

.francuzskij-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}

.francuzskij-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.7);
  margin-bottom: 16px;
  line-height: 1.5;
}

.francuzskij-hero__price {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 24px;
}

.francuzskij-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .francuzskij-hero {
    min-height: auto;
  }
  .francuzskij-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
}

/* Configs Section */
.configs-section {
  padding: 48px 0;
}

.configs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.config-card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  transition: transform 0.2s;
}

.config-card:hover {
  transform: translateY(-4px);
}

.config-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.config-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--color-accent);
  margin-bottom: 16px;
}

.config-desc {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  margin-bottom: 16px;
  line-height: 1.6;
}

/* Houses Section */
.houses-section {
  padding: 48px 0;
}

.section-subtitle {
  text-align: center;
  font-size: 1rem;
  color: var(--color-text-muted);
  margin-top: 12px;
  margin-bottom: 32px;
}

.houses-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.house-card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  transition: transform 0.2s;
}

.house-card:hover {
  transform: translateY(-4px);
}

.house-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.house-price {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-accent);
  margin-bottom: 16px;
}

.house-desc {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  margin-bottom: 16px;
  line-height: 1.6;
}

/* Pricing Section */
.pricing-section {
  padding: 48px 0;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.pricing-card {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  border-top: 3px solid var(--color-accent);
  transition: transform 0.2s;
}

.pricing-card:hover {
  transform: translateY(-4px);
}

.pricing-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.pricing-price {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--color-accent);
  margin-bottom: 24px;
}

.pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}

.pricing-features li {
  padding: 8px 0 8px 28px;
  position: relative;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  line-height: 1.5;
}

.pricing-features li::before {
  content: 'РІСљвЂњ';
  position: absolute;
  left: 0;
  color: var(--color-success);
  font-weight: 700;
}

/* Glazing Types Section */
.glazing-types-section {
  padding: 48px 0;
}

.glazing-types-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.glazing-type-card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  transition: transform 0.2s;
}

.glazing-type-card:hover {
  transform: translateY(-4px);
}

.glazing-type-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.glazing-type-price {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-accent);
  margin-bottom: 16px;
}

.glazing-type-desc {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  margin-bottom: 16px;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .configs-grid,
  .houses-grid,
  .pricing-grid,
  .glazing-types-grid {
    grid-template-columns: 1fr;
  }
}
/* zimnie-sady-styles */

/* ========== HERO ========== */
.zimnie-sady-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.zimnie-sady-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.zimnie-sady-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6));
}
.zimnie-sady-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }
.zimnie-sady-hero__content {
  max-width: 700px;
}
.zimnie-sady-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
}
.zimnie-sady-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.85);
  margin-bottom: 32px;
  line-height: 1.6;
}
.zimnie-sady-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.zimnie-sady-hero__stats {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: center;
}
.zimnie-sady-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.zimnie-sady-hero__stat-num {
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
}
.zimnie-sady-hero__stat-lbl {
  font-size: 0.85rem;
  color: rgba(255,255,255,.7);
}
.zimnie-sady-hero__stat-sep {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,.3);
}

@media (max-width: 768px) {
  .zimnie-sady-hero {
    min-height: auto;
  }
  .zimnie-sady-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
  .zimnie-sady-hero__stat-sep {
    display: none;
  }
}

/* ========== TYPES ========== */
.zimnie-sady-types {
  padding: 64px 0;
}
.zimnie-sady-types__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.zimnie-sady-types__card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.zimnie-sady-types__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}
.zimnie-sady-types__text {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: 16px;
}
.zimnie-sady-types__badge {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-accent);
  padding: 8px 12px;
  background: rgba(236, 26, 74, 0.1);
  border-radius: 6px;
  display: inline-block;
}

/* ========== ADVANTAGES ========== */
.zimnie-sady-advantages {
  padding: 64px 0;
  background: #fff;
}
.zimnie-sady-advantages__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.zimnie-sady-advantages__card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.zimnie-sady-advantages__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}
.zimnie-sady-advantages__text {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* ========== CONFIGS ========== */
.zimnie-sady-configs {
  padding: 64px 0;
}
.zimnie-sady-configs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.zimnie-sady-configs__card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  display: flex;
  flex-direction: column;
}
.zimnie-sady-configs__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}
.zimnie-sady-configs__desc {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: 12px;
  flex: 1;
}
.zimnie-sady-configs__kompl {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
}
.zimnie-sady-configs__price {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--color-accent);
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  .zimnie-sady-types__grid,
  .zimnie-sady-advantages__grid,
  .zimnie-sady-configs__grid {
    grid-template-columns: 1fr;
  }
}
/* holodnoe-styles */

/* Hero */
.holodnoe-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.holodnoe-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.holodnoe-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6));
}
.holodnoe-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }
.holodnoe-hero__content {
  max-width: 700px;
}
.holodnoe-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.1;
}
.holodnoe-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.85);
  margin-bottom: 32px;
  line-height: 1.5;
}
.holodnoe-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .holodnoe-hero {
    min-height: auto;
  }
  .holodnoe-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
}

/* Catalog (for catalog-section pages: holodnoe, okna-types, etc.) */
.catalog-section {
  padding: 64px 0;
  background: transparent;
}
.catalog-section .catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.catalog-section .catalog-card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transition: transform .2s, box-shadow .2s;
}
.catalog-section .catalog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}
.catalog-section .catalog-card-header {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.catalog-section .catalog-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--color-text);
}
.catalog-section .catalog-card-price {
  font-size: 2rem;
  font-weight: 900;
  color: var(--color-accent);
  line-height: 1;
}
.catalog-section .catalog-card-price-note {
  font-size: .875rem;
  color: var(--color-text-muted);
  margin-top: 4px;
}
.catalog-section .catalog-card-body {
  margin-bottom: 24px;
}
.catalog-section .catalog-card-param {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: .875rem;
}
.catalog-section .catalog-card-param-label {
  color: var(--color-text-muted);
}
.catalog-section .catalog-card-param-value {
  font-weight: 600;
  color: var(--color-text);
}
.catalog-section .catalog-card-desc {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--color-text);
}
.catalog-section .catalog-note {
  margin-top: 32px;
  padding: 16px;
  background: #f9fafb;
  border-left: 3px solid var(--color-accent);
  font-size: .9375rem;
  color: var(--color-text-muted);
  line-height: 1.5;
}

/* Balkony landing generic (frantsuzkoe/holodnoe) РІР‚вЂќ align with theme standards */
.balkony-landing .catalog-section { padding: 64px 0; background: transparent; }
.balkony-landing .catalog-section > .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.balkony-landing .catalog-section .catalog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.balkony-landing .catalog-section .catalog-card {
  border-radius: 20px;
  padding: 18px 18px 20px;
  border: 1.5px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  box-shadow: none;
}
.balkony-landing .catalog-section .catalog-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(236,26,74,.08);
}
.balkony-landing .catalog-section .catalog-card-header { margin-bottom: 12px; padding-bottom: 12px; }
.balkony-landing .catalog-section .catalog-card-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 8px;
}
.balkony-landing .catalog-section .catalog-card-price {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  color: var(--color-text);
}
.balkony-landing .catalog-section .catalog-card-price-note {
  font-size: 0.8rem;
  margin-top: 6px;
}
.balkony-landing .catalog-section .catalog-card-param {
  margin-bottom: 9px;
  font-size: 0.84rem;
  gap: 10px;
}
.balkony-landing .catalog-section .catalog-card-desc {
  font-size: 0.88rem;
  line-height: 1.6;
}
.balkony-landing .bpkg-card__btn {
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13px;
}
.balkony-landing .bsteps { background: transparent; }
.balkony-landing .bsteps > .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
@media (max-width: 1024px) {
  .balkony-landing .catalog-section .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .balkony-landing .catalog-section > .wrap { padding: 32px 24px; }
  .balkony-landing .bsteps > .wrap { padding: 32px 24px; }
  .balkony-landing .catalog-section .catalog-grid { grid-template-columns: 1fr; }
  .balkony-landing .catalog-section .catalog-card { padding: 16px; }
  .balkony-landing .catalog-section .catalog-card-price { font-size: 1.3rem; }
}

/* Price table */
.price-section {
  padding: 64px 0;
  background: transparent;
}
.price-table-wrap {
  margin-top: 32px;
  overflow-x: auto;
}
.price-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.price-table thead {
  background: var(--color-bg-dark);
  color: #fff;
}
.price-table th {
  padding: 16px;
  text-align: left;
  font-weight: 600;
  font-size: .875rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.price-table td {
  padding: 16px;
  border-bottom: 1px solid var(--color-border);
}
.price-table tbody tr:last-child td {
  border-bottom: none;
}
.price-table tbody tr:hover {
  background: #f9fafb;
}
.price-table td:last-child {
  font-weight: 700;
  color: var(--color-accent);
  text-align: right;
}
.price-includes {
  margin-top: 32px;
  padding: 24px;
  background: #fff;
  border-radius: 12px;
  border-top: 3px solid var(--color-success);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.price-includes-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--color-text);
}
.price-includes-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.price-includes-list li {
  padding-left: 28px;
  position: relative;
  margin-bottom: 8px;
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--color-text);
}
.price-includes-list li:before {
  content: 'РІСљвЂњ';
  position: absolute;
  left: 0;
  color: var(--color-success);
  font-weight: 700;
}
.price-note {
  margin-top: 24px;
  padding: 16px;
  background: #f9fafb;
  border-left: 3px solid var(--color-accent);
  font-size: .9375rem;
  color: var(--color-text-muted);
  line-height: 1.5;
}

/* Comparison table */
.comparison-section {
  padding: 64px 0;
  background: transparent;
}
.comparison-table-wrap {
  margin-top: 32px;
  overflow-x: auto;
}
.comparison-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.comparison-table thead {
  background: var(--color-bg-dark);
  color: #fff;
}
.comparison-table th {
  padding: 16px;
  text-align: left;
  font-weight: 600;
  font-size: .875rem;
}
.comparison-table td {
  padding: 16px;
  border-bottom: 1px solid var(--color-border);
  font-size: .9375rem;
}
.comparison-table tbody tr:last-child td {
  border-bottom: none;
}
.comparison-table tbody tr:hover {
  background: #f9fafb;
}
.comparison-cases {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.comparison-case {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.comparison-case-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--color-text);
}
.comparison-case-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.comparison-case-list li {
  padding-left: 28px;
  position: relative;
  margin-bottom: 12px;
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--color-text);
}
.comparison-case-list li:before {
  content: 'РІР‚Сћ';
  position: absolute;
  left: 8px;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 1.25rem;
}

/* Guarantee */
.guarantee-section {
  padding: 64px 0;
  background: transparent;
}
.guarantee-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.guarantee-item {
  background: #fff;
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transition: transform .2s, box-shadow .2s;
}
.guarantee-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}
.guarantee-num {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-accent);
  margin-bottom: 8px;
  line-height: 1;
}
.guarantee-title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--color-text-muted);
  margin-bottom: 12px;
}
.guarantee-desc {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--color-text);
}

@media (max-width: 768px) {
  .catalog-section .catalog-grid,
  .types-section .catalog-grid,
  .comparison-cases,
  .guarantee-grid {
    grid-template-columns: 1fr;
  }
  .price-table,
  .comparison-table {
    font-size: .875rem;
  }
  .price-table th,
  .price-table td,
  .comparison-table th,
  .comparison-table td {
    padding: 12px 8px;
  }
}
/* vitrazi-styles */

/* === VITRAZI HERO === */
.vitrazi-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.vitrazi-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.vitrazi-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,0.65), rgba(0,0,0,0.65));
}

.vitrazi-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-bottom: 40px;
 width: 100%; }

.vitrazi-hero__content {
  max-width: 800px;
}

.vitrazi-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}

.vitrazi-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,0.85);
  margin-bottom: 32px;
  line-height: 1.6;
}

.vitrazi-hero__stats {
  display: flex;
  gap: 32px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.vitrazi-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vitrazi-hero__stat-num {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--color-accent);
}

.vitrazi-hero__stat-lbl {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.7);
}

.vitrazi-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .vitrazi-hero {
    min-height: auto;
  }
  .vitrazi-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
  .vitrazi-hero__stats {
    gap: 20px;
  }
}

/* === VITRAZI CATALOG === */
.vitrazi-catalog {
  padding: 64px 0;
}

.vitrazi-catalog__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.vitrazi-catalog__card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  transition: box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}

.vitrazi-catalog__card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.vitrazi-catalog__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.vitrazi-catalog__desc {
  font-size: 0.9375rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: 16px;
}

.vitrazi-catalog__specs {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  flex: 1;
}

.vitrazi-catalog__specs li {
  font-size: 0.875rem;
  color: var(--color-text);
  padding: 8px 0;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  gap: 8px;
}

.vitrazi-catalog__specs li:last-child {
  border-bottom: none;
}

.vitrazi-catalog__specs li:before {
  content: "РІСљвЂњ";
  color: var(--color-success);
  font-weight: 700;
  flex-shrink: 0;
}

.vitrazi-catalog__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border);
}

.vitrazi-catalog__price {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-accent);
}

@media (max-width: 768px) {
  .vitrazi-catalog__grid {
    grid-template-columns: 1fr;
  }
}

/* === VITRAZI WHY === */
.vitrazi-why {
  padding: 64px 0;
}

.vitrazi-why > .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px 32px;
}

.vitrazi-why__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.vitrazi-why__item {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.vitrazi-why__icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: rgba(236, 26, 74, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent);
  margin-bottom: 16px;
}

.vitrazi-why__icon svg {
  width: 24px;
  height: 24px;
}

.vitrazi-why__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}

.vitrazi-why__text {
  font-size: 0.9375rem;
  color: var(--color-text-muted);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .vitrazi-why__grid {
    grid-template-columns: 1fr;
  }
}
/* balkonnyj-blok-styles */

/* =====================================================
   HERO SECTION
   ===================================================== */
.balkonnyj-blok-hero {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: transparent;
}
.balkonnyj-blok-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 1;
}
.balkonnyj-blok-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(30,30,30,0.6) 100%);
  z-index: 2;
}
.balkonnyj-blok-hero__inner {
  position: relative;
  z-index: 3;
  padding-top: 100px;
  padding-bottom: 48px;
 width: 100%; }
.balkonnyj-blok-hero__content {
  max-width: 700px;
}
.balkonnyj-blok-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(236,26,74,0.9);
  padding: 8px 16px;
  border-radius: 8px;
  margin-bottom: 24px;
}
.balkonnyj-blok-hero__discount {
  font-size: 32px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.balkonnyj-blok-hero__badge-text {
  font-size: 12px;
  color: rgba(255,255,255,0.9);
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.balkonnyj-blok-hero__title {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.1;
}
.balkonnyj-blok-hero__title span {
  display: block;
  color: rgba(255,255,255,0.9);
}
.balkonnyj-blok-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,0.8);
  margin-bottom: 24px;
  line-height: 1.5;
}
.balkonnyj-blok-hero__price {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.balkonnyj-blok-hero__price-old {
  font-size: 1.1rem;
  color: rgba(255,255,255,0.5);
  text-decoration: line-through;
}
.balkonnyj-blok-hero__price-new {
  font-size: 2rem;
  font-weight: 900;
  color: #fff;
}
.balkonnyj-blok-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.balkonnyj-blok-hero__features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.balkonnyj-blok-hero__feature {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.9);
  font-size: 14px;
}
.balkonnyj-blok-hero__feature-icon {
  flex-shrink: 0;
  color: var(--color-accent);
}
@media (max-width: 768px) {
  .balkonnyj-blok-hero {
    min-height: auto;
  }
  .balkonnyj-blok-hero__inner {
    padding-top: 80px;
    padding-bottom: 32px;
   width: 100%; }
  .balkonnyj-blok-hero__features {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   CONFIGS SECTION
   ===================================================== */
.balkonnyj-blok-configs {
  padding: 64px 0;
  background: transparent;
}
.balkonnyj-blok-configs__subtitle {
  text-align: center;
  color: var(--color-text-muted);
  margin-bottom: 32px;
}
.balkonnyj-blok-configs__tabs {
  display: flex;
  gap: 12px;
  margin-bottom: 32px;
  overflow-x: auto;
  padding-bottom: 8px;
}
.balkonnyj-blok-configs__tab {
  padding: 12px 24px;
  border: 2px solid var(--color-border);
  background: #fff;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.balkonnyj-blok-configs__tab.active,
.balkonnyj-blok-configs__tab:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
}
.balkonnyj-blok-configs__content {
  position: relative;
}
.balkonnyj-blok-configs__panel {
  display: none;
}
.balkonnyj-blok-configs__panel.active {
  display: block;
}
.balkonnyj-blok-configs__grid {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.balkonnyj-blok-configs__info {
  max-width: 100%;
}
.balkonnyj-blok-configs__name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}
.balkonnyj-blok-configs__desc {
  color: var(--color-text-muted);
  margin-bottom: 24px;
}
.balkonnyj-blok-configs__specs {
  list-style: none;
  padding: 0;
}
.balkonnyj-blok-configs__specs li {
  padding: 8px 0;
  color: var(--color-text);
}
.balkonnyj-blok-configs__features {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.balkonnyj-blok-configs__feature {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-muted);
  font-size: 14px;
}
.balkonnyj-blok-configs__feature svg {
  flex-shrink: 0;
  color: var(--color-success);
}
@media (max-width: 768px) {
  .balkonnyj-blok-configs__tabs {
    flex-direction: column;
  }
  .balkonnyj-blok-configs__grid {
    padding: 24px;
  }
}

/* =====================================================
   ADVANTAGES SECTION (using existing why-grid)
   ===================================================== */
.balkonnyj-blok-advantages {
  padding: 64px 0;
  background: transparent;
}
.balkonnyj-blok-advantages__subtitle {
  text-align: center;
  color: var(--color-text-muted);
  margin-bottom: 32px;
}

/* =====================================================
   PRICING SECTION
   ===================================================== */
.balkonnyj-blok-pricing {
  padding: 64px 0;
  background: transparent;
}
.balkonnyj-blok-pricing__subtitle {
  text-align: center;
  color: var(--color-text-muted);
  margin-bottom: 32px;
}
.balkonnyj-blok-pricing__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
}
.balkonnyj-blok-pricing__card {
  background: #fff;
  border: 2px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  border-radius: 12px;
  padding: 32px;
  text-align: center;
}
.balkonnyj-blok-pricing__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}
.balkonnyj-blok-pricing__size {
  color: var(--color-text-muted);
  margin-bottom: 24px;
}
.balkonnyj-blok-pricing__price-wrap {
  margin-bottom: 24px;
}
.balkonnyj-blok-pricing__price-old {
  font-size: 1rem;
  color: var(--color-text-muted);
  text-decoration: line-through;
  margin-bottom: 8px;
}
.balkonnyj-blok-pricing__price {
  font-size: 2rem;
  font-weight: 900;
  color: var(--color-accent);
  margin-bottom: 8px;
}
.balkonnyj-blok-pricing__badge {
  display: inline-block;
  background: var(--color-accent);
  color: #fff;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
}
.balkonnyj-blok-pricing__included,
.balkonnyj-blok-pricing__options {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 24px;
}
.balkonnyj-blok-pricing__included h3,
.balkonnyj-blok-pricing__options h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.balkonnyj-blok-pricing__included ul {
  list-style: none;
  padding: 0;
}
.balkonnyj-blok-pricing__included li {
  padding: 8px 0;
  padding-left: 24px;
  position: relative;
}
.balkonnyj-blok-pricing__included li:before {
  content: "РІСљвЂњ";
  position: absolute;
  left: 0;
  color: var(--color-success);
  font-weight: 700;
}
.balkonnyj-blok-pricing__options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}
.balkonnyj-blok-pricing__option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-border);
}
.balkonnyj-blok-pricing__option strong {
  color: var(--color-accent);
}
@media (max-width: 768px) {
  .balkonnyj-blok-pricing__grid {
    grid-template-columns: 1fr;
  }
  .balkonnyj-blok-pricing__options-grid {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   EXECUTION SECTION
   ===================================================== */
.balkonnyj-blok-execution {
  padding: 64px 0;
  background: transparent;
}
.balkonnyj-blok-execution__subtitle {
  text-align: center;
  color: var(--color-text-muted);
  margin-bottom: 32px;
}
.balkonnyj-blok-execution__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
}
.balkonnyj-blok-execution__card {
  background: #fff;
  border: 2px solid var(--color-border);
  border-radius: 12px;
  padding: 24px;
}
.balkonnyj-blok-execution__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
}
.balkonnyj-blok-execution__desc {
  color: var(--color-text-muted);
  margin-bottom: 16px;
}
.balkonnyj-blok-execution__specs {
  list-style: none;
  padding: 0;
}
.balkonnyj-blok-execution__specs li {
  padding: 6px 0;
  color: var(--color-text);
  font-size: 14px;
}
.balkonnyj-blok-execution__fills {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
}
.balkonnyj-blok-execution__fills h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.balkonnyj-blok-execution__fills-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
}
.balkonnyj-blok-execution__fill {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.balkonnyj-blok-execution__fill svg {
  flex-shrink: 0;
  color: var(--color-accent);
}
.balkonnyj-blok-execution__fill strong {
  display: block;
  margin-bottom: 4px;
  color: var(--color-text);
}
.balkonnyj-blok-execution__fill p {
  color: var(--color-text-muted);
  font-size: 14px;
  margin: 0;
}
@media (max-width: 768px) {
  .balkonnyj-blok-execution__grid,
  .balkonnyj-blok-execution__fills-grid {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   SEOTEXT SECTION (uses existing .seotext classes)
   ===================================================== */
.balkonnyj-blok-seotext {
  padding: 64px 0;
  background: transparent;
}

/* =====================================================
   PROCESS SECTION (uses existing .process-section)
   ===================================================== */
.balkonnyj-blok-process__subtitle {
  text-align: center;
  color: var(--color-text-muted);
  margin-bottom: 32px;
}
.process-step-time {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: 14px;
  font-style: italic;
}

/* =====================================================
   GUARANTEE SECTION
   ===================================================== */
.balkonnyj-blok-guarantee {
  padding: 64px 0;
  background: transparent;
}
.balkonnyj-blok-guarantee__subtitle {
  text-align: center;
  color: var(--color-text-muted);
  margin-bottom: 32px;
}
.balkonnyj-blok-guarantee__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
}
.balkonnyj-blok-guarantee__card {
  background: #fff;
  border: 2px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  border-radius: 12px;
  padding: 32px;
  text-align: center;
}
.balkonnyj-blok-guarantee__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: rgba(236,26,74,0.1);
  color: var(--color-accent);
}
.balkonnyj-blok-guarantee__years {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-accent);
  margin-bottom: 8px;
}
.balkonnyj-blok-guarantee__name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.balkonnyj-blok-guarantee__list {
  list-style: none;
  padding: 0;
  text-align: left;
}
.balkonnyj-blok-guarantee__list li {
  padding: 6px 0;
  padding-left: 24px;
  position: relative;
  color: var(--color-text);
  font-size: 14px;
}
.balkonnyj-blok-guarantee__list li:before {
  content: "РІСљвЂњ";
  position: absolute;
  left: 0;
  color: var(--color-success);
  font-weight: 700;
}
.balkonnyj-blok-guarantee__additional {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
}
.balkonnyj-blok-guarantee__additional h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.balkonnyj-blok-guarantee__additional ul {
  list-style: none;
  padding: 0;
}
.balkonnyj-blok-guarantee__additional li {
  padding: 8px 0;
  padding-left: 24px;
  position: relative;
}
.balkonnyj-blok-guarantee__additional li:before {
  content: "РІСљвЂњ";
  position: absolute;
  left: 0;
  color: var(--color-success);
  font-weight: 700;
}
@media (max-width: 768px) {
  .balkonnyj-blok-guarantee__grid {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   FAQ SECTION (uses existing .faq-item)
   ===================================================== */
.balkonnyj-blok-faq {
  padding: 64px 0;
  background: transparent;
}

/* trekhstvorchatoe dconf hotfix styles */

/* dconf catalog image motion fix: keep product image static */
.dconf-card__img {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.dconf-card__img img {
  transition: none;
  transform: none;
  object-position: center bottom;
  margin-top: auto;
}
.dconf-card:hover .dconf-card__img img {
  transform: none;
}

/* Р РЋРЎвЂ¦Р ВµР СР В° РЎРѓРЎвЂљР Р†Р С•РЎР‚Р С•Р С” */
/* trekhstvorchatoe-configs: scheme + featured + for_whom v2 */

/* popup-form-styles */

/* Overlay */
#okna-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
#okna-popup-overlay[hidden] {
  display: none !important;
  pointer-events: none !important;
}

/* Popup card */
#okna-popup {
  position: relative;
  width: 100%;
  max-width: 440px;
  max-height: 90vh;
  overflow-y: auto;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 40px rgba(0,0,0,0.22);
  padding: 40px 36px 32px;
  box-sizing: border-box;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
#okna-popup.active {
  opacity: 1;
  transform: translateY(0);
}

/* Close button РІР‚вЂќ top right */
#okna-popup .popup-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  cursor: pointer;
  padding: 0;
  color: #595f6e;
  border-radius: 6px;
  transition: background 0.15s, color 0.15s;
  -webkit-appearance: none;
  appearance: none;
}
#okna-popup .popup-close:hover {
  background: rgba(0,0,0,0.06);
  color: #1a1a1a;
}

/* Form header */
#okna-popup .popup-title {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.3;
  color: #1a1a1a;
  text-align: center;
  margin: 0 32px 24px;
  padding: 0;
}

/* Form groups */
#okna-popup .form-group {
  margin-bottom: 16px;
}
#okna-popup .form-group input {
  display: block;
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 15px;
  font-family: inherit;
  color: #1a1a1a;
  background: #f9fafb;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
#okna-popup .form-group input::placeholder {
  color: #9ca3af;
}
#okna-popup .form-group input:focus {
  outline: none;
  border-color: #EC1A4A;
  box-shadow: 0 0 0 3px rgba(236,26,74,0.12);
  background: #fff;
}

/* Checkbox row */
#okna-popup .form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0;
}
#okna-popup .form-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  cursor: pointer;
  accent-color: #EC1A4A;
  flex-shrink: 0;
}
#okna-popup .form-checkbox span {
  font-size: 13px;
  line-height: 1.5;
  color: #595f6e;
  cursor: pointer;
}
#okna-popup .form-checkbox a {
  color: #EC1A4A;
  text-decoration: underline;
}
#okna-popup .form-consents {
  margin-bottom: 20px;
}

/* Submit button */
#okna-popup #popupSubmit {
  display: block;
  width: 100%;
}

/* Success state */
#okna-popup .popup-success-icon {
  text-align: center;
  margin-bottom: 16px;
}
#okna-popup .popup-subtitle {
  font-size: 1rem;
  color: #595f6e;
  text-align: center;
  margin-bottom: 20px;
}
#okna-popup #okna-popup-success .btn {
  display: block;
  width: 100%;
}

/* Body lock */
body.popup-open { overflow: hidden; }

/* Mobile */
@media (max-width: 540px) {
  #okna-popup {
    padding: 28px 20px 24px;
    border-radius: 10px;
  }
  #okna-popup .popup-title {
    font-size: 1.1rem;
    margin: 0 28px 20px;
  }
}

/* screen-reader helper */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}






/* ============================================================

/* ============================================================
   GEO PAGES РІР‚вЂќ City & Podmoskovye hub styles
   ============================================================ */

/* --- Geo SEO text block ------------------------------------ */
.geo-seotext { padding: 48px 0; }
.geo-seotext__card {
  padding: 40px 48px;
  background: #fff;
  border-radius: 20px;
  border-top: 3px solid var(--color-accent);
}
.geo-seotext__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 24px;
}
.geo-seotext__col p { margin: 0 0 16px; line-height: 1.7; color: var(--color-text); }
.geo-seotext__col p:last-child { margin-bottom: 0; }
.geo-seotext__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.geo-seotext__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: var(--color-text);
  font-weight: 500;
}
.geo-seotext__list li svg { flex-shrink: 0; }

@media (max-width: 768px) {
  .geo-seotext__card { padding: 28px 20px; }
  .geo-seotext__cols { grid-template-columns: 1fr; gap: 24px; }
}

/* ============================================================
   PODMOSKOVYE РІР‚вЂќ Alphabetical cities layout
   ============================================================ */
.podmoskovye-cities { padding: 64px 0; }
.podmoskovye-cities > .wrap {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 24px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .08);
  padding: 44px 48px 48px;
}
.podmoskovye-cities .section-title {
  margin-bottom: 28px;
}

/* ---- Search -------------------------------------------- */
.cities-search {
  margin-bottom: 20px;
}
.cities-search__wrap {
  position: relative;
  max-width: 420px;
}
.cities-search__icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
  pointer-events: none;
}
.cities-search__input {
  width: 100%;
  padding: 12px 40px 12px 44px;
  border: 2px solid var(--color-border);
  border-radius: 10px;
  font-size: 14px;
  font-family: inherit;
  color: var(--color-text);
  background: #fff;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.cities-search__input:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(212,23,69,.1);
}
.cities-search__input::placeholder { color: #aaa; }
.cities-search__clear {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: none;
  background: #ebebeb;
  border-radius: 50%;
  cursor: pointer;
  color: var(--color-text-muted);
  transition: background .15s;
}
.cities-search__clear:hover { background: #ddd; }

/* ---- Alphabet index row -------------------------------- */
.cities-alpha-index {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 24px;
}
.alpha-index__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #e8f0fe;
  color: #3b5bdb;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.alpha-index__item:hover {
  background: #3b5bdb;
  color: #fff;
}

/* ---- Alpha columns ------------------------------------- */
.cities-alpha {
  columns: 4;
  column-gap: 16px;
}

/* ---- Letter group card --------------------------------- */
.cities-alpha__group {
  break-inside: avoid;
  background: #eef4fd;
  border-radius: 14px;
  padding: 16px 20px 18px;
  margin-bottom: 16px;
}
.cities-alpha__letter {
  font-size: 17px;
  font-weight: 800;
  color: var(--color-accent);
  margin-bottom: 10px;
  line-height: 1;
}
.cities-alpha__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cities-alpha__city {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  padding: 4px 0;
  line-height: 1.4;
  border-bottom: 1px solid rgba(0,0,0,.06);
  transition: color .15s, padding-left .15s;
}
.cities-alpha__city:last-child { border-bottom: none; }
.cities-alpha__city:hover {
  color: var(--color-accent);
  padding-left: 4px;
}

/* ---- Empty state --------------------------------------- */
.cities-empty {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 48px 24px;
  background: #fff;
  border-radius: 16px;
  border: 1.5px dashed var(--color-border);
}
.cities-empty p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

/* ---- Bottom note --------------------------------------- */
.podmoskovye-cities__note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding: 14px 20px;
  background: #fff;
  border-radius: 12px;
  font-size: 14px;
  color: var(--color-text-muted);
  border-left: 3px solid var(--color-accent);
}
.podmoskovye-cities__note svg { flex-shrink: 0; }

/* ---- Responsive ---------------------------------------- */
@media (max-width: 1024px) {
  .cities-alpha { columns: 3; }
}
@media (max-width: 768px) {
  .podmoskovye-cities { padding: 40px 0; }
  .podmoskovye-cities > .wrap {
    border-radius: 18px;
    padding: 28px 18px 30px;
  }
  .cities-alpha { columns: 2; column-gap: 12px; }
  .cities-search__wrap { max-width: 100%; }
}
@media (max-width: 480px) {
  .cities-alpha { columns: 1; }
}


/* ============================================================
   USTANOVKA PAGE РІР‚вЂќ hero, guarantee checklist
   ============================================================ */

/* --- Hero --- */
.ustanovka-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.ustanovka-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.ustanovka-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)); }
.ustanovka-hero__inner { position: relative; z-index: 1; padding-top: 100px; padding-bottom: 60px; width: 100%; }
.ustanovka-hero__content { max-width: 700px; }
.ustanovka-hero__title { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 900; line-height: 1.1; color: #fff; margin-bottom: 16px; }
.ustanovka-hero__sub { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 32px; }
.ustanovka-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.ustanovka-hero__stats { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.ustanovka-hero__stat { display: flex; flex-direction: column; padding: 0 24px; }
.ustanovka-hero__stat:first-child { padding-left: 0; }
.ustanovka-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.ustanovka-hero__stat-lbl { font-size: 0.75rem; color: rgba(255,255,255,.5); }
.ustanovka-hero__stat-sep { width: 1px; height: 36px; background: rgba(255,255,255,.2); }

/* --- Guarantee checklist --- */
.guarantee-checklist { margin-top: 48px; background: #fff; border-radius: 20px; padding: 40px 48px; border-top: 3px solid var(--color-accent); box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.guarantee-checklist-title { font-size: 1.1rem; font-weight: 700; color: var(--color-text); margin-bottom: 20px; }
.guarantee-checklist-list { list-style: none; padding: 0; margin: 0 0 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 32px; }
.guarantee-checklist-list li { font-size: 0.92rem; color: var(--color-text-muted); padding-left: 22px; position: relative; }
.guarantee-checklist-list li::before { content: '\2713'; position: absolute; left: 0; color: var(--color-accent); font-weight: 700; }
.guarantee-checklist-note { font-size: 0.85rem; color: var(--color-text-muted); border-top: 1px solid var(--color-border); padding-top: 16px; margin: 0; }

@media (max-width: 768px) {
  .ustanovka-hero { min-height: var(--hero-min-height-mobile); }
  .ustanovka-hero__stat-sep { display: none; }
  .ustanovka-hero__stat { padding: 8px 0; text-align: center; }
  .ustanovka-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
  .guarantee-checklist { padding: 28px 24px; }
  .guarantee-checklist-list { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .ustanovka-hero { min-height: auto; }
  .ustanovka-hero__inner { padding-top: 80px; padding-bottom: 32px; }
  .ustanovka-hero__title { font-size: 1.6rem; margin-bottom: 10px; }
  .ustanovka-hero__sub { font-size: 0.88rem; margin-bottom: 20px; }
  .ustanovka-hero__actions { margin-bottom: 24px; }
  .ustanovka-hero__stats { grid-template-columns: 1fr 1fr; }
}

/* ===== CENY PAGE ===== */
.ceny-table-section { background: #fff; border-radius: 0; padding: 64px 0; }
.ceny-tabs { display: flex; gap: 8px; margin: 0 0 28px; flex-wrap: wrap; }
.ceny-tab { padding: 10px 28px; border-radius: 30px; border: 1.5px solid var(--color-border); background: #fff; font-size: 14px; font-weight: 600; cursor: pointer; transition: all .15s; color: var(--color-text); }
.ceny-tab.active, .ceny-tab:hover { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.ceny-table-wrap { overflow-x: auto; }
.ceny-price-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ceny-price-table th { background: var(--color-bg-dark); color: #fff; padding: 14px 16px; text-align: left; font-weight: 700; white-space: nowrap; }
.ceny-price-table th:first-child { border-radius: 12px 0 0 0; }
.ceny-price-table th:last-child { border-radius: 0 12px 0 0; }
.ceny-price-table td { padding: 14px 16px; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.ceny-price-table tr:last-child td { border-bottom: none; }
.ceny-price-table tr:hover td { background: #f9f0f3; }
.ceny-price-table td:not(:first-child) { font-weight: 700; color: var(--color-text); white-space: nowrap; }
.ceny-size { font-size: 12px; color: var(--color-text-muted); font-weight: 400; }
.ceny-note { margin-top: 16px; font-size: 13px; color: var(--color-text-muted); }
.ceny-includes { padding: 64px 0; }
.ceny-faq { padding: 64px 0; background: var(--color-bg-section); }
.ceny-seotext { padding: 64px 0; }
@media (max-width: 768px) {
  .ceny-price-table { font-size: 13px; }
  .ceny-price-table th, .ceny-price-table td { padding: 10px 10px; }
}

/* ===== ZAMER PAGE =====*/
.zamer-hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden}.zamer-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}.zamer-hero__overlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6))}.zamer-hero__inner{position:relative;z-index:1;padding-top:100px;padding-bottom:60px}.zamer-hero__content{max-width:700px}.zamer-hero__title{font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1.1;color:#fff;margin-bottom:16px}.zamer-hero__sub{font-size:1rem;color:rgba(255,255,255,.7);margin-bottom:32px}.zamer-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.zamer-hero__stats{display:flex;align-items:center;flex-wrap:wrap}.zamer-hero__stat{display:flex;flex-direction:column;padding:0 24px}.zamer-hero__stat:first-child{padding-left:0}.zamer-hero__stat-num{font-size:1.5rem;font-weight:800;color:#fff}.zamer-hero__stat-lbl{font-size:.75rem;color:rgba(255,255,255,.5)}.zamer-hero__stat-sep{width:1px;height:36px;background:rgba(255,255,255,.2)}.zamer-why{padding:64px 0}.zamer-faq{padding:64px 0;background:var(--color-bg-section)}.zamer-seotext{padding:64px 0}.zamer-form-section{padding:64px 0;background:var(--color-bg-dark)}.zamer-form-section .section-label{color:rgba(255,255,255,.5)}.zamer-form-section .section-title{color:#fff}.zamer-form-section .section-sub{color:rgba(255,255,255,.7)}.zamer-form-wrap{max-width:600px;margin:0 auto}@media(max-width:768px){.zamer-hero{min-height:520px}.zamer-hero__stat-sep{display:none}.zamer-hero__stat{padding:8px 0}}

.coolcolours-hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden}.coolcolours-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}.coolcolours-hero__overlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65))}.coolcolours-hero__inner{position:relative;z-index:1;padding-top:100px;padding-bottom:60px}.coolcolours-hero__content{max-width:700px}.coolcolours-hero__title{font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1.1;color:#fff;margin-bottom:16px}.coolcolours-hero__sub{font-size:1rem;color:rgba(255,255,255,.7);margin-bottom:32px}.coolcolours-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.coolcolours-hero__stats{display:flex;align-items:center;flex-wrap:wrap}.coolcolours-hero__stat{display:flex;flex-direction:column;padding:0 24px}.coolcolours-hero__stat:first-child{padding-left:0}.coolcolours-hero__stat-num{font-size:1.5rem;font-weight:800;color:#fff}.coolcolours-hero__stat-lbl{font-size:.75rem;color:rgba(255,255,255,.5)}.coolcolours-hero__stat-sep{width:1px;height:36px;background:rgba(255,255,255,.2)}.coolcolours-faq{padding:64px 0;background:var(--color-bg-section)}.coolcolours-seotext{padding:64px 0}

.erkernyie-hero { position: relative; min-height: var(--hero-min-height); display: flex; align-items: center; overflow: hidden; }
.erkernyie-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.erkernyie-hero__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)); }
.erkernyie-hero__inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 40px; width: 100%; }
.erkernyie-hero__content { max-width: 700px; }
.erkernyie-hero__title { font-size: clamp(1.8rem,5vw,3.2rem); font-weight: 900; color: #fff; margin-bottom: 16px; line-height: 1.2; }
.erkernyie-hero__sub { font-size: 1rem; color: rgba(255,255,255,.85); margin-bottom: 32px; line-height: 1.6; }
.erkernyie-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.erkernyie-hero__stats { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.erkernyie-hero__stat { display: flex; flex-direction: column; gap: 4px; }
.erkernyie-hero__stat-num { font-size: 1.5rem; font-weight: 800; color: #fff; }
.erkernyie-hero__stat-lbl { font-size: 0.85rem; color: rgba(255,255,255,.7); }
.erkernyie-hero__stat-sep { width: 1px; height: 40px; background: rgba(255,255,255,.3); }
@media (max-width: 600px) {
  .erkernyie-hero { min-height: auto; }
  .erkernyie-hero__inner { padding-top: 80px; padding-bottom: 32px; width: 100%; }
  .erkernyie-hero__title { font-size: 1.6rem; }
  .erkernyie-hero__stat-sep { display: none; }
  .erkernyie-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
}
.erkernyie-about{padding:64px 0;background:#fff}.erkernyie-advantages,.erkernyie-faq{padding:64px 0}.erkernyie-faq{background:var(--color-bg-section)}.erkernyie-seotext{padding:64px 0}

.page-terrasy-razdv{background:var(--color-bg-section)}.terrasy-razdv-hero .slides{width:100%}.terrasy-razdv-hero .slide{min-height:600px}.terrasy-razdv-hero__content{max-width:700px}.terrasy-razdv-hero__stats{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:36px}.terrasy-razdv-hero__stat{display:flex;flex-direction:column;padding:0 24px}.terrasy-razdv-hero__stat:first-child{padding-left:0}.terrasy-razdv-hero__stat-num{font-size:1.5rem;font-weight:800;color:#fff;line-height:1.2}.terrasy-razdv-hero__stat-lbl{font-size:.75rem;color:rgba(255,255,255,.6);line-height:1.35}.terrasy-razdv-hero__stat-sep{width:1px;height:36px;background:rgba(255,255,255,.24)}.terrasy-razdv-adv,.terrasy-razdv-faq{padding:64px 0}.terrasy-razdv-faq{background:var(--color-bg-section)}.terrasy-razdv-seotext{padding:64px 0}@media(max-width:640px){.terrasy-razdv-hero__stats{gap:14px}.terrasy-razdv-hero__stat{padding:0 14px 0 0}.terrasy-razdv-hero__stat-sep{display:none}}

.bpth-hero,.balkony-type-hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden}.bpth-hero__bg,.balkony-type-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}.bpth-hero__overlay,.balkony-type-hero__overlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6))}.bpth-hero__inner,.balkony-type-hero__inner{position:relative;z-index:1;padding-top:100px;padding-bottom:60px}.bpth-hero__content,.balkony-type-hero__content{max-width:700px}.bpth-hero__title,.balkony-type-hero__title{font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1.1;color:#fff;margin-bottom:16px}.bpth-hero__sub,.balkony-type-hero__sub{font-size:1rem;color:rgba(255,255,255,.7);margin-bottom:32px}.bpth-hero__actions,.balkony-type-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.bpth-hero__stats,.balkony-type-hero__stats{display:flex;align-items:center;flex-wrap:wrap}.bpth-hero__stat,.balkony-type-hero__stat{display:flex;flex-direction:column;padding:0 24px}.bpth-hero__stat:first-child,.balkony-type-hero__stat:first-child{padding-left:0}.bpth-hero__stat-num,.balkony-type-hero__stat-num{font-size:1.5rem;font-weight:800;color:#fff}.bpth-hero__stat-lbl,.balkony-type-hero__stat-lbl{font-size:.75rem;color:rgba(255,255,255,.5)}.bpth-hero__stat-sep,.balkony-type-hero__stat-sep{width:1px;height:36px;background:rgba(255,255,255,.2)}.balkony-type-specs{padding:64px 0;background:#fff}.balkony-type-faq{padding:64px 0;background:var(--color-bg-section)}.balkony-type-seo{padding:64px 0}.bpth-types{padding:64px 0}

/* ============================================================
   PANORAMNYE OVERRIDES (2026-04-17)
   ============================================================ */
.panoramnye-hero__inner {
  padding-top: 100px;
  padding-bottom: 60px;
}

.panoramnye-hero__title {
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 1.1;
}

.panoramnye-hero__actions {
  margin-bottom: 40px;
}

.panoramnye-hero__stats {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}

.panoramnye-hero__stat {
  display: flex;
  flex-direction: column;
  padding: 0 24px;
}

.panoramnye-hero__stat:first-child {
  padding-left: 0;
}

.panoramnye-hero__stat-num {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
}

.panoramnye-hero__stat-lbl {
  font-size: 0.75rem;
  color: rgba(255,255,255,.5);
}

.panoramnye-hero__stat-sep {
  width: 1px;
  height: 36px;
  background: rgba(255,255,255,.2);
}

.panoramnye-wide .section-card {
  border-top: none !important;
}

.panoramnye-wide__layout {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  align-items: center;
}

.panoramnye-wide__content {
  min-width: 0;
}

.panoramnye-wide__content .section-title {
  margin: 0 0 18px;
}

.panoramnye-wide__content .panoramnye-wide__text:first-of-type {
  margin-top: 0;
}

.panoramnye-wide__text {
  color: var(--color-text);
  line-height: 1.6;
  margin: 0 0 12px;
}

.panoramnye-wide__facts {
  list-style: none;
  padding: 0;
  margin: 16px 0 24px;
  display: grid;
  gap: 10px;
}

.panoramnye-wide__facts li {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.45;
}

.panoramnye-wide__facts li::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--color-accent);
  flex-shrink: 0;
  transform: translateY(1px);
}

.panoramnye-wide__facts strong {
  color: var(--color-text);
  font-weight: 800;
}

.panoramnye-wide__price {
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 18px;
  background: #fff;
}

.panoramnye-wide__price-label {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 6px;
}

.panoramnye-wide__price-value {
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1.1;
  font-weight: 900;
  color: var(--color-text);
  margin-bottom: 14px;
}

.panoramnye-wide__image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.panoramnye-wide__image {
  width: 100%;
  max-width: 560px;
  height: auto;
  object-fit: contain;
}

.panoramnye-advantages .section-title {
  margin-bottom: 10px;
}

.panoramnye-advantages__subtitle {
  margin: 0 0 28px;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .panoramnye-wide__layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .panoramnye-wide__image-wrap {
    order: -1;
  }
}

@media (max-width: 600px) {
  .panoramnye-hero {
    min-height: var(--hero-min-height-mobile);
  }

  .panoramnye-hero__stat-sep {
    display: none;
  }

  .panoramnye-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .panoramnye-hero__stat {
    padding: 8px 0;
    text-align: center;
  }

  .panoramnye-wide__facts li {
    font-size: 15px;
  }
}

/* PANORAMNYE: visual tuning */
.panoramnye-wide .section-card {
  border-top: none !important;
}

.panoramnye-wide__price {
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 16px 18px;
}

.panoramnye-wide__price-value {
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin-bottom: 10px;
}


/* PANORAMNYE: make product wrapper geometry match configs block */
.panoramnye-wide .section-card {
  margin-left: -24px;
  margin-right: -24px;
}

@media (max-width: 768px) {
  .panoramnye-wide .section-card {
    margin-left: 0;
    margin-right: 0;
  }
}



/* advantages UX/UI refresh: shared tiles for vhdv/odn and cottage advantages */
.vhdv-adv {
  padding: clamp(48px, 6vw, 72px) 0;
  background: transparent;
}

.vhdv-adv > .wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 44px);
  background: var(--color-white, #fff);
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(18, 31, 48, .06);
  box-sizing: border-box;
}

.vhdv-adv__grid,
.odn-adv .vhdv-adv__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 28px;
  align-items: stretch;
}

.vhdv-adv__card,
.odn-adv .vhdv-adv__card {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-areas:
    "icon num"
    "icon title"
    "desc desc";
  align-content: start;
  gap: 8px 16px;
  min-width: 0;
  min-height: 236px;
  height: 100%;
  padding: 24px;
  border: 1px solid rgba(18, 31, 48, .08);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
  box-shadow: 0 10px 30px rgba(18, 31, 48, .05);
  box-sizing: border-box;
}

.vhdv-adv__icon,
.odn-adv .vhdv-adv__icon {
  grid-area: icon;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  border-radius: 16px;
  color: var(--color-accent);
  background: rgba(238, 23, 72, .08);
  flex: 0 0 48px;
}

.vhdv-adv__icon svg,
.odn-adv .vhdv-adv__icon svg {
  display: block;
  width: 28px;
  height: 28px;
}

.vhdv-adv__num,
.odn-adv .vhdv-adv__num {
  grid-area: num;
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 900;
  line-height: 1.05;
  color: var(--color-accent);
}

.vhdv-adv__title,
.odn-adv .vhdv-adv__title {
  grid-area: title;
  margin: 0;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.3;
  color: var(--color-text);
}

.vhdv-adv__desc,
.odn-adv .vhdv-adv__desc {
  grid-area: desc;
  margin: 10px 0 0;
  font-size: .93rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}

.ctg-adv > .wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 44px);
  background: var(--color-white, #fff);
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(18, 31, 48, .06);
  box-sizing: border-box;
}

.ctg-adv__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.ctg-adv__card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "desc desc";
  align-content: start;
  gap: 10px 16px;
  min-width: 0;
  min-height: 190px;
  height: 100%;
  padding: 24px;
  border: 1px solid rgba(18, 31, 48, .08);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
  box-shadow: 0 10px 30px rgba(18, 31, 48, .05);
  box-sizing: border-box;
}

.ctg-adv__icon {
  grid-area: icon;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  color: var(--color-accent);
  background: rgba(238, 23, 72, .08);
}

.ctg-adv__icon svg {
  display: block;
  width: 28px;
  height: 28px;
}

.ctg-adv__title {
  grid-area: title;
  align-self: center;
  margin: 0;
}

.ctg-adv__desc {
  grid-area: desc;
  margin: 8px 0 0;
}

@media (max-width: 1024px) {
  .vhdv-adv__grid,
  .odn-adv .vhdv-adv__grid,
  .ctg-adv__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .vhdv-adv,
  .ctg-adv {
    padding: 48px 0;
  }

  .vhdv-adv > .wrap,
  .ctg-adv > .wrap {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .vhdv-adv__grid,
  .odn-adv .vhdv-adv__grid,
  .ctg-adv__grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }

  .vhdv-adv__card,
  .odn-adv .vhdv-adv__card,
  .ctg-adv__card {
    min-height: 0;
    padding: 20px;
    border-radius: 18px;
  }
}

/* Arched windows page: responsive type cards grid. */
#archnye-types .dconf__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.archnye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199px) {
  #archnye-types .dconf__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #archnye-types .dconf__grid,
  .archnye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* Triangular windows page: standard type cards and advantages grids. */
#treugolnye-types .dconf__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.treugolnye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199px) {
  #treugolnye-types .dconf__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #treugolnye-types .dconf__grid,
  .treugolnye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* Panoramic windows page: standard type cards and advantages grids. */
#panoramnye-types .dconf__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.panoramnye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199px) {
  #panoramnye-types .dconf__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #panoramnye-types .dconf__grid,
  .panoramnye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* Round windows page: standard type cards and advantages grids. */
#kruglye-types .dconf__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kruglye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199px) {
  #kruglye-types .dconf__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #kruglye-types .dconf__grid,
  .kruglye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* French windows page: standard type cards and advantages grids. */
#french-types .dconf__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.french-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199px) {
  #french-types .dconf__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #french-types .dconf__grid,
  .french-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* Sliding windows page: standard advantages grid. */
.razdvizhnye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 600px) {
  .razdvizhnye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* Brown windows page: standard advantages grid. */
.korichnevye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 600px) {
  .korichnevye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* Grey windows page: standard advantages grid. */
.serye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 600px) {
  .serye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}

/* Black windows page: standard advantages grid. */
.chernye-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 600px) {
  .chernye-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}


/* Bay windows page: standard type cards and advantages grids. */
#erkernyie-types .dconf__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.erkernyie-adv .vhdv-adv__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199px) {
  #erkernyie-types .dconf__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #erkernyie-types .dconf__grid,
  .erkernyie-adv .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}
/* Balcony block variants */
.bb-variants {
  padding: 72px 0;
  background: transparent;
}

.bb-variants .section-title {
  max-width: 760px;
  margin-bottom: 32px;
}

.bb-variants__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.bb-variants-card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
  transition: transform .2s, box-shadow .2s;
}

.bb-variants-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(236,26,74,.08);
}

.bb-variants-card__media {
  background: #1e1e1e;
  aspect-ratio: 16 / 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.bb-variants-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.bb-variants-card__body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bb-variants-card__title {
  margin: 0 0 18px;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 800;
  min-height: 54px;
}

.bb-variants-card__prices {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 20px;
}

.bb-variants-card__label {
  color: var(--color-text-muted);
  font-size: .82rem;
}

.bb-variants-card__old {
  color: var(--color-text-muted);
  font-size: 1rem;
  text-decoration: line-through;
}

.bb-variants-card__price {
  color: var(--color-text);
  font-size: 1.45rem;
  line-height: 1.15;
  font-weight: 900;
}

.bb-variants-card__btn {
  width: 100%;
  margin-top: auto;
  justify-content: center;
  border: 0;
}

@media (max-width: 1100px) {
  .bb-variants__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .bb-variants {
    padding: 52px 0;
  }

  .bb-variants__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bb-variants-card__title {
    min-height: 0;
  }
}

/* Balcony block glazing variants */
.bb-glazing {
  padding: 8px 0 72px;
  background: transparent;
}

.bb-glazing .section-title {
  max-width: 920px;
  margin-bottom: 32px;
}

.bb-glazing__list {
  display: grid;
  gap: 24px;
}

.bb-glazing-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}

.bb-glazing-card--reverse .bb-glazing-card__media {
  order: 2;
}

.bb-glazing-card--reverse .bb-glazing-card__body {
  order: 1;
}

.bb-glazing-card__media {
  min-height: 330px;
  background: #eef1f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bb-glazing-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bb-glazing-card__body {
  min-width: 0;
  padding: 44px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
}

.bb-glazing-card__title {
  margin: 0 0 18px;
  color: var(--color-text);
  font-size: 1.08rem;
  line-height: 1.35;
  font-weight: 900;
  text-transform: uppercase;
}

.bb-glazing-card__desc {
  margin: 0;
  color: var(--color-text-muted);
  font-size: .98rem;
  line-height: 1.65;
}

.bb-glazing-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.bb-glazing-card__price {
  color: var(--color-text);
  font-size: 1.15rem;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.bb-glazing-card__btn {
  min-width: 220px;
  justify-content: center;
  border: 0;
}

@media (max-width: 900px) {
  .bb-glazing-card,
  .bb-glazing-card--reverse {
    grid-template-columns: 1fr;
  }

  .bb-glazing-card--reverse .bb-glazing-card__media,
  .bb-glazing-card--reverse .bb-glazing-card__body {
    order: initial;
  }

  .bb-glazing-card__media {
    min-height: 260px;
  }

  .bb-glazing-card__body {
    padding: 28px;
    gap: 28px;
  }
}

@media (max-width: 560px) {
  .bb-glazing {
    padding: 0 0 52px;
  }

  .bb-glazing__list {
    gap: 18px;
  }

  .bb-glazing-card {
    border-radius: 14px;
  }

  .bb-glazing-card__media {
    min-height: 220px;
  }

  .bb-glazing-card__body {
    padding: 22px;
  }

  .bb-glazing-card__footer {
    align-items: stretch;
    flex-direction: column;
  }

.bb-glazing-card__btn {
    width: 100%;
    min-width: 0;
  }
}

/* French balcony page refinements */
.francuzskij-page .section-title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
}

.francuzskij-page .francuzskij-hero__overlay {
  background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.6) 48%, rgba(0,0,0,.42) 100%);
}

.francuzskij-page .francuzskij-hero__sub {
  color: rgba(255,255,255,.94);
  line-height: 1.6;
  max-width: 760px;
  text-shadow: 0 1px 12px rgba(0,0,0,.35);
}

.fr-panorama-products .fr-panorama-products__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}

.fr-panorama-products .section-title {
  margin-bottom: 0;
  max-width: 920px;
}

.fr-panorama-products__nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.fr-panorama-products__arrow {
  width: 42px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(236,26,74,.16);
}

.fr-panorama-products .bb-variants__grid {
  display: flex;
  grid-template-columns: none;
  gap: 20px;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-padding: 2px;
  padding: 2px 2px 12px;
  scrollbar-width: thin;
}

.fr-panorama-products .bb-variants-card {
  flex: 0 0 calc((100% - 60px) / 4);
  scroll-snap-align: start;
}

.fr-panorama-products .bb-variants-card__media {
  background: #1c1c1c;
}

@media (max-width: 1100px) {
  .fr-panorama-products .bb-variants-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (max-width: 640px) {
  .francuzskij-page .section-title {
    font-size: 1.8rem;
  }

  .fr-panorama-products .fr-panorama-products__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .fr-panorama-products .bb-variants-card {
    flex-basis: min(86vw, 360px);
  }
}

/* French balcony page refinements, normalized after carousel update */
.francuzskij-page .section-label {
  margin-bottom: 12px;
}

.francuzskij-page .section-title {
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
  line-height: 1.15;
  margin-top: 0;
}

.francuzskij-page .francuzskij-hero__overlay {
  background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.6) 48%, rgba(0,0,0,.42) 100%);
}

.francuzskij-page .francuzskij-hero__sub {
  color: rgba(255,255,255,.94);
  line-height: 1.6;
  max-width: 760px;
  text-shadow: 0 1px 12px rgba(0,0,0,.35);
}

.fr-panorama-products .fr-panorama-products__head {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 28px;
}

.fr-panorama-products .section-title {
  margin-bottom: 0;
  max-width: 920px;
}

.fr-panorama-products__nav {
  position: static;
}

.fr-panorama-products .fr-panorama-products__arrow {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: 3;
  width: 44px;
  height: 44px;
  background: #fff;
  border: 1.5px solid var(--color-border);
  border-radius: 50%;
  color: var(--color-text);
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  cursor: pointer;
}

.fr-panorama-products .fr-panorama-products__arrow--prev {
  left: -22px;
}

.fr-panorama-products .fr-panorama-products__arrow--next {
  right: -22px;
}

.fr-panorama-products .fr-panorama-products__arrow:hover:not(:disabled) {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.fr-panorama-products .fr-panorama-products__arrow:disabled {
  opacity: .3;
  cursor: default;
}

.fr-panorama-products__slider-wrap {
  position: relative;
  max-width: 100%;
  overflow: visible;
}

.fr-panorama-products__viewport {
  max-width: 100%;
  overflow: hidden;
}

.fr-panorama-products .bb-variants__grid {
  display: flex;
  grid-template-columns: none;
  gap: 20px;
  overflow: visible;
  padding: 0;
  scrollbar-width: none;
  transition: transform .35s ease;
  will-change: transform;
}

.fr-panorama-products .bb-variants__grid::-webkit-scrollbar {
  display: none;
}

.fr-panorama-products .bb-variants-card {
  flex: 0 0 calc((100% - 60px) / 4);
  min-width: 0;
}

.fr-panorama-products .bb-variants-card__media {
  background: #1c1c1c;
}

.francuzskij-page #cta h2 {
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 12px;
  color: #fff;
}

.francuzskij-page #cta .section-title {
  color: #fff;
}

.francuzskij-page #cta p {
  color: rgba(255,255,255,.78);
}

.francuzskij-page #cta .cta-note {
  color: rgba(255,255,255,.58);
}

@media (max-width: 1100px) {
  .fr-panorama-products .bb-variants-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (max-width: 640px) {
  .francuzskij-page .section-title {
    font-size: 1.8rem;
  }

  .fr-panorama-products .fr-panorama-products__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .fr-panorama-products .bb-variants-card {
    flex-basis: 100%;
  }

  .fr-panorama-products .fr-panorama-products__arrow {
    width: 36px;
    height: 36px;
  }

  .fr-panorama-products .fr-panorama-products__arrow--prev {
    left: -18px;
  }

  .fr-panorama-products .fr-panorama-products__arrow--next {
    right: -18px;
  }
}


/* French balcony page: keep typography aligned with the global section standard. */
.francuzskij-page .section-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 6px;
}

.francuzskij-page .section-title,
.fr-panorama-products .section-title {
  font-size: clamp(22px, 2.5vw, 34px);
  font-weight: 800;
  letter-spacing: -0.5px;
  line-height: 1.2;
  margin-top: 0;
}

.fr-panorama-products .section-title {
  margin-bottom: 0;
  max-width: 920px;
}

.francuzskij-page #cta .section-title {
  color: #fff;
}

@media (max-width: 640px) {
  .francuzskij-page .section-title,
  .fr-panorama-products .section-title {
    font-size: clamp(20px, 6vw, 28px);
  }
}

/* francuzskij cta: keep shared cta h2 standard */
.francuzskij-page #cta h2 {
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 12px;
  color: #fff;
}

/* francuzskij_seotext_title: override generic .page-content h2 */
.francuzskij-page .seotext__title {
  font-size: clamp(1.3rem, 2.5vw, 1.7rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 20px;
  color: var(--color-text);
}


/* Warm glazing comparison: clean UX cards. */
.teploe-compare-section {
  padding: 80px 0;
  background: transparent;
}
.teploe-compare-section > .wrap.section-card {
  max-width: 1200px;
}
.teploe-compare-clean {
  display: grid;
  gap: 24px;
  margin-top: 28px;
}
.teploe-compare-clean__choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.teploe-compare-clean__choice,
.teploe-compare-clean__card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}
.teploe-compare-clean__choice {
  padding: 22px 24px;
}
.teploe-compare-clean__choice--warm {
  border-top: 3px solid var(--color-accent);
}
.teploe-compare-clean__choice--cold {
  border-top: 3px solid #6b7280;
}
.teploe-compare-clean__tag {
  display: block;
  margin: 0 0 8px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.teploe-compare-clean__choice--cold .teploe-compare-clean__tag {
  color: #6b7280;
}
.teploe-compare-clean__choice h3 {
  margin: 0 0 8px;
  color: var(--color-text);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.15;
}
.teploe-compare-clean__choice p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.55;
}
.teploe-compare-clean__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.teploe-compare-clean__card {
  padding: 18px;
}
.teploe-compare-clean__card h3 {
  margin: 0 0 14px;
  color: var(--color-text);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
}
.teploe-compare-clean__values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.teploe-compare-clean__value {
  min-height: 74px;
  border-radius: 8px;
  padding: 12px;
  background: #f7f8fa;
}
.teploe-compare-clean__value--warm {
  background: rgba(212, 23, 69, 0.08);
}
.teploe-compare-clean__value span {
  display: block;
  margin-bottom: 6px;
  color: var(--color-text-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}
.teploe-compare-clean__value--warm span {
  color: var(--color-accent);
}
.teploe-compare-clean__value strong {
  display: block;
  color: var(--color-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: normal;
}
.teploe-compare-clean__note {
  border-left: 3px solid var(--color-accent);
  border-radius: 0 8px 8px 0;
  background: rgba(212, 23, 69, 0.06);
  padding: 16px 18px;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.55;
}
@media (max-width: 980px) {
  .teploe-compare-clean__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .teploe-compare-clean__choices,
  .teploe-compare-clean__grid {
    grid-template-columns: 1fr;
  }
  .teploe-compare-clean__choice,
  .teploe-compare-clean__card {
    padding: 16px;
  }
  .teploe-compare-clean__choice h3 {
    font-size: 21px;
  }
}



/* Ceny page standard blocks. */
.ceny-hero .slide-badge {
  margin-bottom: 16px;
}
.page-template-page-ceny #calculator > .wrap > .section-title {
  margin-bottom: 28px;
}
.ceny-includes .vhdv-adv__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ceny-includes .vhdv-adv__card {
  border: 1px solid var(--color-border);
  display: grid;
  gap: 12px;
  padding: 24px;
}
.ceny-includes .vhdv-adv__icon {
  color: var(--color-accent);
  height: 32px;
  margin: 0;
  width: 32px;
}
.ceny-includes .vhdv-adv__icon svg {
  height: 32px;
  width: 32px;
}
.ceny-includes .vhdv-adv__num {
  font-size: 1.35rem;
  margin: 0 0 2px;
}
@media (max-width: 900px) {
  .ceny-includes .vhdv-adv__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .ceny-includes .vhdv-adv__grid {
    grid-template-columns: 1fr;
  }
}


/* Dveri page standardization. */
.dveri-types-grid {
  padding: 80px 0;
}
.dveri-types-grid > .wrap {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 14px 38px rgba(15, 23, 42, .06);
  padding: 48px;
}
.dveri-types-grid .section-title {
  margin-bottom: 0;
}
.dveri-types-grid__items {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 28px;
}
.dveri-types-card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.dveri-types-card__media {
  aspect-ratio: 16 / 11;
  background: #f3f5f7;
  overflow: hidden;
}
.dveri-types-card__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.dveri-types-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
}
.dveri-types-card__title {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.22;
  margin: 0;
}
.dveri-types-card__desc {
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}
.dveri-types-card__price {
  color: var(--color-text);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.15;
  margin-top: auto;
}
.dveri-types-card__btn {
  min-height: 46px;
  width: 100%;
}
.dveri-catalog-products__slider-wrap {
  margin-top: 28px;
  position: relative;
}
.dveri-catalog-products__viewport {
  overflow: hidden;
}
.dveri-catalog-products__slider {
  display: grid;
  gap: 20px;
  grid-auto-columns: calc((100% - 60px) / 4);
  grid-auto-flow: column;
  grid-template-columns: none;
  transition: transform .25s ease;
}
.dveri-catalog-products .bb-variants-card {
  min-width: 0;
}
.dveri-catalog-products .bb-variants-card__media {
  background: #1a1a1a;
}
.dveri-catalog-products .bb-variants-card__media img {
  object-fit: contain;
  padding: 22px;
}
.dveri-catalog-products__arrow {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: 3;
}
.dveri-catalog-products__arrow--prev {
  left: -22px;
}
.dveri-catalog-products__arrow--next {
  right: -22px;
}
.dveri-configs {
  padding: 80px 0;
}
.dveri-configs > .wrap {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 14px 38px rgba(15, 23, 42, .06);
  padding: 48px;
}
.dveri-configs .section-title {
  margin-bottom: 0;
}
#dconf .dveri-configs__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 28px;
}
.dveri-configs-card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.dveri-configs-card__media {
  aspect-ratio: 1 / 1;
  background: #fff;
  overflow: hidden;
}
.dveri-configs-card__media img {
  display: block;
  height: 100%;
  object-fit: contain;
  padding: 0;
  transform: none;
  width: 100%;
}
.dveri-configs-card:hover .dveri-configs-card__media img {
  transform: none;
}
.dveri-configs-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
}
.dveri-configs-card__title {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.22;
  margin: 0;
}
.dveri-configs-card__desc {
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}
.dveri-configs-card__price {
  color: var(--color-text);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
  margin: auto 0 0;
}
.dveri-configs-card__note {
  color: var(--color-text-muted);
  font-size: 12px;
  line-height: 1.4;
  margin: 0;
  min-height: 0;
}
.dveri-configs-card__btn {
  min-height: 46px;
  width: 100%;
}
@media (max-width: 1100px) {
  .dveri-types-grid__items,
  #dconf .dveri-configs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dveri-catalog-products__slider {
    grid-auto-columns: calc((100% - 20px) / 2);
  }
}
@media (max-width: 620px) {
  .dveri-types-grid,
  .dveri-configs {
    padding: 56px 0;
  }
  .dveri-types-grid > .wrap,
  .dveri-configs > .wrap {
    border-radius: 16px;
    padding: 28px 16px;
  }
  .dveri-types-grid__items,
  #dconf .dveri-configs__grid {
    grid-template-columns: 1fr;
  }
  .dveri-catalog-products__slider {
    grid-auto-columns: 100%;
  }
  .dveri-catalog-products .bb-variants-card__media img {
    padding: 16px;
  }
  .dveri-catalog-products__arrow--prev {
    left: -12px;
  }
  .dveri-catalog-products__arrow--next {
    right: -12px;
  }
}

/* Balcony doors prices: standard 3-card grid. */
.balkonnye-dveri-prices .bb-variants__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .balkonnye-dveri-prices .bb-variants__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .balkonnye-dveri-prices .bb-variants__grid {
    grid-template-columns: 1fr;
  }
}

/* Mezhkomnatnye doors: tabs single option UX. */
.mezhkomnatnye-configs {
  background: transparent;
  padding: 64px 0;
}

.mezhkomnatnye-configs > .wrap.section-card {
  background: #fff;
  border-radius: 20px;
  border-top: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
  padding: 48px 32px;
}

#mezhkomnatnye-configs .catalog-tabs {
  gap: 6px;
  margin: 24px 0 24px;
}

#mezhkomnatnye-configs .cat-tab {
  flex: 0 1 auto;
}

#mezhkomnatnye-configs .cat-tab:focus-visible {
  outline: 2px solid rgba(234, 29, 75, .24);
  outline-offset: 2px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panels {
  margin-top: 24px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel {
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  display: grid;
  grid-template-columns: minmax(360px, 44%) minmax(0, 1fr);
  min-height: 440px;
  overflow: hidden;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel[hidden] {
  display: none;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__media {
  aspect-ratio: auto;
  background: #f3f5f7;
  border-radius: 0;
  height: 440px;
  min-height: 440px;
  overflow: hidden;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__media img {
  border-radius: 0 !important;
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__content {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 34px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__head {
  display: grid;
  gap: 8px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__title {
  color: var(--color-text);
  font-size: 28px;
  font-weight: 850;
  line-height: 1.12;
  margin: 0;
  max-width: 620px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__price {
  color: var(--color-accent);
  font-size: 30px;
  font-weight: 900;
  line-height: 1.05;
  margin-top: 8px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__size {
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__desc {
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  max-width: 660px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__pros {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0 0 6px;
  padding: 0;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__pros li {
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.45;
  padding-left: 24px;
  position: relative;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__pros li::before {
  background: var(--color-accent);
  border-radius: 50%;
  content: "";
  height: 7px;
  left: 2px;
  position: absolute;
  top: .58em;
  width: 7px;
}

#mezhkomnatnye-configs .mezhkomnatnye-panel__btn {
  margin-top: auto;
  max-width: 360px;
  width: 100%;
}

@media (max-width: 900px) {
  #mezhkomnatnye-configs .mezhkomnatnye-panel {
    grid-template-columns: 1fr;
  }

  #mezhkomnatnye-configs .mezhkomnatnye-panel__media {
    aspect-ratio: auto;
    border-radius: 0;
    height: clamp(260px, 52vw, 420px);
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .mezhkomnatnye-configs {
    padding: 48px 0;
  }

  .mezhkomnatnye-configs > .wrap.section-card {
    padding: 28px 16px;
  }

  #mezhkomnatnye-configs .mezhkomnatnye-tabs {
    flex-wrap: nowrap;
    margin-left: -16px;
    margin-right: -16px;
    overflow-x: auto;
    padding: 0 16px 4px;
    scrollbar-width: none;
  }

  #mezhkomnatnye-configs .mezhkomnatnye-tabs::-webkit-scrollbar {
    display: none;
  }

  #mezhkomnatnye-configs .cat-tab {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  #mezhkomnatnye-configs .mezhkomnatnye-panel__media {
    height: 260px;
  }

  #mezhkomnatnye-configs .mezhkomnatnye-panel__content {
    padding: 22px;
  }

  #mezhkomnatnye-configs .mezhkomnatnye-panel__title {
    font-size: 22px;
  }

  #mezhkomnatnye-configs .mezhkomnatnye-panel__price {
    font-size: 26px;
  }
}



/* PSK standard hero overrides. */
.holodnoe-hero.psk-hero .holodnoe-hero__title {
  color: #fff;
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 16px;
}

.holodnoe-hero.psk-hero .holodnoe-hero__sub {
  color: rgba(255, 255, 255, 0.86);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 0 32px;
  max-width: 720px;
}

.holodnoe-hero.psk-hero .holodnoe-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 0;
}


/* PSK SEO text: standard white card override. */
.psk-seotext {
  background: transparent;
  padding: 64px 0;
}

.psk-seotext .wrap {
  background: #fff;
  border: 0;
  border-radius: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  padding: 48px;
}

.psk-seotext .seotext__grid {
  align-items: start;
  display: grid;
  gap: 56px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.psk-seotext .seotext__main p {
  color: var(--color-text-muted);
  font-size: 0.97rem;
  line-height: 1.75;
  margin: 0 0 16px;
}

.psk-seotext .seotext__aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.psk-seotext .seotext__fact {
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  border-radius: 12px;
  box-shadow: none;
  display: flex;
  gap: 14px;
  padding: 16px;
}

.psk-seotext .seotext__fact-icon {
  color: var(--color-accent);
  flex-shrink: 0;
  margin-top: 2px;
}

.psk-seotext .seotext__fact-num {
  color: var(--color-accent);
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 4px;
}

.psk-seotext .seotext__fact-lbl {
  color: var(--color-text-muted);
  font-size: 0.8rem;
  line-height: 1.4;
  margin-top: 0;
}

@media (max-width: 900px) {
  .psk-seotext .seotext__grid {
    gap: 32px;
    grid-template-columns: 1fr;
  }

  .psk-seotext .seotext__aside {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .psk-seotext .seotext__fact {
    flex: 1 1 calc(50% - 10px);
    min-width: 200px;
  }
}

@media (max-width: 540px) {
  .psk-seotext {
    padding: 40px 0;
  }

  .psk-seotext .wrap {
    padding: 28px 20px;
  }

  .psk-seotext .seotext__fact {
    flex: 1 1 100%;
  }
}

/* PSK page: PVC door types replacement block. */
.psk-door-types {
  background: transparent;
}

.psk-door-types .wrap {
  max-width: 1200px;
}

.psk-door-types .section-title {
  margin-bottom: 0;
}

.psk-door-types__items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.psk-door-types .dveri-types-card__media {
  aspect-ratio: 16 / 11;
}

.psk-door-types .dveri-types-card__btn {
  text-transform: none;
}

@media (max-width: 760px) {
  .psk-door-types__items {
    grid-template-columns: 1fr;
  }
}


/* TERRASY PVC PORTALS PRODUCTS */
.terrasy-pvh-portals .terrasy-pvh-portals__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.terrasy-pvh-portals .section-title {
  max-width: 760px;
}

.terrasy-pvh-portals__slider-wrap {
  position: relative;
  max-width: 100%;
  overflow: visible;
}

.terrasy-pvh-portals__viewport {
  max-width: 100%;
  overflow: hidden;
}

.terrasy-pvh-portals__nav {
  position: absolute;
  inset: 50% -28px auto -28px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.terrasy-pvh-portals .terrasy-pvh-portals__arrow {
  pointer-events: auto;
}

.terrasy-pvh-portals .bb-variants__grid {
  display: flex;
  grid-template-columns: none;
  gap: 20px;
  overflow: visible;
  padding: 0;
  scrollbar-width: none;
  transition: transform .35s ease;
  will-change: transform;
}

.terrasy-pvh-portals .bb-variants__grid::-webkit-scrollbar {
  display: none;
}

.terrasy-pvh-portals .bb-variants-card {
  flex: 0 0 calc((100% - 60px) / 4);
  min-width: 0;
}

.terrasy-pvh-portals .bb-variants-card__media {
  background: #1c1c1c;
}

.terrasy-pvh-portals .bb-variants-card__title {
  min-height: 46px;
}

.terrasy-pvh-portals .bb-variants-card__prices {
  gap: 8px;
}

@media (max-width: 1100px) {
  .terrasy-pvh-portals .bb-variants-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (max-width: 560px) {
  .terrasy-pvh-portals .terrasy-pvh-portals__head {
    display: block;
  }

  .terrasy-pvh-portals .bb-variants-card {
    flex-basis: 100%;
  }

  .terrasy-pvh-portals .terrasy-pvh-portals__nav {
    inset-inline: -8px;
  }

  .terrasy-pvh-portals .terrasy-pvh-portals__arrow {
    width: 34px;
    height: 34px;
  }
}


/* TERRASY PRODUCT SLIDER OVERFLOW FIX */
.page-terrasy-razdv .terrasy-pvh-portals__nav {
  inset-inline: 0;
}

.page-terrasy-razdv .fr-panorama-products .fr-panorama-products__arrow--prev {
  left: 0;
}

.page-terrasy-razdv .fr-panorama-products .fr-panorama-products__arrow--next {
  right: 0;
}

@media (max-width: 560px) {
  .page-terrasy-razdv .terrasy-pvh-portals__nav {
    inset-inline: 0;
  }
}

@media (max-width: 640px) {
  .page-terrasy-razdv .fr-panorama-products .fr-panorama-products__arrow--prev {
    left: 0;
  }

  .page-terrasy-razdv .fr-panorama-products .fr-panorama-products__arrow--next {
    right: 0;
  }
}


/* FRANCUZSKIJ BHTYPES PVC PORTALS */
.francuzskij-page #bhtypes.bhtypes-pvh-portals {
  padding: 72px 0;
  background: transparent;
}

.francuzskij-page #bhtypes.bhtypes-pvh-portals > .wrap {
  background: transparent;
  border-radius: 0;
  padding: 0;
}

.francuzskij-page #bhtypes.bhtypes-pvh-portals .section-label {
  color: var(--color-accent);
}

.francuzskij-page #bhtypes.bhtypes-pvh-portals .section-title {
  color: var(--color-text);
  max-width: 760px;
}

.bhtypes-pvh-portals__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.bhtypes-pvh-portals__slider-wrap {
  position: relative;
  max-width: 100%;
  overflow: visible;
}

.bhtypes-pvh-portals__viewport {
  max-width: 100%;
  overflow: hidden;
}

.bhtypes-pvh-portals__nav {
  position: absolute;
  inset: 50% 0 auto 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.bhtypes-pvh-portals__arrow {
  pointer-events: auto;
}

.bhtypes-pvh-portals .bb-variants__grid {
  display: flex;
  grid-template-columns: none;
  gap: 20px;
  overflow: visible;
  padding: 0;
  scrollbar-width: none;
  transition: transform .35s ease;
  will-change: transform;
}

.bhtypes-pvh-portals .bb-variants__grid::-webkit-scrollbar {
  display: none;
}

.bhtypes-pvh-portals .bb-variants-card {
  flex: 0 0 calc((100% - 60px) / 4);
  min-width: 0;
}

.bhtypes-pvh-portals .bb-variants-card__media {
  background: #1c1c1c;
}

.bhtypes-pvh-portals .bb-variants-card__title {
  min-height: 46px;
}

.bhtypes-pvh-portals .bb-variants-card__prices {
  gap: 8px;
}

@media (max-width: 1100px) {
  .bhtypes-pvh-portals .bb-variants-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (max-width: 560px) {
  .francuzskij-page #bhtypes.bhtypes-pvh-portals {
    padding: 52px 0;
  }

  .bhtypes-pvh-portals__head {
    display: block;
  }

  .bhtypes-pvh-portals .bb-variants-card {
    flex-basis: 100%;
  }

  .bhtypes-pvh-portals__arrow {
    width: 34px;
    height: 34px;
  }
}


/* FRANCUZSKIJ SLIDER TRACK OVERFLOW FIX */
.francuzskij-page #bhtypes.bhtypes-pvh-portals .bb-variants__grid,
.francuzskij-page .fr-panorama-products .bb-variants__grid {
  width: 100%;
  max-width: 100%;
}


/* FRANCUZSKIJ PRODUCT SECTIONS OVERFLOW CLIP */
.francuzskij-page #bhtypes.bhtypes-pvh-portals,
.francuzskij-page .fr-panorama-products {
  overflow: hidden;
}

/* FRANCUZSKIJ HOUSE TYPES: match shared balkony block */
.francuzskij-page #bhtypes .section-label {
  color: rgba(255,255,255,.5);
}

.francuzskij-page #bhtypes .bhtypes-card__desc {
  font-size: 0.82rem;
  line-height: 1.5;
  color: rgba(255,255,255,.55);
  margin-bottom: 14px;
}

/* TERRASY PANORAMA SLIDER: align arrows with PVC portals slider */
.page-terrasy-razdv #fr-panorama-products .fr-panorama-products__nav {
  position: absolute;
  inset: 50% -22px auto -22px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.page-terrasy-razdv #fr-panorama-products .fr-panorama-products__arrow {
  position: static;
  transform: none;
  pointer-events: auto;
}

@media (max-width: 640px) {
  .page-terrasy-razdv #fr-panorama-products .fr-panorama-products__nav {
    inset-inline: 0;
  }
}

/* TYPOGRAPHY SCALE NORMALIZATION 2026-05 START */
/* Role scale: 12 / 14 / 16 / 18 / 22 / 28 / 34 / 54 */
.slide h1,
.slide-h1,
.page-hero__title,
.post-header__title,
.okna-hero__title,
.prof-hero__title,
.balkony-hero__title,
.kruglye-hero__title,
.zamer-hero__title,
.ceny-hero__title,
.coolcolours-hero__title,
.erkernyie-hero__title,
.terrasy-razdv-hero__title,
.bpth-hero__title,
.balkony-type-hero__title,
.panoramnye-hero__title,
.zimnie-sady-hero__title,
.holodnoe-hero__title,
.vitrazi-hero__title,
.balkonnyj-blok-hero__title,
.ustanovka-hero__title,
.osteklenie-domov-hero__title,
.holodnoe-hero.psk-hero .holodnoe-hero__title {
  font-size: var(--fs-hero) !important;
  line-height: 1.1;
}

h1.section-title {
  font-size: clamp(28px, 2.5vw, 34px) !important;
}

.section-title,
.seotext h2,
.seotext__title,
.geo-seotext h2,
.post-content__inner h2,
.panoramnye-wide__content .section-title,
.panoramnye-advantages .section-title,
.cta h2,
.cshapes__title {
  font-size: var(--fs-section) !important;
  line-height: 1.2;
}

.quiz-q,
.quiz-result h3,
.post-content__inner h3,
.promo__title,
.pbd-name,
.cfg-name,
.why-title,
.step-name,
.blog-title,
.quiz-rec-name,
.pconfigs__label,
.pfeat__title,
.bconf-card__title,
.bhtypes-card__name,
.dveri-type-card__title,
.dconf-card__title,
.ctg-adv__title,
.alu-card__name,
.mzdv-why__item h3,
.vhdv-configs__title,
.bb-door-glazing__title,
h3.cfg-name,
.process-timeline-title,
.compl-card__name,
.pfeat__specs-title,
.dveri-types-card__title,
.dveri-configs-card__title,
.bb-glazing-card__title,
.calc-bar__summary-title,
#mezhkomnatnye-configs .mezhkomnatnye-panel__title {
  font-size: var(--fs-card-title) !important;
  line-height: 1.25;
}

.slide p,
.page-hero__sub,
.okna-hero__sub,
.prof-hero__sub,
.balkony-hero__sub,
.zamer-hero__sub,
.ceny-hero__sub,
.coolcolours-hero__sub,
.erkernyie-hero__sub,
.terrasy-razdv-hero__sub,
.bpth-hero__sub,
.balkony-type-hero__sub,
.panoramnye-hero__sub,
.zimnie-sady-hero__sub,
.holodnoe-hero__sub,
.vitrazi-hero__sub,
.balkonnyj-blok-hero__sub,
.ustanovka-hero__sub,
.section-sub,
.install__lead,
.holodnoe-hero.psk-hero .holodnoe-hero__sub {
  font-size: var(--fs-lead) !important;
  line-height: 1.55;
}

.seotext p,
.seotext li,
.seotext__main p,
.geo-seotext__col p,
.geo-seotext__list li,
.faq-a,
.why-desc,
.why-text,
.step-desc,
.cmp-point,
.promo__text,
.promo__list li,
.review-text,
.blog-lead,
.post-content__inner p,
.post-content__inner li,
.bb-door-glazing__desc,
.pconfigs__desc,
.pfeat__text,
.bconf-card__desc,
.bhtypes-card__desc,
.dveri-type-card__desc,
.dconf-card__note,
.compl-card__desc,
.alu-card__specs li,
.alu-adv__desc,
.dveri-sub-card__specs li,
.vhdv-configs__desc,
.vhdv-guarantee__desc,
.cities-empty p,
.podmoskovye-cities__note,
.price-table td,
.comparison-table td,
.ceny-price-table,
.install__text,
.cc-swatch-desc,
.footer p,
footer p,
.cta p,
.process-timeline-desc,
.vhdv-adv__desc,
.dconf-card__desc,
.dveri-configs-card__desc,
.ctg-adv__desc,
.alu-card__desc,
.dveri-types-card__desc,
.bb-glazing-card__desc,
.calc-profile-card__desc,
.calc-bar__note,
#mezhkomnatnye-configs .mezhkomnatnye-panel__desc,
#mezhkomnatnye-configs .mezhkomnatnye-panel__pros li,
.psk-seotext .seotext__main p {
  font-size: var(--fs-base) !important;
  line-height: 1.6;
}

.btn,
.btn-sm,
.pbd-btn,
.cfg-btn,
.bb-door-glazing__btn,
.q-back,
.q-next,
.q-submit,
.quiz-opt-label,
.review-expand,
.read-more,
.post-back__link,
.blog-pagination .page-numbers,
.cat-tab,
.tab-btn,
.cfg-tab,
.cmp-tab,
.ceny-tab,
.balkonnyj-blok-configs__tab,
.nav-link,
.header .nav-link,
.header .mega a,
.header .dropdown a,
.mega a,
.dropdown a,
.phone-text,
.wintypes__tab,
.cshapes__tab,
.bconf-card__btn,
.dcat .bconf-card__btn,
.kope-configs .bconf-card__btn,
.alu-card__btn,
.bmat__tab,
.bmat__swatch,
.balkony-landing .bpkg-card__btn,
.calc-type-tab {
  font-size: var(--fs-small) !important;
}

.burger,
.bconf__arrow,
.bhtypes-card__btn {
  font-size: var(--fs-small) !important;
}

.calc-type-tabs {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  overflow: hidden;
}

.calc-type-tab {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.btn-lg,
.q-input,
.faq-q,
.cat-card-label b,
.cfg-size,
.price-table th,
.comparison-table th,
.ceny-price-table th,
.ceny-price-table td,
.phone a {
  font-size: var(--fs-base) !important;
}

.cfg-price,
.pbd-price-main,
.bb-door-glazing__price,
.balkonnyj-blok-hero__price-new,
.okna-hero__stat-num,
.balkony-hero__stat-num,
.balkony-type-hero__stat-num,
.prof-hero__price,
.cc-price-hl-price,
.dconf-card__price,
.dveri-configs-card__price,
.bconf-card__price,
.bex-card__item-price,
.alu-card__price,
.bb-variants-card__price,
.bb-glazing-card__price,
.cshapes__price,
.bpkg-price-val,
#mezhkomnatnye-configs .mezhkomnatnye-panel__price {
  font-size: var(--fs-price) !important;
  line-height: 1.1;
}

.page-template-page-dveri #dconf .dconf-card__note {
  font-size: 0.72rem !important;
  line-height: 1.35;
  font-weight: 400;
  color: var(--color-text-muted);
}

.page-template-page-balkony-otdelka .bex-card__item-price {
  font-size: 0.78rem !important;
  font-weight: 650;
  line-height: 1.25;
  white-space: nowrap;
}

.section-label,
.slide-badge,
.pb-pill,
.pb-pill-outline,
.pbd-price-col .pbd-label,
.cmp-col-head,
.quiz-step-lbl,
.quiz-err,
.quiz-recs-title,
.quiz-rec-sub,
.quiz-rec-badge,
.blog-cat,
.blog-footer,
.post-tag,
.review-src,
.r-date,
.mega-col-title,
.cat-card-label span,
.ceny-size,
.ceny-note,
.prof-hero__spec-label,
.pcompare__tier,
.pcompare__spec-label,
.dconf-card__badge,
.vhdv-series__badge,
.vhdv-series__hit-badge,
.cc-price-hl-label,
.promo__card-badge,
.pcompare__badge,
.bb-variants-card__label,
.bmat__swatch-label,
.calc-group__label,
.calc-dim-label,
.calc-profile-badge,
.calc-bar__price-label,
.seotext__fact-lbl,
#mezhkomnatnye-configs .mezhkomnatnye-panel__size {
  font-size: var(--fs-micro) !important;
}

.stats__lbl,
.stats__unit,
.phone-city,
.mob-r-label,
.burger-label,
.nav-link .arr,
.header .nav-link .arr,
.okna-hero__stat-lbl,
.balkony-hero__stat-lbl,
.balkony-type-hero__stat-lbl,
.prof-hero__badge,
.balkonnyj-blok-hero__feature {
  font-size: var(--fs-small) !important;
}

@media (max-width: 640px) {
  .slide p,
  .page-hero__sub,
  .section-sub,
  .okna-hero__sub,
  .prof-hero__sub,
  .balkony-hero__sub,
  .zamer-hero__sub,
  .ceny-hero__sub,
  .coolcolours-hero__sub,
  .erkernyie-hero__sub,
  .terrasy-razdv-hero__sub,
  .bpth-hero__sub,
  .balkony-type-hero__sub,
  .panoramnye-hero__sub,
  .zimnie-sady-hero__sub,
  .holodnoe-hero__sub,
  .vitrazi-hero__sub,
  .balkonnyj-blok-hero__sub,
  .ustanovka-hero__sub {
    font-size: var(--fs-base) !important;
  }

  .quiz-q,
  .quiz-result h3,
  .promo__title,
  .pbd-name,
  .cfg-name,
  .why-title,
  .step-name,
  .blog-title,
  .pconfigs__label,
  .pfeat__title,
  .bconf-card__title,
  .bhtypes-card__name,
  .dveri-type-card__title,
  .dconf-card__title,
  .ctg-adv__title,
  .alu-card__name,
  .mzdv-why__item h3,
  .vhdv-configs__title,
  .bb-door-glazing__title {
    font-size: var(--fs-lead) !important;
  }
}

/* TEMPLATE TYPOGRAPHY FOLLOW-UP 2026-05 */
.header .phone a,
.header-row1 .phone a,
.header .phone .phone-text,
.header-row1 .phone .phone-text {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  color: var(--color-text) !important;
}

.header .phone-city,
.header-row1 .phone-city {
  font-size: var(--fs-micro) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin-top: 3px !important;
  color: var(--color-text-muted) !important;
}

.section-sub,
.quiz-section .section-sub,
.coolcolours-section .section-sub,
.vhdv-configs .section-sub {
  font-size: var(--fs-small) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: var(--color-text-muted) !important;
}

.coolcolours-section .section-sub,
.zamer-form-section .section-sub {
  color: rgba(255,255,255,.62) !important;
}

.quiz-recs .quiz-rec-name {
  font-size: var(--fs-small) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.quiz-recs .quiz-rec-sub {
  font-size: var(--fs-micro) !important;
  line-height: 1.35 !important;
  color: var(--color-text-muted) !important;
  opacity: .8 !important;
}

.profile-card .pbd-prices {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(128px, .82fr) !important;
  column-gap: 28px !important;
  row-gap: 10px !important;
  align-items: start !important;
  margin-bottom: 18px !important;
}

.profile-card .pbd-price-col {
  display: grid !important;
  align-content: start !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.profile-card .pbd-price-col:last-child {
  justify-self: end !important;
}

.profile-card .pbd-price-main {
  font-size: var(--fs-price) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.profile-card .pbd-price-old {
  font-size: var(--fs-small) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: var(--color-text-muted) !important;
  white-space: nowrap !important;
}

.coolcolours-section .cc-layout {
  align-items: start !important;
}

.coolcolours-section .cc-layout > .reveal {
  transform: none !important;
}

.cfg-card h3.cfg-name {
  font-size: var(--fs-lead) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding-top: 16px !important;
}

.cfg-card .cfg-size {
  font-size: var(--fs-small) !important;
  line-height: 1.35 !important;
  margin-top: 2px !important;
}

.cfg-card .cfg-price {
  font-size: var(--fs-price) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  margin-top: 4px !important;
  margin-bottom: 16px !important;
}

@media (max-width: 640px) {
  .profile-card .pbd-prices {
    grid-template-columns: minmax(0, 1fr) minmax(112px, .76fr) !important;
    column-gap: 18px !important;
  }
}
/* TYPOGRAPHY SCALE NORMALIZATION 2026-05 END */

/* TEPLOE COMPARE GLASS UNIT BREAK 2026-05 */
.teploe-compare-clean__unit {
  display: block;
}

/* ABOUT PAGE */
.about-page {
  padding: 48px 0 72px;
}

.about-hero,
.about-links-section {
  background: transparent;
}

.about-card {
  background: #fff;
  border-radius: 20px;
  padding: 48px 40px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.about-card h1 {
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.1;
  font-weight: 900;
  color: var(--color-text);
}

.about-lead {
  max-width: 860px;
  margin: 0 0 32px;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.35;
  font-weight: 700;
  color: var(--color-text);
}

.about-content {
  max-width: 920px;
  display: grid;
  gap: 18px;
}

.about-content p {
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: var(--color-text-muted);
}

.about-links-section {
  padding-top: 32px;
}

.about-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.about-link-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 190px;
  padding: 26px;
  background: #fff;
  border: 1.5px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  border-radius: 20px;
  color: var(--color-text);
  text-decoration: none;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
  transition: transform .2s, box-shadow .2s;
}

.about-link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(236,26,74,.08);
}

.about-link-card__label {
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-accent);
}

.about-link-card strong {
  font-size: 24px;
  line-height: 1.15;
  color: var(--color-text);
}

.about-link-card span:last-child {
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text-muted);
}

@media (max-width: 995px) {
  .about-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .about-page {
    padding: 32px 0 56px;
  }

  .about-card {
    padding: 32px 20px;
  }

  .about-content p {
    font-size: 16px;
  }

  .about-link-card {
    min-height: 0;
    padding: 22px;
  }
}

/* CONTACTS PAGE */
.contacts-page {
  padding: 48px 0 72px;
}

.contacts-hero,
.contacts-map-section {
  background: transparent;
}

.contacts-card {
  background: #fff;
  border-radius: 20px;
  padding: 48px 40px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.contacts-card h1 {
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.1;
  font-weight: 900;
  color: var(--color-text);
}

.contacts-lead {
  max-width: 780px;
  margin: 0 0 32px;
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.45;
  color: var(--color-text-muted);
}

.contacts-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .8fr) minmax(220px, .8fr);
  gap: 20px;
}

.contacts-info-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 150px;
  padding: 24px;
  background: #fff;
  border: 1.5px solid var(--color-border);
  border-radius: 16px;
}

.contacts-info-card__label {
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-accent);
}

.contacts-info-card strong,
.contacts-info-card a {
  font-size: 18px;
  line-height: 1.45;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
}

.contacts-info-card a:hover {
  color: var(--color-accent);
}

.contacts-map-section {
  padding-top: 32px;
}

.contacts-map {
  overflow: hidden;
  background: #fff;
  border: 1.5px solid var(--color-border);
  border-radius: 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.contacts-map iframe {
  display: block;
  width: 100%;
  min-height: 420px;
  border: 0;
}

@media (max-width: 995px) {
  .contacts-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .contacts-page {
    padding: 32px 0 56px;
  }

  .contacts-card {
    padding: 32px 20px;
  }

  .contacts-info-card {
    min-height: 0;
    padding: 20px;
  }

  .contacts-map iframe {
    min-height: 360px;
  }
}

/* REVIEWS PAGE */
.reviews-page {
  padding: 48px 0 72px;
}

.reviews-page .reviews {
  padding: 0 24px;
  background: transparent;
}

.reviews-page .reviews > .wrap {
  background: #fff;
  border-radius: 20px;
  padding: 48px 40px;
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.reviews-page h1 {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.1;
  font-weight: 900;
  color: var(--color-text);
}

.reviews-page .reviews-lead {
  max-width: 760px;
  margin: 12px 0 0;
  font-size: 17px;
  line-height: 1.55;
  color: var(--color-text-muted);
}

.reviews-page .reviews-grid {
  margin-top: 32px;
}

@media (max-width: 600px) {
  .reviews-page {
    padding: 32px 0 56px;
  }

  .reviews-page .reviews {
    padding: 0 16px;
  }

  .reviews-page .reviews > .wrap {
    padding: 32px 20px;
  }
}

@media (max-width: 360px) {
  .reviews-grid { grid-template-columns: 1fr; }
}
