/* KitchenZap Tools: scoped page styles */
body.kz-tools-page {
  --kz-bg: #F7FAFC;
  --kz-surface: #FFFFFF;
  --kz-ink: #1A202C;
  --kz-heading: #714E38;
  --kz-muted: #665C52;
  --kz-accent: #BE7A33;
  --kz-accent-dark: #9A5F22;
  --kz-warm: #FBF7F1;
  --kz-border: #E7DCCD;
  --kz-shadow: 0 18px 50px rgba(113, 78, 56, 0.12);
  background: var(--kz-bg);
  color: var(--kz-ink);
  font-family: Georgia, serif;
}
body.kz-tools-page.transparent-header .site-header { position: relative !important; top: auto !important; background: #FFFFFF; }
body.kz-tools-page .content-area { margin: 0; }
body.kz-tools-page .site-main { padding: 0; }
body.kz-tools-page .entry-content-wrap { padding: 0; }
body.kz-tools-page .kz-main,
body.kz-tools-page .kz-main * { box-sizing: border-box; }
body.kz-tools-page .kz-main :where(h1,h2,h3,h4,p,ul,ol,dl,figure,fieldset) { margin-top: 0; }
body.kz-tools-page .kz-main :where(button,input,select) { font: inherit; }
body.kz-tools-page .kz-main { overflow: hidden; background: var(--kz-bg); color: var(--kz-ink); }
body.kz-tools-page .kz-container { width: min(1080px, calc(100% - 40px)); margin-inline: auto; }
body.kz-tools-page .kz-section { padding: 72px 0; }
body.kz-tools-page .kz-hero { padding: 68px 0 72px; background: var(--kz-warm); border-bottom: 1px solid var(--kz-border); }
body.kz-tools-page .kz-hero-grid,
body.kz-tools-page .kz-calculator-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 56px; align-items: center; }
body.kz-tools-page .kz-eyebrow { margin-bottom: 14px; color: var(--kz-accent-dark); font-size: 13px; line-height: 1.4; font-weight: 700; letter-spacing: .11em; }
body.kz-tools-page .kz-eyebrow a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.kz-tools-page .kz-main h1,
body.kz-tools-page .kz-main h2,
body.kz-tools-page .kz-main h3,
body.kz-tools-page .kz-main h4 { color: var(--kz-heading); font-family: Georgia, serif; font-weight: 700; text-transform: none; }
body.kz-tools-page .kz-main h1 { max-width: 760px; margin-bottom: 22px; font-size: clamp(42px, 5.2vw, 64px); line-height: 1.06; letter-spacing: -.025em; }
body.kz-tools-page .kz-main h2 { margin-bottom: 14px; font-size: clamp(30px, 3.5vw, 42px); line-height: 1.12; letter-spacing: -.015em; }
body.kz-tools-page .kz-main h3 { font-size: 27px; line-height: 1.2; }
body.kz-tools-page .kz-lede { max-width: 680px; margin-bottom: 30px; color: var(--kz-muted); font-size: clamp(18px, 2vw, 21px); line-height: 1.62; }
body.kz-tools-page .kz-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 10px 24px; border: 2px solid var(--kz-accent); border-radius: 30px; background: var(--kz-accent); color: #FFFFFF; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .16s ease, border-color .16s ease, transform .16s ease; }
body.kz-tools-page .kz-button:hover { border-color: var(--kz-accent-dark); background: var(--kz-accent-dark); color: #FFFFFF; }
body.kz-tools-page .kz-button:active { transform: translateY(1px); }
body.kz-tools-page .kz-main :where(a,button,input,select,summary):focus-visible { outline: 3px solid var(--kz-accent-dark); outline-offset: 3px; }
body.kz-tools-page .kz-section-heading { max-width: 680px; margin-bottom: 34px; }
body.kz-tools-page .kz-section-heading p { margin-bottom: 0; color: var(--kz-muted); font-size: 18px; line-height: 1.65; }

/* Hub */
body.kz-tools-page .kz-brew-visual { position: relative; display: grid; min-height: 330px; place-items: center; }
body.kz-tools-page .kz-brew-ring { position: relative; z-index: 2; display: flex; width: 276px; height: 276px; flex-direction: column; align-items: center; justify-content: center; border: 2px solid var(--kz-accent); border-radius: 50%; background: var(--kz-surface); box-shadow: var(--kz-shadow); color: var(--kz-heading); }
body.kz-tools-page .kz-brew-ring::after { position: absolute; inset: 18px; border: 1px solid var(--kz-border); border-radius: 50%; content: ""; }
body.kz-tools-page .kz-brew-number { position: relative; z-index: 1; font-size: 72px; font-weight: 700; line-height: 1; letter-spacing: -.04em; }
body.kz-tools-page .kz-brew-label { position: relative; z-index: 1; max-width: 170px; margin-top: 12px; color: var(--kz-muted); font-size: 14px; line-height: 1.4; text-align: center; }
body.kz-tools-page .kz-bean { position: absolute; display: block; width: 34px; height: 50px; border-radius: 55% 45% 55% 45%; background: var(--kz-heading); transform: rotate(24deg); }
body.kz-tools-page .kz-bean::after { position: absolute; top: 7px; bottom: 7px; left: 50%; width: 1px; background: var(--kz-warm); content: ""; transform: rotate(-10deg); }
body.kz-tools-page .kz-bean-one { top: 12px; right: 28px; transform: rotate(56deg) scale(.8); }
body.kz-tools-page .kz-bean-two { bottom: 10px; left: 40px; transform: rotate(-16deg) scale(.65); }
body.kz-tools-page .kz-bean-three { right: 4px; bottom: 62px; transform: rotate(20deg) scale(.45); }
body.kz-tools-page .kz-featured-tool { background: var(--kz-bg); }
body.kz-tools-page .kz-feature-panel { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); overflow: hidden; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-surface); box-shadow: var(--kz-shadow); }
body.kz-tools-page .kz-feature-copy { padding: 46px; }
body.kz-tools-page .kz-feature-copy h3 { margin-bottom: 16px; font-size: clamp(30px, 3vw, 40px); }
body.kz-tools-page .kz-feature-copy > p:not(.kz-status) { max-width: 610px; margin-bottom: 20px; color: var(--kz-muted); font-size: 18px; line-height: 1.65; }
body.kz-tools-page .kz-status { display: inline-flex; gap: 7px; margin-bottom: 18px; color: #4D6238; font-size: 14px; font-weight: 700; }
body.kz-tools-page .kz-check-list { display: grid; gap: 9px; margin: 0 0 28px; padding: 0; list-style: none; }
body.kz-tools-page .kz-check-list li { position: relative; padding-left: 25px; color: var(--kz-ink); }
body.kz-tools-page .kz-check-list li::before { position: absolute; left: 0; color: var(--kz-accent-dark); content: "✓"; font-weight: 700; }
body.kz-tools-page .kz-mini-recipe { display: flex; flex-direction: column; justify-content: center; padding: 42px; background: var(--kz-heading); color: #FFFFFF; }
body.kz-tools-page .kz-mini-recipe > p { margin-bottom: 24px; color: #F4ECE1; font-size: 14px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
body.kz-tools-page .kz-mini-recipe dl { margin-bottom: 0; }
body.kz-tools-page .kz-mini-recipe dl div { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.22); }
body.kz-tools-page .kz-mini-recipe dt { color: #F4ECE1; }
body.kz-tools-page .kz-mini-recipe dd { margin: 0; font-size: 20px; font-weight: 700; }
body.kz-tools-page .kz-roadmap { background: var(--kz-warm); border-top: 1px solid var(--kz-border); }
body.kz-tools-page .kz-roadmap-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 64px; }
body.kz-tools-page .kz-roadmap-group > h3 { margin-bottom: 20px; }
body.kz-tools-page .kz-tool-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: tool 5; }
body.kz-tools-page .kz-roadmap-tea .kz-tool-list { counter-reset: tool 9; }
body.kz-tools-page .kz-tool-list li { display: grid; grid-template-columns: 36px 1fr auto; gap: 14px; align-items: start; padding: 18px 0; border-top: 1px solid var(--kz-border); counter-increment: tool; }
body.kz-tools-page .kz-tool-list li::before { color: var(--kz-accent-dark); content: counter(tool, decimal-leading-zero); font-size: 14px; font-weight: 700; }
body.kz-tools-page .kz-tool-list strong { display: block; color: var(--kz-heading); font-size: 18px; line-height: 1.35; }
body.kz-tools-page .kz-tool-list small { display: block; margin-top: 4px; color: var(--kz-muted); font-size: 15px; line-height: 1.5; }
body.kz-tools-page .kz-tool-list em { padding: 4px 9px; border: 1px solid var(--kz-border); border-radius: 30px; color: var(--kz-muted); font-size: 12px; font-style: normal; line-height: 1.2; }
body.kz-tools-page .kz-note { margin-top: 34px; padding: 28px; border-left: 4px solid var(--kz-accent); background: var(--kz-surface); }
body.kz-tools-page .kz-note h4 { margin-bottom: 10px; font-size: 20px; }
body.kz-tools-page .kz-note p { margin-bottom: 0; color: var(--kz-muted); line-height: 1.65; }

body.kz-tools-page .kz-feature-stack { display: grid; gap: 32px; }
body.kz-tools-page .kz-feature-panel-tea { grid-template-columns: minmax(300px, .65fr) minmax(0, 1.35fr); }
body.kz-tools-page .kz-feature-panel-tea .kz-feature-copy { order: 2; }
body.kz-tools-page .kz-feature-panel-tea .kz-mini-tea { order: 1; background: var(--kz-accent-dark); }

/* Calculator */
body.kz-tools-page .kz-calculator-hero-grid { grid-template-columns: minmax(0, 1fr) 250px; }
body.kz-tools-page .kz-ratio-mark { display: grid; align-content: center; justify-items: center; min-height: 220px; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-surface); box-shadow: var(--kz-shadow); color: var(--kz-heading); transform: rotate(2deg); }
body.kz-tools-page .kz-ratio-mark strong { margin: 7px 0; font-size: 64px; line-height: 1; letter-spacing: -.04em; }
body.kz-tools-page .kz-ratio-mark span { color: var(--kz-accent-dark); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
body.kz-tools-page .kz-tea-mark { position: relative; display: grid; align-content: center; justify-items: center; min-height: 220px; border: 1px solid var(--kz-border); border-radius: 50%; background: var(--kz-surface); box-shadow: var(--kz-shadow); color: var(--kz-heading); }
body.kz-tools-page .kz-tea-mark strong { margin: 7px 0; font-size: 58px; line-height: 1; letter-spacing: -.04em; }
body.kz-tools-page .kz-tea-mark > span { color: var(--kz-accent-dark); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
body.kz-tools-page .kz-leaf { position: absolute; display: block; width: 24px; height: 42px; border-radius: 80% 10% 80% 10%; background: var(--kz-heading); }
body.kz-tools-page .kz-leaf::after { position: absolute; top: 6px; bottom: 6px; left: 50%; width: 1px; background: var(--kz-warm); content: ""; transform: rotate(25deg); }
body.kz-tools-page .kz-leaf-a { top: 6px; right: 8px; transform: rotate(28deg); }
body.kz-tools-page .kz-leaf-b { bottom: 6px; left: 4px; transform: rotate(-145deg) scale(.75); }
body.kz-tools-page .kz-calculator-section { padding-top: 56px; }
body.kz-tools-page .kz-calculator-shell { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); overflow: hidden; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-surface); box-shadow: var(--kz-shadow); }
body.kz-tools-page .kz-calculator-form { padding: 40px; border: 0; background: var(--kz-surface); }
body.kz-tools-page .kz-calculator-form > h2 { font-size: 32px; }
body.kz-tools-page .kz-form-intro { margin-bottom: 28px; color: var(--kz-muted); line-height: 1.6; }
body.kz-tools-page .kz-field { margin-bottom: 22px; }
body.kz-tools-page .kz-field label,
body.kz-tools-page .kz-fieldset legend { display: block; margin-bottom: 8px; color: var(--kz-ink); font-size: 15px; font-weight: 700; }
body.kz-tools-page .kz-field input,
body.kz-tools-page .kz-field select { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid #B8A99A; border-radius: 10px; background: #FFFFFF; color: var(--kz-ink); }
body.kz-tools-page .kz-field input:hover,
body.kz-tools-page .kz-field select:hover { border-color: var(--kz-accent-dark); }
body.kz-tools-page .kz-field small { display: block; margin-top: 7px; color: var(--kz-muted); font-size: 13px; line-height: 1.45; }
body.kz-tools-page .kz-fieldset { margin: 0 0 22px; padding: 0; border: 0; }
body.kz-tools-page .kz-segmented { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border: 1px solid var(--kz-border); border-radius: 10px; background: var(--kz-warm); }
body.kz-tools-page .kz-segmented input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
body.kz-tools-page .kz-segmented label { min-height: 42px; margin: 0; padding: 9px 12px; border-radius: 7px; color: var(--kz-muted); font-size: 14px; font-weight: 700; text-align: center; cursor: pointer; }
body.kz-tools-page .kz-segmented input:checked + label { background: var(--kz-surface); box-shadow: 0 2px 9px rgba(113, 78, 56, .12); color: var(--kz-heading); }
body.kz-tools-page .kz-segmented input:focus-visible + label { outline: 3px solid var(--kz-accent-dark); outline-offset: 2px; }
body.kz-tools-page .kz-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.kz-tools-page .kz-inline-error { margin: -8px 0 18px; padding: 10px 12px; border-left: 4px solid #A13D2D; background: #FFF3F0; color: #75291E; }
body.kz-tools-page .kz-print-button { width: 100%; }
body.kz-tools-page .kz-results { display: flex; min-width: 0; flex-direction: column; padding: 40px; background: var(--kz-heading); color: #FFFFFF; }
body.kz-tools-page .kz-results-heading { display: flex; justify-content: space-between; gap: 20px; align-items: start; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.22); }
body.kz-tools-page .kz-results-heading p { margin-bottom: 5px; color: #F4ECE1; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.kz-tools-page .kz-results-heading h2 { margin-bottom: 0; color: #FFFFFF; font-size: 34px; }
body.kz-tools-page .kz-strength-badge { padding: 6px 11px; border: 1px solid rgba(255,255,255,.35); border-radius: 30px; color: #FFFFFF; font-size: 13px; white-space: nowrap; }
body.kz-tools-page .kz-primary-result { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; padding: 34px 0; border-bottom: 1px solid rgba(255,255,255,.22); }
body.kz-tools-page .kz-primary-result div { min-width: 0; }
body.kz-tools-page .kz-primary-result span { display: block; color: #F4ECE1; font-size: 14px; }
body.kz-tools-page .kz-primary-result strong { display: block; margin-top: 7px; color: #FFFFFF; font-size: clamp(34px, 4vw, 48px); line-height: 1.05; overflow-wrap: anywhere; }
body.kz-tools-page .kz-primary-result .kz-plus { color: var(--kz-accent); font-size: 32px; }
body.kz-tools-page .kz-result-list { display: grid; margin: 0; }
body.kz-tools-page .kz-result-list div { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr); gap: 18px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
body.kz-tools-page .kz-result-list dt { color: #F4ECE1; }
body.kz-tools-page .kz-result-list dd { margin: 0; color: #FFFFFF; font-weight: 700; }
body.kz-tools-page .kz-result-note { margin: 24px 0 10px; color: #FFFFFF; line-height: 1.6; }
body.kz-tools-page .kz-disclaimer { margin: 0; color: #E7DCCD; font-size: 13px; line-height: 1.55; }
body.kz-tools-page .kz-method-guide { background: var(--kz-warm); border-block: 1px solid var(--kz-border); }
body.kz-tools-page .kz-narrow-heading { max-width: 760px; }
body.kz-tools-page .kz-table-wrap { overflow-x: auto; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-surface); }
body.kz-tools-page .kz-table-wrap table { width: 100%; min-width: 800px; margin: 0; border: 0; border-collapse: collapse; }
body.kz-tools-page .kz-table-wrap th,
body.kz-tools-page .kz-table-wrap td { padding: 16px 18px; border: 0; border-bottom: 1px solid var(--kz-border); text-align: left; }
body.kz-tools-page .kz-table-wrap thead th { background: var(--kz-heading); color: #FFFFFF; font-size: 14px; }
body.kz-tools-page .kz-table-wrap tbody th { color: var(--kz-heading); }
body.kz-tools-page .kz-table-wrap tbody td { color: var(--kz-muted); }
body.kz-tools-page .kz-table-wrap tbody tr:last-child :where(th,td) { border-bottom: 0; }
body.kz-tools-page .kz-how-to-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 64px; align-items: start; }
body.kz-tools-page .kz-how-to-grid > div p { color: var(--kz-muted); font-size: 18px; line-height: 1.65; }
body.kz-tools-page .kz-how-to ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: tune; }
body.kz-tools-page .kz-how-to li { display: grid; grid-template-columns: 42px minmax(150px, .65fr) minmax(0, 1.35fr); gap: 14px; padding: 18px 0; border-top: 1px solid var(--kz-border); counter-increment: tune; }
body.kz-tools-page .kz-how-to li::before { color: var(--kz-accent-dark); content: "0" counter(tune); font-weight: 700; }
body.kz-tools-page .kz-how-to li strong { color: var(--kz-heading); }
body.kz-tools-page .kz-how-to li span { color: var(--kz-muted); }
body.kz-tools-page .kz-faq { background: var(--kz-warm); border-top: 1px solid var(--kz-border); }
body.kz-tools-page .kz-faq-grid { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: 64px; }
body.kz-tools-page .kz-faq details { border-top: 1px solid var(--kz-border); }
body.kz-tools-page .kz-faq details:last-child { border-bottom: 1px solid var(--kz-border); }
body.kz-tools-page .kz-faq summary { padding: 19px 34px 19px 0; color: var(--kz-heading); font-size: 18px; font-weight: 700; cursor: pointer; }
body.kz-tools-page .kz-faq details p { max-width: 680px; padding: 0 0 20px; color: var(--kz-muted); line-height: 1.65; }
body.kz-tools-page .kz-tools-return { padding: 34px 0; background: var(--kz-heading); color: #FFFFFF; }
body.kz-tools-page .kz-tools-return .kz-container { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
body.kz-tools-page .kz-tools-return p { margin: 0; }
body.kz-tools-page .kz-text-link { color: #FFFFFF; font-weight: 700; text-underline-offset: 4px; }

@media (max-width: 900px) {
  body.kz-tools-page .kz-hero-grid,
  body.kz-tools-page .kz-calculator-hero-grid,
  body.kz-tools-page .kz-feature-panel,
  body.kz-tools-page .kz-feature-panel-tea,
  body.kz-tools-page .kz-roadmap-columns,
  body.kz-tools-page .kz-calculator-shell,
  body.kz-tools-page .kz-how-to-grid,
  body.kz-tools-page .kz-faq-grid { grid-template-columns: 1fr; }
  body.kz-tools-page .kz-feature-panel-tea .kz-feature-copy,
  body.kz-tools-page .kz-feature-panel-tea .kz-mini-tea { order: initial; }
  body.kz-tools-page .kz-hero-grid { gap: 30px; }
  body.kz-tools-page .kz-brew-visual { min-height: 285px; }
  body.kz-tools-page .kz-calculator-hero-grid { grid-template-columns: 1fr 190px; }
  body.kz-tools-page .kz-ratio-mark,
  body.kz-tools-page .kz-tea-mark { min-height: 170px; }
  body.kz-tools-page .kz-ratio-mark strong,
  body.kz-tools-page .kz-tea-mark strong { font-size: 48px; }
  body.kz-tools-page .kz-roadmap-columns,
  body.kz-tools-page .kz-how-to-grid,
  body.kz-tools-page .kz-faq-grid { gap: 40px; }
  body.kz-tools-page .kz-results { min-height: auto; }
}

@media (max-width: 640px) {
  body.kz-tools-page .kz-container { width: min(100% - 28px, 1080px); }
  body.kz-tools-page .kz-section { padding: 52px 0; }
  body.kz-tools-page .kz-hero { padding: 46px 0 50px; }
  body.kz-tools-page .kz-main h1 { font-size: clamp(38px, 12vw, 50px); }
  body.kz-tools-page .kz-main h2 { font-size: 31px; }
  body.kz-tools-page .kz-calculator-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  body.kz-tools-page .kz-ratio-mark,
  body.kz-tools-page .kz-tea-mark { display: none; }
  body.kz-tools-page .kz-brew-visual { min-height: 250px; }
  body.kz-tools-page .kz-brew-ring { width: 220px; height: 220px; }
  body.kz-tools-page .kz-brew-number { font-size: 58px; }
  body.kz-tools-page .kz-feature-copy,
  body.kz-tools-page .kz-mini-recipe,
  body.kz-tools-page .kz-calculator-form,
  body.kz-tools-page .kz-results { padding: 28px 22px; }
  body.kz-tools-page .kz-form-row { grid-template-columns: 1fr; gap: 0; }
  body.kz-tools-page .kz-primary-result { grid-template-columns: 1fr; gap: 12px; }
  body.kz-tools-page .kz-primary-result .kz-plus { display: none; }
  body.kz-tools-page .kz-primary-result div { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; }
  body.kz-tools-page .kz-primary-result strong { font-size: 34px; }
  body.kz-tools-page .kz-result-list div { grid-template-columns: 1fr; gap: 5px; }
  body.kz-tools-page .kz-how-to li { grid-template-columns: 34px 1fr; }
  body.kz-tools-page .kz-how-to li span { grid-column: 2; }
  body.kz-tools-page .kz-tool-list li { grid-template-columns: 30px 1fr; }
  body.kz-tools-page .kz-tool-list em { grid-column: 2; justify-self: start; }
  body.kz-tools-page .kz-tools-return .kz-container { align-items: flex-start; flex-direction: column; }
}

@media print {
  body.kz-tools-page .site-header,
  body.kz-tools-page .site-footer,
  body.kz-tools-page .kz-calculator-hero,
  body.kz-tools-page .kz-method-guide,
  body.kz-tools-page .kz-how-to,
  body.kz-tools-page .kz-faq,
  body.kz-tools-page .kz-tools-return,
  body.kz-tools-page .kz-calculator-form .kz-print-button { display: none !important; }
  body.kz-tools-page .kz-calculator-section { padding: 0; }
  body.kz-tools-page .kz-calculator-shell { display: block; border: 0; box-shadow: none; }
  body.kz-tools-page .kz-calculator-form { padding: 0 0 24px; }
  body.kz-tools-page .kz-results { padding: 28px; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

@media (prefers-reduced-motion: reduce) {
  body.kz-tools-page .kz-button { transition: none; }
}


/* Coffee caffeine calculator */
body.kz-tools-page .kz-caffeine-mark { min-height: 210px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-warm); color: var(--kz-heading); text-align: center; }
body.kz-tools-page .kz-caffeine-mark strong { display: block; margin: 4px 0; color: var(--kz-accent-dark); font-size: clamp(58px, 7vw, 84px); line-height: .9; }
body.kz-tools-page .kz-caffeine-mark span { font-size: 12px; font-weight: 700; letter-spacing: .09em; }
body.kz-tools-page .kz-caffeine-total { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; margin: 28px 0 12px; }
body.kz-tools-page .kz-caffeine-total strong { color: var(--kz-heading); font-size: clamp(42px, 6vw, 66px); line-height: 1; }
body.kz-tools-page .kz-caffeine-total span { color: var(--kz-muted); font-weight: 700; text-align: right; }
body.kz-tools-page .kz-caffeine-meter { height: 12px; overflow: hidden; margin-bottom: 18px; border: 1px solid var(--kz-border); border-radius: 30px; background: var(--kz-surface); }
body.kz-tools-page .kz-caffeine-meter span { display: block; height: 100%; border-radius: inherit; background: var(--kz-accent); transition: width .15s ease; }
body.kz-tools-page .kz-caffeine-status { margin: 0 0 26px; padding: 16px 18px; border-left: 4px solid var(--kz-accent); background: var(--kz-warm); color: var(--kz-muted); line-height: 1.55; }
body.kz-tools-page .kz-caffeine-status strong { color: var(--kz-heading); }
body.kz-tools-page .kz-caffeine-guidance { background: var(--kz-surface); border-top: 1px solid var(--kz-border); }
body.kz-tools-page .kz-guidance-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 52px; align-items: start; }
body.kz-tools-page .kz-guidance-grid > div > p { max-width: 680px; color: var(--kz-muted); font-size: 18px; line-height: 1.65; }
body.kz-tools-page .kz-guidance-grid .kz-note { margin: 0; }
body.kz-tools-page .kz-source-links { margin-top: 18px; }
body.kz-tools-page .kz-source-links a { color: var(--kz-accent-dark); font-weight: 700; text-underline-offset: 3px; }
body.kz-tools-page .kz-feature-panel-caffeine .kz-mini-recipe { background: var(--kz-heading); }

@media (max-width: 900px) {
  body.kz-tools-page .kz-caffeine-mark { min-height: 170px; }
  body.kz-tools-page .kz-caffeine-mark strong { font-size: 48px; }
  body.kz-tools-page .kz-guidance-grid { grid-template-columns: 1fr; gap: 36px; }
}

@media (max-width: 640px) {
  body.kz-tools-page .kz-caffeine-mark { display: none; }
  body.kz-tools-page .kz-caffeine-total { align-items: flex-start; flex-direction: column; gap: 6px; }
  body.kz-tools-page .kz-caffeine-total span { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  body.kz-tools-page .kz-caffeine-meter span { transition: none; }
}


/* Coffee grind size finder */
body.kz-tools-page .kz-grind-mark { min-height: 210px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 13px; align-items: center; padding: 26px; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-surface); color: var(--kz-heading); text-align: center; }
body.kz-tools-page .kz-grind-mark > span { grid-row: 2; font-size: 11px; font-weight: 700; letter-spacing: .09em; }
body.kz-tools-page .kz-grind-mark > strong { grid-column: 2; grid-row: 1; color: var(--kz-accent-dark); font-size: 34px; }
body.kz-tools-page .kz-grind-mark-particles { grid-column: 1; grid-row: 1; min-height: 105px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-content: center; }
body.kz-tools-page .kz-grind-mark-particles i { width: 17px; height: 17px; border-radius: 45% 55% 40% 60%; background: var(--kz-heading); transform: rotate(18deg); }
body.kz-tools-page .kz-grind-mark-fine { grid-column: 3; gap: 4px; }
body.kz-tools-page .kz-grind-mark-fine i { width: 7px; height: 7px; }
body.kz-tools-page .kz-grind-visual { --grain-size: 8px; position: relative; min-height: 160px; margin: 26px 0 22px; overflow: hidden; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-warm); }
body.kz-tools-page .kz-grain { position: absolute; width: var(--grain-size); height: var(--grain-size); border-radius: 43% 57% 48% 52%; background: var(--kz-heading); box-shadow: calc(var(--grain-size) * .25) calc(var(--grain-size) * .3) 0 rgba(113,78,56,.16); transform: rotate(24deg); }
body.kz-tools-page .kz-g1 { left: 9%; top: 24%; } body.kz-tools-page .kz-g2 { left: 21%; top: 57%; } body.kz-tools-page .kz-g3 { left: 34%; top: 31%; } body.kz-tools-page .kz-g4 { left: 48%; top: 64%; } body.kz-tools-page .kz-g5 { left: 61%; top: 22%; } body.kz-tools-page .kz-g6 { left: 75%; top: 53%; } body.kz-tools-page .kz-g7 { left: 88%; top: 28%; } body.kz-tools-page .kz-g8 { left: 14%; top: 76%; } body.kz-tools-page .kz-g9 { left: 41%; top: 17%; } body.kz-tools-page .kz-g10 { left: 67%; top: 75%; } body.kz-tools-page .kz-g11 { left: 82%; top: 78%; } body.kz-tools-page .kz-g12 { left: 54%; top: 40%; }
body.kz-tools-page .kz-grind-primary { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding: 0 0 22px; border-bottom: 1px solid var(--kz-border); }
body.kz-tools-page .kz-grind-primary span { color: var(--kz-muted); font-size: 14px; font-weight: 700; }
body.kz-tools-page .kz-grind-primary strong { color: var(--kz-heading); font-size: clamp(26px, 4vw, 38px); text-align: right; }
body.kz-tools-page .kz-grind-principle { background: var(--kz-surface); border-top: 1px solid var(--kz-border); }
body.kz-tools-page .kz-feature-panel-grind .kz-mini-recipe { background: var(--kz-warm); color: var(--kz-ink); }
body.kz-tools-page .kz-feature-panel-grind .kz-mini-recipe > p,
body.kz-tools-page .kz-feature-panel-grind .kz-mini-recipe :where(dt,dd) { color: var(--kz-heading); }
body.kz-tools-page .kz-feature-panel-grind .kz-mini-recipe dl div { border-color: var(--kz-border); }

@media (max-width: 900px) {
  body.kz-tools-page .kz-grind-mark { min-height: 170px; }
}

@media (max-width: 640px) {
  body.kz-tools-page .kz-grind-mark { display: none; }
  body.kz-tools-page .kz-grind-visual { min-height: 130px; }
  body.kz-tools-page .kz-grind-primary { align-items: flex-start; flex-direction: column; gap: 5px; }
  body.kz-tools-page .kz-grind-primary strong { text-align: left; }
}


/* Cold brew calculator */
body.kz-tools-page .kz-cold-brew-mark { min-height: 210px; display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; padding: 28px; border: 1px solid var(--kz-border); border-radius: 16px; background: var(--kz-surface); color: var(--kz-heading); }
body.kz-tools-page .kz-cold-brew-mark > strong { align-self: end; color: var(--kz-accent-dark); font-size: clamp(44px, 5vw, 64px); line-height: .9; }
body.kz-tools-page .kz-cold-brew-mark > span { grid-column: 2; align-self: start; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
body.kz-tools-page .kz-cold-glass { position: relative; grid-row: 1 / span 2; width: 108px; height: 146px; overflow: hidden; border: 5px solid var(--kz-heading); border-top-width: 3px; border-radius: 10px 10px 16px 16px; background: var(--kz-warm); }
body.kz-tools-page .kz-cold-glass > span { position: absolute; right: 0; bottom: 0; left: 0; height: 72%; background: var(--kz-heading); }
body.kz-tools-page .kz-cold-glass i { position: absolute; z-index: 1; width: 26px; height: 26px; border: 2px solid var(--kz-border); transform: rotate(18deg); }
body.kz-tools-page .kz-cold-glass i:nth-of-type(1) { left: 13px; bottom: 17px; }
body.kz-tools-page .kz-cold-glass i:nth-of-type(2) { right: 14px; bottom: 24px; transform: rotate(42deg); }
body.kz-tools-page .kz-cold-glass i:nth-of-type(3) { left: 39px; bottom: 55px; transform: rotate(7deg); }
body.kz-tools-page .kz-cold-sources { background: var(--kz-surface); border-top: 1px solid var(--kz-border); }
body.kz-tools-page .kz-feature-panel-cold .kz-mini-recipe { background: var(--kz-heading); }

@media (max-width: 900px) {
  body.kz-tools-page .kz-cold-brew-mark { min-height: 170px; grid-template-columns: 90px 1fr; padding: 20px; }
  body.kz-tools-page .kz-cold-glass { width: 80px; height: 120px; }
  body.kz-tools-page .kz-cold-glass i { width: 20px; height: 20px; }
}

@media (max-width: 640px) {
  body.kz-tools-page .kz-cold-brew-mark { display: none; }
}
