/* review-grid-v247.css */
/* One portrait media geometry across review grids; homepage carousel retains its landscape frame. */
html body .browse-card-v2 .browse-card-v2__poster,
html body .compact-card__poster.compact-card__poster {position:relative;width:100%!important;max-width:none;min-height:0!important;height:auto!important;aspect-ratio:2/3!important;flex:0 0 auto!important;overflow:hidden!important;}
html body :is(.compact-card__poster,.browse-card-v2__poster) img {display:block;width:100%!important;height:100%!important;object-fit:cover!important;}
html body .all-reviews-grid.compact-drama-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;}
@media(max-width:959px){html body .all-reviews-grid.compact-drama-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:359px){html body .all-reviews-grid.compact-drama-grid{grid-template-columns:1fr;}}
html body .browse-card-v2,html body .compact-review-card{display:flex;flex-direction:column;height:100%;min-width:0;}
html body :is(.browse-card-v2__body,.browse-card-v2__content,.compact-card__body){display:flex;flex-direction:column;flex:1;min-width:0;}
html body :is(.browse-card-v2__title,.compact-card__title){line-height:1.4;min-height:2.8em;max-height:2.8em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
html body :is(.browse-card-v2__excerpt,.compact-card__excerpt,.compact-card__teaser,.browse-card-v2__summary){line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
html body :is(.browse-card-v2__link,.compact-card__link){margin-top:auto;}

/* V330: keep the official A Prophet landscape cover intact on cards only. */
html body .compact-card__poster:has(img[src*="a-prophet-landscape-v330-"]),html body .browse-card-v2__poster:has(img[src*="a-prophet-landscape-v330-"]){aspect-ratio:1908/1080!important;height:auto!important;min-height:0!important;max-height:none!important}
html body img[src*="a-prophet-landscape-v330-"]{object-fit:contain!important;object-position:50% 50%!important}
html body .compact-card__poster img[src*="a-prophet-landscape-v330-"],html body .browse-card-v2__poster img[src*="a-prophet-landscape-v330-"]{height:auto!important;width:100%!important;aspect-ratio:1908/1080!important}

/* vertical-ui-v319.css */
/* A native archive extension: existing typography, pink palette, grids and cards. */
.review-format-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}
.review-format-tabs button{font:inherit;color:#71364f;background:#fff7fa;border:1px solid #d8afc1;border-radius:24px;min-height:44px;padding:10px 16px;cursor:pointer}
.review-format-tabs button[aria-selected=true]{background:#914665;color:#fff;border-color:#914665}
.review-format-tabs button:focus-visible,.vertical-archive a:focus-visible{outline:2px solid #71364f;outline-offset:3px}
.vertical-empty{grid-column:1/-1;text-align:center;padding:40px 24px;border:1px solid #e7c5d5;border-radius:16px;background:#fff7fa;color:#71364f}
.vertical-empty p{margin:8px 0 20px;line-height:1.6}
.vertical-archive .library-filters{margin-block:24px}
.vertical-archive .library-filters label,.vertical-archive .library-filters input,.vertical-archive .library-filters select{min-width:0;max-width:100%}
.vertical-archive .library-filters details{grid-column:1/-1}
.vertical-archive .trope-options{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:16px}
.vertical-archive .trope-options label{display:flex;align-items:center;gap:8px}
.vertical-card-facts{font-size:.88rem;line-height:1.45}
.vertical-card-facts div{margin-top:8px}.vertical-card-facts dt{font-weight:700}.vertical-card-facts dd{margin:0;overflow-wrap:anywhere}
.moms-take{padding:16px;margin-top:20px;border-left:3px solid #914665;background:#fff7fa;color:#71364f}
.moms-take h3{font-size:1.1rem}.moms-take blockquote{margin:0;line-height:1.5}
[data-format-panel][hidden],[data-review-carousel][hidden]{display:none!important}
.vertical-count{color:#71364f;font-weight:600}
@media(max-width:559px){.review-format-tabs button{padding:10px 12px;font-size:.88rem}.vertical-empty{padding:28px 16px}.vertical-archive .library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-archive .library-query{grid-column:1/-1}}
#all-review-format-filter{display:flex;flex-wrap:wrap;gap:16px;margin-block:24px}
#all-review-format-filter label{display:grid;gap:8px;max-width:100%;color:#71364f}
#all-review-format-filter select{font:inherit;background:#fff;border:1px solid #d8afc1;border-radius:8px;min-height:44px;max-width:100%;padding:8px 12px}

/* Existing compact cards need an explicit grid on these new panels. */
[data-format-grid],#vertical-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;width:100%;min-width:0}
@media(max-width:959px){[data-format-grid],#vertical-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:359px){[data-format-grid],#vertical-review-grid{grid-template-columns:minmax(0,1fr)}}

/* homepage-tabs-v320.css */
/* Homepage-only refinement of the existing shared review-format tabs. */
#reviews .review-format-tabs {
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: 10px;
}
#reviews .review-format-tabs button {
  flex: 0 0 auto;
  white-space: nowrap;
}
#reviews .review-format-tabs button:hover {
  border-color: #914665;
}
@media (max-width: 559px) {
  #reviews .review-format-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #d8afc1 #fff7fa;
    padding: 6px;
    gap: 8px;
  }
  #reviews .review-format-tabs button {
    font-size: 1rem;
    padding: 10px 14px;
  }
}

/* All Reviews opens the complete archive; category buttons still filter here. */
#reviews .review-format-category-tabs { display: contents; }
#reviews .review-format-all-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  white-space: nowrap;
  font: inherit;
  color: #fff;
  background: #914665;
  border: 1px solid #914665;
  border-radius: 24px;
  min-height: 44px;
  padding: 10px 16px;
  text-decoration: none;
}
#reviews .review-format-all-link:focus-visible {
  outline: 2px solid #71364f;
  outline-offset: 3px;
}
@media (max-width: 559px) {
  #reviews .review-format-all-link {
    font-size: 1rem;
    padding: 10px 14px;
  }
}
