/*
 * Patrick Krisch Website
 * Datei: assets/css/form-controls.css
 * Bereich: Formulare / gemeinsame Steuerelemente
 * Zweck: Einheitliche Select-Darstellung für Kontakt- und Projektformulare.
 */

.site-select-shell{position:relative;width:100%;min-width:0}
.site-select-native{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important}
.site-select-trigger{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 14px;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--navy);font:inherit;font-size:14px;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;outline:none;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.site-select-trigger:hover{border-color:#a9bfd2;background:#fbfdff}
.site-select-trigger:focus-visible,.site-select-shell.is-open .site-select-trigger{border-color:#0799ab;box-shadow:0 0 0 3px rgba(7,153,171,.11)}
.site-select-shell.is-invalid .site-select-trigger{border-color:#b94b4b;box-shadow:0 0 0 3px rgba(185,75,75,.09)}
.site-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-select-shell.is-placeholder .site-select-value{color:#687a94;font-weight:400}
.site-select-chevron{width:16px;height:16px;flex:0 0 auto;color:#60718d;transition:transform .18s ease}
.site-select-shell.is-open .site-select-chevron{transform:rotate(180deg)}
.site-select-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;display:none;max-height:300px;overflow:auto;padding:6px;border:1px solid #d7e3ee;border-radius:var(--radius);background:#fff;box-shadow:0 16px 38px rgba(16,59,103,.16)}
.site-select-shell.is-open .site-select-menu{display:grid;gap:2px}
.site-select-option{position:relative;width:100%;min-height:39px;display:flex;align-items:center;padding:9px 34px 9px 11px;border:0;border-radius:9px;background:transparent;color:#17365d;font:inherit;font-size:14px;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;outline:none}
.site-select-option:hover,.site-select-option:focus-visible,.site-select-option.is-active{background:#edf8fb;color:#073b70}
.site-select-option[aria-selected="true"]{background:#e8f6fa;color:#076d83;font-weight:750}
.site-select-option[aria-selected="true"]::after{content:"✓";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#0799ab;font-weight:900}

.contact-upload>label>.ui-icon,.contact-upload-icon .ui-icon{width:34px;height:34px;color:#0799ab}
.contact-upload-icon{width:auto;height:auto;border-radius:0;background:transparent;color:#0799ab;transform:none}

@media(max-width:620px){.site-select-trigger{min-height:48px}.site-select-menu{max-height:270px}.site-select-option{min-height:42px}}
@media(prefers-reduced-motion:reduce){.site-select-trigger,.site-select-chevron{transition:none!important}}
