/* Friday's Finds product room — not the Places collection family. */
.ff-page { margin: 0; background: #f7f1e4; color: #1a1f2b; font-family: Georgia, "Times New Roman", serif; }
.ff-review { margin: 0; padding: .45rem 1rem; background: #c45c26; color: #fff8ee; font-family: system-ui, sans-serif; font-size: .82rem; }
.ff-nav { display: flex; flex-wrap: wrap; gap: .85rem 1.1rem; padding: .7rem 1.1rem; font-family: system-ui, sans-serif; background: #14233a; }
.ff-nav a { color: #fff8ee; text-decoration: none; font-weight: 600; }
.ff-nav a[aria-current] { text-decoration: underline; color: #f3d48a; }

.ff-hero { position: relative; min-height: min(72vh, 38rem); display: grid; align-items: end; overflow: hidden; background: #1a1f2b; }
.ff-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.ff-hero-shade {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(12,16,24,.78) 0%, rgba(12,16,24,.42) 46%, rgba(12,16,24,.12) 100%),
              linear-gradient(to top, rgba(12,16,24,.55), transparent 42%);
}
.ff-hero-copy { position: relative; z-index: 1; max-width: 40rem; padding: 3.2rem 1.2rem 2.4rem; color: #fff8ee; }
.ff-eyebrow { font-family: system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; color: #f3d48a; margin: 0 0 .4rem; }
.ff-hero h1 { margin: 0 0 .45rem; font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.05; }
.ff-lede { font-size: 1.22rem; margin: 0 0 .55rem; max-width: 28rem; }
.ff-stamp { font-family: system-ui, sans-serif; font-weight: 800; color: #f3d48a; margin: 0 0 1.1rem; }
.ff-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.ff-cta, .ff-cta-ghost, .ff-open, .ff-amazon, .ff-showall {
  display: inline-block; font-family: system-ui, sans-serif; font-weight: 800; text-decoration: none; border-radius: 999px; padding: .55rem 1rem;
}
.ff-cta { background: #f3d48a; color: #14233a; }
.ff-cta-ghost { background: transparent; color: #fff8ee; border: 2px solid #f3d48a; }

.ff-room { max-width: 74rem; margin: 0 auto; padding: 1.6rem 1.15rem 2.2rem; }
.ff-kicker { font-family: system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; font-size: .72rem; color: #6a5640; margin: 0 0 .3rem; }
.ff-room h2, .ff-region h2 { margin: .1rem 0 .7rem; font-size: clamp(1.45rem, 3vw, 2.1rem); color: #14233a; }
.ff-note { max-width: 40rem; color: #3d4a3c; margin: 0 0 1rem; }

.ff-doors { display: flex; flex-wrap: wrap; gap: .9rem; }
.ff-door {
  flex: 1 1 14rem; max-width: 18rem; min-height: 8.2rem;
  display: flex; flex-direction: column; justify-content: flex-end; gap: .15rem;
  text-decoration: none; color: #fff8ee; border-radius: 16px; padding: 1rem 1.05rem;
  background: #14233a; box-shadow: 0 12px 24px rgba(20,35,58,.18);
  border: 1px solid rgba(243,212,138,.28);
}
.ff-door--all { background: #8a1f1f; }
.ff-door[data-door="rv-essentials"] { background: #1e4a7a; }
.ff-door[data-door="outdoor-living"] { background: #2f5d3a; }
.ff-door[data-door="tools-workshop"] { background: #8a5310; }
.ff-door-name { font-weight: 800; font-size: 1.22rem; }
.ff-door-count { font-family: system-ui, sans-serif; font-size: .88rem; color: #f3d48a; }
.ff-door-cue { font-size: .92rem; color: rgba(255,248,238,.88); }
.ff-door:hover, .ff-door:focus { outline: 2px solid #c45c26; outline-offset: 2px; }

.ff-region { margin: 0 0 1.8rem; scroll-margin-top: 1rem; }
.ff-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ff-card--more { display: none; }
.ff-grid.is-open .ff-card--more { display: flex; }
.ff-showall { margin: .9rem 0 0; border: 1px solid #c45c26; background: #fff8ee; color: #14233a; cursor: pointer; }
.ff-back { font-family: system-ui, sans-serif; margin: .85rem 0 0; }
.ff-back a { color: #8a1f1f; font-weight: 700; }

.ff-card {
  display: flex; flex-direction: column; background: #fffdf8;
  border: 1px solid rgba(138,83,16,.22); border-top: 8px solid #c45c26;
  border-radius: 16px; overflow: hidden; box-shadow: 0 10px 22px rgba(40,32,12,.08); margin: 0; padding: 0;
}
.ff-card h3 { margin: .7rem .9rem .25rem; font-size: 1.05rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ff-cue { margin: 0 .9rem .45rem; font-size: .92rem; color: #3d4a3c; }
.ff-open { margin: 0 .9rem .55rem; background: #f3d48a; color: #14233a; }
.ff-amazon { margin: 0 .9rem 1rem; background: transparent; color: #8a1f1f; border: 1px solid #c45c26; padding: .4rem .8rem; }

.ff-frame { position: relative; aspect-ratio: 16 / 9; background: #111; overflow: hidden; }
.ff-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ff-frame--catalog { background: #f4efe4; }
.ff-frame--catalog img { object-fit: contain; }
.ff-play { position: absolute; inset: 0; }
.ff-watch {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  background: #8a1f1f; color: #fff8ee; font-family: system-ui, sans-serif; font-weight: 800;
  letter-spacing: .04em; text-transform: uppercase; padding: .45rem .8rem; border-radius: 999px; pointer-events: none;
}
.ff-frame--hold {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem;
  background:
    radial-gradient(circle at 28% 22%, rgba(243,212,138,.22), transparent 46%),
    linear-gradient(165deg, #1a2a44 0%, #14233a 58%, #8a5310 145%);
  color: #f3d48a;
}
.ff-hold-mark {
  font-family: system-ui, sans-serif; font-weight: 800; letter-spacing: .16em;
  text-transform: uppercase; font-size: .7rem; color: #fff8ee;
}
.ff-hold-line { font-weight: 800; font-size: 1.05rem; }

.ff-next { margin: 1.2rem 0 0; padding: 1rem 0 0; }
.ff-next-row { display: flex; flex-wrap: wrap; gap: .7rem; }
.ff-next-card {
  background: #fffdf8; border: 1px solid rgba(138,83,16,.22); border-radius: 14px;
  padding: .85rem 1rem; text-decoration: none; color: #14233a; font-weight: 700;
}
.ff-disc { font-family: system-ui, sans-serif; font-size: .88rem; color: #5c5346; margin: 1.4rem 0 0; }

@media (max-width: 1100px) { .ff-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) {
  .ff-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ff-door { max-width: none; }
  .ff-hero { min-height: 28rem; }
  .ff-hero-img { object-position: 60% 50%; }
}
@media (max-width: 520px) {
  .ff-grid { grid-template-columns: 1fr; }
  .ff-door { flex-basis: 100%; }
  .ff-hero-copy { padding: 5.5rem 1rem 1.6rem; }
  .ff-cta, .ff-cta-ghost, .ff-open, .ff-amazon { min-height: 2.6rem; }
  .ff-cta, .ff-cta-ghost { width: 100%; text-align: center; box-sizing: border-box; }
}
