/* Homepage-only presentation; shared catalog cards and slider are unchanged. */
.home-page {
  --home-blue: #eef3ff;
  --home-warm: #fff8eb;
  --home-green: #edf8f5;
  --home-purple: #f4efff;
  --home-cyan: #eef8fc;
}
.theme-cinema .home-page {
  --home-blue: #17223e;
  --home-warm: #26241e;
  --home-green: #142d2d;
  --home-purple: #251d3a;
  --home-cyan: #142a36;
}
.theme-minimal .home-page {
  --home-blue: #f0f3fa;
  --home-warm: #f7f2e9;
  --home-green: #eff5f1;
  --home-purple: #f4f1f7;
  --home-cyan: #eff5f7;
}
.home-page > .home-subscriptions,
.home-page > .why,
.home-page > .home-reviews,
.home-page > .faq-section {
  position: relative;
  margin-top: 32px;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 26px;
}
.home-page .section-heading { margin-bottom: 24px; }
.home-page .section-heading h2 { font-size: 29px; }
.home-page .section-heading .eyebrow { margin-bottom: 7px; }
.home-page .section-heading .text-link {
  padding: 9px 15px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  white-space: normal;
}
.home-page > .home-subscriptions {
  background: radial-gradient(ellipse at 0 0, var(--surface), transparent 65%), var(--home-blue);
}
.home-page .home-subscription-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.home-page .home-subscription-grid .card {
  min-width: 0;
  border-radius: 17px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 5px 16px #152b5305;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.home-page .home-subscription-grid .card:hover,
.home-page .home-subscription-grid .card:focus-within {
  transform: translateY(-4px);
  border-color: var(--accent);
  box-shadow: 0 12px 24px #152b5310;
}
.home-page .home-subscription-grid .card-image {
  height: 152px;
  margin: 8px 8px 0;
  padding: 12px 35px;
  border-radius: 11px;
  background: #fff;
}
.home-page .home-subscription-grid .card-image img { max-height: 128px; }
.home-page .home-subscription-grid .card-body {
  padding: 14px 17px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.home-page .home-subscription-grid .eyebrow { font-size: 10px; }
.home-page .home-subscription-grid h3 { font-size: 20px; margin: 4px 0 7px; }
.home-page .home-subscription-grid p { font-size: 12px; min-height: 0; margin-bottom: 13px; }
.home-page .home-subscription-grid .card-bottom { margin-top: auto; padding-top: 11px; }
.home-page .home-subscription-grid .card-bottom strong { font-size: 12px; }
.home-page .home-subscription-grid .mini-link { font-size: 11px; padding: 6px 10px; }
.home-page > .package-section {
  margin-top: 36px;
  background: radial-gradient(ellipse at 80% 20%, var(--home-warm), transparent 80%), var(--bg);
  border-block: 1px solid var(--line);
}
.home-page .package-section > .section { padding-block: 40px; }
.home-page .package-card { border-radius: 20px; }
.home-page .package-silver { background: linear-gradient(145deg, var(--surface), var(--home-blue)); }
.home-page .package-gold { background: linear-gradient(145deg, var(--surface), var(--home-warm)); }
.home-page .package-diamond { background: linear-gradient(145deg, var(--surface), var(--home-purple)); }
.home-page > .why {
  background: linear-gradient(135deg, var(--home-green), var(--bg));
  gap: 28px;
}
.home-page .why-intro { background: var(--surface); border-color: var(--line); }
.home-page .reason-grid { gap: 16px; }
.home-page .reason-grid article { border-top: 3px solid #42a391; }
.home-page .reason-grid article:nth-child(2n) { border-top-color: #6a86da; }
.home-page .reason-icon { background: var(--home-green); color: #26796b; }
.theme-cinema .home-page .reason-icon { color: #82d9c8; }
.home-page > .home-reviews {
  background: radial-gradient(ellipse at 10% 0, var(--surface), transparent 65%), var(--home-purple);
}
.home-page .home-reviews blockquote { border-radius: 18px; border-top: 3px solid #9b82d9; }
.home-page .home-reviews .quote { color: #8b6dcc; }
.home-page > .faq-section { background: var(--home-cyan); gap: 36px; }
.home-page .faq-icon { background: var(--surface); color: #2782a0; }
.home-page .faq-list details { background: var(--surface); }
.home-page .faq-list details[open] { border-color: #6ab0c7; }
.home-page .quick-links a:nth-child(1) > span { background: var(--home-blue); }
.home-page .quick-links a:nth-child(2) > span { background: var(--home-purple); }
.home-page .quick-links a:nth-child(3) > span { background: var(--home-green); }
.home-page .quick-links a:nth-child(4) > span { background: var(--home-warm); }
@media (max-width: 950px) {
  .home-page .home-subscription-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page > .home-subscriptions, .home-page > .why,
  .home-page > .home-reviews, .home-page > .faq-section { padding: 24px; }
}
@media (max-width: 650px) {
  .home-page > .home-subscriptions, .home-page > .why,
  .home-page > .home-reviews, .home-page > .faq-section {
    padding: 20px 14px;
    margin-top: 22px;
    border-radius: 19px;
  }
  .home-page .section-heading { flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
  .home-page .section-heading h2 { font-size: 24px; }
  .home-page .section-heading .text-link { font-size: 11px; padding: 7px 10px; }
  .home-page .home-subscription-grid { gap: 12px; }
  .home-page .home-subscription-grid .card-image { height: 115px; padding: 10px; }
  .home-page .home-subscription-grid .card-image img { max-height: 95px; }
  .home-page .home-subscription-grid .card-body { padding: 11px; }
  .home-page .home-subscription-grid h3 { font-size: 17px; }
  .home-page .home-subscription-grid p { font-size: 11px; }
  .home-page .home-subscription-grid .card-bottom { flex-wrap: wrap; gap: 8px; }
  .home-page .home-subscription-grid .mini-link { padding: 5px 9px; }
  .home-page .package-section > .section { padding-block: 30px; }
  .home-page .reason-grid { gap: 12px; }
  .home-page > .faq-section { gap: 24px; }
}
@media (max-width: 420px) {
  .home-page .home-subscription-grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-subscription-grid .card-image { height: 132px; }
  .home-page .home-subscription-grid .card-image img { max-height: 112px; }
  .home-page .home-subscription-grid .card-body { padding: 13px 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .home-subscription-grid .card { transition: none; }
  .home-page .home-subscription-grid .card:hover,
  .home-page .home-subscription-grid .card:focus-within { transform: none; }
}
