:root { --header-height: 0px; }
body { overflow-x: clip; overflow-y: visible !important; }
.site-header { position: sticky; top: 0; z-index: 1100; }
#topHeader, #bottomHeader { position: relative; inset: auto; transform: none; transition: none; }
#mainContent, #mainContent.top-hidden { padding-top: 20px; transition: none; }
html { scroll-padding-top: calc(var(--header-height) + 24px); }
#siteBg { top: var(--header-height); height: calc(100% - var(--header-height)); transform: none; background-position: center top; }
#topHeader { background: linear-gradient(115deg, #0a111d 0%, #102a32 48%, #0b1724 100%); }
#bottomHeader {
    background: linear-gradient(105deg, #0b1824 0%, #103039 54%, #0a1723 100%);
    border-radius: 0 0 18px 18px;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.themed-select { position: relative; min-width: 0; width: 100%; }
.themed-select.is-open { z-index: 50; }
body .select-trigger {
    width: 100%; min-height: 42px; display: flex; justify-content: space-between; align-items: center;
    gap: 12px; padding: 10px 16px; border: 1px solid rgba(0,206,209,.3); border-radius: 22px;
    background: #101c29; color: #fff; font: inherit; font-size: 14px; text-align: left; cursor: pointer;
}
.select-trigger::after { content: ''; width: 7px; height: 7px; border-right: 2px solid #00ced1; border-bottom: 2px solid #00ced1; transform: rotate(45deg); flex-shrink: 0; margin: -4px 2px 0 0; }
.is-open .select-trigger::after { transform: rotate(225deg); margin-top: 4px; }
.select-options {
    position: absolute; inset: calc(100% + 7px) 0 auto; margin: 0; padding: 7px; list-style: none;
    background: #101c29; border: 1px solid rgba(0,206,209,.45); border-radius: 18px;
    box-shadow: 0 14px 32px #0009; max-height: min(280px, 45dvh); overflow-y: auto;
    scrollbar-width: thin; scrollbar-color: #20b2aa #101c29;
}
.select-options[hidden] { display: none; }
.opens-up .select-options { top: auto; bottom: calc(100% + 7px); }
.select-options [role=option] { padding: 11px 12px; border-radius: 12px; font-size: 14px; cursor: pointer; color: #e7f2f5; }
.select-options [role=option][aria-selected=true] { color: #0a0f1a; background: linear-gradient(135deg,#00ced1,#20b2aa); font-weight: 600; }
.select-options [role=option]:hover, .select-options [role=option]:focus { outline: none; background: #183d47; color: #fff; }
.catalog-sort .themed-select { min-width: 200px; }
.price-control { position: relative; }
body .filter-group.filter-price { min-width: 128px; }
body .filter-group .price-control input { padding-right: 38px; border-radius: 22px; min-height: 42px; appearance: textfield; -moz-appearance: textfield; }
.price-control input::-webkit-inner-spin-button, .price-control input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.price-stepper { position: absolute; top: 5px; right: 6px; bottom: 5px; display: flex; flex-direction: column; width: 25px; }
body .price-step { display: grid; place-items: center; flex: 1; padding: 0; border: 0; background: transparent; color: #00ced1; cursor: pointer; border-radius: 10px; }
.price-step::after { content: ''; height: 6px; width: 6px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(-45deg); margin-top: 4px; }
.price-step.down::after { transform: rotate(135deg); margin-top: -4px; }
body .price-step:hover { background: #19414b; }
@media (pointer: coarse) { .price-stepper { width: 34px; top: 2px; bottom: 2px; } body .filter-group .price-control input { min-height: 50px; padding-right: 46px; } }
.form-feedback { margin: 20px 5%; padding: 18px; border-radius: 12px; background: #102b2a; color: #fff; border: 1px solid #28aaa1; }
.form-feedback.error { background: #381d22; border-color: #dc6878; }
.admin-card, .contact-form-wrapper, .contact-info, .privacy-doc-block { background: rgba(10, 20, 30, .94) !important; }
.admin-table td { overflow-wrap: anywhere; }
.admin-form-group input[type=checkbox] { width: auto; }
.form-group label { display: block; margin-bottom: 8px; }
/* Keep native keyboard/mobile selection while matching the dark site theme. */
select { color-scheme: dark; }

/* Editable text stays crisp, including when the browser fills contact details. */
.contact-form-wrapper .form-group input:not([type="checkbox"]),
.contact-form-wrapper .form-group textarea,
.contact-form-wrapper .form-group input::placeholder,
.contact-form-wrapper .form-group textarea::placeholder {
    text-shadow: none !important;
}
.contact-form-wrapper .form-group input:not([type="checkbox"]):-webkit-autofill,
.contact-form-wrapper .form-group input:not([type="checkbox"]):-webkit-autofill:hover,
.contact-form-wrapper .form-group input:not([type="checkbox"]):-webkit-autofill:focus {
    -webkit-text-fill-color: #f4fbfb !important;
    box-shadow: inset 0 0 0 1000px #10222d !important;
    caret-color: #f4fbfb;
    border-color: rgba(102, 226, 218, .55) !important;
}
select option, select optgroup { background-color: #0a141e; color: #fff; }
body .form-group input:not([type=checkbox]):not([type=radio]),
body .form-group textarea, body .filter-group input {
    background: #101c29; color: #fff;
}
body input::placeholder, body textarea::placeholder { color: #b9c5d1; opacity: 1; }
body .contact-form-wrapper .checkbox-group input[type=checkbox],
body #orderForm input[type=checkbox] {
    width: 18px; height: 18px; flex: 0 0 18px; padding: 0; margin: 3px 0 0;
    accent-color: #00ced1;
}
body .consent-submit[aria-disabled="true"],
body .consent-submit[aria-disabled="true"]:hover {
    opacity: .48;
    filter: saturate(.45);
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}
body .contact-form-wrapper .checkbox-group label { align-items: flex-start; }
body button.faq-question { width: 100%; text-align: left; background: transparent; border: 0; font: inherit; font-weight: 600; color: inherit; }
body .faq-item { background: rgba(10, 20, 30, .94); }
body .faq-item.active .faq-answer { max-height: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid #00ced1; outline-offset: 4px;
}
.product-details, .product-gallery, .filter-group { min-width: 0; }
.product-details h1, .doc-content { overflow-wrap: anywhere; }
.product-card-link { display: block; color: inherit; text-decoration: none; }
body .faq-item:not(.active) .faq-answer { visibility: hidden; }
body .faq-item.active .faq-answer { visibility: visible; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (max-width:768px) {
    body .filter-group.filter-price { min-width: 100%; width: 100%; flex: 1; }
    #bottomHeader .nav {
        position: absolute;
        top: 100%; left: 0; width: min(100%, 360px); max-width: 100%;
        height: auto; max-height: calc(100dvh - var(--header-height)); overflow-y: auto;
        padding: 16px; gap: 8px; justify-content: flex-start;
        visibility: hidden; pointer-events: none; opacity: 0;
        transition: opacity .15s ease; background: #0a0f1a;
    }
    #bottomHeader .nav.active { visibility: visible; pointer-events: auto; opacity: 1; }
    #mobileBtn { position: relative; z-index: 1001; min-height: 44px; min-width: 44px; }
    .site-title { overflow-wrap: anywhere; }
    .admin-card { padding: 20px; }
}
