/* Shared public palette. Loaded after page styles; admin pages use their own layout. */
.public-site {
    --site-ink: #092234;
    --site-ink-soft: #16364d;
    --site-accent: #0065da;
    --site-highlight: #69baff;
    --site-bg: #f3f6fa;
    --site-surface: #fff;
    --site-tint: #eaf2fc;
    --site-border: #dce4ed;
    --site-muted: #526271;
    --catalog-blue: var(--site-ink);
    --catalog-blue-soft: var(--site-ink-soft);
    --catalog-cyan: var(--site-accent);
    --catalog-accent: var(--site-accent);
    --catalog-bg: var(--site-bg);
    --catalog-surface: var(--site-surface);
    --catalog-border: var(--site-border);
    --catalog-muted: var(--site-muted);
    --date-picker-ink: var(--site-ink);
    --date-picker-muted: var(--site-muted);
    --date-picker-accent: var(--site-accent);
    --date-picker-border: var(--site-border);
    color: var(--site-ink);
    background: var(--site-surface);
}

.public-site .navbar-theme {
    background: var(--site-surface) !important;
    box-shadow: 0 1px 0 var(--site-border);
}

.public-site .navbar-theme .site-brand-logo,
.public-site .navbar-theme .navbar-toggler-icon { filter: invert(1); }
.public-site .navbar-theme .navbar-toggler { color: var(--site-ink); border-color: var(--site-border); }

.public-site .navbar-theme .nav-link,
.public-site .navbar-theme .dropdown-item,
.public-site .navbar-theme .navbar-collapse .navbar-nav > .nav-item > .nav-link,
.public-site .navbar-theme .navbar-collapse .dropdown-menu .nav-link,
.public-site .navbar-theme .navbar-collapse .dropdown-menu .dropdown-item {
    color: var(--site-ink) !important;
}

.public-site .navbar-theme .navbar-collapse .nav-item.show > .nav-link .nav-link-text,
.public-site .navbar-theme .nav-link:is(:hover, :focus, .active) .nav-link-text {
    color: var(--site-ink);
    background: var(--site-tint);
}

.public-site .navbar-theme .dropdown-menu {
    min-width: 240px;
    max-height: min(70vh, 560px);
    overflow-y: auto;
    border: 1px solid var(--site-border);
    background: var(--site-surface);
}

.public-site .navbar-theme .dropdown-menu .nav-link {
    font-family: "Roboto", sans-serif;
    font-size: .875rem;
    letter-spacing: 0;
    line-height: 1.45 !important;
    text-transform: none;
}

.public-site .navbar-theme .dropdown-menu :is(.nav-link, .dropdown-item):is(:hover, :focus, :active, .active),
.public-site .navbar-theme .navbar-collapse .dropdown-menu :is(.nav-link, .dropdown-item):is(:hover, :focus) {
    color: var(--site-ink) !important;
    background: var(--site-tint);
}

.public-site .catalog-nav-card.active strong { border-top-color: var(--site-accent); background: var(--site-ink); color: #fff; }
.public-site .home-category-all-icon,
.public-site .catalog-subcategory-all .catalog-subcategory-card-media,
.public-site .catalog-subcategory-all .catalog-subcategory-card-copy > span { color: var(--site-highlight); }
.public-site .catalog-pagination .active .page-link { color: #fff; background: var(--site-ink); }

.public-site :is(.product-tag, .product-category, .active-filter) { color: var(--site-accent); background: var(--site-tint); }
.public-site .product-category:hover { color: #fff; background: var(--site-accent); }
.public-site :is(.product-title, .back-to-products, .product-description-heading h2),
.public-site .post-content :is(h1, h2, h3, h4, h5, h6) { color: var(--site-ink); }
.public-site :is(.product-intro, .product-documents-label, .post-content) { color: var(--site-muted); }
.public-site .product-description-kicker { color: var(--site-accent); }
.public-site :is(.media-frame, .product-summary, .product-description-card, .product-description-heading, .empty-state) { border-color: var(--site-border); }
.public-site :is(.product-image-wrap, .product-image-placeholder),
.public-site .media-frame :is(.swiper-slide, .swiper-slide img) { background: var(--site-bg); }
.public-site .product-divider { background: var(--site-border); }
.public-site .media-frame :is(.swiper-button-prev, .swiper-button-next) { color: var(--site-ink); }
.public-site .media-frame .swiper-pagination-bullet-active { background: var(--site-accent); }
.public-site .filter-toggle[aria-expanded="true"],
.public-site .filter-check:has(input:checked) { background: var(--site-tint); }

.public-site :is(.catalog-input, .catalog-select):focus,
.public-site .date-picker-trigger:focus-visible { border-color: var(--site-accent); box-shadow: 0 0 0 .2rem rgba(0, 101, 218, .18); }
.public-site .form-check-input:checked { background-color: var(--site-accent); border-color: var(--site-accent); }
.public-site .date-picker-nav,
.public-site .date-picker-day:hover { background: var(--site-tint); }
.public-site .date-picker-nav:hover,
.public-site .date-picker-day.selected { color: #fff; background: var(--site-ink); }
.public-site .date-picker-action { color: var(--site-accent); }

.public-site .btn-dark { color: #fff; background: var(--site-ink); border-color: var(--site-ink); }
.public-site .btn-dark:is(:hover, :focus) { background: var(--site-ink-soft); border-color: var(--site-ink-soft); }
.public-site .btn-outline-dark { color: var(--site-ink); border-color: var(--site-ink); }
.public-site .btn-outline-dark:is(:hover, :focus, :active) { color: #fff; background: var(--site-ink); }
.public-site .product-action[aria-disabled="true"] { color: var(--site-muted); background: var(--site-bg); border-color: var(--site-border); }

.public-site .policy-header,
.public-site .policy-contact { background: var(--site-bg); }
.public-site :is(.policy-heading h1, .policy-document h2, .policy-document h3, .policy-document strong) { color: var(--site-ink); }
.public-site :is(.policy-document, .policy-company) { color: var(--site-muted); }
.public-site :is(.policy-header, .policy-document h2) { border-color: var(--site-border); }
.public-site .policy-contact { border-left-color: var(--site-accent); }
.public-site .policy-list li::marker { color: var(--site-accent); }
.public-site.about-us-page #selector { scroll-margin-top: 90px; }

.public-site .site-footer-links { background: var(--site-ink); }
.public-site .site-footer-links :is(a, p, ul) { color: #d7e5ea !important; }
.public-site .site-footer-links a { min-height: 44px; display: inline-flex; align-items: center; max-width: 100%; overflow-wrap: anywhere; }
.public-site .site-footer-links a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: .25em; }
.public-site .site-footer-links a > :is(svg, span) { flex-shrink: 0; }
.public-site .site-footer { color: #d7e5ea; background: #061a29; border-top: 1px solid rgba(255, 255, 255, .12); }
.public-site .site-footer p { margin: 0; }
.public-site .btn-back-to-top { background: var(--site-tint); }
.public-site :is(.navbar-theme, .site-footer-links) a:focus-visible { outline: 2px solid var(--site-accent); outline-offset: 4px; }
.public-site .site-footer-links a:focus-visible { outline-color: var(--site-highlight); }

@media (max-width: 991.98px) {
    .public-site .navbar-theme .navbar-collapse {
        max-height: calc(100dvh - 80px);
        overflow-y: auto;
        border-top-color: var(--site-border);
        background: var(--site-surface);
        box-shadow: none;
    }

    .public-site .navbar-theme .navbar-collapse .dropdown-menu { background: var(--site-bg); border-color: var(--site-border); }
}

/* The reference header is shared by every public page. */
.public-site .navbar-theme > .container { min-height: 76px; max-width: 1320px; padding-inline: clamp(1.25rem, 4vw, 3rem); }
.public-site .navbar-theme .navbar-nav { align-items: center; }
.public-site .navbar-theme .navbar-nav > .nav-item > .nav-link { padding: .9rem .8rem; font-family: "Roboto", sans-serif; font-size: .875rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.public-site .navbar-theme .navbar-nav > .nav-item > .dropdown-toggle { padding-right: 1.5rem; }
.public-site .navbar-theme .navbar-nav > .nav-item .nav-link-text { padding: .3rem 0; }
.public-site .navbar-theme .nav-link[aria-current="page"] .nav-link-text { color: var(--site-accent); }
.public-site .navbar-theme .site-nav-contact { margin-left: 1rem; }
.public-site .navbar-theme .navbar-collapse .navbar-nav > .nav-item > .site-nav-cta { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 44px; padding: .7rem 1.3rem; border-radius: 999px; background: var(--site-accent); color: #fff !important; font-weight: 700; }
.public-site .navbar-theme .navbar-collapse .navbar-nav > .nav-item > .site-nav-cta:hover { background: #0054b9; }
.public-site .navbar-theme { background: rgba(6, 24, 39, .94) !important; box-shadow: 0 1px 0 rgba(255, 255, 255, .1); backdrop-filter: blur(12px); }
.public-site .navbar-theme .site-brand-logo,
.public-site .navbar-theme .navbar-toggler-icon { filter: none; }
.public-site .navbar-theme .navbar-toggler { color: #fff; border-color: rgba(255, 255, 255, .4); }
.public-site .navbar-theme .navbar-collapse .navbar-nav > .nav-item > .nav-link { color: #e0ebf4 !important; }
.public-site .navbar-theme .navbar-nav > .nav-item > .nav-link:is(:hover, :focus, [aria-current="page"], [aria-current="true"]) .nav-link-text,
.public-site .navbar-theme .navbar-collapse .nav-item.show > .nav-link .nav-link-text { color: var(--site-highlight); background: transparent; }
.public-site .navbar-theme a:focus-visible { outline-color: var(--site-highlight); }

@media (min-width: 992px) {
    .public-site .navbar-theme .navbar-nav > .nav-item > .nav-link:is([aria-current="page"], [aria-current="true"]) { box-shadow: 0 2px 0 var(--site-accent); }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .public-site .navbar-theme > .container { padding-inline: 1.25rem; }
    .public-site .navbar-theme .navbar-nav > .nav-item > .nav-link { padding-inline: .4rem; font-size: .75rem; }
    .public-site .navbar-theme .navbar-nav > .nav-item > .dropdown-toggle { padding-right: 1.3rem; }
    .public-site .navbar-theme .site-nav-contact { margin-left: .5rem; }
    .public-site .navbar-theme .navbar-collapse .navbar-nav > .nav-item > .site-nav-cta { padding-inline: .85rem; }
}

@media (max-width: 991.98px) {
    .public-site .navbar-theme > .container { min-height: 68px; }
    .public-site .navbar-theme .navbar-nav { align-items: stretch; }
    .public-site .navbar-theme .site-nav-contact { margin: .75rem 0 .25rem; }
    .public-site .navbar-theme .navbar-collapse .navbar-nav > .nav-item > .site-nav-cta { display: flex; }
    .public-site .navbar-theme .navbar-collapse { border-top-color: rgba(255, 255, 255, .15); background: #092234; }
    .public-site .navbar-theme .navbar-collapse .dropdown-menu { background: #fff; }
}
