/* Photo category navigation; official marketplace cards are not modified. */
.truelove-topbar { background:#2b5947; color:#fff; text-align:center; padding:.38rem 1rem; font-size:.75rem; line-height:1.5; }
.truelove-topbar a { color:inherit; text-decoration:none; font-weight:650; }
.truelove-topbar a:hover { text-decoration:underline; }
.truelove-nav { font-weight:700; color:#2b5947; }
.category-hub, .reading.category-hub { width:min(1180px,calc(100% - 4rem)); max-width:1180px; padding-top:1rem; }
.category-hub > .eyebrow { margin:0 0 .35rem; font-size:.7rem; }
.category-hub h1, .category-home h1 { font:700 clamp(1.6rem,3.3vw,2.5rem)/1.5 var(--body-font); margin:.2rem 0 .4rem; letter-spacing:.01em; }
.category-hub > .lead, .category-home .category-lead { margin:.3rem 0 1.2rem; color:var(--muted); font-size:.92rem; line-height:1.75; }
.category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:1.2rem 0 .6rem; }
.category-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; text-decoration:none; color:var(--ink); background:#fffdf8; border:1px solid #dedfd3; border-radius:18px; box-shadow:0 3px 14px #35493608; transition:transform .18s ease, box-shadow .18s ease; }
.category-card:hover { transform:translateY(-3px); box-shadow:0 7px 20px #35493617; }
.category-card:focus-visible { outline:3px solid #2b5947; outline-offset:4px; }
.category-image { overflow:hidden; background:#f0eee4; aspect-ratio:3 / 2; }
.category-image img { display:block; width:100%; height:100%; object-fit:cover; }
.category-card-copy { padding:1rem 1.05rem; flex:1; display:flex; flex-direction:column; }
.reading .category-card h2, .category-card h2 { margin:0 0 .4rem; padding:0; border:0; font:700 clamp(1rem,1.6vw,1.25rem)/1.55 var(--body-font); }
.category-card p { margin:0 0 .85rem; font-size:.78rem; line-height:1.75; color:var(--muted); }
.category-card-copy > span:last-child { margin-top:auto; font-size:.79rem; font-weight:700; color:#2b5947; display:flex; align-items:center; justify-content:space-between; }
.category-card-copy b { font-size:1.2rem; }
.category-card.category-brand { grid-column:1 / -1; display:grid; grid-template-columns:170px minmax(0,1fr); background:#edf2e6; }
.category-brand .category-image { height:100%; min-height:150px; aspect-ratio:auto; background:#fff; }
.category-brand .category-image img { object-fit:contain; }
.category-brand .category-card-copy { padding:1.1rem 1.4rem; }
.category-brand .category-card-copy p { margin-bottom:.55rem; }
.category-brand-label { color:#647451; font-size:.7rem; font-weight:700; margin-bottom:.25rem; }
.category-image-note, .reading .category-image-note { font-size:.65rem; line-height:1.65; color:var(--muted); margin:.6rem 0 1rem; }
.category-hub-links { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; margin:1.15rem 0; font-size:.85rem; }
.category-hub-links .button { padding:.75rem 1.15rem; border-radius:8px; font-size:.85rem; }
.category-disclosure, .reading .category-disclosure { color:var(--muted); font-size:.72rem; line-height:1.75; }
.category-legacy-anchor { display:block; width:0; height:0; overflow:hidden; }
.category-home { padding-block:1rem 1.5rem; }
.category-home .category-grid { margin-top:1rem; }
.category-home-bottom { margin-top:1.5rem; display:flex; align-items:center; flex-wrap:wrap; gap:1rem; font-size:.85rem; }
.collection-navigation { display:flex; gap:.45rem; flex-wrap:wrap; margin:.4rem 0 1.1rem; }
.collection-navigation a { display:block; padding:.4rem .7rem; border:1px solid var(--line); border-radius:20px; text-decoration:none; font-size:.74rem; line-height:1.5; background:#fffdf8; }
.collection-navigation a[aria-current="page"] { background:#2b5947; color:#fff; border-color:#2b5947; }
.collection-navigation .collection-truelove { border-color:#a0b69b; font-weight:700; }
.collection-brand-callout { display:grid; grid-template-columns:95px minmax(0,1fr); align-items:center; gap:1rem; padding:.9rem 1rem; background:#eef3e8; border:1px solid #ccd6c4; border-radius:12px; margin:.9rem 0 1.2rem; }
.collection-brand-callout img { width:95px; height:90px; object-fit:contain; border-radius:8px; background:#fff; }
.collection-brand-callout span { font-size:.67rem; color:#647451; }
.reading .collection-brand-callout h2 { margin:.15rem 0 .3rem; padding:0; border:0; font:700 1rem/1.5 var(--body-font); }
.reading .collection-brand-callout p { margin:.3rem 0; font-size:.76rem; line-height:1.7; }
.collection-brand-callout .button { padding:.5rem .8rem; font-size:.77rem; min-height:36px; border-radius:6px; }
.collection-brand-callout-text { display:block; }
.collection-intro, .reading .collection-intro { font-size:.81rem; margin:.6rem 0; }
.collection-note, .reading .collection-note { font-size:.73rem; color:var(--muted); margin:.5rem 0; line-height:1.75; }
.reading .collection-list-heading { font:700 1.1rem/1.6 var(--body-font); margin:0 0 .8rem; padding:0; border:0; }
.collection-end { font-size:.85rem; margin:2rem 0; }
@media(max-width:1000px) { .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:700px) {
  .truelove-topbar { padding:.3rem .7rem; font-size:.67rem; }
  body:has(.category-hub, .category-home, .category-collection) .site-header { padding-block:.55rem; gap:.6rem; }
  body:has(.category-hub, .category-home, .category-collection) .brand-logo { width:3.3rem; height:2.65rem; }
  body:has(.category-hub, .category-home, .category-collection) .brand-label small { display:none; }
  .category-hub, .reading.category-hub { width:calc(100% - 2rem); padding-top:.5rem; }
  .category-hub > .eyebrow { display:none; }
  .category-hub h1, .category-home h1 { font-size:1.45rem; line-height:1.45; margin:0 0 .35rem; }
  .category-hub > .lead, .category-home .category-lead { font-size:.78rem; line-height:1.7; margin:0 0 .8rem; }
  .category-grid { gap:12px; margin:.7rem 0 .45rem; }
  .category-card { border-radius:13px; }
  .category-image { aspect-ratio:4 / 3; }
  .category-card-copy { padding:.65rem .7rem; }
  .reading .category-card h2, .category-card h2 { font-size:.94rem; line-height:1.5; margin-bottom:.25rem; }
  .category-card p { font-size:.68rem; line-height:1.65; margin-bottom:.55rem; }
  .category-card-copy > span:last-child { font-size:.7rem; }
  .category-card.category-brand { grid-template-columns:105px minmax(0,1fr); }
  .category-brand .category-image { min-height:135px; }
  .category-brand .category-card-copy { padding:.75rem .85rem; }
  .category-brand-label { font-size:.6rem; margin-bottom:.15rem; }
  .category-image-note, .reading .category-image-note { font-size:.6rem; }
  .category-home { padding-block:.75rem 1rem; }
  .category-home > .eyebrow { font-size:.62rem; margin:0 0 .3rem; }
  .category-home .category-grid { margin-top:.7rem; }
  .category-hub-links { gap:.8rem; font-size:.76rem; }
  .category-hub-links .button { font-size:.78rem; padding:.65rem .8rem; }
  .category-disclosure, .reading .category-disclosure { font-size:.65rem; }
  .collection-navigation { gap:.35rem; margin:0 0 .7rem; }
  .collection-navigation a { padding:.35rem .55rem; font-size:.67rem; }
  .collection-brand-callout { grid-template-columns:75px minmax(0,1fr); gap:.75rem; padding:.75rem; }
  .collection-brand-callout img { width:75px; height:85px; }
  .reading .collection-brand-callout h2 { font-size:.9rem; }
  .collection-brand-callout .button { font-size:.7rem; }
  .collection-brand-callout-text { display:block; }
  .category-collection .collection-note { font-size:.68rem; }
}
@media(prefers-reduced-motion:reduce) { .category-card { transition:none; } .category-card:hover { transform:none; } }
