/* v107 — shared mobile layer. Loaded after page-specific styles. */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
img, video, iframe, canvas, svg { max-width: 100%; }
iframe { border: 0; }
.mobile-menu-toggle { display:none; }

@media (max-width: 820px) {
  :root { scroll-padding-top: 82px; }
  .container { width: min(100% - 32px, 760px) !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
  .main-header.mk-nav { padding: 0 !important; }
  .main-header.mk-nav .header-flex { position:relative !important; min-height:68px !important; display:flex !important; gap:12px !important; }
  .main-header.mk-nav .logo { position:relative; z-index:4; max-width:calc(100% - 64px); font-size:1.15rem !important; }
  .mobile-menu-toggle {
    position:relative;
    z-index:4;
    display:inline-grid;
    width:44px;
    height:44px;
    place-items:center;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(19,16,14,.16);
    border-radius:10px;
    background:#fff;
    color:#201914;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(19,16,14,.06);
  }
  .main-header.mk-nav.nav-state-dark .mobile-menu-toggle,
  .main-header.mk-nav.nav-on-dark .mobile-menu-toggle,
  .main-header.mk-nav.nav-transparent-top .mobile-menu-toggle {
    border-color:rgba(255,255,255,.25);
    background:rgba(19,16,14,.78);
    color:#fff;
  }
  .mobile-menu-toggle__bars,
  .mobile-menu-toggle__bars::before,
  .mobile-menu-toggle__bars::after {
    display:block;
    width:19px;
    height:2px;
    border-radius:99px;
    background:currentColor;
    content:"";
    transition:transform .2s ease, opacity .2s ease;
  }
  .mobile-menu-toggle__bars { position:relative; }
  .mobile-menu-toggle__bars::before { position:absolute; top:-6px; left:0; }
  .mobile-menu-toggle__bars::after { position:absolute; top:6px; left:0; }
  .main-header.mk-nav.is-mobile-open .mobile-menu-toggle__bars { background:transparent; }
  .main-header.mk-nav.is-mobile-open .mobile-menu-toggle__bars::before { transform:translateY(6px) rotate(45deg); }
  .main-header.mk-nav.is-mobile-open .mobile-menu-toggle__bars::after { transform:translateY(-6px) rotate(-45deg); }
  .main-header.mk-nav nav {
    position:absolute !important;
    z-index:3;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:0 !important;
    display:none !important;
    width:auto !important;
    margin:0 !important;
    padding:12px !important;
    overflow:visible !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:16px !important;
    background:rgba(19,16,14,.98) !important;
    box-shadow:0 22px 48px rgba(19,16,14,.22) !important;
  }
  .main-header.mk-nav.is-mobile-open nav { display:block !important; }
  .main-header.mk-nav .nav-links {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:2px !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .main-header.mk-nav .nav-links li { display:block !important; width:100% !important; }
  .main-header.mk-nav .nav-links .lang-switcher {
    display:flex !important;
    width:max-content !important;
    margin:0 0 6px !important;
    padding:5px !important;
    border-color:rgba(255,255,255,.20) !important;
    background:rgba(255,255,255,.08) !important;
  }
  .main-header.mk-nav .nav-links a:not(.btn-cta) {
    display:flex !important;
    width:100% !important;
    min-height:44px !important;
    align-items:center !important;
    padding:10px 12px !important;
    border-radius:9px !important;
    color:#fff7f3 !important;
    font-size:.82rem !important;
    letter-spacing:.02em !important;
    line-height:1.15 !important;
  }
  .main-header.mk-nav .nav-links a:not(.btn-cta):hover,
  .main-header.mk-nav .nav-links a:not(.btn-cta).is-active { background:rgba(255,255,255,.10) !important; color:#ffb0b2 !important; }
  .main-header.mk-nav .nav-links a:not(.btn-cta)::after { display:none !important; }
  .main-header.mk-nav .nav-links .lang-switcher a { display:grid !important; width:28px !important; height:22px !important; min-height:22px !important; padding:0 !important; background:transparent !important; }
  .main-header.mk-nav .nav-links .btn-cta { display:flex !important; min-height:44px !important; align-items:center !important; justify-content:center !important; margin-top:6px !important; padding:10px 14px !important; border-radius:9px !important; font-size:.78rem !important; }

  .topline .container,
  .top-ticker .container { display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:7px 12px !important; text-align:center !important; }
  .topline { font-size:.65rem !important; }
  .top-ticker { padding:10px 0 !important; }
  .top-ticker .btn-sm { margin-left:0 !important; }

  .grid-2,
  .faq-layout,
  .consult-hero .hero-grid,
  .intro .container,
  .process-grid,
  .article-layout,
  .guide-block-grid,
  .country-zone-panel,
  .article-library-controls,
  .knowledge-grid,
  .blog-grid,
  .benefits-grid,
  .models-grid,
  .results-grid,
  .pros-cons { grid-template-columns:1fr !important; }
  .hero-personal { padding:76px 0 60px !important; }
  .hero-title { font-size:clamp(3.1rem, 17vw, 4.75rem) !important; line-height:.84 !important; }
  .hero-personal .hero-intro-copy,
  .hero-personal .hero-lead { max-width:none !important; }
  .hero-stats-mini { grid-template-columns:1fr 1fr !important; gap:20px 0 !important; }
  .hero-image { margin-top:6px !important; }
  .hero-profile-card { max-width:520px !important; margin:0 auto !important; }
  .hero-profile-front,
  .hero-profile-back { border-radius:22px !important; }
  .hero-profile-front { box-shadow:14px 14px 0 var(--gray-bg) !important; }
  .hero-profile-back { box-shadow:14px 14px 0 rgba(226,219,211,.86) !important; }

  .services-extrego,
  .sectors-section,
  .fleet-dark,
  .faq-section,
  .blog-section,
  .knowledge-section,
  .europe-directory,
  .guide-section { padding-top:64px !important; padding-bottom:64px !important; }
  .section-head { margin-bottom:34px !important; }
  .title-dark,
  .title-light,
  .section-title { font-size:clamp(2rem, 10vw, 3rem) !important; line-height:1.02 !important; }
  .services-grid,
  .sectors-grid,
  .service-grid,
  .country-grid,
  .europe-zone-grid { grid-template-columns:1fr !important; }
  .s-card,
  .fleet-card,
  .service,
  .knowledge-card,
  .country-card,
  .guide-block { padding:24px 20px !important; }
  .fleet-card { padding:28px 22px !important; }

  .consult-hero { min-height:auto !important; padding:112px 0 68px !important; }
  .consult-hero .hero-title,
  .article-index-hero h1,
  .page-hero h1 { font-size:clamp(2.6rem, 13vw, 4.2rem) !important; }
  .consult-hero .hero-tags { gap:8px !important; }
  .consult-hero .hero-tags span { font-size:.68rem !important; }
  .metric-row { grid-template-columns:1fr !important; }
  .metric,
  .metric.metric-wide { width:100% !important; }

  .page-hero,
  .article-index-hero { padding-top:112px !important; padding-bottom:52px !important; }
  .article-container,
  .country-guide { width:min(100% - 32px, 760px) !important; margin-left:auto !important; margin-right:auto !important; }
  .article-hero { padding:110px 0 52px !important; }
  .article-hero h1 { font-size:clamp(2.45rem, 12vw, 3.8rem) !important; }
  .kb-toc { position:static !important; margin:0 0 22px !important; }
  .kb-section { padding:28px 20px !important; }
  .kb-reference-item { grid-template-columns:1fr !important; gap:8px !important; }
  .kb-reference-item h4 { margin:0 !important; }
  .kb-table-wrap,
  .data-table-wrap,
  .table-scroll { overflow-x:auto !important; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .kb-table,
  .data-table { min-width:620px !important; }
  .article-author-card { grid-template-columns:1fr !important; }

  .article-search,
  .article-filter,
  .europe-directory-tools { width:100% !important; }
  .article-filters { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; }
  .article-filter.zone-reset { grid-column:1 / -1 !important; }

  .country-hero { padding:108px 0 52px !important; }
  .country-hero h1 { font-size:clamp(2.45rem, 12vw, 4rem) !important; }
  .hero-zone-list { gap:8px !important; }
  .guide-section h2 { font-size:clamp(1.7rem, 8vw, 2.4rem) !important; }
  .data-table { min-width:690px !important; }

  .tool-rail { position:relative !important; }
  body.tool-page-barometer .barometer-main { padding-top:30px !important; }
  body.tool-page-barometer .market-board { border-radius:15px !important; }
  body.tool-page-barometer .map-viewport { height:470px !important; min-height:470px !important; margin-left:10px !important; margin-right:10px !important; }
  body.tool-page-barometer .barometer-overview-frame { min-height:470px !important; }
  body.tool-page-barometer .barometer-table { min-width:0 !important; }

  footer#kontakt { padding-top:42px !important; }
  footer#kontakt .footer-grid { grid-template-columns:1fr !important; gap:26px !important; }
  footer#kontakt .f-contact p { white-space:normal !important; overflow-wrap:anywhere; }
  footer#kontakt .footer-bottom { flex-direction:column !important; align-items:flex-start !important; }
}

@media (max-width: 480px) {
  .container,
  .article-container,
  .country-guide { width:min(100% - 24px, 760px) !important; }
  .hero-personal { padding-top:62px !important; }
  .hero-title { font-size:clamp(2.9rem, 17vw, 4.15rem) !important; }
  .hero-stats-mini { gap:17px 0 !important; }
  .mini-stat strong { font-size:1.42rem !important; }
  .mini-stat span { font-size:.68rem !important; }
  .s-card,
  .service,
  .guide-block,
  .kb-section { padding:22px 17px !important; }
  .article-filters { grid-template-columns:1fr !important; }
  .article-filter.zone-reset { grid-column:auto !important; }
  body.tool-page-barometer .map-viewport { height:420px !important; min-height:420px !important; }
}
