.ja-site-header, .ja-site-footer { font-family: 'Outfit', sans-serif; }
.ja-site-header *, .ja-site-footer * { box-sizing: border-box; }
.ja-wide-container { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: 12px; }
.ja-site-header { position: relative; z-index: 100; background: #fff; color: #212529; }
.ja-site-header ul, .ja-site-footer ul { list-style: none; padding: 0; margin: 0; }
.ja-site-header a, .ja-site-footer a { text-decoration: none; }
.ja-site-header a:focus-visible, .ja-site-header button:focus-visible, .ja-site-footer a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.ja-contact-strip { padding-inline: 30px; }
.ja-contact-inner { max-width: none; display: flex; justify-content: space-between; align-items: center; min-height: 34px; }
.ja-tagline { margin: 0; padding-inline: 10px; font-size: 12px; font-weight: 500; line-height: 18px; }
.ja-header-contact { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.ja-header-contact li { padding-inline: 10px; }
.ja-header-contact a { display: flex; align-items: center; color: #212529; font-size: 14px; line-height: 24px; font-weight: 500; }
.ja-header-contact li:last-child { padding: 0; }
.ja-header-contact .ja-header-phone { padding: 4px 14px; border: 1px solid #eb1b25; border-radius: 4px; background: #eb1b25; color: #fff; font-size: 12px; }
.ja-icon { width: 16px; height: 16px; flex: 0 0 16px; vertical-align: middle; }
.ja-site-nav { position: relative; background: #fff; padding-inline: 30px; }
.ja-nav-container { width: 100%; margin-inline: auto; padding-inline: 12px; display: flex; align-items: center; justify-content: space-between; min-height: 68px; }
.ja-logo { display: block; flex-shrink: 0; padding-block: 5px; margin-right: 16px; }
.ja-logo img { width: 153px; height: 55px; display: block; object-fit: contain; }
.ja-main-menu { display: flex; align-items: stretch; gap: 20px; }
.ja-main-menu > li { position: relative; padding-block: 14px; border-bottom: 6px solid transparent; }
.ja-main-menu > li:hover { border-bottom-color: #eb1b25; }
.ja-main-menu > li > a, .ja-submenu-toggle { display: flex; align-items: center; gap: 8px; padding: 5px 8px; color: #2a2867; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 700; line-height: 24px; white-space: nowrap; }
.ja-submenu-toggle { border: 0; background: transparent; cursor: pointer; }
.ja-has-submenu::after { content: ''; position: absolute; height: 12px; top: 100%; left: 0; width: 100%; }
.ja-site-header .ja-submenu { position: absolute; top: 100%; left: 0; margin-top: 6px; width: 220px; background: #fff; border: 1px solid #ababab; box-shadow: 0 6px 24px rgb(0 0 0 / 10%); z-index: 2; }
.ja-submenu li { border-bottom: 1px solid #ababab; }
.ja-submenu li:last-child { border-bottom: 0; }
.ja-submenu a { display: block; padding: 12px 22px; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 500; line-height: 24px; color: #2a2867; }
.ja-submenu a:hover { background: #f2f1f8; }
.ja-site-header:not(.ja-enhanced) .ja-submenu { visibility: hidden; }
.ja-site-header:not(.ja-enhanced) .ja-has-submenu:hover .ja-submenu, .ja-site-header:not(.ja-enhanced) .ja-has-submenu:focus-within .ja-submenu { visibility: visible; }
.ja-enhanced .ja-submenu { display: none; }
.ja-enhanced .ja-has-submenu.is-open .ja-submenu { display: block; }
.ja-menu-toggle { display: none; width: 56px; height: 40px; border: 1px solid rgb(0 0 0 / 10%); border-radius: 4px; background: transparent; padding: 4px 12px; cursor: pointer; }
.ja-menu-toggle span { display: block; width: 30px; height: 30px; background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") center / 100% no-repeat; }
.ja-site-nav.is-sticky { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 2px 10px rgb(0 0 0 / 8%); }
.admin-bar .ja-site-nav.is-sticky { top: 32px; }
.ja-site-footer { margin-top: auto; padding-block: 50px; background: #2a2867; color: #fff; }
.ja-footer-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.1fr) auto; gap: 20px; align-items: start; }
.ja-site-footer h2 { font-size: 24px; line-height: 1.25; font-weight: 700; margin: 0 0 15px; color: #fff; }
.ja-site-footer a { color: #fff; }
.ja-site-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ja-contact-list { display: grid; gap: 16px; }
.ja-contact-list li { display: flex; align-items: center; gap: 16px; font-size: 16px; font-weight: 500; line-height: 1.5; }
.ja-contact-list img { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; }
.ja-contact-list a { overflow-wrap: anywhere; }
.ja-footer-phones { display: flex; flex-wrap: wrap; column-gap: 10px; row-gap: 10px; }
.ja-footer-phones a { white-space: nowrap; }
.ja-site-footer .ja-secondary-phone { color: #ff646b; }
.ja-footer-links ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.ja-footer-links a { font-size: 16px; line-height: 32px; font-weight: 500; display: inline-block; }
.ja-payment-images { display: flex; gap: 8px; flex-wrap: wrap; }
.ja-payment-images img { width: 80px; height: 60px; object-fit: contain; }
.ja-footer-payments p { font-size: 16px; font-weight: 500; line-height: 1.5; margin: 24px 0 0; }
@media (max-width: 1399px) { .ja-wide-container { max-width: 1140px; } .ja-footer-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } .ja-footer-payments { grid-column: 1 / -1; } }
@media (max-width: 1199px) { .ja-wide-container { max-width: 960px; } }
@media (max-width: 991px) {
    .ja-wide-container { max-width: 720px; }
    .ja-tagline { width: 45%; font-size: 12px; padding-inline: 0; }
    .ja-header-contact { width: 55%; gap: 0; }
    .ja-header-contact li { padding-inline: 5px; }
    .ja-header-contact a { font-size: 12px; }
    .ja-nav-container { min-height: 67px; }
    .ja-site-header .ja-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; width: 100%; flex-direction: column; align-items: stretch; gap: 0; background: #fff; z-index: 3; text-align: left; }
    .ja-site-header .ja-main-menu.is-open { display: flex; max-height: calc(100dvh - 125px); overflow-y: auto; overscroll-behavior: contain; }
    .ja-main-menu > li { padding: 10px; border-bottom-width: 0; }
    .ja-main-menu > li:hover { border-bottom-width: 6px; }
    .ja-main-menu > li > a, .ja-submenu-toggle { min-height: 24px; padding: 0; justify-content: flex-start; width: 100%; }
    .ja-menu-toggle { display: block; }
    .ja-site-header .ja-submenu { position: static; width: 100%; margin: 6px 0 0; box-shadow: none; border-color: #e5e5e5; }
    .ja-submenu a { text-align: left; }
    .ja-has-submenu::after { display: none; }
}
@media (max-width: 782px) { .admin-bar .ja-site-nav.is-sticky { top: 46px; } }
@media (max-width: 768px) {
    .ja-contact-strip, .ja-site-nav { padding-inline: 0; }
    .ja-contact-inner { padding-inline: 12px; }
    .ja-tagline { font-size: 10px; }
    .ja-site-header .ja-main-menu { top: 65px; }
    .ja-contact-list li, .ja-footer-links a, .ja-footer-payments p { font-size: 14px; }
}
@media (max-width: 767px) { .ja-wide-container { max-width: 540px; } }
.ja-contact-inner { max-width: none; }
@media (max-width: 600px) {
    .ja-site-header { padding-bottom: 10px; }
    .ja-tagline { display: none; }
    .ja-contact-inner { display: block; padding: 0; min-height: 40px; }
    .ja-site-header .ja-header-contact { width: 100%; justify-content: space-between; gap: 0; padding: 5px 10px; min-height: 40px; }
    .ja-header-contact li { padding-inline: 10px; }
    .ja-header-contact a { font-size: 12px; line-height: 18px; }
    .ja-header-contact .ja-header-phone { padding: 2px 8px; font-size: 11px; line-height: 24px; }
    .ja-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .ja-footer-payments { grid-column: auto; }
    .ja-site-footer h2 { font-size: 16px; }
    .ja-contact-list li, .ja-footer-links a, .ja-footer-payments p { font-size: 12px; }
    .ja-contact-list li { gap: 8px; }
    .ja-footer-links a { line-height: 20px; padding-block: 6px; }
    .ja-footer-links ul { column-gap: 12px; }
    .admin-bar .ja-site-nav.is-sticky { top: 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
