.wpw-calculator { padding: 28px; background: #fff; color: #24312d; border: 1px solid #d5e1da; border-radius: 8px; font: 17px/1.65 Inter, sans-serif; min-width: 0; width: 100%; box-sizing: border-box; }
.wpw-calculator fieldset { display: grid; gap: 12px; border: 0; padding: 0; margin: 20px 0; }
.wpw-calculator label, .wpw-calculator legend { font-weight: 600; }
.wpw-calculator input, .wpw-calculator select { min-height: 44px; padding: 10px; border: 1px solid #889b91; border-radius: 8px; font: inherit; width: 100%; box-sizing: border-box; }
.wpw-calculator button { min-height: 44px; padding: 12px 22px; margin: 4px; background: #24564a; color: #fff; border: 0; border-radius: 8px; font: inherit; cursor: pointer; }
.wpw-calculator :focus-visible { outline: 3px solid #b14f2e; outline-offset: 3px; }
.wpw-calculator button[aria-pressed="true"] { box-shadow: 0 0 0 2px #24564a; }
.wpw-calculator [data-wpw-error] { color: #9b2c20; }
.wpw-calculator [data-wpw-result] { background: #eef5f0; border-left: 4px solid #24564a; padding: 20px; margin: 20px 0; }
.wpw-calculator [hidden] { display: none; }
.wpw-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.wpw-field { display: grid; gap: 8px; min-width: 0; }
.wpw-calculator textarea { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #889b91; border-radius: 4px; font: inherit; resize: vertical; }
.wpw-options { margin: 12px 0 24px; }
.wpw-options summary { min-height: 44px; cursor: pointer; color: #24564a; font-weight: 600; }
.wpw-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.wpw-calculator .wpw-secondary { background: #fff; color: #24564a; border: 1px solid #889b91; }
.wpw-calculator button:disabled { opacity: .6; cursor: default; }
.wpw-calculator table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.wpw-calculator caption { text-align: left; font-weight: 600; }
.wpw-calculator th, .wpw-calculator td { padding: 12px 8px; text-align: left; border-bottom: 1px solid #cad8cf; overflow-wrap: anywhere; vertical-align: top; }
.wpw-plan-day { padding: 16px 0; border-bottom: 1px solid #cad8cf; break-inside: avoid; }
.wpw-plan-day h3 { font-size: 22px; margin: 0 0 16px; }
.wpw-plan-item { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 10px; margin-bottom: 12px; }
.wpw-plan-item input[type=checkbox] { width: 44px; height: 44px; min-height: 44px; margin: 0; accent-color: #24564a; }
.wpw-plan--compact .wpw-plan-day { padding: 8px 0; }
.wpw-plan--compact .wpw-plan-item textarea { font-size: 15px; }
.wpw-timer { font-size: 48px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.wpw-assumptions { border-top: 1px solid #cad8cf; padding-top: 20px; font-size: 15px; }
.wpw-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-wpw-print-copy] { display: none; }
@media print {
    .wpw-print-plan .elementor > :not(:has([data-wpw-result])), .wpw-print-plan .elementor-widget:not(.elementor-widget-shortcode), .wpw-print-plan .wpw-breadcrumbs { display: none; }
    .wpw-print-plan header, .wpw-print-plan footer, .wpw-print-plan .wpw-calculator fieldset, .wpw-print-plan .wpw-options, .wpw-print-plan .wpw-actions, .wpw-print-plan [data-wpw-result] button, .wpw-print-plan [data-wpw-result] textarea { display: none; }
    .wpw-print-plan [data-wpw-print-copy] { display: block; white-space: pre-wrap; overflow-wrap: anywhere; }
    .wpw-print-plan .wpw-calculator { border: 0; padding: 0; }
    .wpw-print-plan [data-wpw-result] { background: #fff; border: 0; padding: 0; }
}
@media (max-width: 1024px) { .wpw-calculator { padding: 24px; } }
@media (max-width: 767px) { .wpw-calculator { padding: 20px; } }
@media (max-width: 767px) { .wpw-fields { grid-template-columns: 1fr; } .wpw-calculator th, .wpw-calculator td { font-size: 15px; } }
@media (prefers-reduced-motion: reduce) { .wpw-calculator * { scroll-behavior: auto; animation: none; transition: none; } }
.wpw-site { --wpw-color-brand: #24564a; --wpw-color-ink: #24312d; --wpw-color-soft: #eef5f0; --wpw-color-peach: #e9a98f; background: #faf9f6; color: var(--wpw-color-ink); }
.wpw-site .site-title a { color: #24564a; font-size: 22px; font-weight: 700; letter-spacing: 0; }
.wpw-site .ast-primary-header-bar { background: #faf9f6; border-bottom: 1px solid #d5e1da; }
.wpw-site .main-header-menu .menu-link { color: #24564a; font-size: 15px; }
.wpw-site .main-header-menu .wpw-nav-cta > .menu-link { background: #24564a; color: #fff; border-radius: 6px; margin: 12px 0 12px 12px; min-height: 44px; line-height: 44px; }
.wpw-site .site-below-footer-wrap { background: #eef5f0; color: #24312d; padding: 36px 24px; border-top: 1px solid #d5e1da; }
.wpw-site .site-footer a { color: #24564a; text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding: 6px 3px; }
.wpw-site a:focus-visible, .wpw-site button:focus-visible { outline: 3px solid #b14f2e; outline-offset: 3px; }
.wpw-breadcrumbs { max-width: 1200px; margin: 0 auto; padding: 20px 24px 0; font-size: 14px; color: #46574f; }
.wpw-breadcrumbs a { color: #24564a; text-decoration: underline; }
.wpw-site .elementor p a { text-decoration: underline; text-underline-offset: 3px; }
.wpw-site .elementor img { max-width: 100%; height: auto; }
