/* FU-249: scoped additions over the deployed forest/cream/orange design. */
.cf-polished { --cf-polish-border: #587052; --cf-polish-muted: #c5d1be; }
.cf-polished :is(.site-main,.site-header) :is(a,button,input,select,summary):focus-visible { outline: 3px solid var(--cf-orange-200,#f0b884); outline-offset: 4px; }
.cf-polished .site-header { padding-top: 12px!important; padding-bottom: 8px!important; }
.cf-polished .site-header > .col-full { min-height: 52px; gap: 12px 22px; }
.cf-polished .site-header .site-branding { margin-bottom: 0; }
.cf-polished .site-header .cf-brand { gap: 12px; }
.cf-polished .site-header .cf-brand__wm { line-height: 1.1; }
.cf-polished .storefront-primary-navigation { margin-top: 8px; }
.cf-polished .main-navigation .cf-menu-icon-link { border-radius: 10px; }
.cf-polished .main-navigation .cf-menu-icon-link[aria-current="page"] { background: rgba(240,184,132,.09); text-decoration: underline; text-underline-offset: 5px; }
.cf-polished .site-main .button { min-height: 48px; border-radius: 12px!important; letter-spacing: .06em!important; line-height: 1.4; }
.cf-polished :is(.cf-training-card,.cf-guide-card,.cf-goal) { border-color: var(--cf-polish-border); }
.cf-polished :is(.cf-training-card__desc,.cf-guide-card__desc) { color: var(--cf-polish-muted); line-height: 1.65; }
.cf-polished .cf-hero:has(.cf-polish-hero-art) { padding-top: 42px; padding-bottom: 36px; }
.cf-polished .cf-hero__inner:has(.cf-polish-hero-art) { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: 38px; align-items: center; }
.cf-polished .cf-hero__text { min-width: 0; }
.cf-polished .cf-hero__sub { color: var(--cf-polish-muted); line-height: 1.7; }
.cf-polish-hero-art { min-width: 0; border-radius: 20px; overflow: hidden; border: 1px solid #587052; background: #f0e7d6; box-shadow: 0 18px 42px rgba(0,0,0,.2); }
.cf-polish-hero-art img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: cover; }
.cf-polished .cf-hero__goals { margin-top: 30px; gap: 14px; }
.cf-polished .cf-goal { min-width: 0; padding: 18px 12px; }
.cf-polished .cf-trust__item { line-height: 1.4; }

/* Calculator controls: type-specific input rules leave native radios at intrinsic width. */
.cf-polished .cf-calc { max-width: 920px; }
.cf-polished .hentry:has(.cf-calc) .entry-header, .cf-polished .entry-content:has(.cf-calc) { max-width: 920px; margin-left: auto; margin-right: auto; }
.cf-polished .cf-calc .cf-calc__intro { max-width: 64ch; margin: 0 0 24px; color: var(--cf-cream-200,#e2d6c0); font-size: 1rem; line-height: 1.7; }
.cf-polished .cf-calc .cf-calc__modes { display: inline-flex; max-width: 100%; gap: 6px; border-color: var(--cf-polish-border); border-radius: 14px; padding: 5px; margin-bottom: 20px; }
.cf-polished .cf-calc button.cf-calc__mode { min-height: 44px; border-radius: 10px!important; padding: 10px 22px!important; font-size: .9375rem; letter-spacing: .04em!important; line-height: 1.4; }
.cf-polished .cf-calc button.cf-calc__mode:not(.is-active):not([aria-pressed="true"]) { background: transparent!important; color: #e2d6c0!important; }
.cf-polished .cf-calc button.cf-calc__mode[aria-pressed="true"], .cf-polished .cf-calc button.cf-calc__mode.is-active { background: var(--cf-orange-500,#b45a16)!important; color: #fff!important; }
.cf-polished .cf-calc .cf-calc__form { padding: 28px; border-color: var(--cf-polish-border); border-radius: 18px; }
.cf-polished .cf-calc .cf-calc__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 26px; }
.cf-polished .cf-calc .cf-calc__field { min-width: 0; gap: 8px; }
.cf-polished .cf-calc .cf-calc__field > label, .cf-polished .cf-calc .cf-calc__legend { font-family: "Inter","Inter Fallback",sans-serif; font-weight: 600; font-size: .9375rem; line-height: 1.5; letter-spacing: 0; text-transform: none; color: #f0e7d6; }
.cf-polished .cf-calc fieldset.cf-calc__field { border: 0; background: transparent; padding: 0; margin: 0; }
.cf-polished .cf-calc .cf-calc__legend { float: none; display: block; width: 100%; padding: 0; margin: 0 0 10px; background: transparent; }
.cf-polished .cf-calc .cf-calc__units { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 20px; border-bottom: 1px solid var(--cf-polish-border); }
.cf-polished .cf-calc .cf-calc__units label { display: flex; flex: 1 1 185px; align-items: center; gap: 10px; min-height: 48px; padding: 11px 14px; border: 1px solid var(--cf-polish-border); border-radius: 10px; background: var(--cf-green-900,#1a271a); color: #e2d6c0; font-size: .9375rem; line-height: 1.5; white-space: nowrap; cursor: pointer; }
.cf-polished .cf-calc .cf-calc__units label:has(input:checked) { border-color: #f0b884; background: #263c25; color: #f0e7d6; }
.cf-polished .cf-calc .cf-calc__units input[type="radio"] { appearance: auto; width: auto!important; min-width: 0; max-width: none; height: 18px; flex: 0 0 auto; padding: 0; margin: 0; border-radius: 50%; accent-color: #f0b884; }
.cf-polished .cf-calc .cf-calc__field input:not([type="radio"]):not([type="checkbox"]), .cf-polished .cf-calc .cf-calc__field select { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 11px 13px; border: 1px solid var(--cf-polish-border); border-radius: 10px; font-size: 1rem; line-height: 1.5; box-shadow: none; }
.cf-polished .cf-calc .cf-calc__field input::placeholder { color: #b1c1a8; opacity: 1; }
.cf-polished .cf-calc .cf-calc__field :is(input,select):focus-visible { outline: 3px solid #f0b884; outline-offset: 3px; box-shadow: none; }
.cf-polished .cf-calc .cf-calc__help { margin: 0; color: var(--cf-polish-muted); font-size: .875rem; line-height: 1.6; }
.cf-polished .cf-calc .cf-calc__error { margin: 0; color: #ffd3bd; font-size: .875rem; font-weight: 500; line-height: 1.5; }
.cf-polished .cf-calc :is(input,select)[aria-invalid="true"] { border-color: #ffb998!important; }
.cf-polished .cf-calc .cf-calc__error-summary { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #ffb998; border-left-width: 4px; border-radius: 10px; background: #34251b; color: #ffd3bd; font-size: .9375rem; line-height: 1.6; }
.cf-polished .cf-calc .cf-calc__go { margin-top: 26px; width: auto; min-width: 210px; font-size: 1rem; }
.cf-polished .cf-calc .cf-calc__results { margin-top: 34px; scroll-margin-top: 24px; }
.cf-polished .cf-calc .cf-calc__rtitle { font-size: 1.8rem; margin: 0 0 8px; line-height: 1.2; }
.cf-polished .cf-calc :is(.cf-calc__rsub,.cf-calc__result-context) { color: var(--cf-polish-muted); font-size: .9375rem; line-height: 1.7; margin: 0 0 20px; }
.cf-polished .cf-calc .cf-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; align-items: stretch; }
.cf-polished .cf-calc .cf-stat { min-width: 0; padding: 20px 14px; border-color: var(--cf-polish-border); border-radius: 14px; background: #1a271a; text-align: left; }
.cf-polished .cf-calc .cf-stat:first-child { background: #31472b; border-color: #f0b884; }
.cf-polished .cf-calc .cf-stat__num { font-size: 2.1rem; line-height: 1.1; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cf-polished .cf-calc .cf-stat:first-child .cf-stat__num { font-size: 2.5rem; }
.cf-polished .cf-calc .cf-stat__label { font-size: .875rem; line-height: 1.4; margin-top: 10px; letter-spacing: .02em; }
.cf-polished .cf-calc .cf-stat__sub { font-size: .8125rem; line-height: 1.6; color: var(--cf-polish-muted); margin-top: 5px; }
.cf-polished .cf-calc .cf-macros { padding: 20px; border: 1px solid var(--cf-polish-border); border-radius: 14px; background: #243923; gap: 18px; margin-bottom: 24px; }
.cf-polished .cf-calc .cf-macro__top { flex-wrap: wrap; gap: 5px 14px; font-size: .9375rem; line-height: 1.5; margin-bottom: 8px; }
.cf-polished .cf-calc .cf-macro__top > span:last-child { font-variant-numeric: tabular-nums; color: #f0e7d6; font-weight: 600; }
.cf-polished .cf-calc .cf-macro__track { height: 10px; }
.cf-polished .cf-calc .cf-calc__block { padding: 22px; border-color: var(--cf-polish-border); border-radius: 14px; margin-bottom: 20px; }
.cf-polished .cf-calc .cf-calc__block h3 { font-size: 1.3rem; line-height: 1.3; margin-bottom: 12px; }
.cf-polished .cf-calc .cf-calc__block p { margin-bottom: 14px; line-height: 1.7; }
.cf-polished .cf-calc :is(.cf-calc__muted,.cf-calc__disclaimer) { color: var(--cf-polish-muted); font-size: .875rem; line-height: 1.7; }
.cf-polished .entry-content .cf-calc table.cf-micro { display: table; width: 100%; max-width: 100%; min-width: 0; table-layout: fixed; overflow: visible; margin: 18px 0 0; font-size: .9375rem; }
.cf-polished .entry-content .cf-calc table.cf-micro th, .cf-polished .entry-content .cf-calc table.cf-micro td { width: auto; min-width: 0; padding: 12px; white-space: normal; overflow-wrap: anywhere; color: #e2d6c0; vertical-align: top; line-height: 1.5; }
.cf-polished .entry-content .cf-calc table.cf-micro th { font-size: .875rem; letter-spacing: 0; }
.cf-polished .cf-calc [hidden] { display: none!important; }
@media (max-width: 767px) {
  .cf-polished .site-header { padding-top: 10px!important; padding-bottom: 8px!important; }
  /* Storefront's mobile brand floats beside the toggle in the next nav wrapper. */
  .cf-polished .site-header > .col-full { min-height: 0; gap: 0; }
  .cf-polished .storefront-primary-navigation { margin-top: 4px; }
  .cf-polished .cf-hero:has(.cf-polish-hero-art) { padding: 28px 16px; }
  .cf-polished .cf-hero__inner:has(.cf-polish-hero-art) { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .cf-polish-hero-art { width: min(240px,100%); justify-self: center; border-radius: 14px; }
  .cf-polished .cf-hero__title { font-size: clamp(2rem,7.4vw,2.8rem); line-height: 1.12; }
  .cf-polished .cf-hero__sub { font-size: .9375rem; }
  .cf-polished .cf-hero__goals { margin-top: 24px; }
  .cf-polished .cf-calc .cf-calc__grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .cf-polished .cf-calc .cf-calc__form { padding: 20px; }
  .cf-polished .cf-calc .cf-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cf-polished .cf-calc .cf-calc__go { width: 100%; min-width: 0; }
}
@media (max-width: 399px) {
  .cf-polished .cf-calc .cf-calc__form { padding: 16px; }
  .cf-polished .cf-calc .cf-calc__modes { display: flex; }
  .cf-polished .cf-calc button.cf-calc__mode { flex: 1 1 0; padding: 10px 12px!important; }
  .cf-polished .cf-calc .cf-stat { padding: 16px 12px; }
  .cf-polished .cf-calc .cf-stat:first-child { grid-column: 1 / -1; }
  .cf-polished .cf-calc .cf-stat:last-child { grid-column: 1 / -1; }
  .cf-polished .cf-calc .cf-calc__block { padding: 16px; }
  .cf-polished .cf-calc .cf-macros { padding: 16px; }
  .cf-polished .entry-content .cf-calc table.cf-micro th, .cf-polished .entry-content .cf-calc table.cf-micro td { padding: 10px 8px; }
}
