/* kAPPeL.ru V4.2 — overrides V4.1; scoped ONLY to public application pages. */
/* Header has the same page edges as the catalog content, rather than spanning the viewport. */
.k4-app-body .k4-global-header {
  width:min(1080px,calc(100% - 48px));
  margin:0 auto;
  border-bottom:1px solid #edf0f4;
  background:#fff;
}
.k4-app-body .k4-global-header .wrap { width:100%; max-width:100%; }
.k4-app-body .k4-header-inner { min-height:74px; gap:17px; }
.k4-app-body .k4-global-header nav { gap:19px; }
.k4-app-body .k4-header-search { flex:0 1 200px; min-width:155px; max-width:200px; }
/* The hero and top advertising align with the gallery and sidebar columns. */
.k4-app-body .k42-hero-grid,
.k4-app-body .k42-download-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 326px;
  gap:24px;
  align-items:start;
}
.k4-app-body .k42-hero-grid { margin-bottom:12px; }
.k4-app-body .k42-hero-grid .k4-hero { min-width:0; margin:0; }
.k4-app-body .k42-hero-grid .k4-hero-top { grid-template-columns:146px minmax(0,1fr); gap:26px; }
.k4-app-body .k42-hero-grid h1 { overflow-wrap:anywhere; }
.k4-app-body .k42-hero-grid .k4-stat-row { gap:22px; flex-wrap:wrap; }
.k4-app-body .k42-hero-grid .k4-actions { margin-top:17px; }
.k4-app-body .k42-hero-ad { min-width:0; }
.k4-app-body .k42-download-cell { min-width:0; }
.k4-app-body .k42-download-row { margin:14px 0 22px; }
.k4-app-body .k42-download-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:104px; margin:0; background:#f5f7fc; padding:17px 19px; border-radius:16px; scroll-margin-top:86px; }
.k4-app-body .k42-download-bar>div { min-width:0; }
.k4-app-body .k42-download-bar h2 { font-size:18px!important; margin:0 0 5px!important; line-height:1.25; }
.k4-app-body .k42-download-bar p { font-size:12px; line-height:1.45; max-width:380px; }
.k4-app-body .k42-download-bar .k4-btn { flex:none; white-space:nowrap; }
html:has(.k4-app-body) { scroll-behavior:smooth; }
/* One ad position above the sidebar, one horizontal banner replacing the platform panel. */
.k4-app-body .k42-ad-slot { display:flex; flex-direction:column; align-items:stretch; justify-content:center; border-radius:15px; overflow:hidden; background:#f5f6f8; max-width:100%; }
.k4-app-body .k42-ad-slot-side { min-height:166px; }
.k4-app-body .k42-ad-slot-horizontal { min-height:98px; }
.k4-app-body .k42-ad-empty { display:flex; min-height:inherit; width:100%; flex-direction:column; justify-content:center; align-items:center; gap:7px; padding:16px; text-align:center; color:#8d939d; font-size:15px; }
.k4-app-body .k42-ad-empty small { font-size:11px; color:#a0a6b1; font-weight:400; max-width:230px; }
.k4-app-body .k42-ad-slot :is(.vsofte-ad-position,.vsofte-ad-block) { width:100%; max-width:100%; box-sizing:border-box; }
.k4-app-body .k42-ad-slot iframe { display:block; max-width:100%; }
.k4-app-body .k42-ad-banner { margin:24px 0 17px; }
/* Five desktop tabs must fit inside the primary (730px) column. */
.k4-app-body .k4-tabs { display:flex; width:100%; min-width:0; justify-content:space-between; align-items:stretch; flex-wrap:nowrap; gap:0; margin-top:6px; overflow-x:visible; scrollbar-width:none; }
.k4-app-body .k4-tabs a { display:inline-flex; flex:0 1 auto; align-items:center; justify-content:center; white-space:nowrap; min-width:0; font-size:16px; font-weight:480; letter-spacing:-.01em; padding:10px 8px 12px; }
.k4-app-body .k4-tabs a:first-child { padding-left:8px; }
.k4-app-body .k4-tabs a:last-child { padding-right:8px; }
.k4-app-body .k4-gallery { margin-top:0; }
/* Keep the originally inherited responsive breakpoints; add explicit 4.2 layout behavior. */
@media(max-width:1200px) {
  .k4-app-body .k4-global-header { width:calc(100% - 38px); }
  .k4-app-body .k4-global-header .wrap { width:100%; }
  .k4-app-body .k4-global-header nav { gap:13px; }
}
@media(max-width:900px) {
  .k4-app-body .k42-hero-grid,.k4-app-body .k42-download-row { grid-template-columns:minmax(0,1fr) 260px; gap:18px; }
  .k4-app-body .k42-hero-grid .k4-hero-top { grid-template-columns:105px minmax(0,1fr); gap:16px; }
  .k4-app-body .k42-hero-grid .k4-icon { height:105px; width:105px; border-radius:24px; }
  .k4-app-body .k42-hero-grid .k4-stat-row { gap:12px; }
  .k4-app-body .k4-tabs a { font-size:14px; padding:10px 5px 11px; }
  .k4-app-body .k4-global-header nav { display:none; }
}
@media(max-width:730px) {
  .k4-app-body .k42-hero-grid,.k4-app-body .k42-download-row { display:block; }
  .k4-app-body .k42-hero-grid .k4-hero-top { grid-template-columns:105px minmax(0,1fr); }
  .k4-app-body .k42-hero-ad { margin-top:17px; }
  .k4-app-body .k42-ad-slot-side { min-height:100px; }
  .k4-app-body .k42-download-row { margin:16px 0 22px; }
  .k4-app-body .k42-download-bar { min-height:95px; }
  .k4-app-body .k4-tabs { overflow-x:auto; justify-content:flex-start; gap:9px; scroll-snap-type:x proximity; }
  .k4-app-body .k4-tabs a { flex:0 0 auto; font-size:14px; scroll-snap-align:start; }
}
@media(max-width:560px) {
  .k4-app-body .k4-global-header { width:calc(100% - 28px); }
  .k4-app-body .k4-global-header .wrap { width:100%; }
  .k4-app-body .k42-hero-grid .k4-hero-top { grid-template-columns:86px minmax(0,1fr); gap:13px; }
  .k4-app-body .k42-hero-grid .k4-icon { height:86px; width:86px; border-radius:22px; }
  .k4-app-body .k42-hero-grid .k4-stat-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .k4-app-body .k42-hero-grid .k4-actions .k4-btn { flex:0 1 auto; width:auto; font-size:12px; }
  .k4-app-body .k42-download-bar { flex-direction:column; align-items:stretch; padding:15px; }
  .k4-app-body .k42-download-bar .k4-btn { width:100%; }
  .k4-app-body .k4-tabs { gap:7px; }
  .k4-app-body .k4-tabs a { font-size:14px; padding:10px 9px; }
  .k4-app-body .k42-ad-slot-horizontal { min-height:80px; }
}
@media(prefers-reduced-motion:reduce) { html:has(.k4-app-body) { scroll-behavior:auto; } }
