/* Kentavr v0.6 — responsive layer over the original fixed 1200px design (DEC-020/021; phone redesign DEC-024).
   >= 1240px: original look unchanged. Below that the same elements reflow. */

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

/* Slider: show the whole 1000x400 frame (as on the original, image width 1000px centred) */
#header .kt-slider { width: 100%; }

/* No layout shift (CLS): the fixed header height (100 px) and the slider frame (36 % = 25:9)
   are reserved by CSS before kentavr.js and the slider script run */
@media (min-width: 992px) { #all { margin-top: 100px; } }
.kt-slider { aspect-ratio: 25 / 9; }

/* ---------- 1024–1239: fluid three columns ---------- */
@media (max-width: 1239.98px) {
  #all { width: auto; max-width: 1200px; margin-left: 12px; margin-right: 12px; }
  .logoheader { width: auto; max-width: 1200px; padding: 0 12px; box-sizing: border-box; }
  #contentarea, #contentarea2 { padding: 0 12px !important; }
  .left1 { width: 21%; }
  #right { width: 21%; }
  #wrapper { width: 55%; }
  #footer { width: auto; padding-left: 12px; padding-right: 12px; box-sizing: border-box; }
  #footer-outer { margin-left: -12px; margin-right: -12px; }
  .logoheader .address { left: 320px; }
  a.zakazat { right: 245px; }
}

/* ---------- 992–1100: tighten the desktop header ---------- */
@media (max-width: 1100px) and (min-width: 992px) {
  .logoheader .address { left: 322px; width: 190px; font-size: 13px; }
  a.zakazat { right: 215px; padding: 0 12px; font-size: 14px; }
  .contact-top { font-size: 19px; }
  #header ul.menu li a:link, #header ul.menu li a:visited { font-size: 20px; padding: 16px 12px 18px 32px; background-position: 0 16px; }
}

/* ---------- < 992: tablet & phone ---------- */
@media (max-width: 991.98px) {
  /* header is no longer fixed: it scrolls with the page, nothing overlaps the slider */
  #fixed { position: relative; }
  #all { margin-top: 0 !important; margin-left: 0; margin-right: 0; box-shadow: none; }

  .logoheader {
    display: grid; grid-template-columns: 1fr auto; grid-template-areas: "logo phones" "addr cta";
    align-items: center; gap: 8px 16px; padding: 10px 14px; box-sizing: border-box;
  }
  .logoheader #logo { grid-area: logo; padding: 0; }
  .logoheader #logo img { max-width: 240px; height: auto; }
  .logoheader .contact-top { grid-area: phones; float: none; position: static; top: auto; font-size: 20px; }
  .logoheader .address { grid-area: addr; position: static; width: auto; left: auto; top: auto; }
  .logoheader a.zakazat { grid-area: cta; position: static; right: auto; top: auto; line-height: 44px; text-align: center; }

  #header ul.menu { height: auto; padding: 6px 8px; display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 4px; }
  #header ul.menu li a:link, #header ul.menu li a:visited { font-size: 20px; padding: 8px 10px 8px 32px; display: inline-block; background-position: 4px center; background-size: 22px auto; }
  #header .searchsearch, #header .kt-search { position: static; padding: 8px 12px; text-align: center; }
  #header .kt-search { display: block; background: #333; padding: 0 0 10px; }  /* search stays in the graphite menu bar, as on desktop */
  #header .searchsearch input { width: 100%; max-width: 420px; box-sizing: border-box; height: 40px; }

  /* original vertical "ЗАКАЗАТЬ" tab: hidden, the header keeps "Заказать услуги" (DEC-021) */
  #button-zakaz { display: none !important; }

  /* content: single column; side menus become collapsible sections above the content */
  #contentarea, #contentarea2 { padding: 0 10px !important; display: flex; flex-direction: column; }
  #breadcrumbs { order: 0; }
  .kt-mobile-nav { display: flex; gap: 8px; order: 1; margin: 12px 0 0; }
  #nav { order: 2; }
  #right { order: 3; }
  #wrapper { order: 4; }
  .wrap { order: 5; }
  #footer-outer { order: 6; }
  .kt-toggle {
    flex: 1 1 0; min-height: 46px; border: 0; border-radius: 5px; cursor: pointer; padding: 6px 10px;
    background: #333; color: #fff; font-family: cyrillic_old, 'Titillium Maps', Arial; font-size: 20px; line-height: 1.1;
  }
  .kt-toggle::after { content: " ▾"; font-family: Arial, sans-serif; }
  .kt-toggle.kt-active { background: #d30010; }
  .kt-toggle.kt-active::after { content: " ▴"; }
  .left1, #right, #wrapper { float: none; width: auto; margin: 0; }
  #nav, #right { display: none; margin-top: 8px; }
  #nav.kt-open, #right.kt-open { display: block; }
  #nav > br { display: none; }
  #nav ul.menu li a, #right ul.menu li a { min-height: 44px; box-sizing: border-box; display: flex; align-items: center; }
  #contentarea #nav ul ul li a, #contentarea #right ul ul li a { min-height: 38px; }
  #nav .moduletable img { display: block; margin: 8px auto 0; }

  #footer-outer { margin: 20px -10px 0; }
  #footer { text-align: center; padding: 16px 14px; }
  #footer .logoheader { border-bottom: 1px dotted rgba(255, 255, 255, .25); margin-bottom: 14px; }
  #footer ul.menu { float: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; margin: 0 0 10px; }
  #footer p { margin: 6px 0 !important; }
}

/* ---------- < 768: phone ---------- */
@media (max-width: 767.98px) {
  .logoheader {
    grid-template-columns: 1fr; grid-template-areas: "logo" "phones" "addr" "cta";
    justify-items: center; text-align: center; gap: 8px;
  }
  .logoheader #logo img { max-width: 230px; }
  .logoheader .contact-top { font-size: 19px; display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 16px; }
  .logoheader .contact-top .mod-custom { display: contents; }
  .logoheader .contact-top p { text-align: center !important; margin: 0; }
  .logoheader .address { font-size: 13px; line-height: 17px; display: flex; flex-direction: column; align-items: center; gap: 4px; }
  .logoheader .address .adr, .logoheader .address .email { display: inline-block; text-align: left; margin: 0; }
  .logoheader a.zakazat { width: 100%; max-width: 360px; box-sizing: border-box; }

  #header ul.menu li a:link, #header ul.menu li a:visited { font-size: 18px; padding: 7px 8px 7px 28px; background-size: 18px auto; }
  #main { padding-top: 10px; }
  #main h1, #main h2 { font-size: 1.35em; }
  #main table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .kgallery { justify-content: center; }
  .kentavr-form-placeholder input, .kentavr-form-placeholder textarea { width: 100%; }
}

/* ---------- <= 400: small phones (390, 360) ---------- */
@media (max-width: 400px) {
  .logoheader #logo img { max-width: 210px; }
  .logoheader .contact-top { font-size: 17px; gap: 2px 12px; }
  .kt-toggle { font-size: 17px; }
  #header ul.menu li a:link, #header ul.menu li a:visited { font-size: 16px; padding: 6px 6px 6px 24px; background-size: 16px auto; background-position: 3px center; }
  .kgallery li { flex: 0 0 calc(50% - 5px); }
  .kgallery img { width: 100%; height: auto; aspect-ratio: 145 / 105; box-sizing: border-box; }
}

/* =====================================================================
   v0.6 (DEC-024): phone interface. Desktop (>= 992px) is not affected.
   ===================================================================== */
.kt-burger, .kt-mcontacts, .kt-mnav { display: none; }
.kt-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- 768–991: tablet header gets the burger on the right (DEC-030) ---------- */
@media (max-width: 991.98px) and (min-width: 768px) {
  #fixed .logoheader { grid-template-columns: 1fr auto auto; grid-template-areas: "logo phones burger" "addr cta burger"; }
  #fixed .logoheader .kt-burger { align-self: center; }
}

/* ---------- < 992: one column; burger with one multi-level menu (DEC-030), then the slider ---------- */
@media (max-width: 991.98px) {
  #back { display: flex; flex-direction: column; }
  #header, #contentarea { display: contents !important; }
  #header > ul.menu { display: none !important; }  /* the desktop top bar is replaced by #kt-mnav (DEC-030) */
  #header > .kt-mnav { order: 1; }
  #header > .kt-search { order: 2; }
  #header > .kt-mcontacts { order: 3; }
  #nav { order: 5; margin: 8px 10px 0 !important; }
  #right { order: 6; margin: 8px 10px 0 !important; }
  #header > .kt-slider { order: 7; margin-top: 10px; }
  #breadcrumbs { order: 8; margin: 0 10px; }
  #wrapper { order: 9; margin: 0 10px !important; }
  .wrap { order: 10; margin: 0 10px; }
  #footer-outer { order: 11; margin: 20px 0 0 !important; }
  #wrapper, #nav, #right, #breadcrumbs, .wrap { font-size: 0.8em; } /* was inherited from #contentarea */
  #nav, #right { display: none !important; }  /* DEC-030: their menus are in the burger; the desktop columns are unchanged */

  /* burger button: phones and tablets */
  .kt-burger {
    grid-area: burger; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    width: 56px; height: 52px; padding: 0; border: 0; border-radius: 6px; background: #333; color: #fff; cursor: pointer;
  }
  .kt-burger span { display: block; width: 24px; height: 3px; border-radius: 2px; background: #fff; transition: transform .2s, opacity .2s; }
  .kt-burger b { font: 600 11px/1 Arial, sans-serif; letter-spacing: .02em; }
  .kt-menu-open .kt-burger { background: #d30010; }
  .kt-menu-open .kt-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .kt-menu-open .kt-burger span:nth-child(2) { opacity: 0; }
  .kt-menu-open .kt-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* DEC-030: the multi-level menu */
  .kt-menu-open .kt-mnav { display: block; }
  .kt-mnav [hidden] { display: none !important; }
  .kt-mnav { background: #333; color: #fff; }
  .kt-mnav ul { list-style: none; margin: 0; padding: 0; }
  .kt-mnav li { border-top: 1px solid rgba(255, 255, 255, .12); }
  .kt-mnav__list > li:first-child { border-top: 0; }
  .kt-mnav a, .kt-mnav__toggle--wide {
    display: flex; align-items: center; min-height: 50px; box-sizing: border-box; width: 100%;
    padding: 6px 16px; color: #fff; text-decoration: none; text-align: left;
    font: 21px/1.2 cyrillic_old, 'Titillium Maps', Arial, sans-serif;
  }
  .kt-mnav a:hover, .kt-mnav a:focus-visible, .kt-mnav__toggle:hover, .kt-mnav__toggle:focus-visible { background: #444; }
  .kt-mnav a:focus-visible, .kt-mnav__toggle:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
  .kt-mnav a[aria-current="page"] { color: #ffd0d3; box-shadow: inset 4px 0 0 #d30010; }
  .kt-mnav__toggle { border: 0; margin: 0; background: transparent; color: #fff; cursor: pointer; }
  .kt-mnav__row { display: flex; align-items: stretch; }
  .kt-mnav__row > a { flex: 1 1 auto; min-width: 0; }
  .kt-mnav__row > .kt-mnav__toggle { flex: 0 0 56px; border-left: 1px solid rgba(255, 255, 255, .15); }
  /* chevron: ▾ closed, ▴ open */
  .kt-mnav__toggle::after {
    content: ""; display: inline-block; width: 9px; height: 9px; margin: 0 auto;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .2s;
  }
  .kt-mnav__toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
  .kt-mnav__toggle--wide { justify-content: space-between; gap: 12px; }
  .kt-mnav__toggle--wide::after { margin: 0 4px 0 0; flex: 0 0 auto; }
  .kt-mnav__toggle--wide[aria-expanded="true"] { background: #2a2a2a; }
  /* nested levels: indented, a shade lighter, body font for long names */
  .kt-mnav ul ul { background: #3c3c3c; }
  .kt-mnav ul ul ul { background: #464646; }
  .kt-mnav ul ul a, .kt-mnav ul ul .kt-mnav__toggle--wide { font: 17px/1.3 Arial, sans-serif; padding-left: 28px; min-height: 48px; }
  .kt-mnav ul ul ul a { padding-left: 42px; font-size: 16px; }
  .kt-mnav ul ul ul ul a { padding-left: 56px; }
  .kt-mnav ul ul .kt-mnav__row > a { font-weight: bold; }
  .kt-mnav__group--inner > .kt-mnav__toggle--wide { font-weight: bold; }
  .kt-slider .camera_commands, .kt-slider .camera_loader { display: none !important; } /* touch screens: the play/pause icon covered the photo; swipe and arrows remain */
  /* tablet: readable 16px article text (phones get 17px below) */
  #wrapper { font-size: 16px; }
  #main { font-size: 16px; line-height: 1.55; }
  #main .com-content-article__body :is(p, li, td, th, span, font, div, a) { font-size: inherit !important; }
}

/* ---------- < 768: phone ---------- */
@media (max-width: 767.98px) {
  /* compact header: logo + menu button; phones and the order button below */
  #fixed .logoheader {
    grid-template-columns: 1fr auto; grid-template-areas: "logo burger" "phones phones" "cta cta";
    justify-items: stretch; text-align: left; gap: 8px 10px; padding: 8px 12px 10px;
  }
  #fixed .logoheader #logo { grid-area: logo; justify-self: start; align-self: center; }
  #fixed .logoheader #logo img { max-width: 180px; }
  #fixed .logoheader .address { display: none; }  /* shown in the footer and on /kontakty */

  #fixed .logoheader .contact-top { grid-area: phones; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font-size: 16px; }
  #fixed .logoheader .contact-top .mod-custom { display: contents; }
  #fixed .logoheader .contact-top p { margin: 0; text-align: center !important; line-height: 1; }
  #fixed .logoheader .contact-top a {
    display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; box-sizing: border-box;
    padding: 4px 6px; border: 1px solid #c9c9c9; border-radius: 6px; background: #fff; color: #222 !important;
    text-decoration: none; font-weight: bold; white-space: nowrap;
  }
  #fixed .logoheader .contact-top a::before {
    content: ""; flex: 0 0 18px; width: 18px; height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23d30010' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  #fixed .logoheader a.zakazat { grid-area: cta; width: 100%; max-width: none; line-height: 50px; font-size: 18px; }

  /* menu panel (burger): the multi-level menu #kt-mnav (DEC-030) and the e-mail (DEC-029: no search field and no address here;
     search stays on tablets/desktop and at /poisk, the address is in the footer and on /kontakty) */
  #header > .kt-search, #header > .kt-mcontacts { display: none !important; }
  .kt-menu-open #header > .kt-mcontacts { display: block !important; background: #333; color: #ddd; padding: 0 16px; font-size: 16px; line-height: 1.5; }
  .kt-mcontacts .address { display: block; border-top: 1px solid rgba(255, 255, 255, .12); }
  .kt-mcontacts .address .adr { display: none; }
  .kt-mcontacts .address a.email { display: flex; align-items: center; min-height: 50px; color: #fff; word-break: break-all; }
  .kt-mcontacts .address .email::before { content: ""; flex: 0 0 17px; height: 12px; margin: 0 12px 0 2px; background: url(../images/email.png) no-repeat 50% 50%; }

  /* slider: phone composition 800 x 760 (kentavr.js) */
  .kt-slider[data-mobile] { aspect-ratio: 800 / 760; } /* set by the template, before any script: no layout shift */

  /* readable content: 17px text; inline 12px sizes from the old editor are ignored on phones */
  #wrapper { font-size: 17px; }
  #main { font-size: 17px; line-height: 1.55; }
  #main .com-content-article__body :is(p, li, td, th, span, font, div, a) { font-size: inherit !important; }
  #main .com-content-article__body p { line-height: 1.55; margin: 0 0 12px; text-align: left !important; }
  #main h1 { font-size: 26px; line-height: 1.25; }
  #main h2 { font-size: 22px; line-height: 1.3; }
  #main h3 { font-size: 19px; }

  /* home page product cards (a table of linked pictures): two columns */
  #main table:has(td > a > img) { display: block; overflow: visible; }
  #main table:has(td > a > img) tbody, #main table:has(td > a > img) tr { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  #main table:has(td > a > img) td { display: block; padding: 0 !important; }
  #main table:has(td > a > img) td:not(:has(a)) { display: none; }
  #main table:has(td > a > img) td a {
    display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; box-sizing: border-box;
    padding: 10px 6px; border: 1px solid #ddd; border-radius: 6px; background: #fff; font-size: 16px !important; line-height: 1.3; text-align: center;
  }
  #main table:has(td > a > img) td img { width: auto; height: 110px; object-fit: contain; }
  #main table:has(td > a > img) td br { display: none; }

  /* galleries: two columns of larger thumbnails */
  #main ul.kgallery { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  #main ul.kgallery li { flex: none; margin: 0; }
  .kgallery img { width: 100%; height: auto; aspect-ratio: 145 / 105; box-sizing: border-box; }

  #footer { font-size: 15px; }
  /* DEC-029: the footer is the phone place for the address: one tidy centred block, «схема проезда» stays a link */
  #footer .logoheader .address { font-size: 15px; line-height: 1.45; gap: 8px; max-width: 320px; margin: 0 auto; }
  #footer .logoheader .address .adr { display: block; text-align: center; margin: 0; }
  #footer .logoheader .address .adr::before { float: none; display: inline-block; vertical-align: -3px; margin: 0 6px 0 0; }
  #footer .logoheader .address .email { text-align: center; }
  #footer .logoheader .address .email::before { float: none; display: inline-block; vertical-align: -1px; margin: 0 6px 0 0; }
}

@media (max-width: 400px) {
  #fixed .logoheader #logo img { max-width: 160px; }
  #fixed .logoheader .contact-top { font-size: 15px; }
  #fixed .logoheader .contact-top a { gap: 4px; padding: 4px; }
  #fixed .logoheader .contact-top a::before { flex-basis: 15px; width: 15px; height: 15px; }
  .kt-toggle { font-size: 17px; padding: 6px 6px; }
}

/* =====================================================================
   DEC-030: content blocks of the car-canopy pages (all widths)
   ===================================================================== */
#main .kt-lead { font-size: 1.08em; line-height: 1.55; }
#main .kt-note { color: #555; font-size: .95em; }
#main table.kt-price { margin: 10px 0 6px; }
/* five types on «Навесы для авто»: cards in the site style (white, thin border, red price, graphite button) */
.kt-types { margin: 22px 0 26px; }
.kt-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; margin-top: 12px; }
.kt-card { display: flex; flex-direction: column; border: 1px solid #ddd; border-radius: 6px; background: #fff; overflow: hidden; }
.kt-card__img { display: block; aspect-ratio: 4 / 3; background: #333; overflow: hidden; }
.kt-card__img picture, .kt-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* types without a confirmed photo yet: a neutral graphite panel with a roof sketch (no photo is passed off as this type) */
.kt-card__img--soft, .kt-card__img--modern { background: #3a3a3a center / 62% auto no-repeat; }
.kt-card__img--soft { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80' fill='none' stroke='%23ddd' stroke-width='2.5'%3E%3Cpath d='M10 40 60 12l50 28'/%3E%3Cpath d='M20 34v40M100 34v40'/%3E%3Cpath d='M30 28l8 6 8-6 8 6 8-6 8 6 8-6 8 6' stroke='%23d30010'/%3E%3C/svg%3E"); }
.kt-card__img--modern { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80' fill='none' stroke='%23ddd' stroke-width='2.5'%3E%3Cpath d='M8 22h104' stroke-width='5'/%3E%3Cpath d='M22 24v50M98 24v50'/%3E%3Cpath d='M8 30h104' stroke='%23d30010'/%3E%3C/svg%3E"); }
#main .kt-card__title { margin: 10px 12px 4px; font-size: 1.05em; line-height: 1.25; }
#main .kt-card__title a { color: #222; text-decoration: none; }
#main .kt-card__title a:hover { color: #d30010; }
#main .kt-card__text { margin: 0 12px 6px; font-size: .92em; line-height: 1.4; color: #444; flex: 1 1 auto; }
#main .kt-card__price { margin: 0 12px 10px; color: #d30010; font-weight: bold; font-size: 1.05em; }
#main a.kt-card__more { display: block; margin: 0 12px 12px; padding: 9px 10px; border-radius: 5px; background: #333; color: #fff; text-align: center; text-decoration: none; }
#main a.kt-card__more:hover, #main a.kt-card__more:focus-visible { background: #d30010; }
/* questions and answers */
.kt-faq details { border: 1px solid #ddd; border-radius: 6px; margin: 0 0 8px; background: #fff; }
.kt-faq summary { cursor: pointer; padding: 10px 14px; font-weight: bold; list-style-position: inside; }
.kt-faq summary:focus-visible { outline: 2px solid #d30010; outline-offset: 2px; }
.kt-faq details > p { margin: 0; padding: 0 14px 12px; }
#main ul.kt-related { padding-left: 1.2em; }
#main ul.kt-related li { margin: 4px 0; }
@media (max-width: 767.98px) {
  .kt-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
  #main .kt-card__title { font-size: 16px !important; }
  #main .kt-card__text, #main .kt-card__price, #main a.kt-card__more { font-size: 15px !important; }
}
@media (max-width: 400px) {
  .kt-cards { grid-template-columns: 1fr; }
}
/* the phone rule «#main .com-content-article__body p { margin: 0 0 12px }» must not remove the card padding */
#main .com-content-article__body .kt-card p.kt-card__text { margin: 0 12px 6px; text-align: left !important; }
#main .com-content-article__body .kt-card p.kt-card__price { margin: 0 12px 10px; text-align: left !important; }
#main .com-content-article__body .kt-faq details > p { margin: 0; padding: 0 14px 12px; }
@media (max-width: 400px) { .kt-card__img { aspect-ratio: 16 / 9; } }
/* DEC-042: canopy kind pages — back link, call to action, lead photo */
#main .kt-back { margin: 0 0 10px; font-size: .95em; }
#main .kt-back a { color: #555; text-decoration: none; }
#main .kt-back a:hover { color: #d30010; text-decoration: underline; }
#main .com-content-article__body p.kt-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 14px 0 16px; text-align: left !important; }
#main a.kt-cta__btn { display: inline-block; padding: 11px 20px; border-radius: 5px; background: #d30010; color: #fff !important; font-weight: bold; text-decoration: none; }
#main a.kt-cta__btn:hover, #main a.kt-cta__btn:focus-visible { background: #a8000c; }
#main a.kt-cta__tel { font-weight: bold; color: #222; text-decoration: none; white-space: nowrap; }
#main .kt-hero { margin: 6px 0 6px; }
#main .kt-hero img, #main .kt-hero picture { display: block; width: 100%; max-width: 640px; height: auto; border-radius: 4px; }
#main .kt-photos-link { margin: 0 0 18px; }
@media (max-width: 767.98px) { #main a.kt-cta__btn { flex: 1 1 100%; text-align: center; padding: 13px 16px; } }
