/* Snazlet homepage styles. Scoped to .snz-* classes used by the homepage blocks.
   Two typefaces only, both already used site-wide:
     display -> Playfair Display (nav + headings)
     text    -> Montserrat (body, labels, buttons)
*/

:root{
  --snz-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --snz-text:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --snz-ground:#FCFAF7;
  --snz-ground-2:#F4F0E9;
  --snz-ink:var(--contrast,#222222);
  --snz-ink-soft:#6E6458;
  --snz-rule:var(--contrast-2,#D8CBC2);
  --snz-accent:var(--accent,#4A3C32);
}

.snz-section{ padding-block: clamp(52px,7vw,88px); background:var(--snz-ground); }
.snz-section.snz-tinted{ background:var(--snz-ground-2); }

/* ---------- hero ---------- */
.snz-hero .snz-hero-title{
  font-family:var(--snz-display); font-weight:400; font-style:italic;
  font-size:clamp(32px,5vw,52px); line-height:1.12; color:#fff; margin:0;
}
.snz-hero .snz-hero-sub{
  font-family:var(--snz-text);
  color:rgba(255,255,255,.88); font-size:16px; line-height:1.75;
  max-width:46ch; margin:30px auto 0;
}
.snz-hero .snz-hero-cta .wp-block-button__link{
  font-family:var(--snz-text);
  border:1px solid rgba(255,255,255,.65); color:#fff; background:transparent;
  border-radius:0; padding:13px 30px;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  transition:background .18s ease,color .18s ease;
}
.snz-hero .snz-hero-cta .wp-block-button__link:hover,
.snz-hero .snz-hero-cta .wp-block-button__link:focus{ background:#fff; color:var(--snz-ink); }

/* ---------- section furniture ---------- */
.snz-sec-head{
  display:flex; align-items:center; gap:20px;
  font-family:var(--snz-display); font-weight:400;
  font-size:clamp(18px,2.1vw,23px); letter-spacing:.12em; text-transform:uppercase;
  color:var(--snz-ink); margin:0 0 clamp(28px,4vw,42px);
}
.snz-sec-head::before,.snz-sec-head::after{ content:""; height:1px; background:var(--snz-rule); flex:1; }
.snz-deck{
  font-family:var(--snz-text);
  font-size:15px; line-height:1.65; color:var(--snz-ink-soft); max-width:52ch;
  margin:calc(-1 * clamp(16px,3vw,26px)) auto clamp(28px,4vw,38px);
}
.snz-sec-foot{ margin:clamp(28px,4vw,40px) 0 0; }
.snz-sec-foot a{
  font-family:var(--snz-text);
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  color:var(--snz-accent); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px;
}

/* ---------- category eyebrow ---------- */
.snz-eyebrow, .snz-eyebrow a{
  font-family:var(--snz-text);
  font-size:11px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--snz-accent); font-weight:600; text-decoration:none; line-height:1.4;
}
.snz-eyebrow{ margin:14px 0 8px; }
.snz-eyebrow a:hover{ text-decoration:underline; }

/* ---------- query loop resets ---------- */
.snz-section .wp-block-post-template{ list-style:none; margin:0; padding:0; gap:clamp(26px,3.4vw,40px); }
.snz-section .wp-block-post-template > li{ list-style:none; margin:0; }
.snz-section .wp-block-post-featured-image{ margin:0; }
.snz-section .wp-block-post-featured-image img{ width:100%; height:auto; display:block; }
.snz-section .wp-block-post-excerpt{ font-family:var(--snz-text); }
.snz-section .wp-block-post-excerpt__more-text{ display:none; }

/* ---------- lead story ---------- */
.snz-lead{ gap:clamp(28px,4vw,52px); align-items:flex-start; }
.snz-lead .snz-lead-title{ margin:0; }
.snz-lead .snz-lead-title,
.snz-lead .snz-lead-title a{
  font-family:var(--snz-display); font-weight:400;
  font-size:clamp(25px,2.7vw,33px); line-height:1.22; color:var(--snz-ink); text-decoration:none;
}
.snz-lead .snz-lead-title a:hover{ color:var(--snz-accent); }
.snz-lead-query .wp-block-post-excerpt{ font-size:16.5px; line-height:1.7; color:var(--snz-ink-soft); margin:12px 0 0; }

/* ---------- also-trending rail ---------- */
.snz-rail{ border-left:1px solid var(--snz-rule); padding-left:clamp(20px,2.4vw,30px); }
.snz-rail .snz-eyebrow{ margin-top:0; margin-bottom:16px; }
.snz-rail-query .wp-block-post-template{ gap:0; }
.snz-rail-query > .wp-block-post-template > li{ padding:15px 0; border-bottom:1px solid var(--snz-rule); }
.snz-rail-query > .wp-block-post-template > li:first-child{ padding-top:0; }
.snz-rail-query > .wp-block-post-template > li:last-child{ border-bottom:none; }
.snz-rail-cat, .snz-rail-cat a{
  font-family:var(--snz-text);
  font-size:10.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--snz-ink-soft); text-decoration:none; margin:0 0 6px;
}
.snz-rail-title{ margin:0; }
.snz-rail-title, .snz-rail-title a{
  font-family:var(--snz-display); font-weight:400; font-size:17px; line-height:1.38;
  color:var(--snz-ink); text-decoration:none;
}
.snz-rail-title a:hover{ color:var(--snz-accent); }

/* ---------- topic buttons ---------- */
.snz-topic-list{ gap:10px 12px; }
.snz-topic-list .wp-block-button__link{
  font-family:var(--snz-text);
  border:1px solid var(--snz-rule); background:transparent; color:var(--snz-ink-soft); border-radius:0;
  padding:11px 20px; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
  transition:border-color .18s ease,color .18s ease;
}
.snz-topic-list .wp-block-button__link:hover,
.snz-topic-list .wp-block-button__link:focus{ border-color:var(--snz-accent); color:var(--snz-accent); }

/* ---------- picks grid ---------- */
.snz-card-title{ margin:0; }
.snz-card-title, .snz-card-title a{
  font-family:var(--snz-display); font-weight:400; font-size:20px; line-height:1.32;
  color:var(--snz-ink); text-decoration:none;
}
.snz-card-title a:hover{ color:var(--snz-accent); }
.snz-picks-query .wp-block-post-excerpt{ font-size:15px; line-height:1.65; color:var(--snz-ink-soft); margin:8px 0 0; }

/* ---------- signup ---------- */
.snz-signup{
  border:1px solid var(--snz-rule); text-align:center;
  padding:clamp(34px,5vw,54px) clamp(22px,4vw,44px);
}
.snz-signup-title{
  font-family:var(--snz-display); font-weight:400;
  font-size:clamp(22px,2.6vw,29px); line-height:1.25; color:var(--snz-ink);
  max-width:22ch; margin:0 auto;
}
.snz-signup .snz-deck{ margin:12px auto 26px; }
.snz-signup-cta .wp-block-button__link{
  font-family:var(--snz-text);
  background:var(--snz-accent); color:#fff; border-radius:0; padding:13px 28px;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
}
.snz-signup-cta .wp-block-button__link:hover{ background:var(--snz-ink); }

/* ---------- latest rows ---------- */
.snz-latest-query{ max-width:820px; margin-inline:auto; }
.snz-latest-query .wp-block-post-template{ gap:0; }
.snz-latest-query > .wp-block-post-template > li{ border-bottom:1px solid var(--snz-rule); }
.snz-latest-query > .wp-block-post-template > li:first-child{ border-top:1px solid var(--snz-rule); }
.snz-row{ margin:0; padding:22px 0; gap:22px; }
.snz-row .snz-eyebrow{ margin-top:0; }
.snz-row-title{ margin:0; }
.snz-row-title, .snz-row-title a{
  font-family:var(--snz-display); font-weight:400; font-size:18.5px; line-height:1.35;
  color:var(--snz-ink); text-decoration:none;
}
.snz-row-title a:hover{ color:var(--snz-accent); }
.snz-latest-query .wp-block-post-excerpt{ font-size:15px; line-height:1.62; color:var(--snz-ink-soft); margin:6px 0 0; }

/* ---------- responsive ---------- */
@media (max-width:781px){
  .snz-rail{ border-left:none; border-top:1px solid var(--snz-rule); padding-left:0; padding-top:26px; }
  .snz-row{ gap:14px; }
  .snz-row-media{ max-width:130px; }
  .snz-sec-head::before{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .snz-section *,.snz-hero *{ transition:none !important; }
}
/* hero rhythm */
.snz-hero .wp-block-buttons{ margin-top:38px; }
.snz-hero .wp-block-cover__inner-container{ padding-block:18px; }
.snz-hero .snz-hero-title{ margin-bottom:0; }

/* topic links */
.snz-topic-list{ display:flex; flex-wrap:wrap; gap:10px 12px; justify-content:center; }
.snz-topic-list a.snz-topic{
  font-family:var(--snz-text); border:1px solid var(--snz-rule); color:var(--snz-ink-soft);
  padding:11px 20px; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:600; text-decoration:none; transition:border-color .18s ease,color .18s ease;
}
.snz-topic-list a.snz-topic:hover, .snz-topic-list a.snz-topic:focus{ border-color:var(--snz-accent); color:var(--snz-accent); }

/* full-bleed correction */
/* The content area is already full width, so the theme's alignfull negative
   margins only push these sections off-centre. Neutralise them and let the
   inner container own the horizontal padding. */
.snz-section, .snz-hero{
  margin-left:0; margin-right:0;
  width:100%; max-width:100%;
}
.snz-section > .wp-block-group__inner-container{
  padding-inline:clamp(22px,5vw,40px);
  max-width:1200px; margin-inline:auto;
}

/* the picks deck reads as a standfirst under a left-aligned heading */
.snz-picks .snz-deck{ text-align:center; margin-inline:auto; max-width:62ch; }
@media (max-width:781px){
  /* on narrow screens the centred standfirst fights the left-aligned
     heading and cards, so it ranges left with them */
  .snz-picks .snz-deck{ text-align:left; margin-inline:0; }
}
