/* ==========================================================================
   Asia Him Snab — refinement layer (loaded last, overrides template)
   Goal: even spacing, consistent professional typography, equal block heights,
   no colliding / clipping headings.
   ========================================================================== */

/* ---------- Typography base ---------- */
:root{ --title-font: 'Manrope', sans-serif; --display-font: 'Unbounded', 'Space Grotesk', sans-serif; }
body{ -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6,
.sec-title h2,
.banner-style-three .content-box h2{
  font-family: var(--title-font) !important;
  letter-spacing: -.01em;
  overflow: visible !important;
  white-space: normal !important;
  font-weight: 800 !important;
}
/* distinctive display font for the big statement headings — bold */
.banner-style-three .content-box h2,
.sec-title h2,
.feature-style-two .sec-title h2,
.cta-style-two .content-box h2{
  font-family: var(--display-font) !important;
  letter-spacing: -.01em;
  font-weight: 700 !important;
}
.sub-title{ font-family: var(--title-font) !important; letter-spacing: .14em !important; font-weight: 700 !important; }

/* ================= HERO ================= */
.banner-style-three{ overflow: hidden; min-height: 100vh; display: flex; align-items: center; }
.banner-style-three > .auto-container{ width: 100%; }
.banner-style-three .inner-box{ padding: 40px 0 14px !important; }   /* #756 чуть меньше отступ снизу */
.banner-style-three .content-column{ padding-right: 40px; z-index: 3; }
.banner-style-three .content-box h2{
  font-size: 26px;
  line-height: 1.32;
  max-width: 640px;
  margin-bottom: 24px;
  font-weight: 700;
}
.banner-style-three .content-box p{ max-width: 490px; line-height: 1.7; margin-bottom: 32px; }
/* keep the placeholder/photo from making the hero taller than the screen */
.banner-style-three .image-box{ max-height: 82vh; }
.banner-style-three .image-box .image,
.banner-style-three .image-box .image img{ max-height: 82vh; width: auto; }
@media (max-width: 1300px){
  .banner-style-three .content-box h2{ font-size: 38px; max-width: 480px; }
}
@media (max-width: 1199px){
  .banner-style-three{ min-height: auto; display: block; }
  .banner-style-three .inner-box{ padding: 140px 0 50px !important; }   /* clear the absolute header on mobile — не наезжать на шапку */
  .banner-style-three .content-box h2{ font-size: 36px; max-width: 100%; }
  .banner-style-three .image-box{ position: relative; max-height: none; margin-top: 40px; }
  .banner-style-three .image-box .image img{ max-height: none; width: 100%; }
}

/* ================= SECTION TITLES ================= */
.sec-title{ margin-bottom: 0; }
.sec-title .sub-title{ margin-bottom: 16px !important; display:inline-block; }
.sec-title h2{
  font-size: 21px;
  line-height: 1.4;
  font-weight: 700;
}
.sec-title.centred{ max-width: 780px; margin-left:auto; margin-right:auto; }

/* section vertical rhythm — a touch more even */
.feature-style-three{ padding-top: 10px; padding-bottom: 100px; }
.service-style-three{ padding-top: 110px; padding-bottom: 100px; }
.working-style-two{ padding-top: 110px; padding-bottom: 110px; }

/* ================= FEATURE TWO (benefits) ================= */
.feature-style-two{ padding: 60px 0 !important; }
/* lighter, on-brand panel so the accent word is readable */
.feature-style-two:before{ background: #123a6b !important; }
.feature-style-two .title-column{ display:flex; align-items:center; }
.feature-style-two .sec-title h2{ font-size: 20px; line-height: 1.35; }
.feature-style-two .sec-title h2 span{ color: #cfe0ff !important; }  /* light blue = readable on dark */
.feature-block-two .inner-box{ padding-right: 20px; }
.feature-block-two .inner-box h3{ font-size: 21px; margin-bottom: 10px; line-height: 1.3; }
.feature-block-two .inner-box p{ line-height: 1.6; }

/* ================= ABOUT ================= */
.about-style-three .content_block_one .sec-title h2{ font-size: 24px; line-height: 1.32; margin-bottom: 20px; }
.about-style-three .content_block_one .text-box{ margin-bottom: 30px; }
.about-style-three .content_block_one .text-box p{ line-height: 1.75; margin-bottom: 20px; }
.about-style-three .list-style-one li{ line-height: 1.6; margin-bottom: 10px; }
/* image height trimmed to sit at the level of the text content */
.about-style-three .image_block_two .image-inner .image img{
  height: 400px;
  object-fit: cover;
}

/* ================= FEATURE THREE (4 value blocks) ================= */
/* keep template's horizontal layout (icon left, title right); just equalize height */
.feature-style-three .feature-block-three .inner-box{
  min-height: 118px;
  display: flex;
  align-items: center;
  padding: 22px 26px 22px 100px;
}
.feature-block-three .inner-box h4{
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0;
}

/* ================= FUNFACT (counters) ================= */
.funfact-style-two .funfact-block-one .inner-box{ text-align:center; }
.funfact-block-one .count-outer{ font-family: var(--title-font); font-weight: 800; }
.funfact-block-one .inner-box p{ margin-top: 8px; font-size: 16px; line-height: 1.4; }

/* ================= SERVICE (Продукция) — equal-height cards ================= */
.service-style-three .service-block-two .inner-box{
  min-height: 440px;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.service-block-two .inner-box .bg-layer{ inset: 0; }
/* darken lower half so white text stays readable (content is always visible now) */
.service-block-two .inner-box:before{
  background: linear-gradient(180deg, rgba(11,26,54,0) 32%, rgba(11,26,54,.82) 82%) !important;
}
.service-block-two .inner-box .content-box{
  position: absolute !important;
  transform: none !important;   /* disable hover-reveal: show description always */
  left: 28px;
  right: 28px;
  bottom: 30px;
  z-index: 5;
}
.service-block-two .inner-box .content-box h3{ margin-bottom: 8px; }
.service-block-two .inner-box .content-box h3 a{ font-size: 20px; line-height: 1.25; font-weight: 700; white-space: normal; }
.service-block-two .inner-box .content-box p{ font-size: 14px; line-height: 1.5; margin-bottom: 12px; }
.service-block-two .inner-box .content-box .link a{ font-size: 15px; font-weight: 700; }

/* ================= WORKING (process) ================= */
/* unify all three step hexagons to brand blue for consistency */
.working-style-two .working-block:nth-child(2) .working-block-two .inner-box .icon-box .r-hex:first-child .r-hex-inner:before,
.working-style-two .working-block:last-child  .working-block-two .inner-box .icon-box .r-hex:first-child .r-hex-inner:before{
  background: var(--theme-color) !important;
}
/* reserve two-line title height so descriptions align across the row */
.working-block-two .inner-box{ padding: 0 20px; }
.working-block-two .inner-box h3{
  min-height: 60px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: 22px;
  line-height: 1.25;
  margin-bottom: 14px;
}
.working-block-two .inner-box p{ line-height: 1.6; }

/* ================= CTA ================= */
.cta-style-two .content-box h2{ font-size: 34px; line-height: 1.3; }

/* ================= FOOTER ================= */
.main-footer .footer-widget .widget-title h3{ font-family: var(--title-font); font-weight: 700; }
.main-footer .about-widget .widget-content p{ line-height: 1.7; }
.main-footer .footer-widget{ margin-bottom: 10px; }

/* generic: buttons keep consistent weight */
.theme-btn{ font-family: var(--title-font) !important; font-weight: 700 !important; letter-spacing: .01em; }

/* ================= FOOTER reveal spacing ================= */
/* footer is position:fixed and revealed via main-content margin-bottom.
   reserve enough height so the whole footer (incl. copyright row) shows. */
.main-content{ margin-bottom: 480px !important; }   /* #756 было 748 — убрал огромный пустой отступ снизу */
.main-footer{ min-height: 480px !important; }
.main-footer .footer-bottom{ margin-top: 30px; }

/* ============================================================
   Update pass 2 — font/height/contrast refinements
   ============================================================ */

/* service title: more breathing room before the cards */
.service-style-three .sec-title{ margin-bottom: 78px !important; }
.service-style-three .sec-title h2{ margin-bottom: 0; }

/* CTA heading sized for the display font */
.cta-style-two .content-box h2{ font-size: 23px; line-height: 1.34; }

/* working / process title sized for display font */
.working-style-two .sec-title h2{ font-size: 26px; line-height: 1.3; }

/* footer call-back form (phone) — clean, readable input */
.main-footer .newsletter-widget .newsletter-form form input{
  font-family: var(--title-font);
}
.main-footer .newsletter-widget .newsletter-form form input::placeholder{ color: rgba(255,255,255,.55); }

/* ---------- Contrast / readability safety pass ---------- */
/* card & section body text stays dark on light */
.feature-block-two .inner-box p,
.about-style-three .text-box p,
.working-block-two .inner-box p{ color: #5b6472; }
/* feature-two dark panel: ensure heading white for contrast */
.feature-style-two .sec-title h2{ color: #ffffff; }
/* sub-title pill readable */
.sec-title .sub-title{ color: var(--theme-color); }

/* sub-title on the dark feature-two panel must be light to be readable */
.feature-style-two .sec-title .sub-title{ color: #cfe0ff !important; }

/* header nav readable over hero image or gradient (transparent header-lower) */
.header-style-three .header-lower .main-menu .navigation > li > a,
.header-style-three .header-lower .menu-right-content{ text-shadow: 0 1px 10px rgba(6,20,50,.5); }
/* trim hero image so it sits below the header, not behind the nav */
.banner-style-three .image-box{ max-height: 74vh; }
.banner-style-three .image-box .image,
.banner-style-three .image-box .image img{ max-height: 74vh; }

/* extra breathing room under the working/process title */
.working-style-two .sec-title{ margin-bottom: 64px !important; }

/* hero heading span had its own big font-size (template) — unify it */
.banner-style-three .content-box h2 span{
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

/* ============================================================
   MOBILE refinements (<= 767px)
   ============================================================ */
@media (max-width: 767px){
  /* headings scaled down for narrow screens */
  .banner-style-three .content-box h2{ font-size: 23px !important; line-height: 1.3 !important; max-width: 100% !important; }
  .banner-style-three .content-box p{ font-size: 15px; max-width: 100%; }
  .sec-title h2{ font-size: 21px !important; }
  .about-style-three .content_block_one .sec-title h2{ font-size: 21px !important; }
  .feature-style-two .sec-title h2{ font-size: 20px !important; }
  .cta-style-two .content-box h2{ font-size: 20px !important; }
  .working-style-two .sec-title h2{ font-size: 21px !important; }

  /* feature-two: dark half-panel -> tidy dark card above the cards */
  .feature-style-two:before{ display: none !important; }
  .feature-style-two .title-column{ background: #123a6b; border-radius: 14px; padding: 30px 24px; margin-bottom: 26px; }

  /* about image: natural height on mobile, full width */
  .about-style-three .image_block_two .image-inner{ margin-right: 0 !important; }
  .about-style-three .image_block_two .image-inner .image img{ height: auto !important; }
  .about-style-three .image-column{ margin-bottom: 30px; }

  /* even section padding on mobile */
  .service-style-three, .working-style-two, .about-style-three{ padding-top: 60px !important; padding-bottom: 60px !important; }
  .service-style-three .sec-title{ margin-bottom: 40px !important; }
  .working-style-two .sec-title{ margin-bottom: 40px !important; }

  /* CTA buttons stack nicely */
  .cta-style-two .content-box{ text-align: center; }
  .cta-style-two .btn-box{ margin-top: 20px; }

  /* footer: comfortable spacing */
  .main-footer .footer-widget{ margin-bottom: 34px; }
  .main-content{ margin-bottom: 0 !important; }        /* disable fixed-reveal on mobile */
  .main-footer{ position: relative !important; min-height: auto !important; }
}

/* ============================================================
   INNER PAGES — title banner + normal-flow footer
   ============================================================ */
.page-title{
  position: relative;
  background: linear-gradient(102.73deg, #2f7be8 0.76%, #08349E 99.64%);
  padding: 165px 0 72px;
  overflow: hidden;
}
.page-title:before{
  content:''; position:absolute; inset:0;
  background-image: url(../images/shape/shape-27.png), url(../images/shape/shape-28.png);
  background-repeat:no-repeat; background-position: left top, right bottom; opacity:.5;
}
.page-title .content-box{ position: relative; z-index: 2; }
.page-title h1{
  font-family: var(--display-font);
  font-weight: 800;
  color: #fff;
  font-size: 40px;
  line-height: 1.15;
  letter-spacing: -.01em;
  margin-bottom: 12px;
}
.page-title .bread-crumb{ display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; }
.page-title .bread-crumb li{ color: rgba(255,255,255,.82); font-size:15px; font-family: var(--title-font); }
.page-title .bread-crumb li:not(:last-child):after{ content:'—'; margin-left:10px; color: rgba(255,255,255,.5); }
.page-title .bread-crumb li a{ color:#fff; }
.page-title .bread-crumb li a:hover{ text-decoration: underline; }

/* generic inner content section helpers (match main-page look) */
.inner-section{ padding: 96px 0; }
.inner-section.tint{ background:#f4f7fc; }
.inner-lead{ font-size:17px; line-height:1.8; color:#5b6472; max-width:820px; }
.info-card{ background:#fff; border:1px solid #E7E9F0; border-radius:14px; padding:30px 28px; height:100%; }
.info-card h4{ font-family:var(--title-font); font-weight:800; font-size:19px; margin-bottom:10px; }
.info-card p, .info-card li{ color:#5b6472; line-height:1.65; }
.prod-detail{ background:#fff; border:1px solid #E7E9F0; border-radius:16px; padding:32px; margin-bottom:26px; }
.prod-detail h3{ font-family:var(--title-font); font-weight:800; font-size:22px; margin-bottom:12px; }
.prod-detail p{ color:#5b6472; line-height:1.7; margin-bottom:14px; }
.contact-form input, .contact-form textarea{
  width:100%; height:56px; border:1px solid #E1E5EE; border-radius:10px; padding:0 20px; margin-bottom:18px;
  font-family:var(--text-font); font-size:15px; background:#fff; outline:none;
}
.contact-form textarea{ height:150px; padding:16px 20px; resize:vertical; }
.contact-form input:focus, .contact-form textarea:focus{ border-color: var(--theme-color); }

/* inner pages: footer flows normally (no fixed reveal) */
.inner-page .main-content{ margin-bottom: 0 !important; }
.inner-page .main-footer{ position: relative !important; min-height: auto !important; }

@media (max-width:767px){
  .page-title{ padding: 120px 0 48px; }
  .page-title h1{ font-size: 26px; }
  .inner-section{ padding: 56px 0; }
  .prod-detail{ padding: 24px; }
}

/* ============================================================
   PRODUCT catalogue blocks (products page)
   ============================================================ */
.prod-cat{ padding: 70px 0 20px; }
.prod-cat .cat-head{ margin-bottom: 30px; }
.prod-cat .cat-head .sub-title{ color: var(--theme-color); }
.prod-cat .cat-head h2{ font-family: var(--display-font); font-weight: 700; font-size: 26px; }

.product-block{ padding: 34px 0; border-top: 1px solid #eef1f6; }
.product-block .p-img{
  height: 380px; border-radius: 16px; overflow: hidden;
  border: 1px solid #E7E9F0; background: #f4f7fc;
  display: flex; align-items: center; justify-content: center;
}
.product-block .p-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.product-block .p-img.is-info{ background: #fff; }
.product-block .p-img.is-info img{ object-fit: contain; padding: 8px; }
.product-block .producer{
  display: inline-block; color: var(--theme-color); font-family: var(--title-font);
  font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 10px;
}
.product-block h3{ font-family: var(--title-font); font-weight: 800; font-size: 23px; line-height: 1.25; margin-bottom: 12px; }
.product-block p{ color: #5b6472; line-height: 1.7; margin-bottom: 18px; }
.spec-table{ width: 100%; border-collapse: collapse; margin: 0 0 20px; }
.spec-table td{ padding: 9px 14px; border: 1px solid #E7E9F0; font-size: 14px; color: #5b6472; vertical-align: top; }
.spec-table td:first-child{ background: #f7f9fc; font-family: var(--title-font); font-weight: 600; color: #1f2a44; width: 55%; }
.app-tags{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.app-tags span{ background: #eef3fb; color: #25406e; border-radius: 8px; padding: 6px 13px; font-size: 13px; font-weight: 600; }
.product-block .content-col{ padding-left: 10px; }
@media (max-width: 991px){
  .product-block .p-img{ height: 320px; margin-bottom: 24px; }
  .product-block .content-col{ padding-left: 0; }
}
@media (max-width: 767px){
  .prod-cat .cat-head h2{ font-size: 21px; }
  .product-block h3{ font-size: 20px; }
  .product-block .p-img{ height: 260px; }
}
@media (min-width: 992px){ .product-block .row.rev{ flex-direction: row-reverse; } }

/* hero now shows a real product photo — bound it cleanly */
.banner-style-three .image-box{ max-width: 560px; }
.banner-style-three .image-box .image{ border-radius: 16px; overflow: hidden; }
.banner-style-three .image-box .image img{ max-height: 72vh; max-width: 560px; width: auto; height: auto; object-fit: contain; }

/* Library icons (Font Awesome Pro 5.8): inherit size from .icon container */
i.ahs-ico{ display:inline-block; line-height:inherit; }
.feature-block-three .icon-box .icon i.ahs-ico{ color: var(--theme-color); }
.working-block-two .icon-box .icon i.ahs-ico{ color:#fff; }

/* ============================================================
   UPDATE PASS 3 — client revisions (#741). Loaded last → wins.
   ============================================================ */

/* ---------- Consistent vertical rhythm between blocks ---------- */
.feature-style-two{ padding: 96px 0 !important; }
.about-style-three{ padding-top: 100px !important; padding-bottom: 100px !important; }
.feature-style-three{ padding-top: 0 !important; padding-bottom: 100px !important; }
.service-style-three{ padding-top: 100px !important; padding-bottom: 100px !important; }
.working-style-two{ padding-top: 100px !important; padding-bottom: 100px !important; }
.cta-style-two{ padding: 20px 0 100px !important; }

/* ---------- Headings ~+20% site-wide ---------- */
.sec-title h2{ font-size: 32px !important; line-height: 1.3 !important; }
.about-style-three .content_block_one .sec-title h2{ font-size: 32px !important; line-height: 1.28 !important; }
.feature-style-two .sec-title h2{ font-size: 30px !important; line-height: 1.3 !important; }
.cta-style-two .content-box h2{ font-size: 30px !important; line-height: 1.32 !important; }
.working-style-two .sec-title h2{ font-size: 34px !important; line-height: 1.28 !important; }
.feature-block-three .inner-box h4{ font-size: 22px !important; line-height: 1.3 !important; }
.prod-cat .cat-head h2{ font-size: 32px !important; }
.product-block h3{ font-size: 27px !important; }
.info-card h4{ font-size: 22px !important; }
.page-title h1{ font-size: 46px !important; }
.service-block-two .inner-box .content-box h3 a{ font-size: 23px !important; }

/* ---------- HERO: bigger heading (2 lines), lower image, float ---------- */
.banner-style-three .content-box .sub-title{ font-size: 15px; }
.banner-style-three .content-box h2{
  font-size: 50px !important;
  line-height: 1.16 !important;
  max-width: 620px !important;
  margin-bottom: 26px !important;
  font-weight: 800 !important;
}
.banner-style-three .content-box p{ font-size: 17px; max-width: 520px; }
/* lower the hero photo so it clears the transparent header, and cap size */
.banner-style-three .image-box{
  top: 140px !important;
  bottom: auto !important;
  max-height: 66vh !important;
  max-width: 560px;
}
.banner-style-three .image-box .image{
  border-radius: 18px; overflow: hidden;
  box-shadow: 0 30px 70px rgba(8,52,158,.18);
  animation: ahsFloat 5s ease-in-out infinite;
}
.banner-style-three .image-box .image,
.banner-style-three .image-box .image img{ max-height: 66vh !important; }
.banner-style-three .image-box .image img{ width: 100%; height: auto; object-fit: cover; display:block; }
@keyframes ahsFloat{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-16px); } }
@media (max-width: 1300px){
  .banner-style-three .content-box h2{ font-size: 44px !important; max-width: 520px !important; }
}
@media (max-width: 1199px){
  .banner-style-three .image-box{ position: relative !important; top: 0 !important; max-height: none !important; margin: 40px auto 0; }
  .banner-style-three .image-box .image img{ max-height: none !important; }
}

/* ---------- feature-block-three: center icons vertically in hexagon ---------- */
.feature-style-three .feature-block-three .inner-box{
  min-height: 128px; padding: 22px 26px 22px 110px; position: relative;
}
.feature-block-three .inner-box .icon-box{
  top: 50% !important; transform: translateY(-50%) !important; margin-bottom: 0 !important;
}

/* ---------- feature-style-two: clean static 2-card grid (replaces broken carousel) ---------- */
.feature-style-two .content-box .ahs-feat-row{ margin: 0 -14px; }
.feature-style-two .content-box .ahs-feat-row > [class*="col-"]{ padding: 0 14px; }
.ahs-feat-card{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  padding: 32px 28px;
  height: 100%;
  backdrop-filter: blur(2px);
}
.ahs-feat-card__icon{
  width: 66px; height: 66px; border-radius: 14px;
  background: var(--theme-color);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
}
.ahs-feat-card__icon i{ color: #fff; font-size: 28px; line-height: 1; }
.ahs-feat-card h3{ color: #fff !important; font-size: 22px !important; line-height: 1.3; margin-bottom: 12px; font-weight: 800; }
.ahs-feat-card p{ color: rgba(255,255,255,.82) !important; line-height: 1.65; font-size: 15px; margin: 0; }
@media (max-width: 767px){
  .ahs-feat-card{ margin-bottom: 16px; }
}

/* ---------- Product photos: never crop, size to content ---------- */
.product-block .p-img{
  height: auto !important; min-height: 0 !important;
  padding: 18px; background: #fff;
  display: flex; align-items: center; justify-content: center;
}
.product-block .p-img img{
  width: 100%; height: auto !important;
  max-height: 440px; object-fit: contain !important;
}
.product-block .p-img.is-info img{ padding: 0; }
@media (max-width: 991px){
  .product-block .p-img{ margin-bottom: 24px; }
  .product-block .p-img img{ max-height: 360px; }
}

/* products: eyebrow needs breathing room below ("Сырьё") */
.prod-cat .cat-head .sub-title{ display:inline-block; margin-bottom: 16px !important; }
.prod-cat .cat-head{ margin-bottom: 34px; }

/* ---------- Round header CTA button ---------- */
.header-style-three .btn-box .theme-btn.btn-round,
.theme-btn.btn-round{ border-radius: 40px !important; padding-left: 34px; padding-right: 34px; }

/* ---------- Contacts page: fix stretched cards / empty space ---------- */
.ahs-contacts .info-card{ height: auto !important; }
.ahs-contacts__info .info-card{ margin-bottom: 20px; }
.ahs-contacts__info .info-card:last-child{ margin-bottom: 0; }
.ahs-contacts .row{ align-items: flex-start; }

/* ---------- Request popup modal ---------- */
.ahs-modal{ position: fixed; inset: 0; z-index: 99999; display: none; }
.ahs-modal.is-open{ display: block; }
.ahs-modal__backdrop{ position: absolute; inset: 0; background: rgba(8,20,45,.6); backdrop-filter: blur(3px); }
.ahs-modal__dialog{
  position: relative; z-index: 2;
  max-width: 560px; width: calc(100% - 32px);
  margin: 7vh auto 0; max-height: 86vh; overflow-y: auto;
  background: #fff; border-radius: 18px; padding: 40px 40px 34px;
  box-shadow: 0 40px 90px rgba(8,52,158,.28);
  animation: ahsPop .28s ease;
}
@keyframes ahsPop{ from{ transform: translateY(20px); opacity: 0; } to{ transform: translateY(0); opacity: 1; } }
.ahs-modal .sub-title{ color: var(--theme-color); display:inline-block; margin-bottom: 8px; }
.ahs-modal__title{ font-family: var(--display-font); font-weight: 700; font-size: 28px; line-height: 1.2; margin-bottom: 8px; }
.ahs-modal__lead{ color: #5b6472; line-height: 1.6; margin-bottom: 22px; }
.ahs-modal__close{
  position: absolute; top: 16px; right: 16px; width: 40px; height: 40px;
  border: none; border-radius: 50%; background: #eef3fb; color: #25406e;
  font-size: 16px; cursor: pointer; transition: all .2s ease;
}
.ahs-modal__close:hover{ background: var(--theme-color); color: #fff; }
.ahs-modal .contact-form input,
.ahs-modal .contact-form textarea{ margin-bottom: 14px; }
.ahs-modal .contact-form textarea{ height: 110px; }
@media (max-width: 767px){
  .ahs-modal__dialog{ padding: 30px 22px 26px; margin-top: 4vh; }
  .ahs-modal__title{ font-size: 23px; }
  .page-title h1{ font-size: 30px !important; }
  .banner-style-three .content-box h2{ font-size: 30px !important; }
  .sec-title h2, .working-style-two .sec-title h2, .cta-style-two .content-box h2,
  .about-style-three .content_block_one .sec-title h2, .feature-style-two .sec-title h2{ font-size: 24px !important; }
  .prod-cat .cat-head h2{ font-size: 23px !important; }
}

/* feature-style-two: make the WHOLE section dark (half-panel left the right
   cards on white → invisible). Full dark bg so title + cards read cleanly. */
.feature-style-two{ background: #0f2f5e !important; box-shadow: none !important; }
.feature-style-two:before{ display: none !important; }
.feature-style-two .sec-title .sub-title{ color: #cfe0ff !important; }
.feature-style-two .sec-title h2,
.feature-style-two .sec-title h2 span{ color: #ffffff !important; }

/* ============================================================
   2026-07-02 #746 — правки Каролины (CTA / логотип / products)
   ============================================================ */

/* 1. Блок "Нужно сырьё для производства ПВХ?" — заголовок меньше */
.cta-style-two .content-box h2{ font-size: 23px !important; line-height: 1.35 !important; font-weight: 700 !important; }
@media (max-width: 991px){ .cta-style-two .content-box h2{ font-size: 21px !important; } }
@media (max-width: 767px){ .cta-style-two .content-box h2{ font-size: 18px !important; } }

/* 2. Логотип не обрезается справа (шапка / подвал / моб.меню / поиск) */
.main-header .logo svg,
.sticky-header .logo svg,
.footer-top .footer-logo svg,
.mobile-menu .nav-logo svg,
.search-popup .logo-box svg{
  height: 46px; width: auto; max-width: none; overflow: visible; display: block;
}
.footer-top .footer-logo svg{ height: 50px; }
.main-header .logo,
.footer-top .footer-logo,
.mobile-menu .nav-logo{ overflow: visible; }

/* 3. Выбранный товар в поп-апе заявки (чип) */
.ahs-modal__product{
  display: flex; align-items: center; gap: 9px;
  background: #eef3fb; color: #12213c; border: 1px solid #d7e3f7;
  border-radius: 10px; padding: 11px 15px; font-weight: 700;
  margin-bottom: 18px; line-height: 1.3; font-size: 15px;
}
.ahs-modal__product i{ color: var(--theme-color); }
.ahs-modal__product[hidden]{ display: none; }

/* 4. Отступ снизу под последним товаром (CRA-04CP) перед CTA */
.product-block--tail{ margin-bottom: 46px; }
@media (max-width: 767px){ .product-block--tail{ margin-bottom: 30px; } }

/* 5. Мобильный адаптив /products/: контент не липнет к краям */
@media (max-width: 991px){
  .product-block .content-col{ padding-left: 15px !important; padding-right: 15px !important; }
  .product-block .p-img{ margin-left: 3px; margin-right: 3px; }
}
@media (max-width: 575px){
  .prod-cat .auto-container,
  .inner-section .auto-container,
  .page-title .auto-container{ padding-left: 20px !important; padding-right: 20px !important; }
  .product-block .content-col{ padding-left: 12px !important; padding-right: 12px !important; }
  .spec-table td{ padding: 8px 10px; font-size: 13px; }
  .app-tags span{ font-size: 12px; padding: 5px 11px; }
}

/* ============================================================
   2026-07-02 #748/#750 — фото героя: строго по центру текста,
   без обрезки, без дрейфа
   ============================================================ */
/* контейнер строки = система координат для абсолютного фото */
.banner-style-three .inner-box{ position: relative !important; }
.banner-style-three .image-box{
  position: absolute !important;
  top: 50% !important; bottom: auto !important;
  right: 0 !important; left: auto !important;
  transform: translateY(-50%) !important;   /* вертикальный центр по тексту */
  max-width: 560px; max-height: none !important;
  margin: 0 !important;
  text-align: center;
}
.banner-style-three .image-box .image{
  animation: ahsFloat 5s ease-in-out infinite;   /* #756 вернуть плавание */
  max-height: none !important;
  border-radius: 0 !important; overflow: visible !important;
  box-shadow: none !important;
  display: block; margin: 0;
}
.banner-style-three .image-box .image img{
  width: 100% !important; max-width: 100% !important;
  height: auto !important; max-height: 460px !important;
  object-fit: contain !important;        /* всё фото целиком, без кропа */
  display: block; margin: 0 auto;
  border-radius: 18px;
  box-shadow: 0 30px 70px rgba(8,52,158,.18);
}
@media (max-width: 1199px){
  .banner-style-three .image-box{
    position: relative !important;
    top: auto !important; transform: none !important;
    right: auto !important; margin: 40px auto 0 !important;
    max-width: 560px;
  }
  .banner-style-three .image-box .image img{ max-height: none !important; }
}

/* ============================================================
   #752 — product cards grid (homepage + related on details)
   ============================================================ */
.ahs-cards{ margin: 0 -14px; }
.ahs-card-col{ padding: 0 14px; margin-bottom: 28px; display: flex; }
.ahs-card{
  position: relative; display: flex; flex-direction: column;
  width: 100%; background: #fff;
  border: 1px solid #e7ecf5; border-radius: 18px; overflow: hidden;
  box-shadow: 0 14px 34px rgba(8,52,158,.06);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ahs-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 26px 54px rgba(8,52,158,.16);
  border-color: #cdd9f0;
}
.ahs-card__img{
  display: block; position: relative;
  aspect-ratio: 4 / 3; background: #f4f7fd; overflow: hidden;
}
.ahs-card__img img{
  width: 100%; height: 100%;
  object-fit: contain; padding: 18px;
  transition: transform .4s ease;
}
.ahs-card:hover .ahs-card__img img{ transform: scale(1.04); }
.ahs-card__body{
  display: flex; flex-direction: column;
  flex: 1 1 auto; padding: 22px 22px 24px;
}
.ahs-card__cat{
  font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--theme-color, #0b3d91); opacity: .8; margin-bottom: 8px;
}
.ahs-card__body h4{
  font-size: 19px; line-height: 1.3; margin: 0 0 8px;
  font-family: var(--title-font, "Unbounded", sans-serif); font-weight: 700;
}
.ahs-card__body h4 a{ color: #0d1b34; transition: color .25s ease; }
.ahs-card__body h4 a:hover{ color: var(--theme-color, #0b3d91); }
.ahs-card__producer{
  font-size: 13.5px; color: #64707f; line-height: 1.45; margin-bottom: 16px;
}
.ahs-card__link{
  margin-top: auto; align-self: flex-start;
  font-size: 14px; font-weight: 700; color: var(--theme-color, #0b3d91);
  display: inline-flex; align-items: center; gap: 8px;
}
.ahs-card__link i{ font-size: 12px; transition: transform .25s ease; }
.ahs-card:hover .ahs-card__link i{ transform: translateX(4px); }
.products-grid .ahs-card__link:hover{ color: #08349e; }

/* Single product detail: back-to-catalog link */
.single-product .back-to-catalog{
  display: inline-flex; align-items: center; gap: 8px;
  margin-left: 18px; font-weight: 700; color: #64707f;
  vertical-align: middle;
}
.single-product .back-to-catalog:hover{ color: var(--theme-color, #0b3d91); }
@media (max-width: 575px){
  .single-product .back-to-catalog{ margin-left: 0; margin-top: 14px; }
}

/* #758 — крестик закрытия прелоадера (был текст "close") */
.preloader-close{ font-size: 0 !important; }
.preloader-close i{ font-size: 16px; line-height: 40px; }

/* #760 — подвязка товаров каталога на их страницы */
.prod-cat .p-img a{ display: block; overflow: hidden; }
.prod-cat .p-img img{ transition: transform .4s ease; }
.prod-cat .p-img a:hover img{ transform: scale(1.04); }
.prod-cat .content-col h3 a{ color: inherit; transition: color .25s ease; }
.prod-cat .content-col h3 a:hover{ color: var(--theme-color, #0b3d91); }
/* #762 — «Подробнее» как аутлайн-кнопка в пару к .theme-btn (та же пилюля) */
.prod-cat .theme-btn{ vertical-align: middle; }
.prod-cat .prod-more{
  display: inline-flex; align-items: center; gap: 10px;
  vertical-align: middle;
  margin-left: 14px;
  padding: 8px 28px;                 /* +2px border = высота .theme-btn (10/30) */
  font-family: var(--title-font);
  font-size: 20px; line-height: 30px; font-weight: 700;
  color: var(--theme-color, #0b3d91) !important;
  background: transparent;
  border: 2px solid var(--theme-color, #0b3d91);
  border-radius: 35px;
  text-align: center;
  transition: all .35s ease;
}
.prod-cat .prod-more:hover,
.prod-cat .prod-more:focus{
  background: var(--theme-color, #0b3d91);
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(11,61,145,.25);
}
.prod-cat .prod-more i{ font-size: 13px; transition: transform .25s ease; }
.prod-cat .prod-more:hover i{ transform: translateX(4px); }
@media (max-width: 575px){
  .prod-cat .prod-more{ margin-left: 0; margin-top: 12px; }
}

/* ============================================================
   #924 — контакты отдела продаж, hover в подвале, iProd, шапка-телефоны
   ============================================================ */
/* Подвал: яркий цвет ссылок при наведении (глобальный a:hover красил в тёмный
   #0b3d91 → на тёмном фоне подвала не читалось). */
.main-footer a{ transition: color .25s ease; }
.main-footer .links-widget .links-list li a:hover,
.main-footer .about-widget .info li a:hover,
.main-footer .footer-bottom a:hover,
.main-footer .powered-by a:hover{ color: #6fa8ff !important; }
.main-footer .links-widget .links-list li a:hover:before{ background: #6fa8ff; }

/* Блок «Отдел продаж» в подвале */
.main-footer .about-widget .info .footer-sales-label{
  color: rgba(255,255,255,.55); font-size: 13px; text-transform: uppercase;
  letter-spacing: 1.5px; margin-bottom: 4px; font-weight: 600;
}
.main-footer .about-widget .info li{ line-height: 1.9; }
.main-footer .about-widget .info .footer-wa{ margin-left: 10px; color: #25D366; font-weight: 600; }
.main-footer .about-widget .info .footer-wa:hover{ color: #4fe38a !important; }
.main-footer .about-widget .info .footer-wa i{ margin-right: 4px; }
.main-footer .about-widget .info .footer-addr{ color: #fff; margin-top: 6px; }
.main-footer .about-widget .info .footer-addr i{ margin-right: 6px; color: #6fa8ff; }

/* Powered by iProd */
.main-footer .footer-bottom .bottom-inner{ display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.main-footer .powered-by a{ color: rgba(255,255,255,.7); font-size: 14px; }

/* Телефоны отдела продаж в шапке */
.header-phones{ display: inline-flex; flex-direction: column; line-height: 1.25; margin-right: 22px; vertical-align: middle; text-align: right; }
.header-phones__label{ font-size: 11px; text-transform: uppercase; letter-spacing: 1.2px; color: rgba(255,255,255,.6); font-weight: 600; }
.header-phones a{ color: #fff; font-weight: 700; font-size: 15px; white-space: nowrap; transition: color .2s ease; }
.header-phones a:hover{ color: #cfe0ff; }
.header-phones a i{ margin-right: 6px; color: #6fa8ff; font-size: 13px; }
.menu-right-content{ display: flex; align-items: center; }
/* sticky-хедер светлый → тёмный текст телефонов */
.sticky-header .header-phones a{ color: #12213c; }
.sticky-header .header-phones a:hover{ color: #0b3d91; }
.sticky-header .header-phones a i{ color: #0b3d91; }
@media (max-width: 991px){ .header-phones{ display: none; } }

/* ============ #923 Цены товаров (админ-управляемые) ============ */
.ahs-price{ display:inline-flex; align-items:baseline; gap:6px; font-family:'Unbounded',sans-serif; }
.ahs-price__val{ font-size:22px; font-weight:700; color:#0b3d91; line-height:1; }
.ahs-price--ask{ font-family:'Inter',sans-serif; font-size:15px; font-weight:600; color:#5b6472; }
/* строка цены на странице товара и в каталоге /products/ */
.ahs-price-row{ margin:6px 0 20px; }
.single-product .ahs-price-row .ahs-price__val,
.prod-cat .ahs-price-row .ahs-price__val{ font-size:26px; }
/* цена в карточках (главная / related) */
.ahs-card__price{ display:block; margin:4px 0 10px; }
.ahs-card__price .ahs-price__val{ font-size:19px; }
.ahs-card__price .ahs-price--ask{ font-size:14px; }

/* ===== product card feedback button ===== */
.ahs-card__actions{ margin-top:auto; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ahs-card__actions .ahs-card__link{ margin-top:0; }
.ahs-card__req{ font-size:13px; font-weight:700; cursor:pointer; color: var(--theme-color, #0b3d91); display:inline-flex; align-items:center; gap:6px; border:1px solid currentColor; border-radius:6px; padding:6px 12px; line-height:1; transition:all .2s ease; }
.ahs-card__req:hover{ background: var(--theme-color, #0b3d91); color:#fff; }
