/* ========================================
   HyPro — Print Stylesheet (A4 optimized)
   ======================================== */

@page {
  size: A4;
  margin: 15mm 12mm;
}

/* ---------- Base Print Resets ---------- */
body {
  font-size: 11pt;
  line-height: 1.5;
  color: #1a1a1a;
  background: #fff;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.container {
  max-width: 100%;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

/* ---------- Hide non-essential for print ---------- */
.btn__icon,
script {
  display: none;
}

/* ---------- Hero ---------- */
.hero {
  padding: 24pt 0;
  background: #1a5632 !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.hero__logo {
  width: 80px;
  height: 80px;
}

.hero__headline {
  font-size: 18pt;
}

.hero__tagline {
  font-size: 8pt;
}

.hero__sub {
  font-size: 9pt;
}

.hero__cta .btn--outline {
  display: none;
}

.hero__cta .btn--primary {
  background: #fff !important;
  color: #1a5632 !important;
  font-size: 9pt;
  padding: 6pt 16pt;
  border-radius: 4pt;
}

/* ---------- Sections General ---------- */
section {
  padding: 20pt 0;
  page-break-inside: avoid;
}

.section-title {
  font-size: 14pt;
  margin-bottom: 4pt;
}

.section-subtitle {
  font-size: 9pt;
  margin-bottom: 16pt;
}

/* ---------- Why HyPro ---------- */
.why {
  padding: 16pt 0;
}

.why__grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 12pt;
  margin-top: 12pt;
}

.why__claim {
  padding: 12pt 10pt;
  box-shadow: none;
  border: 1px solid #d4d4d4;
}

.why__icon {
  font-size: 14pt;
  margin-bottom: 6pt;
}

.why__claim h3 {
  font-size: 9pt;
}

.why__claim p {
  font-size: 8pt;
}

/* ---------- Trial ---------- */
.trial {
  padding: 0 0 16pt;
}

.trial__box {
  padding: 14pt 16pt;
  gap: 16pt;
  border: 2px solid #e8863a;
}

.trial__content h2 {
  font-size: 11pt;
}

.trial__content p {
  font-size: 8pt;
}

.trial .btn {
  font-size: 8pt;
  padding: 6pt 14pt;
}

/* ---------- Plans ---------- */
.plans {
  padding: 20pt 0;
  page-break-inside: avoid;
}

/* Show both veg and non-veg in print */
.plans__toggle {
  display: none;
}

.plans__group--veg,
.plans__group--nonveg {
  display: block !important;
}

.plans__group--nonveg {
  margin-top: 14pt;
}

.plans__group--veg::before {
  content: '● Vegetarian Plans';
  display: block;
  font-size: 10pt;
  font-weight: 600;
  color: #2d7a4a;
  margin-bottom: 8pt;
  padding-bottom: 6pt;
  border-bottom: 1px solid #d4d4d4;
}

.plans__group--nonveg::before {
  content: '● Non-Vegetarian Plans';
  display: block;
  font-size: 10pt;
  font-weight: 600;
  color: #b33a2a;
  margin-bottom: 8pt;
  padding-bottom: 6pt;
  border-bottom: 1px solid #d4d4d4;
}

.plans__category-label {
  font-size: 10pt;
  margin: 16pt 0 10pt;
  padding-bottom: 6pt;
}

.plans__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 12pt;
}

.plan-card {
  padding: 14pt 12pt;
  box-shadow: none;
  border: 1px solid #d4d4d4;
  page-break-inside: avoid;
}

.plan-card--best {
  border: 2px solid #1a5632;
  background: #e8f0eb !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.plan-card__badge {
  font-size: 6.5pt;
  padding: 2pt 10pt;
  top: -8pt;
  background: #1a5632 !important;
  color: #fff !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.plan-card--best .plan-card__badge {
  background: #e8863a !important;
}

.plan-card__duration {
  font-size: 13pt;
}

.plan-card__type {
  font-size: 8pt;
  margin-bottom: 10pt;
}

.plan-card__amount {
  font-size: 14pt;
}

.plan-card__per {
  font-size: 8pt;
}

.plan-card__price {
  margin-bottom: 10pt;
  padding-bottom: 10pt;
}

.plan-card__features li {
  font-size: 8pt;
  padding: 3pt 0 3pt 14pt;
}

.plan-card__features li::before {
  font-size: 8pt;
}

.plan-card .btn {
  font-size: 8pt;
  padding: 6pt 10pt;
  background: #1a5632 !important;
  color: #fff !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ---------- How It Works ---------- */
.how {
  padding: 16pt 0;
}

.how__steps {
  grid-template-columns: repeat(3, 1fr);
  gap: 16pt;
  margin-top: 12pt;
}

.how__number {
  width: 28pt;
  height: 28pt;
  font-size: 11pt;
  background: #1a5632 !important;
  color: #fff !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.how__step h3 {
  font-size: 9pt;
}

.how__step p {
  font-size: 8pt;
}

/* ---------- Nutrition ---------- */
.nutrition {
  padding: 16pt 0;
  page-break-inside: avoid;
}

.nutrition__card {
  grid-template-columns: 160pt 1fr;
  gap: 24pt;
}

.nutrition__image {
  box-shadow: none;
  border: 1px solid #d4d4d4;
}

.nutrition__details h2 {
  font-size: 13pt;
  margin-bottom: 10pt;
}

.nutrition__row {
  padding: 5pt 0;
}

.nutrition__label,
.nutrition__value {
  font-size: 8.5pt;
}

.nutrition__note {
  font-size: 8pt;
  margin-top: 10pt;
}

/* ---------- Delivery ---------- */
.delivery {
  padding: 16pt 0;
}

.delivery__grid {
  gap: 12pt;
}

.delivery__zone {
  padding: 12pt;
  box-shadow: none;
  border: 1px solid #d4d4d4;
}

.delivery__zone h3 {
  font-size: 10pt;
}

.delivery__zone p,
.delivery__schedule,
.delivery__expand {
  font-size: 8pt;
}

/* ---------- Testimonials — simplified for print ---------- */
.testimonials {
  padding: 12pt 0;
}

.testimonials__grid {
  display: none;
}

.testimonials__follow {
  font-size: 9pt;
  text-align: center;
}

/* ---------- FAQ — trimmed for print ---------- */
.faq {
  padding: 16pt 0;
  page-break-inside: avoid;
}

.faq__item {
  break-inside: avoid;
}

.faq__item[open] summary::after,
.faq__item summary::after {
  display: none;
}

/* Show all FAQ answers in print */
.faq__item summary {
  font-size: 9pt;
  padding: 8pt 0 4pt;
}

.faq__item p {
  font-size: 8pt;
  padding: 0 0 8pt;
  display: block !important;
}

/* ---------- CTA ---------- */
.cta {
  padding: 20pt 0;
  background: #1a5632 !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.cta h2 {
  font-size: 14pt;
}

.cta > .container > p {
  font-size: 9pt;
  margin-bottom: 14pt;
}

.cta__buttons {
  gap: 10pt;
}

.cta .btn {
  font-size: 9pt;
  padding: 6pt 16pt;
}

.cta .btn--primary {
  background: #fff !important;
  color: #1a5632 !important;
}

.cta__phone {
  font-size: 8pt;
}

/* ---------- Footer ---------- */
.footer {
  padding: 14pt 0;
  background: #0f3d22 !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.footer__logo {
  width: 36pt;
  height: 36pt;
}

.footer p {
  font-size: 8pt;
}

.footer__copy {
  font-size: 7pt;
}
