/* WEB46: extend the accepted product palette on home and calculator only. */
body:is(.home-page,.calculator-page) {
  --text: #e6e9dd;
  --muted: #b6c5b6;
  --line: #53634f;
  background: #0c1b15;
  color: var(--text);
  color-scheme: dark;
}
:is(.home-page,.calculator-page) :is(a,button,input,select):focus-visible {
  outline: 3px solid #f0ce87;
  outline-offset: 4px;
}
:is(.home-page,.calculator-page) .section { padding-block: 64px; }
:is(.home-page,.calculator-page) .section-title { color: #eee5cf; }
:is(.home-page,.calculator-page) :is(.section-copy,.page-copy) { color: #bdcbbb; }
.home-page .section .eyebrow { color: #d9ba7b; }
.home-page #main-content > .crop-chooser-section .section-title { color: #eee5cf; }
.home-page #main-content > .section:not(.factory-section):not(.home-minigame-section) { background: #0d2119; }
.home-page #main-content > .crop-chooser-section { background: #172d22; }
.home-page .home-hero { min-height: 0; padding-block: 64px; }
.home-page .home-hero .page-title { font-size: clamp(40px,5vw,66px); }
.home-page .home-hero .home-brand-slogan { color: #e5c47f; }
.home-page .home-hero .page-copy { color: #d3dccb; font-size: 17px; }
.home-page .home-hero .hero-actions { margin-block: 16px 8px; }
.home-page .home-hero .home-review-link { display: inline-flex; align-items: center; min-height: 44px; margin: 0 16px 0 0; color: #dbbe82; font-size: 14px; }
:is(.home-page,.calculator-page) .btn-outline { background: #19382a; border-color: #8c805b; color: #eadfca; }
:is(.home-page,.calculator-page) .btn-outline:hover { background: #254b36; color: #fff0ce; }
.home-page .hero-actions .btn-outline { background: #19382a; color: #eadfca; }
.home-page .crop-chooser-grid { gap: 16px; }
.home-page .crop-chooser-card--illustrated {
  border: 1px solid #4e654d; border-radius: 12px; padding: 12px;
  background: linear-gradient(145deg,#244733,#173024);
  box-shadow: 0 12px 28px #0002;
}
.home-page .crop-chooser-card--illustrated .crop-chooser-media { background: transparent; }
.home-page .crop-chooser-card--illustrated .crop-chooser-details { background: transparent; padding: 12px 4px 4px; }
.home-page .crop-chooser-card--illustrated :is(strong,small) { color: #efe9d8; }
.home-page .crop-chooser-card--illustrated :is(.crop-chooser-number,small b) { color: #d4b77c; }
.home-page .crop-chooser-card--illustrated:hover { background: #2c513a; border-color: #c8ae75; }
.home-page .brochure-tile { border: 0; background: #193026; border-radius: 12px; box-shadow: 0 16px 34px #0003; }
.home-category-stage {
  display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); align-items: end;
  gap: 8px; height: 330px; padding: 24px 24px 36px;
  background: linear-gradient(#05150b38,#07150c55),url('../catalog/product-guide-v1/cover-scene-v2.webp') center 55% / cover;
}
.home-page .brochure-tile .home-category-stage img { padding: 0; background: transparent; border: 0; border-radius: 0; width: 100%; object-fit: contain; object-position: center bottom; }
.home-page .brochure-tile img.home-category-bag { height: 270px; filter: drop-shadow(3px 10px 8px #0008) drop-shadow(-1px -1px 2px #d9b86e35); }
.home-page .brochure-tile img.home-category-granules { height: 84px; filter: drop-shadow(0 4px 3px #0008); }
.home-page .brochure-tile-copy { border: 0; padding: 22px; }
.home-page .brochure-tile-copy strong { color: #f0e3c8; }
.home-page .brochure-tile-copy small { color: #bdccba; }
.home-page .review-grid .surface { color: #e6e9dd; }
.home-page .media-slider { background: #152a20; border-color: #5c6a50; }
.home-page .slider-control { background: #234330; color: #eddfbf; border-color: #7b805a; }
.home-page .slider-status { color: #d2ddc9; }
.home-page .factory-copy address { color: #d3ddca; }
.home-page .factory-company { color: #f0e3c8; }
.home-page .factory-phone { color: #e4c285; }
.home-page .factory-source,.home-page .factory-photo figcaption { color: #bdcabb; }
.home-page .home-minigame-band { border-color: #667151; }
.calculator-page .calculator-intro { padding-block: 38px 28px; }
.calculator-page .calculator-intro-inner { display: block; max-width: 1160px; }
.calculator-page .calculator-intro .page-copy { max-width: 690px; color: #c8d4bf; margin-top: 10px; }
.calculator-page .calculator-intro .hero-actions { margin-top: 18px; }
.calculator-page #main-content > .calculator-section { padding-block: 28px 48px; background: #0d2119; }
.calculator-page .calculator-grid { gap: 24px; }
.calculator-page .calculator-form-card { min-height: auto; padding: 28px; background: #1b3428; border: 1px solid #657355; box-shadow: 0 18px 38px #0003; border-radius: 14px; }
.calculator-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.calculator-form-heading h2 { margin: 0; font-size: 24px; color: #eee4cc; }
.calculator-form-heading p { margin: 4px 0 0; color: #d7bb7a; font-size: 16px; }
.calculator-form-heading img { object-fit: contain; flex: 0 0 80px; width: 80px; height: 80px; }
.calculator-page .calculator-form-card label { color: #e2e8d7; font-weight: 400; }
.calculator-page .calculator-form-card .form-field { align-content: start; }
.calculator-page .calculator-form-card .form-control {
  width: 100%; min-width: 0; min-height: 52px; font-size: max(16px, 1rem);
  color: #f1ecd9; background: #10271d; border: 1px solid #809273;
  border-radius: 8px; padding: 12px 14px; box-shadow: none;
}
.calculator-page .calculator-form-card .form-control:focus { outline: 3px solid #f0ce87; outline-offset: 3px; border-color: #f0ce87; }
.calculator-page .calculator-form-card .btn-primary { margin-top: 24px; min-height: 54px; }
.calculator-page .field-helper { color: #d9dfc7; background: #263e2e; border-color: #738067; border-radius: 8px; }
.calculator-page .calculator-selected-value { margin: 8px 0 0; font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
.calculator-page .calculator-result-panel { color: #e5e7d6; padding: 20px; border: 1px solid #536b4e; border-radius: 14px; background: #142c20; box-shadow: 0 18px 38px #0002; scroll-margin-top: 100px; }
.calculator-page .calculator-result-panel .advisor-card { padding: 20px; background: #203b2c; border: 0; border-radius: 10px; }
.calculator-page .calculator-result-panel .advisor-card :is(h2,h3) { color: #f0e7cf; }
.calculator-page .calculator-result-panel .advisor-card p { color: #d0dbc6; }
.calculator-page .calculator-result-panel .advisor-card p strong { color: #e2c38a; }
.calculator-page .calculator-result-panel .formula-highlight { color: #edca86; }
.calculator-page .calculator-result-panel [data-calculator-formula] { white-space: nowrap; }
.calculator-page .calculator-result-panel .formula-highlight { font-size: min(clamp(2rem, 6vw, 3.2rem), 12vw); white-space: nowrap; }
.calculator-page .calculator-result-panel .formula-warning-card { background: #4c3024; border: 1px solid #c49764; }
.calculator-page .calculator-result-panel .formula-fit-note { border-radius: 8px; }
.calculator-page .calculator-result-panel .formula-fit-note.is-ideal { background: #294934; border-color: #7a9670; color: #e7efd9; }
.calculator-page .calculator-result-panel .formula-fit-note.is-close { background: #49402a; border-color: #b69a68; color: #f0e7d1; }
.calculator-page .calculator-result-panel .result-stat { background: #233e2d; border-color: #607353; border-radius: 10px; }
.calculator-page .calculator-result-panel .result-stat :is(span,small) { color: #cad6bf; }
.calculator-page .calculator-result-panel .result-stat strong { color: #efcd8a; font-size: 26px; }
.calculator-page .calculator-result-panel .result-card { background: #2b3e2b; color: #efe7d0; border-color: #97a17a; }
.calculator-page .calculator-assumption-note { padding: 16px; background: #1c3125; border-radius: 8px; color: #c8d5bb; }
.calculator-page .calculator-assumption-note strong { color: #e7d4a4; }
.calculator-page .calculator-assumption-note p { margin: 6px 0 0; }
.calculator-page #main-content > .calculator-poster-section { background: #14281d; padding-block: 32px; }
.calculator-page .calculator-poster-section .topic-page-poster { max-width: 780px; margin-inline: auto; border-color: #7a7954; }
.calculator-page .app-install-section { background: #0d2119; padding-block: 32px 48px; }
.calculator-page .app-install-card { background: #193728; border: 1px solid #626e51; box-shadow: none; border-radius: 12px; }
@media(max-width:820px) {
  .calculator-page .calculator-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:960px) {
  :is(.home-page,.calculator-page) .nav-links a { min-height: 44px; display: flex; align-items: center; font-size: 16px; }
}
@media(max-width:600px) {
  :is(.home-page,.calculator-page) .section { padding-block: 36px; }
  .home-page .home-hero { padding-block: 28px; }
  .home-page .home-hero-panel { gap: 14px; }
  .home-page .home-hero .page-copy { font-size: 16px; }
  .home-page .home-hero .hero-actions { gap: 10px; margin-top: 6px; }
  .home-page .home-hero .btn { font-size: 16px; padding: 10px; min-height: 52px; }
  .home-page .home-hero .home-review-link { margin: 0; font-size: 14px; }
  .home-page .home-brand-emblem { padding: 20px; }
  .home-page .home-brand-seal { width: min(100%,238px); }
  .home-page .crop-chooser-grid { gap: 12px; }
  .home-page .crop-chooser-card--illustrated { padding: 10px; }
  .home-page .crop-chooser-card--illustrated .crop-chooser-media { height: 118px; }
  .home-page .crop-chooser-card--illustrated .crop-chooser-details { padding-top: 8px; }
  .home-page .brochure-gallery { gap: 20px; }
  .home-category-stage { height: 350px; }
  .home-page .brochure-tile img.home-category-bag { height: 280px; }
  .home-page .brochure-tile img.home-category-granules { height: 92px; }
  .home-page .local-book-card { gap: 18px; padding: 20px; }
  .calculator-page .calculator-intro { padding-block: 28px 22px; }
  .calculator-page .calculator-intro .page-title { font-size: 32px; }
  .calculator-page .calculator-intro .hero-actions .btn { width: 100%; }
  .calculator-page #main-content > .calculator-section { padding-block: 20px 36px; }
  .calculator-page .calculator-form-card { padding: 20px; }
  .calculator-form-heading { margin-bottom: 20px; gap: 12px; }
  .calculator-form-heading h2 { font-size: 22px; }
  .calculator-form-heading img { width: 68px; height: 68px; flex-basis: 68px; }
  .calculator-page .form-grid { gap: 18px; }
  .calculator-page .calculator-result-panel { padding: 14px; }
  .calculator-page .calculator-result-panel .advisor-card { padding: 16px; }
  .calculator-page .result-stats { gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .calculator-page .calculator-result-panel .result-stat { padding: 12px; }
  .calculator-page .calculator-result-panel .result-stat strong { font-size: 23px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .crop-chooser-card--illustrated:hover { transform: none; }
}

/* Use the same visible bag height for all three homepage categories. */
.home-page .home-category-stage {
  container-type: inline-size;
  grid-template-columns: minmax(0,7fr) minmax(0,3fr);
  height: auto;
  padding: 28px 24px 36px;
}
.home-page .brochure-tile img.home-category-bag {
  justify-self: center;
  width: auto;
  max-width: 100%;
  height: clamp(170px,55vw,270px);
  height: min(270px,80cqw);
}

/* Farmer guidance: preserve the selected dose and keep extra detail optional. */
.calculator-page .calculator-input-hint { color:#c8d5bb; font-size:14px; line-height:1.65; margin:8px 0 0; }
.calculator-page .calculator-details { border:1px solid #617250; border-radius:12px; background:#193226; color:#dce5cf; padding:0; }
.calculator-page .calculator-field-guide { margin-top:20px; }
.calculator-page .calculator-details summary { padding:14px 16px; min-height:48px; cursor:pointer; color:#efd39a; line-height:1.65; font-weight:500; }
.calculator-page .calculator-details summary:focus-visible { outline:3px solid #f0ce87; outline-offset:3px; border-radius:8px; }
.calculator-page .calculator-details[open] summary { border-bottom:1px solid #617250; }
.calculator-page .calculator-details-body { padding:4px 16px 16px; line-height:1.7; overflow-wrap:break-word; }
.calculator-page .calculator-care-checks { list-style:none; counter-reset:care; padding:0; margin:0; display:grid; gap:16px; }
.calculator-page .calculator-care-checks li { counter-increment:care; position:relative; padding-left:36px; }
.calculator-page .calculator-care-checks li::before { content:counter(care,decimal-leading-zero); position:absolute; left:0; color:#d6b66e; font-weight:600; }
.calculator-page .calculator-care-checks strong { color:#f0e7cf; }
.calculator-page .calculator-care-checks p { margin:4px 0 0; }
.calculator-page .calculator-source-note { font-size:14px; margin:18px 0 0; }
.calculator-page .calculator-source-note a { color:#e7c681; text-decoration:underline; text-underline-offset:3px; }
.calculator-page .calculator-result-panel .result-stat-current { background:linear-gradient(135deg,#35543b,#233f2c); border-color:#c3a55f; }
.calculator-page .calculator-use-guide { background:#193728; border:1px solid #7c8359; border-radius:12px; padding:18px; color:#d3dec8; line-height:1.7; overflow-wrap:break-word; }
.calculator-page .calculator-use-guide h3 { color:#f0e4c6; font-size:20px; margin:0; }
.calculator-page .calculator-use-guide p { margin:10px 0 0; }
.calculator-page .calculator-bag-amount { color:#efd18e; font-size:clamp(21px,2.5vw,27px); font-weight:500; }
.calculator-page .calculator-dose-equation { padding:12px; background:#10291d; border-radius:8px; color:#ebeedc; }
.calculator-page .calculator-year-note { border-top:1px solid #617250; padding-top:14px; font-size:15px; }
.calculator-page .calculator-year-note strong { display:block; color:#e9cf94; margin-bottom:4px; }
.calculator-page .calculator-estimate-caption { font-size:14px; }
@media(max-width:360px) {
  .calculator-page .calculator-use-guide { padding:14px; }
  .calculator-page .calculator-result-panel .result-stat strong { font-size:21px; overflow-wrap:anywhere; }
}

/* Keep native recovery available until calculator data and handlers are ready. */
.calculator-page #calculatorForm > fieldset.form-grid { min-width:0; margin:0; padding:0; border:0; }
.calculator-page .calculator-readiness { margin:0 0 20px; }
.calculator-page .calculator-readiness[hidden] { display:none; }
.calculator-page .calculator-readiness-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.calculator-page .calculator-readiness-actions .btn { flex:1 1 180px; width:auto; min-height:44px; margin:0; font-size:16px; }
.calculator-page #calculatorForm > button[type="submit"]:disabled { opacity:.6; cursor:not-allowed; }
