/* Confirmed form and accessibility fixes, 2026-10-18. */
.fg-modal { z-index: 2147483647; }
.fg-modal__body .processing-block .input { display: flex; align-items: flex-start; gap: 10px; }
.fg-modal__body .processing-block input[type="checkbox"] { appearance: auto !important; position: static !important; opacity: 1 !important; width: 20px !important; height: 20px !important; min-width: 20px; margin: 2px 0 0 !important; }
.fg-modal__body .processing-block label { display: block; margin: 0; font-size: 13px; line-height: 1.45; }
.fg-modal__body .processing-block a, .fg-calc__agree-text a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.fg-modal__body .captcha-row.fg-captcha-recaptcha .captcha_input { width: 100%; float: none; padding: 0; }
.fg-modal__body .captcha-row.fg-captcha-recaptcha .captcha_image { display: none; }
.fg-modal__body .captcha-row .g-recaptcha { max-width: 100%; }
.fg-modal__body .form.popup .processing-block { margin-bottom: 16px; }
.fg-contacts-page-title { max-width: 1280px; margin: 28px auto; padding: 0 16px; }
:where(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--c-orange, #e65100); outline-offset: 3px; }
@media (max-width: 380px) { .fg-modal__body .captcha-row .g-recaptcha { transform: scale(.8); transform-origin: left top; margin-bottom: -15px; } }
@media (prefers-reduced-motion: reduce) { .fg-modal__win, .fg-modal__backdrop { animation: none !important; } html { scroll-behavior: auto !important; } }

/* Service pages: breadcrumbs share the same structure as catalog breadcrumbs. */
.fg-svc-detail__breadcrumbs .fg-bc { display:flex; flex-wrap:wrap; align-items:center; gap:8px; list-style:none; margin:0; padding:0; font-family:Inter,sans-serif; font-size:14px; line-height:1.5; }
.fg-svc-detail__breadcrumbs .fg-bc > li { list-style:none; margin:0; padding:0; }
.fg-svc-detail__breadcrumbs .fg-bc__item a { color:rgba(0,0,0,.7); text-decoration:none; }
.fg-svc-detail__breadcrumbs .fg-bc__item a:hover { color:var(--c-orange,#e65100); }
.fg-svc-detail__breadcrumbs .fg-bc__item--current span { color:var(--c-orange,#e65100); }
.fg-svc-detail__breadcrumbs .fg-bc__sep { display:inline-flex; align-items:center; line-height:0; }
.fg-svc-detail__breadcrumbs .fg-bc__sep img { display:block; width:16px; height:16px; opacity:.45; }

/* Keep product actions readable on narrow screens. */
@media(max-width:767px){ .fg-pd-hero__btns{flex-direction:column;align-items:stretch;} .fg-pd-hero__btns .fg-btn{flex:0 0 auto;width:100%;min-width:0;height:auto;min-height:51px;padding:16px 18px;white-space:normal;} }

/* Bottom hero card follows the shared banner badge shape. */
.fg-svc-hero--kotlovanov .fg-svc-hero__glass-cards--desktop .fg-svc-hero__glass-card:last-child { border-radius:20px 20px 0 0; border-bottom:0; }

/* Mobile calculator and FAQ: allow readable text and balanced spacing. */
@media (max-width:767px) {
 .fg-calc .fg-calc__submit { width:100%; min-width:0; max-width:100%; height:auto !important; min-height:64px; padding:16px 12px !important; font-size:16px !important; line-height:1.35 !important; white-space:normal !important; text-align:center; box-sizing:border-box; }
 .fg-faq .fg-faq__item, .fg-faq .fg-faq__item[open] { padding:0 !important; }
 .fg-faq .fg-faq__q { padding:16px 0 !important; gap:12px !important; font-size:16px !important; line-height:1.4 !important; }
 .fg-faq .fg-faq__q::before { margin-top:7px; }
 .fg-faq .fg-faq__a { margin:0 !important; padding:0 0 18px 24px !important; font-size:15px !important; line-height:1.45 !important; }
 .fg-faq { padding-bottom:0 !important; margin-bottom:0 !important; }
 .fg-faq + .fg-contacts { margin-top:32px !important; padding-top:32px !important; }
}
