/* =========================================================
   WALL OF LOVE · /wall-of-love
   Eight Sleep wall-of-love pattern: big statement hero,
   rating, filter chips, columns masonry of reviews + story
   photo cards. (Kelvin 2026-07-13)
   ========================================================= */

/* fc-wrap sizes AND self-centres on this page (the sitewide width/auto-margin
   rules live in page CSS files this route doesn't load; without this the
   wraps render full-width flush-left) */
.page-wall .fc-wrap{ width:min(1200px,92vw); margin-inline:auto; }

/* ---- hero ---- */
/* hero, Eight Sleep temperature: one calm line, generous air, tight rating
   cluster — brand fonts (Poppins) kept, just carried lighter */
.page-wall .wall-hero{ padding:calc(84px + clamp(3rem,7.5vw,6.5rem)) 0 clamp(1.8rem,3.4vw,3rem); text-align:center; background:#fff; }
.page-wall .wall-hero__h1{ font:800 clamp(2rem,4.6vw,3.5rem)/1.12 'Poppins',sans-serif; letter-spacing:-.02em;
  margin:0 auto clamp(2.6rem,6vw,4.5rem); max-width:40ch; text-wrap:balance; }
.page-wall .wall-hero__score{ display:flex; align-items:center; justify-content:center; gap:.9rem; margin-bottom:clamp(2.4rem,5.5vw,4rem); }
.page-wall .wall-hero__num{ font:800 clamp(2.4rem,4.4vw,3.2rem)/1 'Poppins',sans-serif; letter-spacing:-.03em; }
.page-wall .wall-hero__meta{ display:flex; flex-direction:column; align-items:stretch; gap:.15rem; }
.page-wall .wall-stars{ color:var(--fc-orange,#F6921E); letter-spacing:.08em; font-size:.95rem; }
/* Eight Sleep rating cluster: stars span exactly the width of the line below */
.page-wall .wall-stars--spread{ display:flex; justify-content:space-between; font-size:1.25rem; letter-spacing:0; line-height:1; }
.page-wall .wall-stars--spread i{ font-style:normal; }
.page-wall .wall-hero__count{ font:700 .92rem/1.3 'Poppins',sans-serif; color:var(--fc-ink,#141414); white-space:nowrap; }

/* chips (Eight Sleep pills: soft grey, active = ink) */
.page-wall .wall-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }
.page-wall .wall-chip{ appearance:none; border:0; cursor:pointer; font:600 .92rem/1 'Poppins',sans-serif;
  color:var(--fc-ink,#141414); background:#F1EFEA; border-radius:999px; padding:.85rem 1.35rem;
  transition:background .18s ease, color .18s ease, transform .18s ease; }
.page-wall .wall-chip:hover{ transform:translateY(-1px); }
.page-wall .wall-chip.is-on{ background:var(--fc-ink,#141414); color:#fff; }

/* ---- the wall ---- */
.page-wall .wall-wall{ background:var(--fc-paper,#F7F5F1); padding:clamp(2rem,4.5vw,3.4rem) 0 clamp(2.4rem,5vw,4rem); }
.page-wall .wall-wall .fc-wrap{ width:min(1560px,92vw); }
.page-wall .wall-cols{ columns:4 300px; column-gap:1.1rem; }
.page-wall .wall-item{ break-inside:avoid; margin:0 0 1.1rem; display:block; border-radius:18px;
  transition:transform .22s ease, box-shadow .22s ease; }
.page-wall .wall-item:hover{ transform:translateY(-4px); box-shadow:0 16px 38px rgba(20,14,4,.10); }
.page-wall .wall-item.is-hidden{ display:none; }

/* review card: full text, no clamp (Eight Sleep: the wall breathes on its own) */
.page-wall .wall-rev{ background:#fff; border:1px solid var(--fc-line,#ECE8E2); overflow:hidden;
  content-visibility:auto; contain-intrinsic-size:auto 420px; }
.page-wall .wall-rev__body{ padding:1.25rem 1.35rem 1.25rem; }
.page-wall .wall-rev__ava--ini{ display:grid; place-items:center; background:#FDE7CB; color:#B4650A;
  font:700 1.05rem/1 'Poppins',sans-serif; }
.page-wall .wall-rev__reco{ display:inline-flex; align-items:center; gap:.4rem; margin-bottom:.5rem;
  font:600 .82rem/1 'Poppins',sans-serif; color:#1877F2; }
/* photo reviews: the upload IS the feature, full-bleed on top of the card */
.page-wall .wall-rev__hero{ display:block; background:#1c1c1c; }
.page-wall .wall-rev__hero img{ width:100%; max-height:460px; object-fit:cover; display:block; }
.page-wall .wall-rev__pics{ display:flex; gap:.5rem; margin-top:.9rem; }
.page-wall .wall-rev__pics a{ display:block; flex:1; min-width:0; }
.page-wall .wall-rev__pics img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; display:block; }
.page-wall .wall-rev__head{ display:flex; align-items:center; gap:.7rem; margin-bottom:.55rem; }
.page-wall .wall-rev__ava{ width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; }
.page-wall .wall-rev__who{ display:flex; flex-direction:column; gap:.05rem; min-width:0; flex:1; }
.page-wall .wall-rev__name{ font:600 .95rem/1.25 'Poppins',sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.page-wall .wall-rev__when{ font-size:.8rem; color:var(--fc-mid,#8a8a8a); }
.page-wall .wall-rev__badge{ flex:none; }
.page-wall .wall-rev__stars{ display:block; font-size:.9rem; margin-bottom:.5rem; }
.page-wall .wall-rev__text{ margin:0; font-size:.93rem; line-height:1.65; color:var(--fc-ink-2,#414042); }

/* story card (photo / video) */
.page-wall .wall-story{ position:relative; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--fc-line,#ECE8E2); overflow:hidden; }
.page-wall .wall-story__imgwrap{ position:relative; display:block; aspect-ratio:4/4.6; background:#1c1c1c; }
.page-wall .wall-story__imgwrap img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.page-wall .wall-story__imgwrap iframe{ width:100%; height:100%; border:0; display:block; }
.page-wall .wall-story__play{ position:absolute; inset:0; margin:auto; width:64px; height:64px; border-radius:50%;
  border:0; cursor:pointer; background:rgba(255,255,255,.92); display:grid; place-items:center;
  transition:transform .18s ease, background .18s ease; }
.page-wall .wall-story__play svg{ width:26px; height:26px; fill:var(--fc-ink,#141414); margin-left:3px; }
.page-wall .wall-story__play:hover{ transform:scale(1.07); background:#fff; }
.page-wall .wall-story__stat{ position:absolute; left:.9rem; bottom:.9rem; background:rgba(20,20,20,.85); color:#fff;
  font:700 .85rem/1 'Poppins',sans-serif; border-radius:999px; padding:.55rem .85rem; }
.page-wall .wall-story__stat em{ font-style:normal; color:var(--fc-orange,#F6921E); }
.page-wall .wall-story__cap{ display:block; padding:1rem 1.2rem 1.15rem; }
.page-wall .wall-story__tag{ display:block; font:700 .72rem/1 'Poppins',sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-orange,#F6921E); margin-bottom:.45rem; }
.page-wall .wall-story__title{ display:block; font:700 1.05rem/1.35 'Poppins',sans-serif; }

/* foot: per-platform source pills + CTA band */
.page-wall .wall-foot{ text-align:center; margin:clamp(1.8rem,3.5vw,2.8rem) 0 0; }
.page-wall .wall-foot__label{ margin:0 0 .9rem; font:600 .9rem/1 'Poppins',sans-serif; color:var(--fc-mid,#5c5c5c); }
.page-wall .wall-foot__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }
.page-wall .wall-foot__pill{ display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
  font:600 .88rem/1 'Poppins',sans-serif; color:var(--fc-ink,#141414);
  background:#fff; border:1px solid var(--fc-line,#ECE8E2); border-radius:999px; padding:.7rem 1.1rem;
  transition:transform .18s ease, box-shadow .18s ease; }
.page-wall .wall-foot__pill:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,14,4,.10); }
.page-wall .wall-foot__pill span{ color:var(--fc-orange,#F6921E); }
.page-wall .wall-foot__label--follow{ margin-top:2rem; }
/* social row: logo circles only (Kelvin 2026-07-13: no captions) */
.page-wall .wall-foot__ico{ display:inline-flex; text-decoration:none; }
.page-wall .wall-foot__ico-circle{ display:grid; place-items:center; width:52px; height:52px; border-radius:50%;
  background:#fff; border:1px solid var(--fc-line,#ECE8E2); color:var(--fc-ink,#141414);
  transition:transform .18s ease, box-shadow .18s ease; }
.page-wall .wall-foot__ico-circle svg{ width:20px; height:20px; }
.page-wall .wall-foot__ico:hover .wall-foot__ico-circle{ transform:translateY(-3px); box-shadow:0 10px 24px rgba(20,14,4,.12); }

/* CTA button (fc-btn styles live in page CSS this route doesn't load) */
.page-wall .wall-cta .fc-btn{ display:inline-flex; align-items:center; justify-content:center;
  font:600 1rem/1 'Poppins',sans-serif; color:#fff; background:var(--fc-orange,#F6921E);
  text-decoration:none; border-radius:999px; padding:1rem 1.7rem;
  transition:transform .18s ease, box-shadow .18s ease; }
.page-wall .wall-cta .fc-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(246,146,30,.35); }
.page-wall .wall-cta{ background:#fff; text-align:center; padding:clamp(3rem,7vw,5rem) 0; }
.page-wall .wall-cta__sub{ margin:.7rem auto 1.6rem; color:var(--fc-mid,#5c5c5c); max-width:46ch; }

/* in-page lightbox for review photos */
.page-wall .wall-lightbox{ position:fixed; inset:0; z-index:120; display:none; place-items:center;
  background:rgba(12,10,7,.88); padding:4vh 4vw; cursor:zoom-out; }
.page-wall .wall-lightbox.is-on{ display:grid; }
.page-wall .wall-lightbox img{ max-width:92vw; max-height:90vh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.page-wall .wall-lightbox__close{ position:absolute; top:18px; right:22px; appearance:none; border:0; cursor:pointer;
  width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-size:1.1rem; }
.page-wall .wall-lightbox__close:hover{ background:rgba(255,255,255,.28); }

@media (max-width:640px){
  .page-wall .wall-cols{ columns:1; }
  .page-wall .wall-hero__h1 br{ display:none; }
}
