/* VartoModa v4.6.16 responsive public layout
   Desktop >= 1200px: unchanged.
   Tablet 600-1199px: desktop page structures preserved at smaller scale;
   only the header switches to the compact hamburger navigation.
   Mobile < 600px: purpose-built stacked layout. */

/* Prevent long Ukrainian text and grid children from forcing horizontal overflow. */
main,
.container,
.editorial-home-grid,
.editorial-hero-copy,
.editorial-feature-wrap,
.reviews-layout,
.review-results,
.review-row,
.review-row .product-body,
.detail-grid,
.detail-main,
.detail-aside,
.guide-layout,
.contact-grid,
.footer-grid,
.product-card,
.category-tile,
.editorial-category-card { min-width: 0; }

img { max-width: 100%; }

/* ---------------- Tablet: smaller desktop layout ---------------- */
@media (min-width: 600px) and (max-width: 1199px) {
  :root {
    --gutter: 20px;
    --space-section: 62px;
  }

  body { font-size: 14px; }
  .container { width: min(1120px, calc(100% - 40px)); }

  /* Neutralize legacy phone/tablet rules from earlier stylesheets.
     Any viewport 600px or wider keeps the desktop page composition. */
  .hero-grid,
  .lux-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(220px, .78fr) !important;
    gap: 24px !important;
    align-items: center !important;
  }
  .hero-actions,
  .editorial-hero-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
  }
  .section-head,
  .editorial-section-heading {
    display: flex !important;
    flex-direction: row !important;
    align-items: end !important;
    justify-content: space-between !important;
  }
  .mini-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .gallery-thumbs {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
  }
  .gallery-thumbs img,
  .gallery-thumb { height: 92px !important; }

  /* Compact/mobile header on every tablet orientation. */
  .nav-wrap { min-height: 66px !important; }
  .brand-mark { width: 34px; height: 34px; }
  .brand-name { font-size: 1rem; }
  .brand-text small { max-width: 310px; font-size: .64rem; }
  .nav-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
  }
  .site-nav {
    display: none !important;
    position: absolute !important;
    top: 66px !important;
    left: 20px !important;
    right: 20px !important;
    z-index: 100;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 10px !important;
    border: 1px solid var(--ed-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: var(--ed-shadow) !important;
  }
  .site-nav.open { display: flex !important; }
  .site-nav a { padding: 10px 12px !important; text-align: center; }
  .site-nav .nav-cta { margin-left: 0 !important; }

  /* Homepage: preserve two-column desktop composition. */
  .editorial-home-hero { padding: 50px 0 58px; }
  .editorial-home-grid {
    grid-template-columns: minmax(0, 1.06fr) minmax(280px, .76fr) !important;
    gap: 28px !important;
    align-items: center;
  }
  .editorial-hero-copy h1 {
    max-width: 650px;
    font-size: clamp(2.6rem, 5.5vw, 4.45rem) !important;
    line-height: 1 !important;
  }
  .editorial-hero-lead { margin-top: 20px; font-size: .94rem; line-height: 1.62; }
  .editorial-hero-actions { margin-top: 24px; gap: 9px; }
  .editorial-btn { min-height: 43px; padding: 0 17px; font-size: .78rem; }
  .editorial-home-stats { grid-template-columns: repeat(3, minmax(0,1fr)) !important; margin-top: 30px; padding-top: 18px; }
  .editorial-home-stats div { padding-right: 12px; }
  .editorial-home-stats div + div { padding-left: 12px; border-left: 1px solid var(--ed-line); border-top: 0; }
  .editorial-home-stats span { min-height: 28px; font-size: .55rem; }
  .editorial-home-stats strong { font-size: 1.45rem; }
  .editorial-feature-wrap { max-width: none !important; }
  .editorial-feature-card { border-radius: 17px; }
  .editorial-feature-media { height: clamp(270px, 35vw, 390px) !important; }
  .editorial-feature-media img { padding: 16px; }
  .editorial-feature-body { padding: 18px 20px 21px; }
  .editorial-feature-body h2 { font-size: clamp(1.25rem, 2.2vw, 1.65rem); }
  .editorial-feature-body p { font-size: .86rem; }
  .editorial-feature-badge,
  .editorial-feature-deal { top: 14px; min-height: 26px; padding-inline: 10px; font-size: .62rem; }
  .editorial-feature-badge { left: 14px; }
  .editorial-feature-deal { right: 14px; }

  .editorial-section { padding: 62px 0; }
  .editorial-section-heading { margin-bottom: 24px; }
  .editorial-section-heading h2,
  .editorial-method-grid h2 { font-size: clamp(2rem, 4vw, 3rem); }
  .editorial-category-list { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .editorial-category-card { min-height: 145px; gap: 12px; padding: 18px; }
  .editorial-category-card h3 { font-size: 1.15rem; }
  .editorial-category-card p { font-size: .75rem; }

  /* Keep the desktop four-card review row, scaled down. */
  .editorial-review-grid {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 12px !important;
  }
  .editorial-review-grid .product-image { height: clamp(150px, 21vw, 220px); }
  .editorial-review-grid .product-body { padding: 14px; }
  .editorial-review-grid .product-body h3 { font-size: clamp(.98rem, 1.65vw, 1.18rem); }
  .editorial-review-grid .product-body > p { min-height: 0; font-size: .72rem; }
  .editorial-review-grid .product-meta { align-items: flex-start; flex-direction: column; gap: 4px; font-size: .62rem; }
  .editorial-review-grid .card-proof { margin-top: 12px; padding: 10px; }
  .editorial-review-grid .card-proof span { font-size: .56rem; }
  .editorial-review-grid .card-proof strong { font-size: .72rem; }
  .editorial-review-grid .btn.card-btn { min-height: 37px; padding-inline: 10px; font-size: .72rem; }
  .editorial-method-grid {
    grid-template-columns: minmax(0,.82fr) minmax(0,1fr) !important;
    gap: 28px !important;
  }
  .editorial-method-points { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .editorial-method-points div { min-height: 120px; padding: 17px; }

  /* Interior page hero remains desktop-like. */
  .page-hero,
  .page-hero.compact { padding: 44px 0 !important; }
  .intro-grid {
    grid-template-columns: minmax(0,1fr) 200px !important;
    gap: 30px !important;
    align-items: end;
  }
  .page-hero.compact h1,
  .intro-grid h1 { font-size: clamp(2.35rem, 5vw, 3.85rem) !important; }
  .page-hero p,
  .intro-grid p { font-size: .93rem; }
  .intro-card { min-height: 145px; padding: 20px; }
  .intro-card strong { font-size: 2.6rem; }

  /* Reviews: preserve sidebar + horizontal review cards. */
  .reviews-layout {
    grid-template-columns: 205px minmax(0,1fr) !important;
    gap: 20px !important;
  }
  .filter-panel,
  .pro-filter { position: sticky !important; top: 82px !important; padding: 16px !important; }
  .filter-title strong { font-size: 1.08rem; }
  .filter-title span { font-size: .72rem; }
  .filter-group { margin-top: 16px; }
  .filter-group h3 { font-size: .72rem; }
  .chip { padding: 7px 9px; font-size: .68rem; }
  .search-box input { min-width: 0; font-size: .72rem; }
  .filter-actions { display: grid !important; grid-template-columns: 1fr; gap: 7px; }
  .filter-actions .btn { width: 100%; min-height: 38px; padding-inline: 10px; font-size: .7rem; }
  .result-toolbar,
  .pro-toolbar { display: flex !important; align-items: center !important; padding: 13px; }
  .sort-select { max-width: 205px; font-size: .72rem; }
  .comparison-strip { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .comparison-strip a { padding: 11px !important; }
  .comparison-strip strong { font-size: .72rem; }
  .review-row,
  .pro-review-row {
    grid-template-columns: minmax(180px, 29%) minmax(0,1fr) !important;
  }
  .review-row .product-image { min-height: 250px !important; height: 100% !important; }
  .review-row .product-body { padding: 20px !important; }
  .review-row h3 { font-size: clamp(1.28rem, 2.5vw, 1.75rem) !important; }
  .review-row .product-body > p { font-size: .82rem; }
  .decision-grid { grid-template-columns: 1fr 1fr !important; gap: 7px; }
  .decision-grid div { padding: 9px; }
  .decision-grid span { font-size: .57rem; }
  .decision-grid strong { font-size: .69rem; }
  .row-actions { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px; }
  .row-actions .btn { width: auto !important; min-height: 40px; padding-inline: 13px; font-size: .7rem; }

  /* Product detail: preserve main article + buy sidebar. */
  .detail-grid {
    grid-template-columns: minmax(0,1fr) 250px !important;
    gap: 20px !important;
  }
  .detail-aside,
  .pro-buy-card { position: sticky !important; top: 82px !important; }
  .sticky-buy { position: static !important; }
  .detail-card,
  .pro-detail-card { padding: 28px !important; }
  .detail-title { font-size: clamp(2.3rem, 4.7vw, 3.8rem) !important; }
  .detail-lead { font-size: .9rem; }
  .detail-gallery > img,
  .pro-gallery > img { height: clamp(360px, 48vw, 520px) !important; }
  .gallery-thumb { flex-basis: 110px; height: 96px; }
  .article-nav { position: sticky !important; top: 76px !important; border-radius: 14px !important; padding: 7px !important; }
  .article-nav a { padding: 7px 9px; font-size: .67rem; }
  .review-section { padding: 25px !important; }
  .review-section h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
  .method-grid,
  .pro-procons { grid-template-columns: 1fr 1.05fr !important; gap: 14px !important; }
  .spec-list-wide { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .score-card,
  .aside-card { padding: 18px !important; }
  .score-card .score strong { font-size: 3rem; }
  .aside-card h3 { font-size: 1rem; }
  .aside-card p,
  .check-list-public li { font-size: .74rem; }
  .related-grid,
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 14px; }
  .related-grid .product-image,
  .product-grid .product-image { height: 210px; }

  /* Categories, guides and contact preserve desktop columns. */
  .category-grid,
  .pro-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .category-tile-content { min-height: 210px; padding: 20px; }
  .category-tile.has-category-image .category-tile-content { min-height: 235px; margin: 12px; padding: 17px; }
  .category-tile-content > strong { font-size: 1.35rem; }
  .category-tile-content p { font-size: .78rem; }
  .guide-layout { grid-template-columns: minmax(0,1fr) 245px !important; gap: 20px !important; }
  .guide-side { position: sticky !important; top: 82px !important; }
  .pro-text-page,
  .text-page,
  .guide-side { padding: 25px !important; }
  .contact-grid { grid-template-columns: minmax(0,1fr) 255px !important; gap: 20px !important; }
  .contact-side { position: sticky !important; top: 82px !important; }
  .contact-form { padding: 24px !important; }
  .mini-panel { padding: 17px !important; }

  /* Footer keeps desktop columns, only reduced. */
  .editorial-footer .footer-grid,
  .footer-grid {
    grid-template-columns: minmax(210px,1.25fr) repeat(3,minmax(100px,.68fr)) !important;
    gap: 18px !important;
    padding-top: 44px;
    padding-bottom: 38px;
  }
  .editorial-footer .footer-brand-block p { font-size: .82rem; line-height: 1.62; }
  .editorial-footer .footer-col h3 { font-size: .62rem; }
  .editorial-footer .footer-col a { padding: 5px 0; font-size: .75rem; }
  .editorial-footer .footer-mini span { padding: 6px 8px; font-size: .63rem; }
  .editorial-footer .footer-bottom { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr) !important; gap: 18px; font-size: .7rem; }
}

/* Narrow tablet portrait: still desktop structure, only more compact. */
@media (min-width: 600px) and (max-width: 767px) {
  :root { --gutter: 16px; --space-section: 50px; }
  body { font-size: 13px; }
  .container { width: calc(100% - 32px); }

  .brand-text small { display: none !important; }

  .editorial-home-hero { padding: 38px 0 46px; }
  .editorial-home-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(205px, .72fr) !important;
    gap: 18px !important;
  }
  .editorial-hero-copy h1 { font-size: clamp(2.25rem, 6.6vw, 3.15rem) !important; }
  .editorial-hero-lead { font-size: .82rem; }
  .editorial-home-stats strong { font-size: 1.18rem; }
  .editorial-feature-media { height: 245px !important; }
  .editorial-feature-body { padding: 14px 15px 16px; }
  .editorial-feature-body h2 { font-size: 1.08rem; }
  .editorial-feature-body p { font-size: .72rem; }

  .editorial-category-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }
  .editorial-category-card { min-height: 126px; padding: 13px; }
  .editorial-category-card h3 { font-size: .92rem; }
  .editorial-category-card p { font-size: .65rem; }

  .editorial-review-grid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 8px !important; }
  .editorial-review-grid .product-image { height: 132px !important; }
  .editorial-review-grid .product-body { padding: 10px !important; }
  .editorial-review-grid .product-body h3 { font-size: .82rem !important; }
  .editorial-review-grid .product-body > p { font-size: .62rem; line-height: 1.45; }
  .editorial-review-grid .card-proof { padding: 8px; }
  .editorial-review-grid .btn.card-btn { min-height: 32px; font-size: .62rem; }

  .intro-grid { grid-template-columns: minmax(0,1fr) 155px !important; gap: 18px !important; }
  .page-hero.compact h1,
  .intro-grid h1 { font-size: clamp(2rem, 6.2vw, 2.85rem) !important; }
  .intro-card { min-height: 120px; padding: 15px; }
  .intro-card strong { font-size: 2rem; }

  .reviews-layout { grid-template-columns: 150px minmax(0,1fr) !important; gap: 14px !important; }
  .filter-panel, .pro-filter { padding: 12px !important; }
  .review-row, .pro-review-row {
    grid-template-columns: 132px minmax(0,1fr) !important;
  }
  .review-row .product-image { min-height: 220px !important; }
  .review-row .product-body { padding: 14px !important; }
  .review-row h3 { font-size: 1.08rem !important; }
  .review-row .product-body > p { font-size: .7rem; }
  .decision-grid { gap: 5px; }
  .decision-grid div { padding: 7px; }
  .row-actions .btn { min-height: 34px; padding-inline: 9px; font-size: .62rem; }

  .detail-grid { grid-template-columns: minmax(0,1fr) 180px !important; gap: 14px !important; }
  .detail-card, .pro-detail-card { padding: 18px !important; }
  .detail-title { font-size: clamp(2rem, 6vw, 2.8rem) !important; }
  .detail-lead { font-size: .78rem; }
  .detail-gallery > img, .pro-gallery > img { height: 330px !important; }
  .review-section { padding: 18px !important; }
  .review-section h2 { font-size: 1.35rem; }
  .score-card, .aside-card { padding: 13px !important; }
  .score-card .score strong { font-size: 2.4rem; }
  .article-nav a { padding: 6px 7px; font-size: .58rem; }
  .gallery-thumb { flex-basis: 84px; height: 72px !important; }

  .category-grid, .pro-category-grid, .product-grid, .related-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .category-tile-content { min-height: 170px; padding: 14px; }
  .category-tile.has-category-image .category-tile-content { min-height: 190px; margin: 8px; padding: 12px; }
  .category-tile-content > strong { font-size: 1.05rem; }

  .guide-layout { grid-template-columns: minmax(0,1fr) 180px !important; gap: 14px !important; }
  .contact-grid { grid-template-columns: minmax(0,1fr) 185px !important; gap: 14px !important; }
  .pro-text-page, .text-page, .guide-side, .contact-form { padding: 18px !important; }

  .editorial-footer .footer-grid, .footer-grid {
    grid-template-columns: minmax(175px,1.25fr) repeat(3,minmax(68px,.68fr)) !important;
    gap: 10px !important;
  }
  .editorial-footer .footer-brand-block p { font-size: .7rem; }
  .editorial-footer .footer-col h3 { font-size: .52rem; }
  .editorial-footer .footer-col a { font-size: .64rem; }
  .editorial-footer .footer-bottom { gap: 12px; font-size: .62rem; }
}

/* ---------------- Mobile: true stacked layout ---------------- */
@media (max-width: 599px) {
  :root { --gutter: 16px; --space-section: 52px; }
  body { font-size: 14px; overflow-x: hidden; }
  .container { width: calc(100% - 32px); }

  .nav-wrap { min-height: 64px !important; }
  .brand-text small { display: none !important; }
  .nav-toggle { display: inline-flex !important; align-items: center; justify-content: center; }
  .site-nav {
    display: none !important;
    position: absolute !important;
    top: 64px !important;
    left: 16px !important;
    right: 16px !important;
    z-index: 100;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 10px !important;
    border: 1px solid var(--ed-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: var(--ed-shadow) !important;
  }
  .site-nav.open { display: flex !important; }
  .site-nav a { text-align: center; }
  .site-nav .nav-cta { margin-left: 0 !important; }

  .editorial-home-grid,
  .editorial-method-grid,
  .intro-grid,
  .reviews-layout,
  .review-row,
  .pro-review-row,
  .detail-grid,
  .method-grid,
  .pro-procons,
  .guide-layout,
  .contact-grid { grid-template-columns: 1fr !important; }

  .editorial-home-hero { padding: 38px 0 50px; }
  .editorial-hero-copy h1 { font-size: clamp(2.45rem, 12vw, 3.8rem) !important; }
  .editorial-hero-lead { margin-top: 20px; }
  .editorial-hero-actions { display: grid; grid-template-columns: 1fr; }
  .editorial-btn { width: 100%; }
  .editorial-home-stats { grid-template-columns: 1fr !important; }
  .editorial-home-stats div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--ed-line); }
  .editorial-feature-media { height: 330px !important; }
  .editorial-category-list,
  .editorial-review-grid,
  .editorial-method-points,
  .category-grid,
  .pro-category-grid,
  .product-grid,
  .related-grid,
  .spec-list-wide { grid-template-columns: 1fr !important; }
  .editorial-section-heading { align-items: flex-start; flex-direction: column; }

  .page-hero.compact h1,
  .intro-grid h1,
  .detail-title { font-size: clamp(2.2rem, 11vw, 3.4rem) !important; }
  .intro-card { max-width: none !important; min-height: auto; }

  .filter-panel,
  .pro-filter,
  .detail-aside,
  .pro-buy-card,
  .guide-side,
  .contact-side,
  .article-nav { position: static !important; }
  .result-toolbar,
  .pro-toolbar { align-items: stretch !important; flex-direction: column !important; }
  .sort-select { width: 100%; }
  .comparison-strip { grid-template-columns: 1fr !important; }
  .review-row .product-image { min-height: 300px !important; }
  .decision-grid { grid-template-columns: 1fr !important; }
  .row-actions { flex-direction: column !important; align-items: stretch !important; }
  .row-actions .btn { width: 100% !important; }
  .detail-gallery > img,
  .pro-gallery > img { height: 350px !important; }
  .article-nav { overflow-x: auto; flex-wrap: nowrap !important; }
  .article-nav a { flex: 0 0 auto; }

  .editorial-footer .footer-grid,
  .footer-grid { grid-template-columns: 1fr !important; }
  .editorial-footer .footer-bottom,
  .footer-bottom { grid-template-columns: 1fr !important; flex-direction: column; }
}

/* ---------------- v4.6.18: modern two-column phone catalog ----------------
   Phones keep compact commerce/category cards in two columns.
   Editorial reading sections and the product-detail article remain single-column. */
@media (max-width: 599px) {
  /* Two-column catalog surfaces. */
  .editorial-review-grid,
  .product-grid,
  .related-grid,
  .category-grid,
  .pro-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .product-card,
  .pro-product-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    border-radius: 14px !important;
  }

  .product-card .product-image,
  .pro-product-card .product-image,
  .editorial-review-grid .product-image,
  .related-grid .product-image,
  .product-grid .product-image {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1.04;
    border-radius: 13px 13px 0 0 !important;
  }

  .product-card .product-image img,
  .pro-product-card .product-image img {
    padding: 8px !important;
  }

  .product-card .product-body,
  .pro-product-card .product-body,
  .editorial-review-grid .product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 11px !important;
  }

  .product-card .product-meta,
  .editorial-review-grid .product-meta {
    display: grid;
    justify-content: start;
    align-items: start;
    gap: 3px;
    font-size: .58rem !important;
    line-height: 1.25;
  }

  .product-card .product-meta > span:first-child,
  .editorial-review-grid .product-meta > span:first-child {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .product-card .rating,
  .editorial-review-grid .rating {
    font-size: .59rem;
  }

  .product-card .product-body h3,
  .editorial-review-grid .product-body h3 {
    display: -webkit-box;
    overflow: hidden;
    min-height: 3.5em;
    margin: 7px 0 6px;
    font-size: clamp(.84rem, 4vw, .98rem) !important;
    line-height: 1.17;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .product-card .product-body > p,
  .editorial-review-grid .product-body > p {
    display: -webkit-box;
    overflow: hidden;
    min-height: 4.2em;
    font-size: .64rem !important;
    line-height: 1.4 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .product-card .card-proof,
  .editorial-review-grid .card-proof {
    min-height: 52px;
    margin-top: 9px;
    padding: 8px !important;
    border-radius: 9px !important;
  }

  .product-card .card-proof span,
  .editorial-review-grid .card-proof span {
    font-size: .48rem !important;
    letter-spacing: .055em;
  }

  .product-card .card-proof strong,
  .editorial-review-grid .card-proof strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: .62rem !important;
    line-height: 1.32;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .product-card .card-line,
  .editorial-review-grid .card-line {
    margin: 10px 0;
  }

  .product-card .btn.card-btn,
  .editorial-review-grid .btn.card-btn {
    min-height: 34px !important;
    margin-top: auto;
    padding: 7px 8px !important;
    font-size: .62rem !important;
    line-height: 1.15;
  }

  /* Keep labels readable without letting them cover the product. */
  .product-card .badge,
  .review-row .badge,
  .product-card .deal,
  .review-row .deal,
  .product-card .rank-badge,
  .review-row .rank-badge {
    padding: 5px 7px !important;
    font-size: .5rem !important;
    line-height: 1.1;
  }

  .product-card .badge,
  .review-row .badge {
    top: 7px !important;
    left: 7px !important;
    overflow: hidden;
    max-width: 58%;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .product-card .deal,
  .review-row .deal {
    top: 7px !important;
    right: 7px !important;
    max-width: 38%;
  }

  .product-card .rank-badge,
  .review-row .rank-badge {
    bottom: 7px !important;
    left: 7px !important;
  }

  /* Reviews index becomes a two-column compact product catalog on phones. */
  .review-list,
  .pro-review-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .review-row,
  .pro-review-row {
    display: flex !important;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    border-radius: 14px !important;
  }

  .review-row .product-image,
  .pro-review-row .product-image {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1.04;
  }

  .review-row .product-image img,
  .pro-review-row .product-image img {
    padding: 8px !important;
  }

  .review-row .product-body,
  .pro-review-row .product-body {
    display: flex !important;
    flex: 1;
    flex-direction: column;
    align-content: initial !important;
    padding: 11px !important;
  }

  .review-row .product-meta,
  .pro-review-row .product-meta {
    display: grid;
    justify-content: start;
    align-items: start;
    gap: 3px;
    font-size: .57rem !important;
    line-height: 1.25;
  }

  .review-row .product-meta > span:first-child,
  .pro-review-row .product-meta > span:first-child {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .review-row h3,
  .pro-review-row h3 {
    display: -webkit-box;
    overflow: hidden;
    min-height: 3.5em;
    margin: 7px 0 6px;
    font-size: clamp(.84rem, 4vw, .98rem) !important;
    line-height: 1.17;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .review-row .product-body > p,
  .pro-review-row .product-body > p {
    display: -webkit-box;
    overflow: hidden;
    min-height: 4.2em;
    font-size: .64rem !important;
    line-height: 1.4 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .review-row .decision-grid,
  .pro-review-row .decision-grid {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-top: 9px;
  }

  .review-row .decision-grid > div,
  .pro-review-row .decision-grid > div {
    padding: 8px !important;
  }

  .review-row .decision-grid > div:nth-child(2),
  .pro-review-row .decision-grid > div:nth-child(2) {
    display: none;
  }

  .review-row .decision-grid span,
  .pro-review-row .decision-grid span {
    font-size: .47rem !important;
  }

  .review-row .decision-grid strong,
  .pro-review-row .decision-grid strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: .61rem !important;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .review-row .row-actions,
  .pro-review-row .row-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-top: auto !important;
    padding-top: 10px;
  }

  .review-row .row-actions .btn,
  .pro-review-row .row-actions .btn {
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 6px !important;
    font-size: .58rem !important;
    line-height: 1.15;
  }

  /* Two-column category cards, still readable with Ukrainian titles. */
  .category-tile,
  .pro-category-tile {
    min-height: 178px !important;
    padding: 13px !important;
  }

  .category-tile-content,
  .category-tile.has-category-image .category-tile-content {
    min-height: 164px !important;
    margin: 0 !important;
    padding: 12px !important;
  }

  .category-tile.has-category-image .category-tile-content {
    margin: 7px !important;
  }

  .category-tile-content small {
    font-size: .58rem;
  }

  .category-tile-content > strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: clamp(.9rem, 4.3vw, 1.05rem) !important;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .category-tile-content p {
    display: -webkit-box;
    overflow: hidden;
    margin: 7px 0;
    font-size: .62rem !important;
    line-height: 1.38;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .category-tile-content em {
    font-size: .62rem;
  }

  .product-grid > .empty-state,
  .related-grid > .empty-state,
  .editorial-review-grid > .editorial-empty-row,
  .category-grid > .empty-state,
  .review-list > .empty-state {
    grid-column: 1 / -1;
  }
}

/* Very narrow phones still retain two columns, with slightly tighter cards. */
@media (max-width: 379px) {
  .editorial-review-grid,
  .product-grid,
  .related-grid,
  .category-grid,
  .pro-category-grid,
  .review-list,
  .pro-review-list {
    gap: 7px !important;
  }

  .product-card .product-body,
  .pro-product-card .product-body,
  .review-row .product-body,
  .pro-review-row .product-body {
    padding: 9px !important;
  }

  .product-card .product-body h3,
  .editorial-review-grid .product-body h3,
  .review-row h3,
  .pro-review-row h3 {
    font-size: .79rem !important;
  }

  .product-card .product-body > p,
  .editorial-review-grid .product-body > p,
  .review-row .product-body > p,
  .pro-review-row .product-body > p {
    font-size: .59rem !important;
  }
}

/* ---------------- v4.6.19: desktop-composition hero on phones ----------------
   The homepage hero remains a two-column editorial banner on mobile:
   compact copy on the left and the selected featured product on the right. */
@media (max-width: 599px) {
  .editorial-home-hero {
    padding: 28px 0 36px !important;
  }

  .editorial-home-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
    gap: 11px !important;
    align-items: center !important;
  }

  .editorial-hero-copy,
  .editorial-feature-wrap {
    min-width: 0;
  }

  .editorial-kicker {
    gap: 5px;
    margin: 0 0 8px;
    font-size: .45rem;
    letter-spacing: .105em;
    line-height: 1.25;
  }

  .editorial-kicker::before {
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
  }

  .editorial-hero-copy h1 {
    max-width: none;
    font-size: clamp(1.48rem, 7.3vw, 2.24rem) !important;
    letter-spacing: -.038em;
    line-height: .99;
    text-wrap: balance;
  }

  .editorial-hero-lead {
    display: -webkit-box;
    overflow: hidden;
    margin: 10px 0 0;
    font-size: clamp(.57rem, 2.45vw, .69rem);
    line-height: 1.46;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .editorial-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px;
    margin-top: 12px;
  }

  .editorial-btn {
    width: 100%;
    min-height: 31px;
    gap: 5px;
    padding: 0 8px;
    font-size: .55rem;
    line-height: 1.15;
    white-space: normal;
    text-align: center;
  }

  .editorial-home-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 14px;
    padding-top: 10px;
  }

  .editorial-home-stats div {
    padding: 0 5px 0 0;
  }

  .editorial-home-stats div + div {
    padding: 0 5px;
    border-top: 0;
    border-left: 1px solid var(--ed-line);
  }

  .editorial-home-stats span {
    min-height: 20px;
    font-size: .36rem;
    letter-spacing: .035em;
    line-height: 1.25;
  }

  .editorial-home-stats strong {
    margin-top: 3px;
    font-size: clamp(.75rem, 3.5vw, .98rem);
  }

  .editorial-feature-wrap {
    width: 100%;
    max-width: none !important;
  }

  .editorial-feature-card {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 10px 26px rgba(33, 44, 36, .09);
  }

  .editorial-feature-card:hover {
    transform: none;
  }

  .editorial-feature-media {
    width: 100%;
    height: auto !important;
    min-height: 0;
    aspect-ratio: 1 / 1.02;
  }

  .editorial-feature-media img {
    padding: 8px;
  }

  .editorial-feature-badge,
  .editorial-feature-deal {
    top: 6px;
    min-height: 18px;
    max-width: 58%;
    overflow: hidden;
    padding: 0 6px;
    font-size: .42rem;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .editorial-feature-badge { left: 6px; }
  .editorial-feature-deal {
    right: 6px;
    max-width: 39%;
  }

  .editorial-feature-body {
    padding: 9px 10px 11px;
  }

  .editorial-feature-rating {
    gap: 3px;
    font-size: .49rem;
    line-height: 1.2;
  }

  .editorial-feature-rating small {
    display: none;
  }

  .editorial-feature-body h2 {
    display: -webkit-box;
    overflow: hidden;
    margin: 5px 0 0;
    font-size: clamp(.72rem, 3.45vw, .9rem);
    line-height: 1.17;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .editorial-feature-body p {
    display: -webkit-box;
    overflow: hidden;
    margin: 5px 0 0;
    font-size: clamp(.49rem, 2.2vw, .59rem);
    line-height: 1.36;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .editorial-feature-link {
    gap: 4px;
    margin-top: 7px;
    font-size: .49rem;
    line-height: 1.25;
  }

  .editorial-empty-card {
    min-height: 230px;
    padding: 12px;
    border-radius: 12px;
    font-size: .62rem;
  }
}

@media (max-width: 379px) {
  .editorial-home-hero {
    padding: 24px 0 32px !important;
  }

  .editorial-home-grid {
    gap: 8px !important;
  }

  .editorial-hero-copy h1 {
    font-size: clamp(1.32rem, 7.2vw, 1.72rem) !important;
  }

  .editorial-hero-lead {
    font-size: .53rem;
    -webkit-line-clamp: 3;
  }

  .editorial-btn {
    min-height: 29px;
    padding-inline: 6px;
    font-size: .5rem;
  }

  .editorial-home-stats {
    margin-top: 11px;
    padding-top: 8px;
  }

  .editorial-home-stats span {
    font-size: .32rem;
  }

  .editorial-feature-body {
    padding: 8px;
  }

  .editorial-feature-body p {
    -webkit-line-clamp: 2;
  }
}

/* ---------------- v4.6.20: scalable reviews catalogue ----------------
   Desktop 4 columns, tablet 3/2 columns, phones 2 columns. */
@media (min-width: 1200px) {
  .catalog-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 900px) and (max-width: 1199px) {
  .catalog-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .page-reviews-index .catalog-filter {
    top: 16px !important;
  }

  .catalog-product-body { padding: 12px; }
  .catalog-product-body h3 { font-size: .9rem; }
  .catalog-product-body > p { font-size: .65rem; }
}

@media (min-width: 600px) and (max-width: 899px) {
  .catalog-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
  }

  .page-reviews-index .catalog-filter {
    top: 14px !important;
  }

  .catalog-product-body { padding: 11px; }
  .catalog-product-body h3 { font-size: .86rem; }
  .catalog-product-body > p { font-size: .63rem; }
  .catalog-product-media .badge,
  .catalog-product-media .deal,
  .catalog-product-media .rank-badge { font-size: .52rem; }
}

@media (max-width: 599px) {
  .page-reviews-index .site-header { position: relative; }
  .page-reviews-index .catalog-reviews-shell { padding-top: 24px; }

  .catalog-toolbar {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .catalog-toolbar form,
  .catalog-toolbar .sort-select { width: 100%; max-width: none; }

  .catalog-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .catalog-product-card { border-radius: 13px; }
  .catalog-product-media { border-radius: 12px 12px 0 0; }
  .catalog-product-media img { padding: 7px; }

  .catalog-product-body { padding: 10px; }
  .catalog-product-meta { display: grid; gap: 2px; font-size: .55rem; }
  .catalog-product-meta .rating { font-size: .55rem; }
  .catalog-product-body h3 {
    min-height: 3.45em;
    margin: 7px 0 6px;
    font-size: clamp(.78rem, 3.8vw, .92rem);
  }
  .catalog-product-body > p {
    min-height: 4.2em;
    font-size: .59rem;
    line-height: 1.4;
  }
  .catalog-card-footer { gap: 7px; padding-top: 10px; }
  .catalog-card-footer > span { font-size: .5rem; }
  .catalog-card-button { min-height: 32px; padding: 6px 7px; font-size: .58rem; }
  .catalog-product-media .badge,
  .catalog-product-media .deal,
  .catalog-product-media .rank-badge {
    padding: 5px 6px;
    font-size: .47rem;
  }

  .catalog-pagination {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 22px;
  }
  .pagination-pages {
    grid-column: 1 / -1;
    grid-row: 1;
    flex-wrap: wrap;
  }
  .pagination-arrow {
    grid-row: 2;
    justify-self: stretch !important;
  }
  .pagination-page,
  .pagination-arrow { min-height: 34px; font-size: .64rem; }
}

@media (max-width: 379px) {
  .catalog-product-grid { gap: 7px !important; }
  .catalog-product-body { padding: 8px; }
  .catalog-product-body h3 { font-size: .75rem; }
  .catalog-product-body > p { font-size: .55rem; }
  .catalog-card-button { font-size: .54rem; }
}

.catalog-mobile-filter-bar { display: none; }

/* ---------------- v4.6.21: compressed-tablet mobile system ----------------
   Modern phones keep as much tablet structure as remains readable.
   We shrink spacing and typography before stacking. Desktop/tablet rules above are untouched. */
@media (max-width: 599px) {
  :root {
    --gutter: 10px;
    --space-section: 42px;
  }

  body { font-size: 13px; }
  .container { width: calc(100% - 20px); }
  .section,
  .editorial-section { padding-top: 42px; padding-bottom: 42px; }

  /* Interior page heroes keep the desktop text + count-card composition. */
  .page-hero,
  .page-hero.compact,
  .contact-hero { padding: 28px 0 30px !important; }

  .intro-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(84px, 25vw) !important;
    gap: 10px !important;
    align-items: end !important;
  }

  .page-hero.compact h1,
  .intro-grid h1 {
    font-size: clamp(1.48rem, 7.2vw, 2.35rem) !important;
    line-height: 1.02;
  }

  .page-hero p,
  .intro-grid p {
    margin-top: 9px;
    font-size: clamp(.62rem, 2.55vw, .76rem);
    line-height: 1.48;
  }

  .intro-card {
    min-height: 94px !important;
    padding: 11px !important;
    border-radius: 14px !important;
  }

  .intro-card strong { font-size: clamp(1.48rem, 7vw, 2.15rem) !important; }
  .intro-card span { margin-top: 5px; font-size: .55rem; line-height: 1.3; }

  /* Keep section headings in one horizontal row when there is a trailing link. */
  .editorial-section-heading,
  .section-head,
  .split-head {
    display: flex !important;
    flex-direction: row !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .editorial-section-heading > div,
  .section-head > div,
  .split-head > div { min-width: 0; }

  .editorial-section-heading h2,
  .section-head h2,
  .split-head h2 { font-size: clamp(1.55rem, 7vw, 2.3rem) !important; }

  .editorial-section-heading > a,
  .section-head > a,
  .split-head > a {
    flex: 0 0 auto;
    font-size: .58rem;
    white-space: nowrap;
  }

  .editorial-section-intro {
    display: -webkit-box;
    overflow: hidden;
    max-width: 46ch;
    font-size: .64rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  /* Homepage category and method sections retain compact multi-column structure. */
  .editorial-category-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .editorial-category-card {
    min-height: 136px !important;
    gap: 8px !important;
    padding: 12px !important;
    border-radius: 14px !important;
  }

  .editorial-category-card h3 {
    display: -webkit-box;
    overflow: hidden;
    font-size: .9rem !important;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .editorial-category-card p {
    display: -webkit-box;
    overflow: hidden;
    font-size: .57rem !important;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .editorial-category-card.has-category-image .editorial-category-copy {
    padding: 8px !important;
    border-radius: 9px !important;
  }

  .editorial-category-number,
  .editorial-category-arrow { font-size: .58rem !important; }

  .editorial-method-points {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .editorial-method-points div {
    min-height: 92px !important;
    padding: 11px !important;
    border-radius: 12px !important;
  }

  .editorial-method-points span { font-size: .55rem !important; }
  .editorial-method-points p { font-size: .62rem !important; line-height: 1.4; }

  /* Reviews filters become a compact optional panel instead of a long compulsory block. */
  .catalog-mobile-filter-bar { display: block; margin-bottom: 10px; }
  .catalog-mobile-filter-toggle {
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid var(--ed-line);
    border-radius: 13px;
    color: var(--ed-ink);
    background: #fff;
    box-shadow: 0 7px 20px rgba(31, 45, 38, .06);
    font: inherit;
    font-size: .7rem;
    font-weight: 850;
    cursor: pointer;
  }

  .catalog-mobile-filter-toggle span {
    display: inline-flex;
    min-width: 22px;
    min-height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: var(--ed-green-dark);
    font-size: .56rem;
  }

  .catalog-reviews-layout { grid-template-columns: 1fr !important; gap: 10px !important; }
  .catalog-filter { display: none; }
  .catalog-filter.mobile-open { display: block; }

  .catalog-filter form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .catalog-filter .filter-title,
  .catalog-filter .search-box,
  .catalog-filter .filter-actions { grid-column: 1 / -1; }

  .catalog-filter .filter-title { margin-bottom: 0; }
  .catalog-filter .filter-title strong { font-size: .88rem; }
  .catalog-filter .filter-title span { font-size: .58rem; }
  .catalog-filter .filter-group { min-width: 0; margin-top: 0; }
  .catalog-filter .filter-group h3 { margin-bottom: 6px; font-size: .58rem; }
  .catalog-filter .chip-list {
    display: flex;
    max-height: 78px;
    align-content: flex-start;
    gap: 5px;
    overflow: auto;
  }
  .catalog-filter .chip { padding: 5px 7px; font-size: .55rem; }
  .catalog-filter .featured-toggle {
    align-self: end;
    margin: 0;
    padding: 8px;
    font-size: .58rem;
  }
  .catalog-filter .filter-actions { grid-template-columns: 1fr !important; }
  .catalog-filter .filter-actions .btn { min-height: 34px; }

  .catalog-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(112px, 36vw) !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px !important;
  }
  .catalog-toolbar form,
  .catalog-toolbar .sort-select { width: 100%; max-width: none; }
  .catalog-toolbar strong { font-size: .72rem; }
  .catalog-toolbar .muted { font-size: .53rem; }
  .catalog-toolbar .sort-select { min-height: 35px; padding: 6px 8px; font-size: .57rem; }

  /* Product-detail reading stays readable, but supporting panels use tablet-like grids. */
  .detail-hero,
  .pro-detail-hero { padding: 26px 0 34px !important; }

  .detail-card,
  .pro-detail-card { padding: 17px !important; border-radius: 17px !important; }
  .detail-title { font-size: clamp(1.7rem, 8vw, 2.65rem) !important; }
  .detail-lead { font-size: .7rem; line-height: 1.5; }
  .detail-meta { gap: 5px; }
  .detail-meta span { padding: 5px 7px; font-size: .52rem; }

  .detail-gallery > img,
  .pro-gallery > img { height: clamp(290px, 83vw, 440px) !important; }

  .article-nav { margin: 11px 0 !important; padding: 6px !important; }
  .article-nav a { padding: 6px 8px !important; font-size: .55rem !important; }

  .review-section { padding: 17px !important; border-radius: 17px !important; }
  .review-section h2 { font-size: clamp(1.28rem, 6vw, 1.8rem) !important; }
  .review-section p,
  .review-section li { font-size: .7rem; line-height: 1.55; }

  #pros-cons .method-grid,
  .pro-procons,
  .spec-list-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .pros-cons { gap: 6px; }
  .pros-cons li { padding: 8px !important; font-size: .62rem !important; }
  .spec-list-wide li { padding: 9px !important; }
  .spec-list-wide li span { font-size: .52rem; }
  .spec-list-wide li strong { font-size: .63rem; }

  .detail-aside {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
  }

  .score-card,
  .aside-card { min-width: 0; padding: 11px !important; border-radius: 14px !important; }
  .score-card .score strong { font-size: 1.85rem !important; }
  .score-card p,
  .aside-card p,
  .check-list-public li { font-size: .54rem !important; line-height: 1.38; }
  .aside-card h3 { font-size: .72rem !important; }
  .check-list-public { gap: 5px; }
  .check-list-public li { padding-left: 15px; }
  .full-cta { min-height: 32px !important; padding: 6px !important; font-size: .55rem !important; }

  /* Guide/contact side information is distributed horizontally to reduce scroll. */
  .guide-side {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 13px !important;
    border-radius: 15px !important;
  }
  .guide-side strong { font-size: .78rem !important; }
  .guide-side span { margin: 0 !important; font-size: .58rem; }
  .guide-side p { margin: 0; font-size: .57rem; }

  .contact-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    padding: 15px !important;
    border-radius: 17px !important;
  }
  .contact-form > .card-head,
  .contact-form > .notice,
  .contact-form > label:nth-of-type(3),
  .contact-form > label:nth-of-type(4),
  .contact-form > .hp-field,
  .contact-form > button { grid-column: 1 / -1; }
  .contact-form label { gap: 5px; font-size: .62rem; }
  .contact-form input,
  .contact-form textarea { padding: 9px 10px; border-radius: 11px; font-size: .68rem; }
  .contact-form textarea { min-height: 116px; }
  .contact-form button { min-height: 38px; }

  .contact-side {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
  }
  .mini-panel { padding: 10px !important; border-radius: 13px !important; }
  .mini-panel span { width: 24px; height: 24px; border-radius: 8px; font-size: .55rem; }
  .mini-panel strong { margin: 6px 0 4px; font-size: .66rem !important; }
  .mini-panel p { font-size: .53rem; line-height: 1.4; }

  /* Footer follows the same compressed-tablet philosophy. */
  .editorial-footer { border-top-width: 5px; }
  .editorial-footer .footer-grid,
  .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px 8px !important;
    padding-top: 28px !important;
    padding-bottom: 25px !important;
  }

  .editorial-footer .footer-brand-block,
  .footer-brand-block { grid-column: 1 / -1; }
  .editorial-footer .footer-brand { gap: 8px; font-size: .9rem; }
  .editorial-footer .footer-brand .brand-mark { width: 29px; height: 29px; border-radius: 8px; }
  .editorial-footer .footer-brand-block p {
    max-width: 64ch;
    margin-top: 10px;
    font-size: .64rem;
    line-height: 1.5;
  }
  .editorial-footer .footer-mini { margin-top: 10px; gap: 5px; }
  .editorial-footer .footer-mini span { padding: 5px 7px; font-size: .52rem; }
  .editorial-footer .footer-col { min-width: 0; }
  .editorial-footer .footer-col h3 { margin: 0 0 8px; font-size: .48rem; letter-spacing: .1em; }
  .editorial-footer .footer-col a {
    overflow: hidden;
    padding: 4px 0;
    font-size: .58rem;
    line-height: 1.25;
    text-overflow: ellipsis;
  }

  .editorial-footer .footer-bottom,
  .footer-bottom {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    font-size: .52rem !important;
    line-height: 1.45 !important;
  }
}

/* Large-screen phones can preserve the split method section too. */
@media (min-width: 420px) and (max-width: 599px) {
  .editorial-method-grid {
    display: grid !important;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
    gap: 13px !important;
    align-items: start;
  }
  .editorial-method-grid h2 { font-size: clamp(1.45rem, 5.8vw, 2rem) !important; }
}

/* Very narrow phones still keep compact multi-column patterns, but protect readability. */
@media (max-width: 359px) {
  .container { width: calc(100% - 16px); }
  .intro-grid { grid-template-columns: minmax(0, 1fr) 78px !important; gap: 7px !important; }
  .intro-card { padding: 8px !important; }
  .editorial-section-heading { gap: 7px !important; }
  .editorial-section-heading > a { font-size: .51rem; }
  .detail-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-aside .sticky-buy { grid-column: 1 / -1; }
  .contact-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-side .mini-panel.muted { grid-column: 1 / -1; }
  .guide-side { grid-template-columns: 1fr 1fr; }
  .guide-side strong { grid-column: 1 / -1; }
  .editorial-footer .footer-grid,
  .footer-grid { gap: 10px 6px !important; }
  .editorial-footer .footer-col a { font-size: .53rem; }
  .editorial-footer .footer-bottom,
  .footer-bottom { font-size: .48rem !important; }
}


/* v4.6.32 — Amazon CTA between the verdict card and full review */
@media (max-width: 1199px) {
  .verdict-amazon-cta { min-height: 52px; padding: 12px 18px; font-size: .9rem; }
  .verdict-disclosure { font-size: .7rem; }
}
@media (max-width: 599px) {
  .verdict-purchase { margin: 14px 0 18px; padding: 0 4px; }
  .verdict-amazon-cta { min-height: 44px; padding: 10px 12px; gap: 7px; font-size: .72rem; }
  .verdict-disclosure { margin-top: 9px; font-size: .6rem; line-height: 1.45; }
}

/* v4.6.34 — product sidebar cards must remain separate and grow with their content */
.page-review-detail .detail-aside {
  grid-auto-rows: max-content;
  align-content: start;
}
.page-review-detail .detail-aside > .score-card,
.page-review-detail .detail-aside > .aside-card {
  min-height: 0;
  height: auto;
  align-self: start;
  overflow: visible;
}
.page-review-detail .detail-aside .sticky-buy {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
}
.page-review-detail .sidebar-verdict-text {
  margin: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
.page-review-detail .sidebar-verdict-text strong {
  font-weight: 850;
}

