/* Shared calculator pickers. Native selects remain the source of form values. */
.calc-select{position:relative;min-width:0}
/* Lift the owning sections too: their entrance transforms form stacking contexts. */
.calculator-step:has(.calc-select-menu:not([hidden])){position:relative;z-index:29}
.calc-family-options:has(.calc-select-menu:not([hidden])){position:relative;z-index:1}
.calc-select-trigger{--select-inset:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:52px;padding:13px var(--select-inset);background:var(--surface);border:1px solid var(--line);border-radius:3px;font-size:14px;font-weight:600;line-height:1.65;text-align:left;transition:border-color var(--medium),background var(--medium),color var(--medium)}
.calc-select-trigger:hover{background:var(--panel);border-color:var(--accent-border)}
.calc-select-trigger[aria-expanded=true]{border-color:var(--accent);background:#202923}
.calc-select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.calc-select-trigger:disabled{opacity:.45;cursor:default}
.calc-select-value{min-width:0;overflow-wrap:anywhere}
.calc-select-chevron{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;color:var(--accent);line-height:0;transform-origin:center;transition:transform var(--medium) var(--ease)}
.calc-select-chevron::before{content:'';display:block;width:20px;height:20px;background:currentColor;-webkit-mask:url('assets/icons/chevron-down.svg') center/20px 20px no-repeat;mask:url('assets/icons/chevron-down.svg') center/20px 20px no-repeat}
.calc-select-trigger[aria-expanded=true] .calc-select-chevron{transform:rotate(180deg)}
.calc-select-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:28;max-height:min(300px,40dvh);padding:6px;background:#1b201d;border:1px solid var(--accent-border);border-radius:3px;box-shadow:0 14px 32px #0005;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-border) var(--surface)}
.calc-select-menu.is-above{top:auto;bottom:calc(100% + 8px)}
.calc-select-menu.is-closing{pointer-events:none}
.calc-select-option{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;min-height:48px;padding:11px 14px;border:0;border-left:2px solid transparent;border-radius:1px;background:transparent;color:var(--text);font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.65;text-align:left;cursor:pointer;transition:color var(--fast),background var(--fast),border-color var(--fast)}
.calc-select-option>span:first-child{min-width:0;overflow-wrap:anywhere}
.calc-select-option:hover{background:#a0dbe00b}
.calc-select-option[aria-selected=true]{color:var(--accent);border-left-color:var(--accent);background:#a0dbe008}
.calc-select-option.is-active{background:#a0dbe018}
.calc-select-mark{flex-shrink:0;color:var(--accent);font-size:17px;opacity:0}
.calc-select-option[aria-selected=true] .calc-select-mark{opacity:1}
.calc-select-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:min(600px,calc(100dvh - 24px));padding:0;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:var(--surface);overflow:hidden;animation:none!important}
.calc-select-sheet::backdrop{background:#080a08bd}
.calc-select-sheet-inner{display:flex;flex-direction:column;max-height:inherit;padding:22px 20px calc(18px + env(safe-area-inset-bottom,0px));min-width:0}
.calc-select-sheet-eyebrow{margin-bottom:10px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1.6}
.calc-select-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-shrink:0}
.calc-select-sheet-header h2{max-width:360px;padding-top:7px;font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.5;overflow-wrap:anywhere}
.calc-select-sheet-close{min-height:44px;flex-shrink:0;padding:8px 0 8px 10px;color:var(--accent);font-size:13px;font-weight:650;line-height:1.6;transition:color var(--fast)}
.calc-select-sheet-close:hover{color:var(--text)}
.calc-select-sheet-list{position:relative;flex:1;min-height:0;margin-top:18px;border-top:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-border) var(--surface)}
.calc-select-sheet-list .calc-select-option{width:100%;min-height:56px;padding:14px 12px;border-bottom:1px solid var(--line);font-size:16px}
.calc-select-sheet-list .calc-select-option:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:640px){.calc-select-trigger{min-height:56px;font-size:16px}.calc-select-menu .calc-select-option{min-height:52px;font-size:16px}.calc-mobile-total{bottom:calc(18px + env(safe-area-inset-bottom,0px))}}
@media(max-width:360px){.calc-select-sheet-inner{padding-inline:18px}.calc-select-sheet-header{gap:12px}.calc-select-sheet-header h2{font-size:17px}.calc-select-sheet-close{font-size:12px}}
@media(prefers-reduced-motion:reduce){.calc-select-trigger,.calc-select-chevron,.calc-select-option,.calc-select-sheet-close{transition:none}.calc-select-sheet::backdrop{animation:none}}
