/*
Theme Name: Proskuriv New
Theme URI: https://proskuriv.net/
Author: Proskuriv.net
Description: Custom clean WordPress theme for Proskuriv.net redesign.
Version: 1.1.3
Text Domain: proskuriv-new
*/

/* =========================================================
   01. Design System
========================================================= */

:root {
  --color-primary: #10231B;
  --color-primary-2: #17382B;
  --color-primary-3: #214A39;
  --color-accent: #3F8A68;
  --color-accent-dark: #2F6E52;
  --color-accent-soft: #E7F1EB;
  --color-gold: #BFA36A;
  --color-gold-soft: #F3EBDD;
  --color-bg: #F7F5EF;
  --color-bg-soft: #FBFAF6;
  --color-surface: #FFFFFF;
  --color-border: #E4DED2;
  --color-border-strong: #D6CCBD;
  --color-heading: #10231B;
  --color-text: #26352E;
  --color-muted: #748077;
  --color-white: #FFFFFF;

  --font-heading: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --container-width: 1180px;
  --container-wide: 1320px;
  --container-narrow: 920px;
  --header-height: 92px;

  --section-lg: 92px;
  --section-md: 72px;
  --section-sm: 52px;
  --gap-md: 24px;
  --gap-lg: 36px;
  --gap-xl: 48px;

  --radius-md: 18px;
  --radius-lg: 26px;
  --radius-xl: 34px;
  --radius-pill: 999px;

  --shadow-xs: 0 8px 24px rgba(16, 35, 27, 0.05);
  --shadow-soft: 0 14px 38px rgba(16, 35, 27, 0.07);
  --shadow-card: 0 18px 52px rgba(16, 35, 27, 0.08);
  --shadow-card-hover: 0 24px 72px rgba(16, 35, 27, 0.12);
  --shadow-dark-card: 0 28px 90px rgba(0, 0, 0, 0.20);
  --shadow-button: 0 14px 30px rgba(47, 110, 82, 0.16);
}

/* =========================================================
   02. Base
========================================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(63, 138, 104, 0.045), transparent 30%),
    radial-gradient(circle at bottom right, rgba(191, 163, 106, 0.06), transparent 34%),
    var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

::selection {
  background: var(--color-accent);
  color: var(--color-white);
}

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

/* =========================================================
   03. Layout
========================================================= */

.container,
.container-wide,
.container-narrow {
  width: calc(100% - 40px);
  margin-inline: auto;
}

.container { max-width: var(--container-width); }
.container-wide { max-width: var(--container-wide); }
.container-narrow { max-width: var(--container-narrow); }

.site-main {
  overflow: hidden;
}

.section,
.page-section,
.youtv-section,
.contacts-section,
.power-section,
.support-section,
.payment-section,
.news-section,
.single-section,
.archive-section,
.index-section,
.about-section,
.coverage-section,
.settlement-section,
.front-section {
  padding-block: var(--section-md);
}

.section-tight,
.power-connect-section,
.support-contact-section,
.payment-connect-section,
.youtv-connect-section,
.about-connect-section,
.about-coverage-section,
.coverage-connect-section,
.settlement-connect-section,
.single-more-section,
.front-final-section {
  padding-top: 24px;
}

.section-muted,
.front-muted,
.support-muted,
.youtv-tariffs-section,
.power-options-section,
.settlement-description-section,
.about-muted,
.front-news-section {
  background:
    radial-gradient(circle at top right, rgba(63, 138, 104, 0.06), transparent 30%),
    var(--color-bg-soft);
}

.section-heading {
  max-width: 780px;
  margin-bottom: 42px;
}

.section-heading.centered {
  margin-inline: auto;
  text-align: center;
}

.section-kicker,
.hero-kicker,
.youtv-kicker,
.error-404-kicker,
.contacts-kicker,
.contacts-form-kicker,
.power-kicker,
.support-kicker,
.payment-kicker,
.news-kicker,
.archive-kicker,
.index-kicker,
.about-kicker,
.coverage-kicker,
.settlement-kicker,
.front-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}

.front-kicker {
  color: var(--color-gold);
}

.section-kicker::before,
.hero-kicker::before,
.youtv-kicker::before,
.error-404-kicker::before,
.contacts-kicker::before,
.contacts-form-kicker::before,
.power-kicker::before,
.support-kicker::before,
.payment-kicker::before,
.news-kicker::before,
.archive-kicker::before,
.index-kicker::before,
.about-kicker::before,
.coverage-kicker::before,
.settlement-kicker::before,
.front-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill);
  background: currentColor;
}

.section-heading h2,
.page-title {
  margin: 0 0 16px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.055em;
}

.section-heading p {
  margin: 0;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.7;
}

/* =========================================================
   04. Buttons / Cards / Icons
========================================================= */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--radius-pill);
  font-weight: 900;
  line-height: 1;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  background: linear-gradient(135deg, #3F8A68 0%, #2F6E52 100%);
  color: var(--color-white);
  border: 1px solid rgba(47, 110, 82, 0.18);
  box-shadow: var(--shadow-button);
}

.btn-primary:hover {
  background: linear-gradient(135deg, #37795B 0%, #295F47 100%);
  box-shadow: 0 18px 36px rgba(47, 110, 82, 0.22);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--color-gold) 0%, #A98D55 100%);
  color: var(--color-primary);
  border: 1px solid rgba(191, 163, 106, 0.42);
  box-shadow: 0 14px 30px rgba(191, 163, 106, 0.22);
}

.btn-secondary:hover {
  background: linear-gradient(135deg, #D0B77B 0%, var(--color-gold) 100%);
  color: var(--color-primary);
  border-color: rgba(191, 163, 106, 0.52);
  box-shadow: 0 18px 38px rgba(191, 163, 106, 0.28);
}

.btn-light {
  background: var(--color-surface);
  color: var(--color-primary);
  box-shadow: var(--shadow-soft);
}

.btn-light:hover {
  background: var(--color-accent-soft);
}

.card,
.page-content,
.post-card,
.youtv-benefit-card,
.youtv-tariff-card,
.youtv-account-box,
.contacts-form-wrap,
.contact-card,
.power-step-card,
.power-option-card,
.power-tips-box,
.support-quick-card,
.support-main-card,
.support-side-card,
.support-error-card,
.support-safety-card,
.support-faq-item,
.payment-method-card,
.payment-info-box,
.news-card,
.news-empty,
.single-content-card,
.single-side-card,
.archive-card,
.archive-empty,
.index-card,
.index-empty,
.about-intro-card,
.about-service-card,
.about-feature-item,
.about-coverage-box,
.coverage-card,
.coverage-empty-search,
.settlement-tariff-card,
.settlement-no-tariffs,
.settlement-description-card,
.front-quick-card,
.front-benefit-card,
.front-service-card,
.front-news-card {
  background: rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(228, 222, 210, 0.88);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.card,
.post-card,
.youtv-benefit-card,
.youtv-tariff-card,
.contact-card,
.power-step-card,
.power-option-card,
.support-quick-card,
.support-error-card,
.support-safety-card,
.payment-method-card,
.news-card,
.archive-card,
.index-card,
.coverage-card,
.settlement-tariff-card,
.about-intro-card,
.about-service-card,
.front-quick-card,
.front-benefit-card,
.front-service-card,
.front-news-card {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.card:hover,
.post-card:hover,
.youtv-benefit-card:hover,
.youtv-tariff-card:hover,
.contact-card:hover,
.power-step-card:hover,
.power-option-card:hover,
.support-quick-card:hover,
.support-error-card:hover,
.support-safety-card:hover,
.payment-method-card:hover,
.news-card:hover,
.archive-card:hover,
.index-card:hover,
.coverage-card:hover,
.settlement-tariff-card:hover,
.about-intro-card:hover,
.about-service-card:hover,
.front-quick-card:hover,
.front-benefit-card:hover,
.front-service-card:hover,
.front-news-card:hover {
  transform: translateY(-4px);
  border-color: rgba(63, 138, 104, 0.22);
  box-shadow: var(--shadow-card-hover);
}

.error-404-card,
.youtv-hero-card,
.contacts-hero-card,
.power-hero-card,
.support-hero-card,
.payment-hero-card,
.news-hero-card,
.archive-hero-card,
.about-hero-card,
.coverage-hero-card,
.settlement-hero-card,
.front-panel-card {
  padding: 36px;
  border-radius: var(--radius-xl);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08));
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: var(--shadow-dark-card);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.power-card-icon,
.support-card-icon,
.payment-card-icon,
.news-card-icon,
.archive-card-icon,
.about-card-icon,
.coverage-card-icon,
.settlement-card-icon,
.contact-icon,
.power-option-icon,
.support-quick-icon,
.youtv-benefit-icon,
.coverage-location-icon,
.about-service-icon,
.front-quick-icon,
.front-service-icon,
.front-map-icon,
.news-placeholder-icon,
.archive-placeholder-icon,
.index-placeholder-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
}

.power-card-icon,
.support-card-icon,
.payment-card-icon,
.news-card-icon,
.archive-card-icon,
.about-card-icon,
.coverage-card-icon,
.settlement-card-icon {
  width: 68px;
  height: 68px;
  margin-bottom: 24px;
  border-radius: 24px;
  background: rgba(191, 163, 106, 0.16);
  color: var(--color-gold);
  border: 1px solid rgba(191, 163, 106, 0.24);
}

.contact-icon,
.power-option-icon,
.support-quick-icon,
.youtv-benefit-icon,
.coverage-location-icon,
.about-service-icon,
.front-quick-icon,
.front-service-icon,
.front-map-icon,
.news-placeholder-icon,
.archive-placeholder-icon,
.index-placeholder-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 22px;
  background: linear-gradient(135deg, rgba(63, 138, 104, 0.10), rgba(191, 163, 106, 0.10));
  color: var(--color-accent-dark);
  border: 1px solid rgba(63, 138, 104, 0.13);
}

.power-card-icon svg,
.support-card-icon svg,
.payment-card-icon svg,
.news-card-icon svg,
.archive-card-icon svg,
.about-card-icon svg,
.coverage-card-icon svg,
.settlement-card-icon svg,
.contact-icon svg,
.power-option-icon svg,
.support-quick-icon svg,
.youtv-benefit-icon svg,
.coverage-location-icon svg,
.about-service-icon svg,
.front-quick-icon svg,
.front-service-icon svg,
.front-map-icon svg,
.news-placeholder-icon svg,
.archive-placeholder-icon svg,
.index-placeholder-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.power-card-icon svg,
.support-card-icon svg,
.payment-card-icon svg,
.news-card-icon svg,
.archive-card-icon svg,
.about-card-icon svg,
.coverage-card-icon svg,
.settlement-card-icon svg {
  width: 34px;
  height: 34px;
  stroke-width: 1.9;
}

/* =========================================================
   05. Header / Navigation
========================================================= */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: linear-gradient(180deg, rgba(251, 250, 246, 0.96), rgba(247, 245, 239, 0.90));
  border-bottom: 1px solid rgba(228, 222, 210, 0.78);
  box-shadow: 0 10px 34px rgba(16, 35, 27, 0.055);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.header-inner {
  min-height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.site-logo,
.site-logo .custom-logo-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.site-logo .custom-logo,
.site-logo-img {
  width: auto;
  height: 72px;
  max-width: 340px;
  object-fit: contain;
}

.site-logo-text {
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.header-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  flex: 1 1 auto;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.primary-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 6px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(228, 222, 210, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.primary-menu li {
  margin: 0;
  padding: 0;
}

.primary-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 13px;
  border-radius: var(--radius-pill);
  color: var(--color-text);
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
  background: var(--color-accent-soft);
  color: var(--color-accent-dark);
  box-shadow: 0 8px 18px rgba(63, 138, 104, 0.09);
}

.header-cabinet-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: var(--radius-pill);
  background: radial-gradient(circle at top right, rgba(191, 163, 106, 0.22), transparent 34%), linear-gradient(135deg, var(--color-primary), var(--color-primary-2));
  color: var(--color-white);
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 14px 34px rgba(16, 35, 27, 0.16);
  border: 1px solid rgba(191, 163, 106, 0.18);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.header-cabinet-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(16, 35, 27, 0.22);
}

.header-cabinet-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.12);
  color: var(--color-gold);
}

.header-cabinet-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  color: var(--color-primary);
  padding: 0;
  box-shadow: var(--shadow-soft);
}

.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: var(--radius-pill);
}

.menu-toggle span {
  position: relative;
}

.menu-toggle span::before,
.menu-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
  transition: transform 0.2s ease, top 0.2s ease;
}

.menu-toggle span::before { top: -7px; }
.menu-toggle span::after { top: 7px; }

body.menu-open .menu-toggle span { background: transparent; }
body.menu-open .menu-toggle span::before { top: 0; transform: rotate(45deg); }
body.menu-open .menu-toggle span::after { top: 0; transform: rotate(-45deg); }

/* =========================================================
   06. Shared Hero
========================================================= */

.hero-section,
.youtv-hero,
.error-404-section,
.contacts-hero,
.power-hero,
.support-hero,
.payment-hero,
.news-hero,
.single-hero,
.archive-hero,
.index-hero,
.about-hero,
.coverage-hero,
.settlement-hero,
.front-hero {
  position: relative;
  padding-block: 104px;
  background:
    radial-gradient(circle at 88% 12%, rgba(63, 138, 104, 0.19), transparent 34%),
    radial-gradient(circle at 12% 92%, rgba(191, 163, 106, 0.14), transparent 28%),
    linear-gradient(135deg, #0C1B15 0%, var(--color-primary) 46%, var(--color-primary-2) 100%);
  color: var(--color-white);
  overflow: hidden;
}

.front-hero {
  padding-block: 118px;
  background:
    radial-gradient(circle at 86% 14%, rgba(191, 163, 106, 0.22), transparent 30%),
    radial-gradient(circle at 12% 88%, rgba(63, 138, 104, 0.18), transparent 32%),
    linear-gradient(135deg, #08120E 0%, var(--color-primary) 44%, var(--color-primary-2) 100%);
}

.hero-section::after,
.youtv-hero::after,
.error-404-section::after,
.contacts-hero::after,
.power-hero::after,
.support-hero::after,
.payment-hero::after,
.news-hero::after,
.single-hero::after,
.archive-hero::after,
.index-hero::after,
.about-hero::after,
.coverage-hero::after,
.settlement-hero::after,
.front-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.52), transparent 78%);
}

.hero-section > *,
.youtv-hero > *,
.error-404-section > *,
.contacts-hero > *,
.power-hero > *,
.support-hero > *,
.payment-hero > *,
.news-hero > *,
.single-hero > *,
.archive-hero > *,
.index-hero > *,
.about-hero > *,
.coverage-hero > *,
.settlement-hero > *,
.front-hero > * {
  position: relative;
  z-index: 1;
}

.hero-inner,
.youtv-hero-inner,
.error-404-inner,
.contacts-hero-inner,
.power-hero-inner,
.support-hero-inner,
.payment-hero-inner,
.news-hero-inner,
.single-hero-inner,
.archive-hero-inner,
.index-hero-inner,
.about-hero-inner,
.coverage-hero-inner,
.settlement-hero-inner,
.front-hero-inner,
.front-split,
.about-feature-grid {
  display: grid;
  align-items: center;
  gap: var(--gap-xl);
}

.hero-inner,
.index-hero-inner,
.single-hero-clean,
.support-hero-inner-clean {
  grid-template-columns: 1fr;
}

.youtv-hero-inner,
.error-404-inner,
.power-hero-inner,
.support-hero-inner,
.payment-hero-inner,
.news-hero-inner,
.about-hero-inner,
.coverage-hero-inner,
.settlement-hero-inner,
.front-hero-inner,
.single-hero-with-image,
.front-split,
.about-feature-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
}

.contacts-hero-inner {
  grid-template-columns: minmax(0, 1fr) 340px;
}

.hero-content h1,
.youtv-hero-content h1,
.error-404-content h1,
.contacts-hero-content h1,
.power-hero-content h1,
.support-hero-content h1,
.payment-hero-content h1,
.news-hero-content h1,
.single-hero-content h1,
.archive-hero-content h1,
.index-hero-content h1,
.about-hero-content h1,
.coverage-hero-content h1,
.settlement-hero-content h1,
.front-hero-content h1 {
  max-width: 900px;
  margin: 0 0 22px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: clamp(42px, 6vw, 74px);
  line-height: 1.04;
  letter-spacing: -0.055em;
}

.front-hero-content h1 {
  font-size: clamp(46px, 6.6vw, 82px);
  line-height: 0.99;
  letter-spacing: -0.065em;
}

.single-hero-content h1 {
  margin-bottom: 0;
}

.hero-content p,
.youtv-hero-content p,
.error-404-content p,
.contacts-hero-content p,
.power-hero-content p,
.support-hero-content p,
.payment-hero-content p,
.news-hero-content p,
.single-hero-content p,
.archive-hero-content p,
.index-hero-content p,
.about-hero-content p,
.coverage-hero-content p,
.settlement-hero-content p,
.front-hero-content p {
  max-width: 720px;
  margin: 0 0 34px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 19px;
  line-height: 1.72;
}

.front-hero-content p { font-size: 20px; }
.single-hero-content p { margin: 24px 0 0; }
.contacts-hero-content p,
.news-hero-content p,
.archive-hero-content p,
.index-hero-content p { margin-bottom: 0; }

.hero-actions,
.youtv-hero-actions,
.error-404-actions,
.power-hero-actions,
.support-hero-actions,
.payment-hero-actions,
.about-hero-actions,
.settlement-hero-actions,
.front-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.youtv-hero-points,
.power-hero-points,
.support-hero-points,
.payment-hero-points,
.about-hero-points,
.settlement-hero-points {
  display: grid;
  gap: 10px;
  max-width: 660px;
  margin-top: 28px;
}

.youtv-hero-points span,
.power-hero-points span,
.support-hero-points span,
.payment-hero-points span,
.about-hero-points span,
.settlement-hero-points span {
  position: relative;
  padding-left: 28px;
  color: rgba(255, 255, 255, 0.84);
  font-weight: 750;
}

.youtv-hero-points span::before,
.power-hero-points span::before,
.support-hero-points span::before,
.payment-hero-points span::before,
.about-hero-points span::before,
.settlement-hero-points span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 9px;
  height: 9px;
  border-radius: var(--radius-pill);
  background: var(--color-gold);
  box-shadow: 0 0 0 6px rgba(191, 163, 106, 0.14);
}

.settlement-hero-content .settlement-hero-points {
  display: none;
}

.settlement-hero-content p {
  max-width: 680px;
  margin-bottom: 28px;
}

/* =========================================================
   07. Page Content
========================================================= */

.page-container {
  max-width: var(--container-narrow);
}

.page-content,
.single-content-card {
  padding: 52px;
}

.page-header {
  margin-bottom: 34px;
}

.page-title {
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
}

.entry-content,
.single-entry-content,
.settlement-entry-content {
  color: var(--color-text);
}

.single-entry-content,
.settlement-entry-content {
  font-size: 17px;
  line-height: 1.78;
}

.entry-content > *:first-child,
.single-entry-content > *:first-child,
.settlement-entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child,
.single-entry-content > *:last-child,
.settlement-entry-content > *:last-child { margin-bottom: 0; }

.entry-content h2,
.entry-content h3,
.entry-content h4,
.single-entry-content h2,
.single-entry-content h3,
.single-entry-content h4,
.settlement-entry-content h2,
.settlement-entry-content h3 {
  margin-top: 38px;
  margin-bottom: 14px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.entry-content h2,
.single-entry-content h2,
.settlement-entry-content h2 { font-size: clamp(30px, 4vw, 44px); }
.entry-content h3,
.single-entry-content h3,
.settlement-entry-content h3 { font-size: 28px; }
.entry-content h4,
.single-entry-content h4 { font-size: 22px; }

.entry-content p,
.single-entry-content p,
.settlement-entry-content p {
  margin: 0 0 22px;
}

.entry-content ul,
.entry-content ol,
.single-entry-content ul,
.single-entry-content ol,
.settlement-entry-content ul,
.settlement-entry-content ol {
  margin: 0 0 26px 22px;
  padding: 0;
}

.entry-content a,
.single-entry-content a {
  color: var(--color-accent-dark);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.entry-content img,
.single-entry-content img {
  margin: 32px 0;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.single-entry-content blockquote {
  margin: 34px 0;
  padding: 26px 28px;
  border-left: 4px solid var(--color-gold);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  background: var(--color-bg-soft);
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 22px;
  line-height: 1.45;
  letter-spacing: -0.025em;
}

/* =========================================================
   08. Front Page
========================================================= */

.front-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 760px;
  margin-top: 30px;
}

.front-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  font-weight: 800;
}

.front-hero-points span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: var(--radius-pill);
  background: var(--color-gold);
}

.front-hero-panel {
  position: relative;
  min-height: 430px;
}

.front-panel-glow {
  position: absolute;
  inset: 34px;
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at center, rgba(191, 163, 106, 0.28), transparent 58%);
  filter: blur(12px);
}

.front-panel-card {
  position: relative;
  z-index: 1;
  padding: 26px;
}

.front-panel-main {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 36px;
}

.front-panel-card span,
.power-hero-card > span,
.support-hero-card > span,
.payment-hero-card > span,
.news-hero-card > span,
.contacts-hero-card > span,
.archive-hero-card > span,
.about-hero-card > span,
.coverage-hero-card > span,
.settlement-hero-card > span,
.front-map-card span,
.payment-info-card span,
.about-coverage-card span {
  display: block;
  margin-bottom: 10px;
  color: var(--color-gold);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.front-panel-card strong,
.power-hero-card strong,
.support-hero-card strong,
.payment-hero-card strong,
.news-hero-card strong,
.contacts-hero-card strong,
.archive-hero-card strong,
.about-hero-card strong,
.coverage-hero-card strong,
.settlement-hero-card strong,
.front-map-card strong,
.payment-info-card strong,
.about-coverage-card strong {
  display: block;
  margin-bottom: 14px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.front-panel-main strong,
.archive-hero-card strong,
.coverage-hero-card strong,
.settlement-hero-card strong {
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -0.06em;
}

.front-panel-main p,
.power-hero-card p,
.support-hero-card p,
.payment-hero-card p,
.news-hero-card p,
.contacts-hero-card p,
.archive-hero-card p,
.about-hero-card p,
.coverage-hero-card p,
.settlement-hero-card p,
.front-map-card p,
.payment-info-card small,
.about-coverage-card small {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 16px;
  line-height: 1.7;
}

.front-panel-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 18px;
}

.front-panel-grid .front-panel-card strong {
  font-size: 26px;
  letter-spacing: -0.04em;
}

.front-quick-section {
  position: relative;
  z-index: 2;
  padding-top: 0;
  margin-top: -42px;
}

.front-quick-grid,
.front-benefits-grid,
.front-news-grid,
.news-grid,
.archive-grid,
.index-grid,
.power-steps-grid,
.support-errors-grid,
.support-safety-grid,
.about-intro-grid,
.about-services-grid,
.coverage-grid,
.settlement-tariffs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-md);
}

.front-service-grid,
.payment-methods-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-md);
}

.power-options-grid,
.support-quick-grid,
.youtv-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap-md);
}

.front-quick-card,
.front-benefit-card,
.front-service-card,
.front-map-card,
.youtv-benefit-card,
.youtv-tariff-card,
.power-step-card,
.power-option-card,
.support-quick-card,
.support-error-card,
.support-safety-card,
.payment-method-card,
.about-intro-card,
.about-service-card,
.settlement-tariff-card,
.contact-card {
  padding: 32px;
}

.front-quick-card h2,
.front-service-card h2,
.front-benefit-card h3,
.youtv-benefit-card h3,
.youtv-tariff-card h3,
.power-step-card h3,
.power-option-card h3,
.support-quick-card h3,
.support-error-card h3,
.support-safety-card h3,
.about-intro-card h3,
.about-service-card h3,
.contact-card strong {
  margin: 0 0 14px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 27px;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.front-quick-card p,
.front-service-card p,
.front-benefit-card p,
.youtv-benefit-card p,
.youtv-tariff-card p,
.power-step-card p,
.power-option-card p,
.support-quick-card p,
.support-error-card p,
.support-safety-card p,
.about-intro-card p,
.about-service-card p,
.contact-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.front-quick-card p,
.front-service-card p {
  margin-bottom: 22px;
}

.front-quick-card > span,
.front-service-card > span,
.front-news-body span,
.coverage-card-more,
.news-card-more,
.archive-card-more,
.index-card-more {
  color: var(--color-accent-dark);
  font-weight: 900;
}

.front-benefit-number,
.power-step-number,
.about-number {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--color-gold);
  font-family: var(--font-heading);
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.06em;
}

.front-split-content h2,
.about-feature-content h2,
.power-tips-box h2,
.payment-info-box h2,
.about-coverage-box h2,
.youtv-account-box h2,
.connect-box h2 {
  margin: 0 0 16px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.06;
  letter-spacing: -0.055em;
}

.front-split-content p,
.about-feature-content p,
.power-tips-box p,
.payment-info-box p,
.about-coverage-box p,
.youtv-account-box p {
  max-width: 760px;
  margin: 0 0 18px;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.75;
}

.front-map-card,
.payment-info-card,
.about-coverage-card,
.youtv-account-card {
  padding: 30px;
  border-radius: 24px;
  background: radial-gradient(circle at top right, rgba(191, 163, 106, 0.24), transparent 42%), linear-gradient(135deg, var(--color-primary), var(--color-primary-2));
  color: var(--color-white);
}

.front-map-card {
  padding: 36px;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
}

/* =========================================================
   09. Forms / Contacts / Support / Payment / YouTV
========================================================= */

.contacts-cards,
.support-steps,
.support-check-list,
.support-faq-list,
.power-tips-list,
.about-feature-list {
  display: grid;
  gap: 14px;
}

.contacts-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.85fr);
  gap: var(--gap-xl);
  align-items: start;
}

.contact-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.contact-label {
  display: block;
  margin-bottom: 6px;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.contacts-form-wrap,
.support-main-card,
.support-side-card {
  padding: 36px;
}

.contacts-form-wrap h2,
.support-main-card h2,
.support-side-card h3 {
  margin: 0 0 14px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.contacts-form-wrap > p,
.support-main-card > p,
.support-side-card p {
  margin: 0 0 28px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.contacts-form,
.form-row {
  display: grid;
  gap: 18px;
}

.form-row {
  gap: 8px;
}

.form-row label {
  color: var(--color-heading);
  font-size: 14px;
  font-weight: 900;
}

.form-row input,
.form-row select,
.form-row textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  background: var(--color-bg-soft);
  color: var(--color-text);
  padding: 14px 16px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.form-row input,
.form-row select { min-height: 52px; }
.form-row textarea { resize: vertical; min-height: 130px; }

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
  border-color: rgba(63, 138, 104, 0.48);
  background: var(--color-white);
  box-shadow: 0 0 0 4px rgba(63, 138, 104, 0.09);
}

.form-note {
  display: block;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.6;
}

.power-tips-box,
.payment-info-box,
.about-coverage-box,
.youtv-account-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.7fr);
  gap: var(--gap-lg);
  align-items: center;
  padding: 46px;
}

.power-tip,
.about-feature-item,
.support-step,
.payment-note {
  padding: 18px 20px;
  border-radius: 20px;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
}

.support-step {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
}

.support-step span,
.support-error-card span {
  color: var(--color-gold);
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.support-check-list {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.support-check-list li,
.youtv-tariff-card li,
.constructor-selected li {
  position: relative;
  padding-left: 28px;
  color: var(--color-text);
  font-weight: 650;
}

.support-check-list li::before,
.youtv-tariff-card li::before,
.constructor-selected li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 9px;
  height: 9px;
  border-radius: var(--radius-pill);
  background: var(--color-accent);
}

.support-faq-item {
  padding: 0;
  overflow: hidden;
}

.support-faq-item summary {
  cursor: pointer;
  padding: 24px 28px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -0.03em;
}

.support-faq-item p {
  margin: 0;
  padding: 0 28px 26px;
  color: var(--color-muted);
}

.payment-method-card {
  display: flex;
  flex-direction: column;
  padding: 34px;
}

.payment-method-top {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  margin-bottom: 22px;
}

.payment-method-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 78px;
  padding: 16px;
  border-radius: 22px;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
}

.payment-method-logo img {
  max-width: 96px;
  max-height: 46px;
  object-fit: contain;
}

.payment-method-title h3 {
  margin: 8px 0 0;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 32px;
  line-height: 1.05;
  letter-spacing: -0.045em;
}

.payment-badge,
.settlement-tariff-label,
.tariff-label {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: var(--radius-pill);
  background: var(--color-gold-soft);
  color: #7A6334;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.settlement-tariff-label,
.tariff-label { margin-bottom: 18px; }
.settlement-tariff-label-muted { background: var(--color-accent-soft); color: var(--color-accent-dark); }

.payment-method-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.payment-method-tags span {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: var(--radius-pill);
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
}

.payment-method-card p,
.payment-method-card ol {
  margin: 0 0 20px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.payment-method-card ol {
  display: grid;
  gap: 10px;
  padding-left: 20px;
  color: var(--color-text);
}

.payment-method-card .btn,
.settlement-tariff-card .btn {
  margin-top: auto;
  align-self: flex-start;
}

.youtv-product-card {
  position: relative;
  overflow: hidden;
}

.youtv-product-card::before {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 220px;
  height: 220px;
  border-radius: var(--radius-pill);
  background: rgba(63, 138, 104, 0.13);
  pointer-events: none;
}

.youtv-product-logo {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
}

.youtv-logo {
  width: auto;
  max-width: 360px;
  max-height: 130px;
  object-fit: contain;
}

.youtv-card-stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.youtv-card-stats div {
  padding: 20px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.youtv-card-stats strong,
.youtv-account-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--color-gold);
  font-family: var(--font-heading);
  font-size: 36px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.youtv-tariff-featured,
.payment-method-featured,
.settlement-tariff-featured {
  position: relative;
  border-color: rgba(191, 163, 106, 0.52);
  box-shadow: 0 24px 70px rgba(191, 163, 106, 0.16);
}

.youtv-tariff-card ul {
  display: grid;
  gap: 12px;
  margin: 24px 0 28px;
  padding: 0;
  list-style: none;
}

/* =========================================================
   10. News / Archive / Single
========================================================= */

.news-card,
.archive-card,
.index-card,
.front-news-card {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 26px;
  box-shadow: 0 16px 46px rgba(16, 35, 27, 0.07);
}

.news-card-link,
.archive-card-link,
.index-card-link,
.front-news-link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.news-card-image,
.archive-card-image,
.index-card-image,
.front-news-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--color-bg-soft);
  border-bottom: 1px solid var(--color-border);
}

.news-card-image img,
.archive-card-image img,
.index-card-image img,
.front-news-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.news-card:hover .news-card-image img,
.archive-card:hover .archive-card-image img,
.index-card:hover .index-card-image img,
.front-news-card:hover .front-news-image img {
  transform: scale(1.04);
}

.news-card-image-placeholder,
.archive-card-image-placeholder,
.index-card-image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: radial-gradient(circle at 78% 18%, rgba(63, 138, 104, 0.11), transparent 32%), radial-gradient(circle at 18% 82%, rgba(191, 163, 106, 0.12), transparent 30%), linear-gradient(135deg, #F8F5EC 0%, #FFFFFF 100%);
}

.news-card-body,
.archive-card-body,
.index-card-body,
.front-news-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 26px;
}

.news-card-meta,
.archive-card-meta,
.index-card-meta,
.single-meta,
.front-news-date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.single-meta {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 13px;
}

.archive-meta-divider,
.index-meta-divider,
.single-meta-divider {
  width: 5px;
  height: 5px;
  border-radius: var(--radius-pill);
  background: var(--color-gold);
}

.news-card h3,
.archive-card h2,
.index-card h2,
.front-news-body h3 {
  margin: 0 0 14px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 24px;
  line-height: 1.14;
  letter-spacing: -0.035em;
}

.news-card p,
.archive-card p,
.index-card p,
.front-news-body p {
  margin: 0 0 22px;
  color: var(--color-muted);
  font-size: 15.5px;
  line-height: 1.72;
}

.news-card-more,
.archive-card-more,
.index-card-more,
.coverage-card-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  font-size: 15px;
}

.news-card-more::after,
.archive-card-more::after,
.index-card-more::after,
.coverage-card-more::after {
  content: "→";
  transition: transform 0.2s ease;
}

.news-card:hover .news-card-more::after,
.archive-card:hover .archive-card-more::after,
.index-card:hover .index-card-more::after,
.coverage-card:hover .coverage-card-more::after {
  transform: translateX(4px);
}

.news-pagination,
.archive-pagination,
.index-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 44px;
}

.news-pagination .page-numbers,
.archive-pagination .page-numbers,
.index-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: 900;
  box-shadow: var(--shadow-soft);
}

.news-pagination .page-numbers.current,
.news-pagination .page-numbers:hover,
.archive-pagination .page-numbers.current,
.archive-pagination .page-numbers:hover,
.index-pagination .page-numbers.current,
.index-pagination .page-numbers:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

.news-empty,
.archive-empty,
.index-empty,
.coverage-empty-search,
.settlement-no-tariffs {
  max-width: 720px;
  padding: 34px;
}

.news-empty h3,
.archive-empty h2,
.index-empty h2,
.coverage-empty-search h3,
.settlement-no-tariffs h3 {
  margin: 0 0 12px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.single-back-link,
.settlement-back-link {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--color-gold);
  font-size: 14px;
  font-weight: 900;
}

.single-back-link:hover,
.settlement-back-link:hover {
  color: var(--color-white);
}

.single-hero-image {
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: var(--shadow-dark-card);
  background: rgba(255, 255, 255, 0.08);
}

.single-hero-image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.single-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--gap-lg);
  align-items: start;
}

.single-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  display: grid;
  gap: 18px;
}

.single-side-card {
  padding: 28px;
}

.single-side-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--color-accent-dark);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.single-side-card h2 {
  margin: 0 0 12px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.single-side-card p {
  margin: 0 0 18px;
  color: var(--color-muted);
}

.single-side-phone,
.support-inline-link {
  display: inline-flex;
  color: var(--color-accent-dark);
  font-size: 18px;
  font-weight: 900;
}

.single-side-nav {
  display: grid;
  gap: 10px;
}

.single-side-nav a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  color: var(--color-heading);
  font-weight: 900;
}

.single-side-nav a::after {
  content: "→";
  color: var(--color-accent-dark);
}

/* =========================================================
   11. Coverage / Settlement / Tariffs / Constructor
========================================================= */

.coverage-card {
  overflow: hidden;
}

.coverage-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 30px;
}

.coverage-card-top {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

.coverage-district {
  display: block;
  margin-bottom: 6px;
  color: var(--color-gold);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.coverage-card h3,
.settlement-tariff-group h3 {
  margin: 0 0 20px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.coverage-card h3 {
  margin: 0;
  font-size: 27px;
  letter-spacing: -0.04em;
}

.coverage-card p {
  margin: 0 0 22px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.settlement-tariff-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 34px;
}

.settlement-tariff-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  box-shadow: var(--shadow-xs);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.settlement-tariff-tab:hover {
  transform: translateY(-2px);
}

.settlement-tariff-tab.is-active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
  box-shadow: 0 14px 34px rgba(16, 35, 27, 0.14);
}

.settlement-tariff-group[hidden] {
  display: none !important;
}

.settlement-tariff-sections {
  display: grid;
  gap: 44px;
}

.settlement-tariff-card {
  position: relative;
  display: flex;
  flex-direction: column;
}

.settlement-tariff-top {
  position: relative;
  z-index: 1;
}

.settlement-tariff-card h4 {
  margin: 0 0 20px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.settlement-tariff-speed {
  margin-bottom: 18px;
}

.settlement-tariff-speed span {
  display: block;
  margin-bottom: 6px;
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.settlement-tariff-speed strong {
  display: block;
  color: var(--color-accent-dark);
  font-family: var(--font-heading);
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.settlement-tariff-price {
  margin-bottom: 18px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.055em;
}

.settlement-tariff-card p {
  margin: 0 0 26px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.settlement-description-card {
  max-width: 920px;
  padding: 46px;
  border-radius: var(--radius-xl);
}

.settlement-constructor-section {
  padding-top: 24px;
  padding-bottom: 24px;
}

.settlement-constructor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  padding: 34px;
}

.constructor-dropdowns,
.constructor-options {
  display: grid;
  gap: 14px;
}

.constructor-options {
  gap: 10px;
  padding: 0 26px 26px;
}

.constructor-dropdown {
  overflow: hidden;
  border-radius: 24px;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
}

.constructor-dropdown summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 26px;
  color: var(--color-heading);
  list-style: none;
}

.constructor-dropdown summary::-webkit-details-marker {
  display: none;
}

.constructor-dropdown summary::after {
  content: "↓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  color: var(--color-accent-dark);
  font-weight: 900;
  transition: transform 0.2s ease;
}

.constructor-dropdown[open] summary::after {
  transform: rotate(180deg);
}

.constructor-dropdown summary span {
  display: block;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.constructor-option {
  position: relative;
  display: block;
  cursor: pointer;
}

.constructor-option input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.constructor-option-content {
  display: grid;
  gap: 4px;
  padding: 18px 20px;
  border-radius: 18px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-xs);
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.constructor-option-content strong {
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 19px;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.constructor-option-content small {
  color: var(--color-accent-dark);
  font-size: 14px;
  font-weight: 900;
}

.constructor-option input:checked + .constructor-option-content {
  border-color: rgba(63, 138, 104, 0.42);
  background: var(--color-accent-soft);
  box-shadow: 0 16px 38px rgba(47, 110, 82, 0.10);
}

.constructor-option input:focus-visible + .constructor-option-content {
  outline: 3px solid rgba(63, 138, 104, 0.22);
  outline-offset: 3px;
}

.constructor-summary {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  align-self: start;
  padding: 30px;
  border-radius: 26px;
  background: radial-gradient(circle at top right, rgba(191, 163, 106, 0.16), transparent 34%), linear-gradient(135deg, var(--color-primary), var(--color-primary-2));
  color: var(--color-white);
  box-shadow: var(--shadow-card);
}

.constructor-summary-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--color-gold);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.constructor-summary h3 {
  margin: 0 0 18px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.constructor-total {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-bottom: 22px;
}

.constructor-total strong {
  color: var(--color-gold);
  font-family: var(--font-heading);
  font-size: 52px;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.constructor-total span {
  color: rgba(255, 255, 255, 0.72);
  font-weight: 900;
}

.constructor-selected {
  min-height: 72px;
  margin-bottom: 24px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.78);
}

.constructor-selected ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.constructor-selected li {
  color: rgba(255, 255, 255, 0.86);
  font-weight: 800;
}

.constructor-selected li::before {
  width: 7px;
  height: 7px;
  background: var(--color-gold);
}

.constructor-summary .btn {
  width: 100%;
}

.constructor-note {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.6;
}

/* =========================================================
   12. CTA / Footer / Floating Buttons
========================================================= */

.connect-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  padding: 46px;
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at top right, rgba(191, 163, 106, 0.18), transparent 34%), linear-gradient(135deg, var(--color-primary), var(--color-primary-2));
  color: var(--color-white);
  box-shadow: 0 28px 80px rgba(16, 35, 27, 0.16);
}

.connect-box h2 {
  color: var(--color-white);
}

.connect-box p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 18px;
}

.connect-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

/* Dark section gold accents */
.hero-section .section-kicker,
.youtv-hero .youtv-kicker,
.error-404-section .error-404-kicker,
.contacts-hero .contacts-kicker,
.power-hero .power-kicker,
.support-hero .support-kicker,
.payment-hero .payment-kicker,
.news-hero .news-kicker,
.single-hero .single-kicker,
.archive-hero .archive-kicker,
.index-hero .index-kicker,
.about-hero .about-kicker,
.coverage-hero .coverage-kicker,
.settlement-hero .settlement-kicker,
.front-hero .front-kicker,
.connect-box .section-kicker,
.connect-box .support-kicker,
.connect-box .payment-kicker,
.connect-box .news-kicker,
.connect-box .about-kicker,
.connect-box .coverage-kicker,
.connect-box .settlement-kicker,
.connect-box .front-kicker,
.connect-box h2,
.connect-box strong,
.connect-box b {
  color: var(--color-gold);
}

.connect-actions .btn-secondary,
.connect-box .btn-secondary {
  background: linear-gradient(135deg, var(--color-gold) 0%, #A98D55 100%);
  color: var(--color-primary);
  border-color: rgba(191, 163, 106, 0.42);
  box-shadow: 0 14px 30px rgba(191, 163, 106, 0.22);
}

.connect-actions .btn-secondary:hover,
.connect-box .btn-secondary:hover {
  background: linear-gradient(135deg, #D0B77B 0%, var(--color-gold) 100%);
  color: var(--color-primary);
  box-shadow: 0 18px 38px rgba(191, 163, 106, 0.28);
}

.site-footer {
  margin-top: 96px;
  padding: 72px 0 30px;
  background: radial-gradient(circle at 88% 8%, rgba(63, 138, 104, 0.17), transparent 30%), radial-gradient(circle at 12% 92%, rgba(191, 163, 106, 0.12), transparent 34%), linear-gradient(135deg, #07110D 0%, #10231B 48%, #17382B 100%);
  color: var(--color-white);
  overflow: hidden;
}

.footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.8fr) minmax(220px, 0.8fr) minmax(260px, 0.9fr);
  gap: 42px;
  align-items: start;
}

.footer-brand {
  max-width: 420px;
}

.footer-logo-text {
  display: inline-flex;
  align-items: baseline;
  margin-bottom: 22px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.055em;
}

.footer-logo-text span {
  color: var(--color-gold);
}

.footer-brand p,
.footer-action p,
.footer-bottom p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.75;
}

.footer-column h2 {
  margin: 0 0 20px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.footer-contacts,
.footer-menu {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-contacts li {
  display: grid;
  gap: 4px;
}

.footer-contacts span {
  color: var(--color-gold);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.footer-contacts a,
.footer-contacts strong,
.footer-menu a,
.footer-bottom a {
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
  transition: color 0.2s ease;
}

.footer-contacts a:hover,
.footer-menu a:hover,
.footer-bottom a:hover {
  color: var(--color-gold);
}

.footer-action {
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.045));
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.footer-cabinet-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 22px;
  padding: 0 20px;
  border-radius: var(--radius-pill);
  background: var(--color-gold);
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 14px 34px rgba(191, 163, 106, 0.18);
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.footer-cabinet-btn:hover {
  transform: translateY(-2px);
  background: #D4B978;
  box-shadow: 0 18px 44px rgba(191, 163, 106, 0.24);
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 46px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-bottom p {
  color: rgba(255, 255, 255, 0.58);
  font-size: 14px;
}

.floating-phone-btn,
.floating-top-btn {
  position: fixed;
  right: 24px;
  z-index: 998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
}

.floating-phone-btn {
  bottom: 24px;
  z-index: 999;
  isolation: isolate;
  gap: 12px;
  min-height: 62px;
  padding: 0 22px 0 10px;
  background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.22), transparent 34%), linear-gradient(135deg, var(--color-gold), #D4B978);
  color: var(--color-primary);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 0 0 0 rgba(191, 163, 106, 0.38), 0 18px 44px rgba(16, 35, 27, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.22);
  animation: floating-phone-glow 2.6s ease-in-out infinite;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.floating-phone-btn::before {
  content: "";
  position: absolute;
  inset: -8px;
  z-index: -1;
  border-radius: inherit;
  background: rgba(191, 163, 106, 0.24);
  opacity: 0;
  animation: floating-phone-pulse 2.6s ease-in-out infinite;
}

.floating-phone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  color: var(--color-gold);
  flex: 0 0 auto;
  animation: floating-phone-shake 4.2s ease-in-out infinite;
}

.floating-phone-icon svg,
.floating-top-btn svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.floating-phone-text {
  white-space: nowrap;
}

.floating-top-btn {
  bottom: 98px;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(191, 163, 106, 0.26);
  background: radial-gradient(circle at top right, rgba(191, 163, 106, 0.18), transparent 34%), linear-gradient(135deg, var(--color-primary), var(--color-primary-2));
  color: var(--color-gold);
  box-shadow: 0 16px 42px rgba(16, 35, 27, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.floating-top-btn.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@keyframes floating-phone-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(191, 163, 106, 0.34), 0 18px 44px rgba(16, 35, 27, 0.22); }
  50% { box-shadow: 0 0 0 10px rgba(191, 163, 106, 0.08), 0 24px 54px rgba(16, 35, 27, 0.28); }
}

@keyframes floating-phone-pulse {
  0%, 100% { opacity: 0; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1); }
}

@keyframes floating-phone-shake {
  0%, 84%, 100% { transform: rotate(0deg); }
  86% { transform: rotate(-10deg); }
  88% { transform: rotate(10deg); }
  90% { transform: rotate(-8deg); }
  92% { transform: rotate(8deg); }
  94% { transform: rotate(0deg); }
}

/* =========================================================
   13. Responsive
========================================================= */

@media (max-width: 1180px) {
  :root { --header-height: 86px; }
  .site-logo .custom-logo,
  .site-logo-img { height: 66px; max-width: 310px; }
  .header-navigation { gap: 12px; }
  .primary-menu a { padding-inline: 10px; font-size: 13px; }
  .header-cabinet-btn { padding-inline: 15px; font-size: 13px; }
}

@media (max-width: 1100px) {
  .front-quick-grid,
  .front-benefits-grid,
  .front-news-grid,
  .news-grid,
  .archive-grid,
  .index-grid,
  .coverage-grid,
  .settlement-tariffs-grid,
  .about-services-grid,
  .youtv-benefits-grid,
  .power-options-grid,
  .support-quick-grid,
  .support-errors-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .support-safety-grid,
  .power-steps-grid,
  .about-intro-grid {
    grid-template-columns: 1fr;
  }

  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-brand {
    max-width: none;
  }
}

@media (max-width: 992px) {
  :root {
    --header-height: 80px;
    --section-lg: 78px;
    --section-md: 62px;
  }

  .header-inner { min-height: var(--header-height); gap: 20px; }
  .site-logo .custom-logo,
  .site-logo-img { height: 58px; max-width: 270px; }
  .primary-menu { gap: 4px; }
  .primary-menu a { font-size: 12.5px; }
  .header-cabinet-btn span:last-child { display: none; }
  .header-cabinet-btn { width: 48px; padding: 0; }

  .hero-section,
  .youtv-hero,
  .error-404-section,
  .contacts-hero,
  .power-hero,
  .support-hero,
  .payment-hero,
  .news-hero,
  .single-hero,
  .archive-hero,
  .index-hero,
  .about-hero,
  .coverage-hero,
  .settlement-hero,
  .front-hero {
    padding-block: 78px;
  }

  .youtv-hero-inner,
  .error-404-inner,
  .contacts-hero-inner,
  .power-hero-inner,
  .support-hero-inner,
  .payment-hero-inner,
  .news-hero-inner,
  .single-hero-with-image,
  .archive-hero-inner,
  .about-hero-inner,
  .coverage-hero-inner,
  .settlement-hero-inner,
  .front-hero-inner,
  .front-split,
  .contacts-grid,
  .power-tips-box,
  .support-content-grid,
  .payment-methods-grid,
  .payment-info-box,
  .youtv-tariffs-grid,
  .youtv-account-box,
  .connect-box,
  .single-layout,
  .about-feature-grid,
  .about-coverage-box,
  .settlement-constructor {
    grid-template-columns: 1fr;
  }

  .single-sidebar,
  .constructor-summary {
    position: static;
  }

  .single-hero-image img { height: 360px; }
  .contacts-hero-card,
  .news-hero-card,
  .archive-hero-card,
  .about-hero-card,
  .coverage-hero-card,
  .settlement-hero-card,
  .front-hero-panel { max-width: 680px; }
  .connect-actions { justify-content: flex-start; }
}

@media (max-width: 768px) {
  :root { --header-height: 76px; }

  html { scroll-behavior: auto; }

  .container,
  .container-wide,
  .container-narrow { width: calc(100% - 28px); }

  .site-header,
  .front-panel-card,
  .coverage-hero-card,
  .settlement-hero-card,
  .about-hero-card,
  .youtv-hero-card,
  .contacts-hero-card,
  .power-hero-card,
  .support-hero-card,
  .payment-hero-card,
  .news-hero-card,
  .footer-action {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .header-inner { min-height: var(--header-height); position: relative; }
  .site-logo .custom-logo,
  .site-logo-img { height: 54px; max-width: 238px; }
  .menu-toggle { display: inline-flex; position: relative; z-index: 1001; flex: 0 0 auto; }

  .hero-section,
  .youtv-hero,
  .error-404-section,
  .contacts-hero,
  .power-hero,
  .support-hero,
  .payment-hero,
  .news-hero,
  .single-hero,
  .archive-hero,
  .index-hero,
  .about-hero,
  .coverage-hero,
  .settlement-hero,
  .front-hero {
    padding-block: 64px;
  }

  .front-hero-content h1,
  .hero-content h1,
  .youtv-hero-content h1,
  .error-404-content h1,
  .contacts-hero-content h1,
  .power-hero-content h1,
  .support-hero-content h1,
  .payment-hero-content h1,
  .news-hero-content h1,
  .single-hero-content h1,
  .archive-hero-content h1,
  .index-hero-content h1,
  .about-hero-content h1,
  .coverage-hero-content h1,
  .settlement-hero-content h1 {
    font-size: clamp(36px, 11vw, 52px);
    letter-spacing: -0.045em;
  }

  .hero-content p,
  .front-hero-content p,
  .youtv-hero-content p,
  .error-404-content p,
  .contacts-hero-content p,
  .power-hero-content p,
  .support-hero-content p,
  .payment-hero-content p,
  .news-hero-content p,
  .single-hero-content p,
  .archive-hero-content p,
  .index-hero-content p,
  .about-hero-content p,
  .coverage-hero-content p,
  .settlement-hero-content p {
    font-size: 17px;
  }

  .hero-actions,
  .front-hero-actions,
  .youtv-hero-actions,
  .error-404-actions,
  .power-hero-actions,
  .support-hero-actions,
  .payment-hero-actions,
  .about-hero-actions,
  .settlement-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn { width: 100%; }

  .front-quick-grid,
  .front-benefits-grid,
  .front-service-grid,
  .front-news-grid,
  .front-panel-grid,
  .youtv-benefits-grid,
  .power-options-grid,
  .support-quick-grid,
  .support-errors-grid,
  .support-safety-grid,
  .news-grid,
  .archive-grid,
  .index-grid,
  .coverage-grid,
  .settlement-tariffs-grid,
  .about-services-grid {
    grid-template-columns: 1fr;
  }

  .page-content,
  .error-404-card,
  .front-panel-main,
  .front-panel-card,
  .front-quick-card,
  .front-benefit-card,
  .front-service-card,
  .front-map-card,
  .front-news-body,
  .youtv-hero-card,
  .contacts-hero-card,
  .power-hero-card,
  .support-hero-card,
  .payment-hero-card,
  .news-hero-card,
  .archive-hero-card,
  .about-hero-card,
  .coverage-hero-card,
  .settlement-hero-card,
  .youtv-benefit-card,
  .youtv-tariff-card,
  .youtv-account-box,
  .youtv-account-card,
  .contacts-form-wrap,
  .contact-card,
  .power-step-card,
  .power-option-card,
  .power-tips-box,
  .support-quick-card,
  .support-main-card,
  .support-side-card,
  .support-error-card,
  .support-safety-card,
  .payment-method-card,
  .payment-info-box,
  .payment-info-card,
  .news-card-body,
  .news-empty,
  .archive-card-body,
  .archive-empty,
  .index-card-body,
  .index-empty,
  .connect-box,
  .single-content-card,
  .single-side-card,
  .about-intro-card,
  .about-service-card,
  .about-coverage-box,
  .about-coverage-card,
  .coverage-card-link,
  .coverage-empty-search,
  .settlement-tariff-card,
  .settlement-no-tariffs,
  .settlement-description-card,
  .settlement-constructor,
  .constructor-summary {
    padding: 28px;
    border-radius: 22px;
  }

  .contact-card,
  .support-step,
  .payment-method-top,
  .coverage-card-top {
    grid-template-columns: 1fr;
  }

  .payment-method-card .btn,
  .settlement-tariff-card .btn { align-self: stretch; }
  .youtv-card-stats { grid-template-columns: 1fr; }
  .section-heading { margin-bottom: 30px; }

  .site-footer {
    margin-top: 64px;
    padding: 52px 0 26px;
  }

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

  .footer-cabinet-btn { width: 100%; }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 34px;
  }

  .floating-phone-btn,
  .floating-phone-btn::before,
  .floating-phone-icon { animation: none !important; }
  .floating-phone-btn::before { display: none !important; }

  .floating-phone-btn {
    right: 16px;
    bottom: 16px;
    min-height: 58px;
    width: 58px;
    height: 58px;
    padding: 0;
    box-shadow: 0 10px 28px rgba(16, 35, 27, 0.20) !important;
  }

  .floating-phone-text { display: none; }
  .floating-phone-icon { width: 58px; height: 58px; }

  .floating-top-btn {
    right: 16px;
    bottom: 86px;
    width: 48px;
    height: 48px;
    box-shadow: 0 10px 28px rgba(16, 35, 27, 0.16) !important;
  }

  .front-hero::after,
  .coverage-hero::after,
  .settlement-hero::after,
  .about-hero::after,
  .single-hero::after,
  .archive-hero::after,
  .index-hero::after {
    display: none !important;
  }

  .card:hover,
  .post-card:hover,
  .news-card:hover,
  .front-quick-card:hover,
  .front-benefit-card:hover,
  .front-service-card:hover,
  .front-news-card:hover,
  .coverage-card:hover,
  .settlement-tariff-card:hover {
    transform: none !important;
  }

  .single-hero-image img { height: 280px; }
  .single-entry-content,
  .settlement-entry-content { font-size: 16px; }
}

@media (max-width: 480px) {
  :root { --header-height: 70px; }

  .container,
  .container-wide,
  .container-narrow { width: calc(100% - 24px); }

  .site-logo .custom-logo,
  .site-logo-img { height: 48px; max-width: 205px; }
  .menu-toggle { width: 42px; height: 42px; }

  .hero-section,
  .front-hero,
  .youtv-hero,
  .error-404-section,
  .contacts-hero,
  .power-hero,
  .support-hero,
  .payment-hero,
  .news-hero,
  .single-hero,
  .archive-hero,
  .index-hero,
  .about-hero,
  .coverage-hero,
  .settlement-hero {
    padding-block: 52px;
  }

  .section,
  .page-section,
  .front-section,
  .youtv-section,
  .contacts-section,
  .power-section,
  .support-section,
  .payment-section,
  .news-section,
  .single-section,
  .archive-section,
  .index-section,
  .about-section,
  .coverage-section,
  .settlement-section {
    padding-block: 44px;
  }

  .section-heading h2,
  .front-hero-content h1,
  .hero-content h1,
  .youtv-hero-content h1,
  .error-404-content h1,
  .contacts-hero-content h1,
  .power-hero-content h1,
  .support-hero-content h1,
  .payment-hero-content h1,
  .news-hero-content h1,
  .single-hero-content h1,
  .archive-hero-content h1,
  .index-hero-content h1,
  .about-hero-content h1,
  .coverage-hero-content h1,
  .settlement-hero-content h1 {
    font-size: 36px;
  }

  .page-content,
  .error-404-card,
  .front-panel-main,
  .front-panel-card,
  .front-quick-card,
  .front-benefit-card,
  .front-service-card,
  .front-map-card,
  .front-news-body,
  .youtv-hero-card,
  .contacts-hero-card,
  .power-hero-card,
  .support-hero-card,
  .payment-hero-card,
  .news-hero-card,
  .archive-hero-card,
  .about-hero-card,
  .coverage-hero-card,
  .settlement-hero-card,
  .youtv-benefit-card,
  .youtv-tariff-card,
  .youtv-account-box,
  .youtv-account-card,
  .contacts-form-wrap,
  .contact-card,
  .power-step-card,
  .power-option-card,
  .power-tips-box,
  .support-quick-card,
  .support-main-card,
  .support-side-card,
  .support-error-card,
  .support-safety-card,
  .payment-method-card,
  .payment-info-box,
  .payment-info-card,
  .news-card-body,
  .news-empty,
  .archive-card-body,
  .archive-empty,
  .index-card-body,
  .index-empty,
  .connect-box,
  .single-content-card,
  .single-side-card,
  .about-intro-card,
  .about-service-card,
  .about-coverage-box,
  .about-coverage-card,
  .coverage-card-link,
  .coverage-empty-search,
  .settlement-tariff-card,
  .settlement-no-tariffs,
  .settlement-description-card,
  .settlement-constructor,
  .constructor-summary {
    padding: 24px;
    border-radius: 20px;
  }

  .youtv-logo { max-width: 240px; max-height: 96px; }
  .news-card h3,
  .archive-card h2,
  .index-card h2 { font-size: 23px; }
  .support-faq-item summary { padding: 22px 24px; font-size: 19px; }
  .support-faq-item p { padding: 0 24px 24px; }
  .site-footer { padding: 44px 0 24px; }
  .footer-logo-text { font-size: 30px; }
  .footer-column h2 { font-size: 19px; }
  .floating-phone-btn { right: 14px; bottom: 14px; }
  .floating-top-btn { right: 14px; bottom: 82px; }
  .single-hero-image img { height: 220px; }
  .single-entry-content h2,
  .settlement-entry-content h2 { font-size: 30px; }
  .single-entry-content h3,
  .settlement-entry-content h3 { font-size: 24px; }
  .settlement-tariff-card h4 { font-size: 27px; }
  .settlement-tariff-price { font-size: 30px; }
  .constructor-dropdown summary { padding: 22px; }
  .constructor-options { padding: 0 22px 22px; }
  .constructor-dropdown summary span { font-size: 21px; }
  .constructor-total strong { font-size: 44px; }
}

/* =========================================================
   Front Page Hero With Image
========================================================= */

.front-hero {
  padding-block: 104px;
}

.front-hero-inner {
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
}

.front-hero-content {
  max-width: 720px;
}

.front-hero-content h1 {
  max-width: 760px;
  font-size: clamp(42px, 5.4vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.06em;
}

.front-hero-content p {
  max-width: 650px;
  font-size: 18px;
  line-height: 1.72;
}

.front-hero-actions {
  max-width: 720px;
}

.front-hero-actions .btn {
  min-height: 50px;
}

.front-hero-media {
  position: relative;
}

.front-hero-image-wrap {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  border-radius: 34px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow:
    0 34px 90px rgba(0, 0, 0, 0.24),
    0 0 0 1px rgba(191, 163, 106, 0.10);
  background: var(--color-primary);
  isolation: isolate;
}

.front-hero-image-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(8, 18, 14, 0.46) 0%, rgba(8, 18, 14, 0.14) 42%, rgba(8, 18, 14, 0.06) 100%),
    linear-gradient(180deg, rgba(8, 18, 14, 0.18) 0%, transparent 45%, rgba(8, 18, 14, 0.24) 100%),
    radial-gradient(circle at 18% 18%, rgba(191, 163, 106, 0.18), transparent 34%),
    radial-gradient(circle at 82% 22%, rgba(63, 138, 104, 0.14), transparent 30%);
}

.front-hero-image-wrap::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 3;
  pointer-events: none;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.front-hero-image {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  transform: scale(1.02);
  filter:
    saturate(0.92)
    contrast(1.08)
    brightness(0.86);
}

.front-hero-badge {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: var(--radius-pill);
  background: rgba(247, 245, 239, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.front-hero-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill);
  background: var(--color-accent);
  box-shadow: 0 0 0 5px rgba(63, 138, 104, 0.14);
}

.front-hero-badge-top {
  top: 24px;
  left: 24px;
}

.front-hero-badge-bottom {
  right: 24px;
  bottom: 24px;
  background:
    radial-gradient(circle at top right, rgba(191, 163, 106, 0.24), transparent 34%),
    rgba(16, 35, 27, 0.86);
  color: var(--color-white);
  border-color: rgba(191, 163, 106, 0.22);
}

.front-hero-badge-bottom::before {
  background: var(--color-gold);
  box-shadow: 0 0 0 5px rgba(191, 163, 106, 0.16);
}

/* прибираємо стару панель, якщо вона ще десь лишилась */
.front-hero-panel {
  display: none;
}

/* =========================================================
   Front Page Text Cleanup
========================================================= */

.front-overview-section .section-heading,
.front-quick-section .section-heading {
  max-width: 720px;
}

.front-info-card {
  padding: 32px;
}

.front-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 22px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(63, 138, 104, 0.10), rgba(191, 163, 106, 0.10));
  color: var(--color-accent-dark);
  border: 1px solid rgba(63, 138, 104, 0.13);
}

.front-info-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.front-info-card h3 {
  margin: 0 0 12px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 27px;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.front-info-card p {
  margin: 0 0 22px;
  color: var(--color-muted);
}

.front-card-link {
  display: inline-flex;
  align-items: center;
  color: var(--color-accent-dark);
  font-size: 15px;
  font-weight: 900;
}

.front-card-link:hover {
  color: var(--color-primary);
}

.front-info-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.front-section-actions {
  margin-top: 34px;
}

/* =========================================================
   Front Page Responsive
========================================================= */

@media (max-width: 1100px) {
  .front-hero-inner {
    grid-template-columns: 1fr;
  }

  .front-hero-content {
    max-width: 820px;
  }

  .front-hero-image-wrap {
    max-width: 860px;
    min-height: 420px;
  }

  .front-hero-image {
    min-height: 420px;
  }
}

@media (max-width: 768px) {
  .front-hero {
    padding-block: 64px;
  }

  .front-hero-content h1 {
    font-size: clamp(36px, 11vw, 52px);
  }

  .front-hero-content p {
    font-size: 17px;
  }

  .front-hero-actions {
    display: grid;
    gap: 12px;
  }

  .front-hero-image-wrap {
    min-height: 330px;
    border-radius: 26px;
  }

  .front-hero-image-wrap::after {
    inset: 12px;
    border-radius: 20px;
  }

  .front-hero-image {
    min-height: 330px;
  }

  .front-hero-badge {
    min-height: 38px;
    padding: 0 13px;
    font-size: 12px;
  }

  .front-hero-badge-top {
    top: 16px;
    left: 16px;
  }

  .front-hero-badge-bottom {
    right: 16px;
    bottom: 16px;
  }

  .front-info-card {
    padding: 28px;
  }
}

@media (max-width: 480px) {
  .front-hero {
    padding-block: 52px;
  }

  .front-hero-content h1 {
    font-size: 36px;
  }

  .front-hero-image-wrap {
    min-height: 280px;
    border-radius: 22px;
  }

  .front-hero-image {
    min-height: 280px;
  }

  .front-hero-badge-top {
    max-width: calc(100% - 32px);
  }

  .front-hero-badge-bottom {
    display: none;
  }

  .front-info-card {
    padding: 24px;
  }
}

/* =========================================================
   Front Hero Buttons Alignment
========================================================= */

.front-hero-actions-balanced {
  display: grid;
  gap: 14px;
  max-width: 720px;
}

.front-hero-main-btn {
  width: fit-content;
  min-width: 220px;
}

.front-hero-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.front-hero-secondary-actions .btn {
  min-width: 138px;
}

@media (max-width: 768px) {
  .front-hero-main-btn {
    width: 100%;
  }

  .front-hero-secondary-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .front-hero-secondary-actions .btn {
    width: 100%;
  }
}

/* =========================================================
   YouTV Tariff Cards Alignment
========================================================= */

.youtv-tariffs-grid {
  align-items: stretch;
}

.youtv-tariff-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.youtv-tariff-card .tariff-label {
  align-self: flex-start;
}

.youtv-tariff-card > p {
  min-height: 56px;
}

.youtv-tariff-card ul {
  flex: 1;
}

.youtv-tariff-card .btn {
  width: 100%;
  margin-top: auto;
}

.youtv-tariff-featured {
  display: flex;
}

/* =========================================================
   Settlement Page Compact Fixes
========================================================= */

.settlement-hero-compact {
  padding-block: 72px;
}

.settlement-hero-compact .settlement-hero-content h1 {
  max-width: 720px;
}

.settlement-hero-compact .settlement-hero-content p {
  max-width: 620px;
  margin-bottom: 26px;
}

.settlement-hero-compact .settlement-hero-card strong {
  font-size: clamp(34px, 4vw, 52px);
}

.constructor-dropdown {
  max-width: 100%;
}

.constructor-dropdown summary {
  padding: 18px 22px;
}

.constructor-dropdown summary span {
  font-size: 21px;
}

.constructor-dropdown summary::after {
  width: 30px;
  height: 30px;
}

.constructor-options {
  padding: 0 22px 22px;
}

@media (max-width: 768px) {
  .settlement-hero-compact {
    padding-block: 54px;
  }

  .constructor-dropdown summary {
    padding: 18px;
  }

  .constructor-options {
    padding: 0 18px 18px;
  }
}

/* =========================================================
   14. Final Clean Fixes
========================================================= */

/* Support hero with side card */
.support-page .support-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 48px;
  align-items: center;
}

.support-page .support-hero-card {
  padding: 34px;
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at top right, rgba(191, 163, 106, 0.18), transparent 36%),
    linear-gradient(135deg, var(--color-primary), var(--color-primary-2));
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: var(--shadow-dark-card);
}

.support-page .support-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 24px;
  border-radius: 22px;
  background: rgba(191, 163, 106, 0.14);
  color: var(--color-gold);
  border: 1px solid rgba(191, 163, 106, 0.24);
}

.support-page .support-card-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.support-page .support-hero-card > span {
  display: block;
  margin-bottom: 10px;
  color: var(--color-gold);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.support-page .support-hero-card strong {
  display: block;
  margin-bottom: 14px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 36px;
  line-height: 1.05;
  letter-spacing: -0.045em;
}

.support-page .support-hero-card p {
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 15px;
  line-height: 1.65;
}

.support-page .support-hero-card .btn {
  width: 100%;
}

.support-page .support-hero-email {
  display: inline-flex;
  margin-top: 16px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 850;
}

.support-page .support-hero-email:hover {
  color: var(--color-gold);
}

/* Single settlement tariff CTA should not look like a white secondary button */
.settlement-page .settlement-tariff-card .btn-light {
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));
  color: var(--color-white);
  border: 1px solid rgba(47, 110, 82, 0.18);
  box-shadow: var(--shadow-button);
}

.settlement-page .settlement-tariff-card .btn-light:hover {
  background: linear-gradient(135deg, #37795B 0%, #295F47 100%);
  color: var(--color-white);
  box-shadow: 0 18px 36px rgba(47, 110, 82, 0.22);
}

/* Keep future request/contact forms consistent without adding new page-specific CSS */
.request-form-wrap,
.application-form-wrap {
  padding: 36px;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(228, 222, 210, 0.88);
  box-shadow: var(--shadow-card);
}

.request-form,
.application-form {
  display: grid;
  gap: 18px;
}

@media (max-width: 992px) {
  .support-page .support-hero-inner {
    grid-template-columns: 1fr;
  }

  .support-page .support-hero-card {
    max-width: 520px;
  }
}

@media (max-width: 768px) {
  .support-page .support-hero-card {
    padding: 28px;
    border-radius: 26px;
  }

  .support-page .support-hero-card strong {
    font-size: 30px;
  }
}

/* =========================================================
   Floating Callback Form
========================================================= */

.floating-callback-btn {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 62px;
  padding: 0 22px 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius-pill);
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.22), transparent 34%),
    linear-gradient(135deg, var(--color-gold), #D4B978);
  color: var(--color-primary);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 18px 44px rgba(16, 35, 27, 0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.floating-callback-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 54px rgba(16, 35, 27, 0.28);
}

.floating-phone-mobile {
  display: none;
}

.callback-modal[hidden] {
  display: none !important;
}

.callback-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.callback-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 18, 14, 0.68);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.callback-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 480px);
  padding: 34px;
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.28);
}

.callback-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-bg-soft);
  color: var(--color-primary);
  font-size: 28px;
  line-height: 1;
}

.callback-modal-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.callback-modal-dialog h2 {
  margin: 0 0 12px;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 36px;
  line-height: 1.05;
  letter-spacing: -0.05em;
}

.callback-modal-dialog p {
  margin: 0 0 24px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.65;
}

.callback-form,
.request-form,
.application-form {
  display: grid;
  gap: 16px;
}

.callback-form .btn {
  width: 100%;
  margin-top: 4px;
}

.form-status,
.callback-form-status {
  min-height: 20px;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 800;
}

.form-status.is-success,
.callback-form-status.is-success {
  color: var(--color-accent-dark);
}

.form-status.is-error,
.callback-form-status.is-error {
  color: #A23A2F;
}

.existing-client-login[hidden] {
  display: none !important;
}

.form-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  color: var(--color-heading);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.form-checkbox input {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
  flex: 0 0 auto;
}

body.callback-modal-open {
  overflow: hidden;
}

@media (max-width: 768px) {
  .floating-callback-btn {
    display: none;
  }

  .floating-phone-mobile {
    display: inline-flex;
    right: 16px;
    bottom: 16px;
    min-height: 58px;
    width: 58px;
    height: 58px;
    padding: 0;
  }

  .callback-modal[data-callback-modal] {
    display: none !important;
  }
}

/* =========================================================
   Header Dropdown Menu
========================================================= */

.primary-menu,
.primary-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.primary-menu li {
  position: relative;
}

.primary-menu > li {
  display: inline-flex;
  align-items: center;
}

.primary-menu > li > a {
  display: inline-flex;
  align-items: center;
}

.primary-menu .menu-item-has-children > a::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: 0.75;
}

.primary-menu .sub-menu {
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  z-index: 1000;
  min-width: 230px;
  padding: 10px;
  border-radius: 20px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: 0 22px 60px rgba(16, 35, 27, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu,
.primary-menu li.is-submenu-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.primary-menu .sub-menu li {
  display: block;
}

.primary-menu .sub-menu a {
  display: flex;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: var(--color-heading);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}

.primary-menu .sub-menu a:hover,
.primary-menu .sub-menu a:focus {
  background: var(--color-accent-soft);
  color: var(--color-accent-dark);
}

/* =========================================================
   15. Final Mobile Fixes: Tariff Modal + Header Menu
========================================================= */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body.callback-modal-open .floating-callback-btn,
body.callback-modal-open .floating-phone-mobile,
body.callback-modal-open .floating-phone-btn,
body.callback-modal-open .floating-top-btn {
  display: none !important;
}

@media (max-width: 768px) {
  .callback-modal[data-callback-modal] {
    display: none !important;
  }

  .callback-modal.settlement-request-modal[hidden] {
    display: none !important;
  }

  .callback-modal.settlement-request-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2000 !important;
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 16px !important;
    overflow: hidden auto !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  .settlement-request-modal .callback-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    background: rgba(8, 18, 14, 0.68) !important;
  }

  .settlement-request-modal .callback-modal-dialog {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 520px !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 26px !important;
    border-radius: 24px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .settlement-request-modal .callback-form,
  .settlement-request-modal .form-row,
  .settlement-request-modal .form-row input,
  .settlement-request-modal .form-row select,
  .settlement-request-modal .form-row textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .site-header {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .header-inner {
    width: calc(100% - 28px) !important;
    max-width: var(--container-width) !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }

  .header-navigation {
    position: fixed !important;
    top: var(--header-height) !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 999 !important;
    display: none !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100dvh - var(--header-height)) !important;
    margin: 0 !important;
    padding: 22px 14px 34px !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
    overflow: hidden auto !important;
    background:
      radial-gradient(circle at 90% 0%, rgba(191, 163, 106, 0.12), transparent 34%),
      linear-gradient(180deg, #F7F5EF 0%, #FBFAF6 100%) !important;
    border-top: 1px solid var(--color-border) !important;
  }

  body.menu-open .header-navigation {
    display: block !important;
  }

  .site-nav,
  .primary-menu > li,
  .primary-menu li,
  .primary-menu a,
  .primary-menu .sub-menu,
  .primary-menu .sub-menu li,
  .primary-menu .sub-menu a {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .site-nav {
    display: block !important;
    width: 100% !important;
  }

  .primary-menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: min(100%, 460px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  .primary-menu > li,
  .primary-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .primary-menu a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 0 20px !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(228, 222, 210, 0.92) !important;
    color: var(--color-primary) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    box-shadow: 0 10px 26px rgba(16, 35, 27, 0.06) !important;
  }

  .primary-menu a:hover,
  .primary-menu a:focus,
  .primary-menu .current-menu-item > a,
  .primary-menu .current_page_item > a {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
  }

  .primary-menu .menu-item-has-children > a {
    justify-content: space-between !important;
  }

  .primary-menu .menu-item-has-children > a::after {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  .primary-menu .sub-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 8px 0 0 !important;
    padding: 8px !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.74) !important;
    border: 1px solid rgba(228, 222, 210, 0.92) !important;
    box-shadow: 0 10px 24px rgba(16, 35, 27, 0.06) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .primary-menu li.is-submenu-open > .sub-menu {
    display: grid !important;
    gap: 8px !important;
  }

  .primary-menu .sub-menu a {
    min-height: 50px !important;
    padding: 0 16px !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(228, 222, 210, 0.82) !important;
    color: var(--color-primary) !important;
    font-size: 16px !important;
    box-shadow: none !important;
  }

  .primary-menu .sub-menu a:hover,
  .primary-menu .sub-menu a:focus,
  .primary-menu .sub-menu .current-menu-item > a,
  .primary-menu .sub-menu .current_page_item > a {
    background: var(--color-accent-soft) !important;
    border-color: rgba(63, 138, 104, 0.18) !important;
    color: var(--color-accent-dark) !important;
  }

  .header-cabinet-btn {
    display: flex !important;
    width: min(100%, 460px) !important;
    max-width: calc(100vw - 28px) !important;
    min-height: 60px !important;
    margin: 16px auto 0 !important;
    padding: 0 22px !important;
    border-radius: 20px !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .header-cabinet-btn span:last-child {
    display: inline !important;
  }
}

@media (max-width: 480px) {
  .header-inner {
    width: calc(100% - 24px) !important;
  }

  .header-navigation {
    padding-inline: 12px !important;
  }

  .primary-menu,
  .header-cabinet-btn {
    max-width: calc(100vw - 24px) !important;
  }

  .primary-menu a {
    min-height: 56px !important;
    padding-inline: 18px !important;
    font-size: 17px !important;
    border-radius: 17px !important;
  }

  .primary-menu .sub-menu a {
    min-height: 48px !important;
    font-size: 16px !important;
  }
}

/* Coverage: spacing for "Показати всі населені пункти" button */
.coverage-load-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 34px;
  padding-top: 6px;
}

.coverage-load-more-btn {
  min-width: 260px;
}

@media (max-width: 768px) {
  .coverage-load-more-wrap {
    margin-top: 28px;
  }

  .coverage-load-more-btn {
    width: 100%;
    min-width: 0;
  }
}


