/* Public storefront design, shared by the catalog, products and editorial pages. */
body.garimio-front {
  background: var(--paper);
  color: var(--ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.garimio-front .site-header { background: #fff; border-bottom: 1px solid var(--line); }
.garimio-front .site-nav-links a { font-weight: 750; }
.garimio-front .nav-search { background: var(--cream); border-color: var(--line); }
.garimio-front .nav-search button,
.garimio-front .home-search button { background: var(--ink); color: #fff; }
.garimio-front .primary-btn,
.garimio-front .buy-btn { background: var(--orange-dark); color: #fff; }
.garimio-front .primary-btn:hover,
.garimio-front .buy-btn:hover { background: #852910; }
.garimio-front a:focus-visible,
.garimio-front button:focus-visible,
.garimio-front summary:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: 4px; }
.garimio-front .home-search:focus-within { outline: 2px solid var(--orange-dark); outline-offset: 3px; }
.garimio-front .nav-search input:focus-visible { outline: none; }
.garimio-front .nav-search button:focus-visible { outline: none; text-decoration: underline; }
.garimio-front .eyebrow { color: var(--orange-dark); letter-spacing: .1em; }

.garimio-front .home-hero,
.garimio-front .guides-hero {
  background: radial-gradient(ellipse at 50% 0%, #fff 0%, transparent 70%), linear-gradient(160deg, #fffdf9, #f7eee3);
  padding-block: 28px 32px;
}
.garimio-front .home-hero { padding-block: 16px 18px; }
.garimio-front .home-hero-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
}
.garimio-front .home-intro { text-align: left; }
.garimio-front .home-intro h1 {
  margin: 12px 0 14px;
  font-size: clamp(2.1rem, 4.2vw, 4rem);
  line-height: 1.06;
  letter-spacing: -.045em;
}
.garimio-front .home-intro h1 span { color: var(--orange-dark); }
.garimio-front .home-intro > p { max-width: 480px; margin: 0; line-height: 1.55; }
.garimio-front .home-intro > .home-actions:first-of-type { margin-top: 16px; }
.garimio-front .home-intro-note { column-gap: 18px; }
.garimio-front .home-search { width: min(100%, 500px); margin: 18px 0 14px; }

.garimio-front .home-feature {
  width: min(100%, 890px);
  margin-inline: auto;
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: 0 12px 28px #17233512;
}
.garimio-front .home-feature-link { display: block; }
.garimio-front .feature-top { border-bottom: 1px solid var(--line); padding-block: 10px; }
.garimio-front .feature-image { height: clamp(140px, 15vw, 205px); background: var(--cream); }
.garimio-front .feature-image img { position: absolute; inset: 0; padding: 0; }
.garimio-front .feature-top > span:last-child { text-align: end; }
.garimio-front .feature-copy { padding: 16px 20px; }
.garimio-front .feature-copy h2 { font-size: clamp(1.15rem, 2vw, 1.55rem); margin-bottom: 8px; }
.garimio-front .feature-copy p { margin-bottom: 10px; }
.garimio-front .home-guides { padding-top: clamp(24px, 4vw, 48px); }

.garimio-front .home-categories,
.garimio-front .home-catalog { padding-top: clamp(24px, 4vw, 48px); }
.garimio-front .home-offer-preview { padding-top: 16px; }
.garimio-front .home-offer-preview .home-section-head h2 { margin-top: 4px; }
.garimio-front :is(.guides-list, .listing-catalog) { padding-top: 20px; }
.garimio-front :is(.guide-breadcrumbs, .breadcrumbs, .listing-header) { padding-top: 12px; }
.garimio-front .listing-header nav { margin-bottom: 10px; }
.garimio-front .guides-hero h1 { font-size: clamp(2rem, 4.3vw, 3.5rem); }
.garimio-front .method-hero { padding-block: 24px 28px; }
.garimio-front .home-section-head h2 { font-size: clamp(1.7rem, 3.5vw, 2.8rem); }
.garimio-front .home-bridge { background: var(--cream); }
.garimio-front .bridge-intro { background: var(--ink); }
.garimio-front .home-guide-image,
.garimio-front .guide-image,
.garimio-front .product-image { background: var(--cream); }
.garimio-front .home-category-icon { background: var(--cream); color: var(--orange-dark); }
.garimio-front .home-catalog .empty-icon { border-radius: 0; }
.garimio-front .home-guide-card,
.garimio-front .guide-card,
.garimio-front .product-card { border-radius: 0; box-shadow: none; }
.garimio-front .guides-hero .wrap { text-align: center; }
.garimio-front .guides-hero p { margin-inline: auto; }

.garimio-front :is(.guide-hero, .product-hero) { padding-block: 16px 28px; }
.garimio-front .guide-hero h1 { margin-block: 8px 14px; font-size: clamp(1.95rem, 4vw, 3.4rem); }
.garimio-front .guide-hero h1,
.garimio-front .listing-header h1,
.garimio-front .detail-summary h1 { letter-spacing: -.055em; }
.garimio-front .guide-answer,
.garimio-front .scenario-card,
.garimio-front .method-note,
.garimio-front .fact-card,
.garimio-front .guide-toc { background: var(--cream); border-color: var(--line); }
.garimio-front .guide-cover,
.garimio-front .detail-image,
.garimio-front .price-panel { border-color: var(--line); box-shadow: var(--shadow); }
.garimio-front .comparison-wrap thead th { background: var(--cream); }
.garimio-front .site-footer { background: var(--ink); color: #fffdf9; }
.garimio-front .site-footer a,
.garimio-front .site-footer p,
.garimio-front .site-footer span { color: #e5ebf2; }
.garimio-front .site-footer a:focus-visible { outline-color: #ffb49f; }

@media (max-width: 720px) {
  .garimio-front .home-hero { padding-block: 20px 24px; }
  .garimio-front .home-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .garimio-front .feature-image { height: 150px; }
  .garimio-front .home-guide-grid { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; }
  .garimio-front .home-section-head { align-items: flex-start; flex-wrap: wrap; }
}

.garimio-front :is(.home-category, .bridge-intro, .guide-cover, .detail-image,
  .price-panel, .fact-card, .guide-answer, .scenario-card, .guide-toc,
  .comparison-wrap, .comparison-wrap tbody tr, .method-note, .catalog-pagination) {
  border-radius: 0;
  box-shadow: none;
}

.garimio-front :is(button, input, select, textarea, [role="button"],
  .nav-search, .home-search, .primary-btn, .secondary-btn, .buy-btn,
  .card-action, .bridge-link, .filter-apply, .catalog-page,
  .more-offers, .pagination a, .pagination span) {
  border-radius: 0;
}

.garimio-front .nav { justify-content: space-between; }
.garimio-front .site-nav-links a { border-radius: 0; }
.garimio-front .site-nav-links a:first-child:not([aria-current]) { background: transparent; color: var(--ink); }
.garimio-front .site-nav-links a:hover { background: var(--cream); }
.garimio-front .skip-to-content {
  position: fixed;
  inset: 8px auto auto 8px;
  z-index: 40;
  padding: 12px 16px;
  background: var(--ink);
  color: #fff;
  transform: translateY(-150%);
}
.garimio-front .skip-to-content:focus { transform: none; }
.garimio-front .listing-filters .filter-apply { display: inline-flex; align-items: center; }
.garimio-front :is(.listing-filters select, .filter-apply, .home-search button) { min-height: 44px; }
.garimio-front :is(.listing-filters select, .home-search input):focus-visible {
  outline: 2px solid var(--orange-dark);
  outline-offset: 2px;
}
@media (max-width: 720px) {
  .garimio-front :is(.home-search input, .nav-search input, .listing-filters select) { font-size: 1rem; }
}
