/* Shared controls. Load after page-specific styles. */
:root{--control-font:Pretendard,"Segoe UI","Malgun Gothic",sans-serif;--control-ink:#20262d;--control-muted:#566151;--control-lime:#d9f15a;--control-dark:#222a35}
button,input,select,textarea,a{font-family:var(--control-font)}
:is(.search-submit,.dark-button,.lime-button,.secondary-button,.contact-copy,.detail-primary,.detail-secondary,.partner-hero-actions a,.partner-hero-actions button,.partner-contact-id button){font-size:14px;font-weight:700;line-height:1.45;letter-spacing:-.015em;min-height:44px;transition:box-shadow .16s,transform .16s}
:is(.article-actions .dark-button,.article-actions .secondary-button,.article-section>.dark-button,.partner-form .dark-button,.detail-rail-card .detail-primary,.detail-rail-card .detail-secondary,.dialog-actions>.dark-button){font-size:14px;font-weight:700;line-height:1.45}
.dark-button{background:var(--control-dark);color:#fff}
.dark-button:hover,.dark-button:active{background:#34414e;color:#fff}
:is(.search-submit,.lime-button,.detail-primary,.partner-contact-id button,.partner-hero-actions a,.beginner-intro>.dark-button,.partner-actions>.dark-button,.dialog-actions>.dark-button){background:var(--control-lime);color:var(--control-ink);border-color:var(--control-lime)}
:is(.search-submit,.lime-button,.detail-primary,.partner-contact-id button,.partner-hero-actions a,.beginner-intro>.dark-button,.partner-actions>.dark-button,.dialog-actions>.dark-button):is(:hover,:active){background:#c9e244;color:var(--control-ink);border-color:#c9e244}
:is(.secondary-button,.contact-copy,.detail-secondary){background:#fff;color:var(--control-ink);border:1px solid #bfc8b8}
:is(.secondary-button,.contact-copy,.detail-secondary):is(:hover,:active){background:#eef3e4;color:var(--control-ink);border-color:#7d8e5e}
.partner-hero-actions button{background:transparent;color:var(--control-lime);border-color:#82946c}
.partner-hero-actions button:is(:hover,:active){background:var(--control-lime);color:var(--control-ink);border-color:var(--control-lime)}
:is(.text-button,.underlined,.article-share,.article-correction,.detail-text-link,.detail-inline-links a,.detail-inline-links button,.detail-two-notes button,.detail-source-link,.detail-source>button,.detail-help,.season-notice button,.operator-owner-link a,.partner-reference-links a,.home-operators-directory){font-size:13px;font-weight:600;line-height:1.5;letter-spacing:-.015em;min-height:36px;color:#425132}
:is(.text-button,.underlined,.article-share,.article-correction,.detail-text-link,.detail-inline-links a,.detail-inline-links button,.detail-two-notes button,.detail-source-link,.detail-source>button,.detail-help,.season-notice button,.partner-reference-links a,.home-operators-directory):is(:hover,:active){color:#263321;text-decoration:underline;text-underline-offset:4px}
:is(.detail-bottom-section .detail-text-link,.detail-bottom-section .operator-owner-link a,.operator-owner-link a){color:var(--control-lime)}
:is(.detail-bottom-section .detail-text-link,.detail-bottom-section .operator-owner-link a,.operator-owner-link a):is(:hover,:active){color:#fff}
:is(.filter,.home-operator-filters button,.dialog-related>button){font-size:13px;font-weight:650;line-height:1.4;letter-spacing:-.015em;min-height:40px;background:#f4f6ef;color:#435039;border-color:#c4cdbb;transition:box-shadow .16s,border-color .16s}
:is(.filter,.home-operator-filters button,.dialog-related>button):is(:hover,:active){background:#e8efda;color:#263321;border-color:#81965a}
:is(.filter.active,.home-operator-filters button.active){background:var(--control-dark);color:var(--control-lime);border-color:var(--control-dark)}
:is(.filter.active,.home-operator-filters button.active):is(:hover,:active){background:#34414e;color:var(--control-lime);border-color:#34414e}
.home-operator-filters button span{font-size:11px;opacity:1}
.search-hints button,.footer-links>button{font-size:13px;font-weight:550;line-height:1.5;min-height:36px;color:#566151}
.search-hints button:is(:hover,:active),.footer-links>button:is(:hover,:active){color:#263321}
.detail-tabs a{font-size:13px;font-weight:650;color:#566151}
.detail-tabs a:is(:hover,:active),.detail-tabs a.active{color:#20262d;border-bottom-color:#779327}
.article-toc a{font-size:13px;line-height:1.65;color:#566151}
.article-toc a>span{font-size:11px;color:#566151}
.article-toc a:is(:hover,:active){color:#20262d}
.detail-breadcrumb a{color:#566151;font-size:12px}
.article-sources li a{color:#425132}
.situation-grid button>span:last-child{font-size:12px;color:#566151;line-height:1.6}
.home-operator-location,.detail-business-card small,.detail-resort-card small{color:#606c58}
.detail-business-card p{color:#59664f}
.place-card>.place-detail-link,.home-operators .section-heading>.text-button,.home-operator-more,.detail-business-card b{font-size:13px;font-weight:600;line-height:1.5}
.place-card>.place-detail-link{min-height:44px;color:#566151;gap:12px}
.place-card>.place-detail-link>span{color:#425132}
.result-item small,.result-item span,.business-list small{color:#566151}
.dialog-head>button{color:var(--control-ink);background:#eef1e8}
.dialog-head>button:is(:hover,:active){background:#dfe8cd;color:var(--control-ink)}
.round-go:is(:hover,:active){background:#c9e244;color:var(--control-ink)}
.season-card>.card-round-arrow,.place-photo>.save-place{background:var(--control-lime);color:var(--control-ink);border-color:var(--control-lime)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5b751c;outline-offset:4px}
:is(.beginner-section,.detail-bottom-section,.partner-page-hero,.partner-contact-id) :is(button,a):focus-visible{outline-color:var(--control-lime)}
button:disabled{opacity:1;background:#e4e8dd;color:#68715f;border-color:#d1d8c8;cursor:not-allowed}
@media(max-width:760px){:is(.search-submit,.dark-button,.lime-button,.secondary-button,.contact-copy,.detail-primary,.detail-secondary,.partner-hero-actions a,.partner-hero-actions button,.partner-contact-id button){font-size:14px;min-height:44px}.search-hints{flex-wrap:wrap}.search-hints button{min-height:32px}.section-heading>.text-button{font-size:13px}.filter{padding-inline:14px}.home-operator-filters button{font-size:13px}.partner-form .dark-button{font-size:14px}.footer-links{column-gap:18px}}
@media(max-width:760px){.section-heading{flex-wrap:wrap;gap:14px}.section-heading>.text-button{white-space:nowrap;flex-shrink:0;max-width:none;gap:10px;text-align:left}}
