/* =============================================================
   BASE  — css/base.css
   Reset, global elements, utility classes
   ============================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; }
body  {
  font-family: var(--pq-font);
  background:  var(--pq-white);
  color:       var(--pq-ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a   { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul  { list-style: none; }
.screen-reader-text { position: absolute; left: -9999px; }

/* ── Container ─────────────────────────────────────────────── */
.pq-container {
  width:         min(calc(100% - 2 * var(--pq-gutter)), var(--pq-max));
  margin-inline: auto;
}

/* ── Section spacing ────────────────────────────────────────── */
.pq-section { padding: clamp(40px, 5vw, 72px) 0; }

/* ── Section row header (title left + link right) ───────────── */
.pq-section-row-head {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  gap:             16px;
  margin-bottom:   22px;
}
.pq-section-row-head h2 {
  font-size:      clamp(1.2rem, 2vw, 1.55rem);
  font-weight:    800;
  letter-spacing: -.025em;
}
.pq-view-all {
  font-size:   .85rem;
  font-weight: 600;
  color:       var(--pq-muted);
  white-space: nowrap;
  transition:  color var(--pq-ease);
}
.pq-view-all:hover { color: var(--pq-green); }

/* ── Kicker label ───────────────────────────────────────────── */
.pq-kicker {
  display:        inline-block;
  font-size:      .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight:    800;
  color:          var(--pq-green-light);
  margin-bottom:  10px;
}

/* ── Buttons ─────────────────────────────────────────────────── */
.pq-btn {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  gap:             6px;
  border-radius:   999px;
  padding:         12px 24px;
  font-family:     var(--pq-font);
  font-weight:     700;
  font-size:       .875rem;
  transition:      var(--pq-ease);
  cursor:          pointer;
  border:          none;
  text-decoration: none;
  white-space:     nowrap;
}
.pq-btn--primary               { background: var(--pq-green);  color: #fff; }
.pq-btn--primary:hover         { background: var(--pq-green-mid); }
.pq-btn--ghost                 { background: var(--pq-white); color: var(--pq-ink); border: 1.5px solid rgba(16,37,41,.2); }
.pq-btn--ghost:hover           { border-color: var(--pq-green); color: var(--pq-green); }
.pq-btn--sm                    { padding: 8px 16px; font-size: .8rem; }

/* ── Checklist ──────────────────────────────────────────────── */
.pq-checks { display: grid; gap: 10px; }
.pq-checks li { display: flex; align-items: flex-start; gap: 8px; }
.pq-checks li::before { content: '✓'; color: var(--pq-orange); font-weight: 900; flex-shrink: 0; }

/* ── No-products fallback ───────────────────────────────────── */
.pq-no-products { color: var(--pq-muted); padding: 32px; text-align: center; }
.pq-no-products a { color: var(--pq-green); font-weight: 700; }

/* WordPress layout overrides (full-width pages) */
body.home .entry-content,
body.home .wp-site-blocks,
body.home main,
body.page-template-homepage .entry-content,
body.page-template-homepage main {
  max-width: none !important;
  width:     100%  !important;
  padding:   0     !important;
}
.pq-homepage { overflow-x: hidden; }
