/* =========================================================
   RESPONSIVE — desktop, laptop, tablet, mobile, ultra-wide
   ========================================================= */

/* Ultra Wide */
@media (min-width:1600px){
  .container{ max-width:1440px; }
}

/* Laptop */
@media (max-width:1180px){
  .footer__grid{ grid-template-columns:1.2fr repeat(2,1fr); }
  .tools-layout{ grid-template-columns:240px 1fr; }
}

/* Tablet */
@media (max-width:960px){
  .nav-links{ display:none; }
  .nav-toggle{ display:flex; }
  .hero__grid{ grid-template-columns:1fr; text-align:center; }
  .hero__visual{ margin-inline:auto; }
  .tools-layout{ grid-template-columns:1fr; }
  .tools-layout .filter-panel-wrap{ order:2; }
  .blog-layout{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:36px; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .tool-detail__grid{ grid-template-columns:1fr; }
  .compare-table-wrap{ overflow-x:auto; }
}

/* Mobile */
@media (max-width:640px){
  .container{ padding-inline:18px; }
  .section{ padding-block:56px; }
  h1{ font-size:clamp(1.9rem,8vw,2.6rem); }
  .footer__grid{ grid-template-columns:1fr; gap:28px; }
  .newsletter-box{ padding:32px 20px; }
  .newsletter-form{ flex-direction:column; }
  .newsletter-form input{ width:100%; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .cards-grid{ grid-template-columns:1fr; }
  .categories-grid{ grid-template-columns:repeat(2,1fr); }
  .back-to-top{ right:16px; bottom:16px; width:44px; height:44px; }
  .hero-search-form{ flex-direction:column; }
  .filter-toggle-btn{ display:flex; }
  .tool-detail__actions{ flex-direction:column; }
  .footer__bottom{ flex-direction:column; text-align:center; }
}

/* Grid utility responsive definitions used across pages */
.cards-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; }
.categories-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:20px; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.blog-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }
.tools-layout{ display:grid; grid-template-columns:270px 1fr; gap:32px; align-items:start; }
.blog-layout{ display:grid; grid-template-columns:1fr 320px; gap:32px; align-items:start; }
.hero__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.tool-detail__grid{ display:grid; grid-template-columns:2fr 1fr; gap:40px; align-items:start; }

.filter-toggle-btn{ display:none; }
