/* Homepage-only styles. Loaded only when isHome is passed to partials/head. */
.gsm-home { --n9:#0f1a30; --n8:#1a2a4a; --n7:#24375f; --red:#cc3a35; --red2:#b02a2a; --line:#d9e1ee; background:#f2f5fa; }
.gsm-home :focus-visible { outline:3px solid #f0b23a; outline-offset:2px; border-radius:6px; }

/* Header: compact navy, tablet collapse at <1024px */
.gsm-home .gsm-header { background:var(--n9); }
.gsm-home .gsm-header > div > div:first-child { height:5.5rem; }
.gsm-home .gsm-header img { height:4.5rem; }
.gsm-home .gsm-desk-nav a { padding:.5rem .7rem; }
.gsm-home .gsm-desk-nav a[aria-current="page"] { box-shadow:inset 0 -3px 0 var(--red); border-radius:0; }
.gsm-home .gsm-desk-nav a[href="/add-sale"] { padding:.6rem 1.1rem; border-radius:.6rem; }
@media (max-width:1023.98px){
  .gsm-home .gsm-desk-nav { display:none !important; }
  .gsm-home .gsm-mob-bar { display:flex !important; }
  .gsm-home #mobile-menu:not(.hidden) { display:block !important; }
}
@media (min-width:1024px){ .gsm-home .gsm-mob-bar, .gsm-home #mobile-menu { display:none !important; } }
@media (max-width:639.98px){ .gsm-home .gsm-header > div > div:first-child { height:4.5rem; } .gsm-home .gsm-header img { height:3.5rem; } }

/* Hero */
.gsm-home .gsm-hero { background:var(--n8); }
.gsm-hero-photo { position:absolute; inset:0; background:
  linear-gradient(90deg, var(--n8) 0%, rgba(26,42,74,.98) 35%, rgba(26,42,74,.88) 48%, rgba(26,42,74,.52) 66%, rgba(26,42,74,.15) 100%),
  url('/img/michigan-yard-sale-hero.webp') right center / cover no-repeat; }
.gsm-hero-inner { padding-top:2rem; padding-bottom:1.75rem; }
.gsm-hero h1 { font-size:clamp(2.1rem,4.6vw,3.4rem); }
/* Existing brick-400 brand accent: lighter than button red for large text on navy. */
.gsm-hero .gsm-accent { color:#df615c; }
.gsm-search { max-width:38rem; margin-top:1.5rem; }
.gsm-hero-inner > a { margin-top:1rem; }
.gsm-search input { border-radius:.7rem; padding:.95rem 1.2rem; }
.gsm-search button { border-radius:.7rem; }
.gsm-quick { margin-top:1.1rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; max-width:48rem; }
.gsm-quick a { display:flex; align-items:flex-start; gap:.6rem; min-width:0; min-height:5.4rem; padding:.7rem .4rem; border-radius:.7rem; color:#e8eef8; transition:background-color .2s; }
.gsm-quick a:hover { background:rgba(255,255,255,.09); }
.gsm-quick svg { width:1.7rem; height:1.7rem; margin-top:.1rem; flex:none; fill:none; stroke:#fff; stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round; }
.gsm-quick strong { display:block; font-size:.85rem; }
.gsm-quick small { display:block; font-size:.72rem; color:#d1dbeb; }
@media (max-width:1023.98px){
  .gsm-hero-photo { background:linear-gradient(180deg, rgba(26,42,74,.82), var(--n8) 85%), url('/img/michigan-yard-sale-hero.webp') center/cover no-repeat; }
}
@media (max-width:767.98px){
  .gsm-hero-inner { padding-top:1.5rem; padding-bottom:1.5rem; }
  .gsm-hero-inner > p.text-lg { font-size:1rem; line-height:1.6; margin-top:1rem; }
  .gsm-quick { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gsm-quick a { min-height:4.4rem; }
}

/* Section heads / buttons */
.gsm-home main h2.font-display { letter-spacing:-.01em; }
.gsm-outline-btn { display:inline-flex !important; align-items:center; gap:.35rem; white-space:nowrap; border:1.5px solid var(--red); color:var(--red2); background:#fff; padding:.5rem .95rem; border-radius:.55rem; font-size:.85rem; font-weight:600; transition:background-color .2s,color .2s; }
.gsm-outline-btn:hover { background:var(--red); color:#fff; }
@media (max-width:639.98px){ .gsm-home .flex.items-end.justify-between:has(.gsm-outline-btn) { flex-wrap:wrap; align-items:flex-start; } }
.gsm-home a.gsm-outline-btn.hidden { display:none !important; }
@media (min-width:640px){ .gsm-home a.gsm-outline-btn.hidden { display:inline-flex !important; } }

/* Cards: 4 columns on desktop, all items kept */
@media (min-width:1024px){ .gsm-cards { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:1rem !important; } }
.gsm-cards > a { border-radius:.9rem; box-shadow:0 1px 2px rgba(15,26,48,.06),0 6px 18px -10px rgba(15,26,48,.25); }
.gsm-cards > a:hover { transform:translateY(-2px); }
.gsm-cards h3 { font-size:1rem; }

/* Hosting CTA */
.gsm-cta { border-radius:1.1rem !important; padding:1.75rem 2rem !important; background:var(--n8) !important; }
@media (min-width:1024px){ .gsm-cta { grid-template-columns:1.2fr 1fr !important; } }
.gsm-benefits { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:0 !important; }
.gsm-benefits li { background:transparent !important; border-left:1px solid rgba(255,255,255,.16); border-radius:0 !important; padding:.4rem .7rem !important; text-align:center; font-size:.75rem; color:#cfd9ea; }
.gsm-benefits li span { font-size:1.15rem !important; color:#ff8a83 !important; }
@media (max-width:639.98px){ .gsm-benefits { grid-template-columns:repeat(2,minmax(0,1fr)) !important; row-gap:.9rem !important; } .gsm-benefits li:nth-child(odd){ border-left:0; } }

/* Free sign */
.gsm-sign { padding:1.25rem 1.5rem !important; border-radius:1rem !important; }
.gsm-sign img { width:9.5rem; transform:rotate(-2deg); box-shadow:0 8px 20px -10px rgba(15,26,48,.4); }

/* Posts */
#home-blog { scroll-margin-top:7rem; }
.gsm-posts { gap:1.25rem !important; grid-auto-rows:1fr; }
.gsm-posts article { min-width:0; border-radius:.9rem; flex-direction:column; }
.gsm-posts article > a:first-child { width:100%; flex:none; aspect-ratio:16/9; }
.gsm-posts article > a:first-child img { object-fit:cover; }
.gsm-posts article > div { padding:1.25rem; }
.gsm-posts h3 { font-size:1.125rem; line-height:1.4; }
.gsm-posts article > div > p.flex-1 {
  flex:initial; display:-webkit-box; -webkit-box-orient:vertical;
  -webkit-line-clamp:3; overflow:hidden;
}
.gsm-posts article > div > a:last-child { margin-top:auto; padding-top:1rem; }

/* Newsletter stays in place, compact */
.gsm-news > section { border-radius:1.1rem; padding:1.75rem 2rem; background:var(--n9); }

/* Footer */
.gsm-home .gsm-footer { background:var(--n9); margin-top:0; }
.gsm-foot-logo { height:3.5rem; width:auto; margin-right:.25rem; }
.gsm-home .gsm-foot-m { display:none; }
.gsm-home .gsm-footer h3 { color:#7fa2e0; }

@media (prefers-reduced-motion:reduce){
  .gsm-home *, .gsm-home *::before, .gsm-home *::after { transition:none !important; animation:none !important; }
  .gsm-home .gsm-cards > a:hover, .gsm-home .group:hover img { transform:none !important; }
}
