/* gh-new-layout-mobile-type-fix */

@media (max-width: 720px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .home-hero,
  .project-hero,
  .category-hero,
  .clt-hero,
  .contacts-hero,
  .production-hero,
  .about-hero,
  .home-section,
  .content-section,
  .media-section,
  .project-specs-section,
  .facades-section,
  .plan-section,
  .similar-section,
  .catalog-section,
  .clt-projects-section,
  .clt-content-section,
  .clt-order-section,
  .contacts-grid-section,
  .contacts-content,
  .contacts-requisites,
  .production-intro,
  .production-stages,
  .production-gallery,
  .production-quality,
  .production-compare,
  .production-faq {
    max-width: 100%;
  }

  h1,
  .home-hero h1,
  .project-hero h1,
  .category-hero h1,
  .clt-hero h1,
  .contacts-hero h1,
  .production-hero h1,
  .about-hero h1 {
    max-width: 100%;
    font-size: clamp(38px, 11vw, 48px);
    line-height: 1.04;
    letter-spacing: 0;
    overflow-wrap: break-word;
    word-break: normal;
  }

  h2,
  .section-heading h2,
  .home-section-head h2,
  .project-text h2,
  .order-copy h2,
  .contacts-map-copy h2,
  .contacts-form-card h2,
  .production-stage-head h2,
  .production-quality-copy h2,
  .clt-content-section h2 {
    max-width: 100%;
    font-size: clamp(28px, 8.5vw, 36px);
    line-height: 1.12;
    overflow-wrap: break-word;
  }

  p,
  li,
  .lead,
  .hero-content p,
  .home-section-head p,
  .project-text p,
  .category-hero p,
  .clt-hero-copy > p:not(.section-kicker),
  .contacts-hero-announce,
  .production-hero-copy > p:not(.section-kicker) {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .home-hero-inner,
  .hero-content {
    max-width: calc(100% - 28px);
  }

  .hero-specs {
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .hero-specs span {
    flex: 0 0 auto;
  }

  .summary-grid {
    width: min(1280px, calc(100% - 28px));
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .summary-advantage {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
    padding: 10px 6px 10px 0;
  }

  .summary-advantage p {
    min-width: 0;
    min-height: 0;
    padding-right: 6px;
    overflow-wrap: break-word;
  }

  .home-company-facts,
  .contacts-info-grid,
  .project-specs-grid,
  .clt-catalog-grid {
    min-width: 0;
  }
}


/* gh-project-card-2026-fixes */

/* hero: картинка без JS-гейта и анимации проявления (LCP) */
.project-hero::before{display:none}
.project-hero .hero-bg,.project-hero .hero-shade{opacity:1;transform:none;transition:none}
/* H1: описание + артикул */
.project-hero h1{display:flex;flex-direction:column;gap:6px}
/* мобильные правила ниже ставят h1 display:block !important — спаны остаются блочными в любом случае */
.project-hero h1 .project-h1-desc,.project-hero h1 .project-h1-code{display:block}
.project-hero h1 .project-h1-desc{font-size:clamp(17px,1.6vw,22px);font-weight:500;line-height:1.3;letter-spacing:0;opacity:.92;margin-bottom:6px}
/* width/height у картинок задают только пропорцию, размер по-прежнему из CSS */
.facade-drawing img,.plan-media-card .plan-floor-image{height:auto}


/* gh-mobile-menu-dark-green */

@media (max-width: 900px) {
  .top-nav {
    background: #2A414E;
    border-top-color: rgba(255, 255, 255, .14);
    box-shadow: 0 22px 52px rgba(20, 32, 38, .28);
  }

  .menu-main-links {
    border-bottom-color: rgba(255, 255, 255, .14);
  }

  .top-nav a,
  .projects-menu a {
    color: rgba(255, 255, 255, .88);
  }

  .top-nav a:hover,
  .top-nav a:focus-visible,
  .projects-menu a:hover,
  .projects-menu a:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .1);
  }

  .top-nav .projects-menu {
    background: transparent;
  }
}


/* gh-summary-mobile-fix */

@media (max-width: 900px) {
  .summary-grid {
    width: min(1280px, calc(100% - 28px));
    gap: 12px;
  }

  .summary-advantage {
    min-width: 0;
    min-height: 0;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px;
    padding: 14px 10px 14px 0;
  }

  .summary-icon {
    width: 44px;
    height: 44px;
    background-size: 30px;
  }

  .summary-icon-sm {
    background-size: 27px;
  }

  .summary-icon-svg svg,
  .summary-advantage:first-child .summary-icon-svg svg {
    width: 30px;
    height: 30px;
  }

  .summary-advantage p {
    min-width: 0;
    min-height: 0;
    padding-right: 4px;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 560px) {
  .summary-grid {
    grid-template-columns: 1fr;
  }

  .summary-advantage {
    padding: 12px 8px 12px 0;
  }
}


/* gh-new-layout-mobile-type-final */

@media (max-width: 720px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body * {
    max-width: 100%;
  }

  .home-hero-inner,
  .hero-content,
  .category-hero,
  .clt-hero,
  .contacts-hero,
  .production-hero {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
  }

  h1,
  .home-hero h1,
  .project-hero h1,
  .category-hero h1,
  .clt-hero h1,
  .contacts-hero h1,
  .production-hero h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10.5vw, 46px) !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  h2,
  .home-section-head h2,
  .section-heading h2,
  .project-text h2,
  .order-copy h2,
  .contacts-map-copy h2,
  .contacts-form-card h2,
  .production-stage-head h2,
  .production-quality-copy h2 {
    max-width: 100% !important;
    font-size: clamp(27px, 8vw, 34px) !important;
    line-height: 1.14 !important;
    overflow-wrap: break-word !important;
  }

  p,
  li,
  .lead,
  .hero-content p,
  .home-hero p,
  .home-section-head p,
  .project-text p,
  .category-hero p,
  .clt-hero-copy > p:not(.section-kicker),
  .contacts-hero-announce,
  .production-hero-copy > p:not(.section-kicker) {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  .home-hero .lead,
  .project-hero .lead {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .summary-grid {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .summary-advantage {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 10px 6px 10px 0 !important;
  }

  .summary-icon {
    width: 44px !important;
    height: 44px !important;
    background-size: 30px !important;
  }

  .summary-icon-sm {
    background-size: 27px !important;
  }

  .summary-icon-svg svg,
  .summary-advantage:first-child .summary-icon-svg svg {
    width: 30px !important;
    height: 30px !important;
  }

  .summary-advantage p {
    min-width: 0 !important;
    min-height: 0 !important;
    padding-right: 6px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    overflow-wrap: break-word !important;
  }

  .hero-specs {
    max-width: 100% !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  .hero-specs span {
    flex: 0 0 auto !important;
  }
}


/* gh-mobile-heading-tight-final */

@media (max-width: 720px) {
  h1,
  .home-hero h1,
  .project-hero h1,
  .category-hero h1,
  .clt-hero h1,
  .contacts-hero h1,
  .production-hero h1 {
    font-size: clamp(34px, 9.2vw, 40px) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .home-hero .lead,
  .project-hero .lead,
  .category-hero p,
  .clt-hero-copy > p:not(.section-kicker),
  .contacts-hero-announce,
  .production-hero-copy > p:not(.section-kicker),
  .home-section-head p {
    font-size: 16px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }

  .home-hero-inner,
  .hero-content {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }
}


/* gh-mobile-text-block-width-final */

@media (max-width: 720px) {
  .home-hero h1,
  .project-hero h1,
  .category-hero h1,
  .clt-hero h1,
  .contacts-hero h1,
  .production-hero h1,
  .home-hero .lead,
  .project-hero .lead,
  .category-hero p,
  .clt-hero-copy > p:not(.section-kicker),
  .contacts-hero-announce,
  .production-hero-copy > p:not(.section-kicker),
  .home-section-head > p,
  .home-section-head p {
    display: block !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .home-hero h1,
  .project-hero h1,
  .category-hero h1,
  .clt-hero h1,
  .contacts-hero h1,
  .production-hero h1 {
    font-size: clamp(32px, 8.8vw, 38px) !important;
  }
}


/* gh-mobile-benefits-clean-final */

@media (max-width: 720px) {
  .summary-grid {
    width: min(1280px, calc(100% - 28px)) !important;
    max-width: min(1280px, calc(100% - 28px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .summary-advantage {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    min-height: 72px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .summary-icon {
    width: 44px !important;
    height: 44px !important;
    background-size: 30px !important;
  }

  .summary-icon-sm {
    background-size: 27px !important;
  }

  .summary-icon-svg svg,
  .summary-advantage:first-child .summary-icon-svg svg {
    width: 30px !important;
    height: 30px !important;
  }

  .summary-advantage p {
    display: flex !important;
    align-items: center !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}
