/* Page-specific components; keep offer cards separate from blog .featured. */
.meal-plans-page { background: linear-gradient(#fff7ba 0 110px, var(--cream) 110px); }
.meal-plans-page .commerce-hero { padding: 64px 0 72px; background: #fff7ba; border: 0; }
.meal-plans-page .commerce-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 70px; }
.meal-plans-page .commerce-hero h1 { font-size: clamp(48px, 6.3vw, 80px); line-height: 1.08; margin: 20px 0 24px; }
.meal-plans-page .eyebrow { color: var(--green); font-size: 10px; letter-spacing: .13em; }
.meal-plans-page .commerce-hero .lede { font-size: 16px; line-height: 1.85; max-width: 540px; }
.meal-plans-page .trust-list { gap: 9px; margin: 24px 0 28px; }
.meal-plans-page .trust-list li { font-size: 11px; font-weight: 500; padding: 6px 11px; background: #fffdf88c; border-color: #d9ce8d; }
.plan-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.meal-plans-page .btn-lg { font-size: 13px; padding: 15px 23px; min-height: 52px; border-radius: 999px; box-shadow: none; white-space: normal; text-align: center; }
.plan-preview { margin: 0; padding: 28px 34px 22px; border-radius: 28px; background: #dac6f2; text-align: center; }
.plan-preview-label { display: block; color: #503568; font-size: 9px; letter-spacing: .11em; font-weight: 700; margin-bottom: 22px; }
.plan-preview > a { display: block; max-width: 290px; margin: auto; transform: rotate(3deg); transition: transform .2s; }
.plan-preview > a:hover { transform: rotate(0deg); }
.plan-preview img { width: 100%; height: auto; border-radius: 4px; box-shadow: 0 12px 25px #50356826; }
.plan-preview figcaption { margin-top: 23px; color: #503568; font-size: 11px; line-height: 1.7; }
.meal-plans-page .commerce-section { padding: 80px 0; }
.meal-plans-page .section-head { max-width: 700px; margin-bottom: 38px; }
.meal-plans-page .section-head h2 { font-size: clamp(30px, 3.8vw, 48px); line-height: 1.15; }
.meal-plans-page .section-head p { font-size: 15px; line-height: 1.8; }
.meal-plans-page .offer-grid { align-items: stretch; gap: 24px; }
.meal-plans-page .offer-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 34px; border: 1px solid var(--border); border-radius: 24px; margin: 0; background: #fff; }
.meal-plans-page .offer-card-free { border: 2px solid #9575b9; background: #f3ecfa; }
.meal-plans-page .offer-card-bundle { background: #f6f3ee; }
.offer-label { align-self: flex-start; color: #503568; background: #e5d7f3; border-radius: 999px; font-size: 9px; letter-spacing: .1em; font-weight: 700; padding: 6px 12px; margin-bottom: 24px; }
.offer-card-bundle .offer-label { background: #e7e2da; color: #625b50; }
.meal-plans-page .offer-card h3 { font-size: 26px; line-height: 1.2; }
.meal-plans-page .offer-card .price { font-size: 48px; margin: 20px 0 12px; }
.meal-plans-page .offer-card .check-list { flex: 1; margin: 20px 0 28px; }
.meal-plans-page .offer-card .check-list li { font-size: 14px; line-height: 1.6; }
.meal-plans-page .offer-card .btn { width: 100%; }
.meal-plans-page .offer-card [aria-disabled="true"] { opacity: 1; color: #615a66; border-color: #cfc6d4; background: transparent; }
.meal-plans-page .offer-card [aria-disabled="true"]:hover { transform: none; }
.meal-plans-page .form-note { font-size: 11px; line-height: 1.7; }
.meal-plans-page .plan-app-section { background: #eee5f7; }
.meal-plans-page .plan-app-section .section-head { max-width: 790px; }
.meal-plans-page .plan-safety { padding: 50px 0; }
.meal-plans-page .plan-safety .article-wrap { max-width: 1000px; }
.meal-plans-page .plan-safety .section-head { margin-bottom: 18px; }
.meal-plans-page .plan-safety h2 { font-size: 24px; }
.meal-plans-page .plan-safety p, .meal-plans-page .source-list { font-size: 13px; line-height: 1.85; color: var(--gray-1); }
.meal-plans-page .source-list { margin: 20px 0 0; padding-left: 20px; }
@media (max-width: 900px) {
  .meal-plans-page .commerce-grid { gap: 30px; }
  .plan-preview { padding: 24px; }
  .meal-plans-page .offer-card { padding: 28px; }
}
@media (max-width: 760px) {
  .meal-plans-page .commerce-grid, .meal-plans-page .offer-grid { grid-template-columns: minmax(0, 1fr); }
  .meal-plans-page .commerce-hero { padding: 42px 0 50px; }
  .meal-plans-page .commerce-hero h1 { font-size: clamp(42px, 10vw, 64px); }
  .meal-plans-page .commerce-hero .lede { font-size: 14px; }
  .plan-preview { width: 100%; max-width: 420px; margin: 10px auto 0; }
  .plan-preview > a { max-width: 245px; }
  .meal-plans-page .commerce-section { padding: 56px 0; }
  .meal-plans-page .section-head h2 { font-size: 33px; }
  .meal-plans-page .offer-card { padding: 26px; }
  .meal-plans-page .plan-safety h2 { font-size: 24px; }
}
