/* Roomier margins and padding for the Soil Doctor page only.
   Everything here is scoped to body[data-page='soil'] so Crop Doctor, Ask ParthAI, Help and the public report page keep their own spacing. */

body[data-page='soil'] main .container { padding-inline: 20px; }
@media (min-width: 768px) { body[data-page='soil'] main .container { padding-inline: 40px; } }

/* Controls */
body[data-page='soil'] .btn { padding: 0 24px; }
body[data-page='soil'] .btn-lg { --btn-h: 58px; padding: 0 32px; }
body[data-page='soil'] .btn-sm { --btn-h: 38px; padding: 0 18px; }
body[data-page='soil'] .field { gap: 10px; }
body[data-page='soil'] .input { min-height: 54px; padding: 14px 18px; }
body[data-page='soil'] .chip { padding: 8px 16px; }
body[data-page='soil'] .alert { gap: 16px; padding: 18px 22px; line-height: 1.6; }
body[data-page='soil'] .alert-info { border-color: rgb(var(--blue-rgb) / 0.45); background: rgb(var(--blue-rgb) / 0.09); color: var(--text); }
body[data-page='soil'] .alert-ok { border-color: rgb(74 185 77 / 0.6); background: rgb(74 185 77 / 0.12); color: var(--text); }

/* Progress bar */
body[data-page='soil'] .stepper {
  gap: 12px;
  margin: var(--s-4) -12px var(--s-5);
  padding-inline: 12px;
  position: sticky;
  top: var(--header-h);
  z-index: 30;
  background: color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body[data-page='soil'] .stepper li { padding: 14px 8px 18px; }
body[data-page='soil'] .stepper li::after { height: 4px; border-radius: 4px; background: var(--line-strong); }
body[data-page='soil'] .stepper li.is-done::after { background: rgb(var(--teal-rgb) / 0.5); }
body[data-page='soil'] .stepper li.is-current::after { background: var(--grad); }
body[data-page='soil'] .stepper li:not(.is-link):not(.is-current) { cursor: not-allowed; }
body[data-page='soil'] .wizard { padding-bottom: var(--s-8); }

/* Panels */
body[data-page='soil'] .panel { padding: var(--s-6) var(--s-5); gap: var(--s-6); }
@media (min-width: 768px) { body[data-page='soil'] .panel { padding: var(--s-7) var(--s-8); gap: var(--s-7); } }
body[data-page='soil'] .panel-head { gap: var(--s-5); }
body[data-page='soil'] .panel-head p { margin-top: 10px; }
body[data-page='soil'] .panel-actions { gap: var(--s-4); margin-top: var(--s-3); padding-top: var(--s-6); }

/* Crops */
body[data-page='soil'] .crop-tiles { grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 16px; }
@media (max-width: 420px) { body[data-page='soil'] .crop-tiles { grid-template-columns: repeat(3, 1fr); gap: 10px; } }
body[data-page='soil'] .crop-tile { gap: 12px; min-height: 138px; padding: 20px 10px 16px; }
body[data-page='soil'] .crop-tile.skeleton { min-height: 138px; }

/* Card step */
body[data-page='soil'] .chosen { gap: var(--s-5); }


/* Report + plan */
body[data-page='soil'] .report { gap: var(--s-7); }
body[data-page='soil'] .report-head { gap: var(--s-6); padding: var(--s-6) var(--s-5); }
@media (min-width: 860px) { body[data-page='soil'] .report-head { gap: var(--s-7); padding: var(--s-7) var(--s-8); } }
body[data-page='soil'] .report-head-copy { gap: var(--s-5); }
body[data-page='soil'] .report-meta { gap: 12px; }
body[data-page='soil'] .report-meta li { gap: 8px; padding: 8px 16px; }
body[data-page='soil'] .report-section { gap: var(--s-5); }
body[data-page='soil'] .legend { gap: 18px; }
body[data-page='soil'] .nutrient-grid { gap: 20px; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
body[data-page='soil'] .nutrient-card { gap: 16px; padding: 22px 22px 22px 26px; }
body[data-page='soil'] .nc-head { gap: 14px; }
body[data-page='soil'] .tiers { gap: 20px; }
body[data-page='soil'] .tier { gap: 20px; padding: 24px; }
body[data-page='soil'] .tier ul { gap: 12px; }
body[data-page='soil'] .tier li { padding: 9px 16px 9px 6px; }
body[data-page='soil'] .needs { gap: 16px; }
body[data-page='soil'] .needs li { gap: 14px; padding: 20px 22px; }
body[data-page='soil'] .crop-needs { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
body[data-page='soil'] .plan-options { gap: var(--s-5); }
body[data-page='soil'] .fert-list { gap: 16px; }
body[data-page='soil'] .fert { gap: 18px; padding: 22px 26px; }
body[data-page='soil'] .fert-total { padding: 12px 18px; }
body[data-page='soil'] .tips { gap: 14px; }
body[data-page='soil'] .tips ul { padding-left: 22px; gap: 10px; }
body[data-page='soil'] .next-card { gap: var(--s-5); padding: var(--s-6); }
@media (min-width: 820px) { body[data-page='soil'] .next-card { gap: var(--s-6); padding: var(--s-6) var(--s-7); } }
body[data-page='soil'] .next-card p { margin-top: 8px; }

/* Bottom bar: the way back, plus Download and WhatsApp */
body[data-page='soil'] .report-foot {
  align-items: center;
  gap: var(--s-4);
  padding-top: var(--s-5);
  border-top: 1px solid var(--line-strong);
}
body[data-page='soil'] .foot-nav,
body[data-page='soil'] .report-actions { display: flex; flex-wrap: wrap; gap: 12px; }
body[data-page='soil'] .report-actions .btn,
body[data-page='soil'] .foot-nav .btn { --btn-h: 46px; background: var(--surface-1); border-color: var(--line-bold); }
body[data-page='soil'] .report-actions .btn:hover,
body[data-page='soil'] .foot-nav .btn:hover { background: var(--surface-2); border-color: var(--teal); }
@media (max-width: 640px) {
  body[data-page='soil'] .report-actions { order: -1; width: 100%; }
  body[data-page='soil'] .report-actions .btn { flex: 1 1 auto; padding-inline: 16px; }
  body[data-page='soil'] .foot-nav { width: 100%; }
  body[data-page='soil'] .foot-nav .btn { flex: 1 1 auto; padding-inline: 16px; }
}

/* Step hero cards (steps 1–3 use the same card as the soil report and fertilizer plan) */
body[data-page='soil'] .report-head .hero-lead { color: var(--text-2); max-width: 52ch; }
body[data-page='soil'] .report-head .plan-badge { min-width: 116px; }
