/* 계산기·지역 혜택·내 정보에서 같은 터치/키보드 피드백을 사용한다. */
a[href], button:not(:disabled), summary, select:not(:disabled),
input[type="checkbox"]:not(:disabled), input[type="radio"]:not(:disabled),
input[type="date"]:not(:disabled), label[for],
label:has(input[type="checkbox"]), label:has(input[type="radio"]) { cursor: pointer; touch-action: manipulation; }

button:disabled, select:disabled, a[aria-disabled="true"] { cursor: not-allowed; }

a[href], button:not(:disabled), summary { transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }

a[href]:focus-visible, button:focus-visible, summary:focus-visible,
select:focus-visible, input:focus-visible { outline: 3px solid #818cf8; outline-offset: 3px; }

@media (hover: hover) {
  a[href]:not(.no-touch-feedback):hover, button:not(:disabled):hover, summary:hover { filter: brightness(.96); }
}

@media (hover: none) {
  a[href]:not(.no-touch-feedback):active, button:not(:disabled):active, summary:active { transform: scale(.985); filter: brightness(.94); }
}

@media (prefers-reduced-motion: reduce) {
  a[href], button, summary { transition: none; }
}

.site-select-field { position: relative; min-width: 0; color: #334155; font-size: 14px; font-weight: 700; }
.site-select-field > span { display: block; }
.site-native-select { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 1px !important; padding: 0 !important; opacity: 0 !important; pointer-events: none !important; }
.site-select { position: relative; margin-top: 8px; }
.site-select[open] { z-index: 60; }
.site-select summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border: 1px solid #cbd5e1; border-radius: 16px; background: #f8faff; color: #0f172a; list-style: none; box-shadow: 0 2px 5px rgba(15,23,42,.03); }
.site-select summary::-webkit-details-marker { display: none; }
.site-select summary::after { content: '⌄'; color: #475569; font-size: 22px; line-height: 1; }
.site-select[open] summary { border-color: #6366f1; background: #fff; box-shadow: 0 0 0 4px #e0e7ff; }
.site-select.is-disabled summary { color: #94a3b8; background: #f1f5f9; cursor: not-allowed; }
.site-select-menu { position: absolute; top: calc(100% + 6px); left: 0; right: 0; max-height: min(320px, 48vh); overflow: auto; padding: 6px; border: 1px solid #cbd5e1; border-radius: 16px; background: #fff; box-shadow: 0 20px 35px -18px rgba(15,23,42,.35); }
.site-select-option { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 10px; background: #fff; color: #334155; text-align: left; font-size: 14px; font-weight: 700; cursor: pointer; }
.site-select-option:hover, .site-select-option:focus-visible { background: #eef2ff; color: #3730a3; }
.site-select-option[data-selected="true"] { background: #e0e7ff; color: #312e81; font-weight: 900; }
.site-select-option:disabled { color: #94a3b8; cursor: not-allowed; }
