/* Logistic Point — reusable UX-spacing/accessibility patch (2026-11-01).
   Scope: all languages and major WordPress templates. */
.header { min-width: 0; }
.header > .container {
    max-width: 1560px;
    padding-inline: clamp(24px, 2.7vw, 46px) !important;
    gap: clamp(10px, 1.15vw, 22px) !important;
    flex-wrap: nowrap;
    min-width: 0;
}
.header-logo { margin-right: 0 !important; flex: 0 0 auto; }
.header-logo img { width: clamp(165px, 12.5vw, 208px); height: auto; max-width: 100%; }
.header-nav { display:flex; align-items:center; margin-left:0 !important; min-width:0; }
.header-nav-links { gap: clamp(10px, 1vw, 18px) !important; }
.header-phones { margin: 0 0 0 auto !important; min-width:0; gap:12px; }
.header-phones .lp-mci-lang-switcher { flex-shrink:0; white-space:nowrap; }
.header > .container > .btn-track {
    margin:0 !important; width:auto; min-width:130px; height:42px;
    padding:0 15px; border-radius:12px;
}
.header-cabinet {
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    min-height:46px; min-width:max-content; margin:0 !important;
    padding:8px 12px; border:1px solid transparent; border-radius:12px;
    white-space:nowrap; flex:0 0 auto; color:#172819;
    font-size:14px; font-weight:600; line-height:1.25;
    text-decoration:none; transition: background-color .2s, border-color .2s;
}
.header-cabinet .header-user {
    display:block !important; width:24px; height:24px; margin:0 !important;
    object-fit:contain; flex:0 0 auto;
}
.header-cabinet:hover { background:#f3f8e8; border-color:#cde5a6; }
.header-cabinet:focus-visible, .mobile-menu-cabinet:focus-visible,
.header-burger:focus-visible, .header-nav a:focus-visible,
.mobile-nav-links a:focus-visible {
    outline:3px solid #638a1a; outline-offset:3px;
}
.header-cabinet__label { display:inline; }
.mobile-menu-cabinet { display:none; }
.header > .container > .header-burger {
    width:44px; height:44px; min-width:44px; min-height:44px;
    border-radius:10px; margin:0;
}
.header > .container > .header-burger:hover { background:#f3f8e8; }
@media (max-width:1450px) and (min-width:1201px) {
    .header > .container { gap:11px !important; }
    .header-logo img { width:174px; }
    .header-nav-links { gap:9px !important; }
    .header-cabinet { font-size:13px; padding-inline:10px; }
}
@media (max-width:1320px) and (min-width:1201px) {
    /* Keep languages, menu and customer cabinet; phone moves to contacts page. */
    .header-phones .header-phone { display:none !important; }
}
@media (max-width:1200px) {
    .header > .container > .header-burger { display:flex !important; }
    .header-nav { display:none !important; }
    .header-cabinet { display:none !important; }
    .header > .container { gap:16px !important; }
    .header-phones { margin-left:auto !important; }
    .mobile-menu-cabinet {
        display:flex; align-items:center; gap:12px; min-height:52px;
        padding:13px 16px; border-radius:12px;
        background:#f3f8e8; color:#192a10; font-weight:650; font-size:16px;
        border:1px solid #e2edcd;
    }
    .mobile-menu-cabinet img { width:22px; height:22px; flex:0 0 auto; }
    .mobile-menu-cabinet:hover { background:#e7f1d5; }
}
@media (max-width:768px) {
    .header > .container { padding-inline:20px !important; }
    .header-phones { display:none !important; }
    .header-logo { margin-right:auto !important; }
    .header-logo img { width:174px; max-width:100%; }
    .mobile-menu { padding-inline:20px; padding-bottom:calc(32px + env(safe-area-inset-bottom)); }
    .mobile-menu-inner { max-width:480px; margin-inline:auto; }
}
@media (max-width:390px) {
    .header > .container { padding-inline:16px !important; }
    .header-logo img { width:150px; }
    .mobile-menu { padding-inline:16px; }
}
/* Consistent hit areas and safe wrapping for common cards and forms. */
.blog-card-body, .service-card, .case-card, .review-card,
.footer-col, .footer-contacts-col, .calc-form, .article-content { min-width:0; }
.blog-card-title, .service-card-label, .footer-col-links a {
    overflow-wrap:break-word;
}
.blog-filter-bar select, .blog-filter-bar input {
    min-height:44px; max-width:100%;
}
.blog-filter-bar select:focus-visible, .blog-filter-bar input:focus-visible,
input:focus-visible, textarea:focus-visible {
    outline:2px solid #638a1a; outline-offset:2px;
}
@media (max-width:768px) {
    .lp-ru-onpage__content, .lp-intl-article, .article-content {
        overflow-wrap:anywhere; max-width:100%;
    }
    .lp-intl-article table, .lp-ru-onpage__content table {
        display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
    }
}
.breadcrumb [aria-current="page"] {
    color:#4a603b; font-weight:600; cursor:default;
    overflow-wrap:anywhere;
}
.lp-error-code { font-size:clamp(72px, 13vw, 120px) !important; }
@media (max-width:600px) {
    .header > .container { min-height:68px; }
    .header > .container > .btn-track { display:none !important; }
    .breadcrumb { flex-wrap:wrap; overflow-wrap:anywhere; }
    .blog-filter-bar, .calc-form, .article-content { min-width:0; }
    .blog-filter-bar select, .blog-filter-bar input { width:100%; }
    .cab-wrap .cab-login-box { margin:24px auto; border-radius:14px; }
    .cab-wrap .cab-login-hd { padding:24px 18px; }
    .cab-wrap .cab-login-bd { padding:24px 18px; }
    .cab-wrap .cab-fg input:not([type=checkbox]) { min-height:44px; font-size:16px; }
    .cab-wrap .cab-btn { min-height:44px; }
}
