/**
 * Tmavý motiv — přepsání modulů na večerní design systém
 */

.site-header::before {
    background: transparent !important;
    border: none !important;
}

.site-topbar-dropdown {
    background: var(--surface-elevated) !important;
    border-bottom: 1px solid var(--border-soft);
    box-shadow: var(--shadow-md);
}

.site-utility-auth-panel,
.ui-card {
    background: var(--color-paper) !important;
    border-color: var(--border-soft) !important;
    color: var(--color-ink) !important;
    box-shadow: var(--shadow-md) !important;
}

.ui-card__title,
.site-utility-auth-panel__title {
    color: var(--color-ink) !important;
}

.ui-card__description,
.ui-card__content,
.site-utility-auth-panel__hint {
    color: var(--color-muted) !important;
}

.site-utility-auth-form__input {
    background: var(--color-cream) !important;
    color: var(--color-ink) !important;
}

.site-utility-auth-form__submit {
    background: var(--color-ink) !important;
    border-color: var(--color-ink) !important;
    color: var(--color-linen) !important;
    border-radius: var(--radius-pill);
}

.site-utility-auth-form__google {
    background: var(--color-cream) !important;
    border-color: var(--border-soft) !important;
    color: var(--color-ink) !important;
    border-radius: var(--radius-pill);
}

.site-auth-overlay__close {
    background: var(--color-cream) !important;
    border-color: var(--border-soft) !important;
    color: var(--color-ink) !important;
}

/* —— Header —— */
.site-header,
header.site-header {
    background: var(--color-linen) !important;
    background-color: var(--color-linen) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid var(--border-soft) !important;
    box-shadow: var(--shadow-xs);
}

.site-utility-bar {
    background-color: var(--color-linen) !important;
    border-bottom-color: var(--border-soft) !important;
    color: var(--color-muted);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.site-utility-bar a,
.site-utility-account__trigger {
    color: var(--color-muted) !important;
}

.site-utility-bar a:hover,
.site-utility-bar a:focus-visible,
.site-utility-account__trigger:hover,
.site-utility-account__trigger:focus-visible {
    color: var(--color-sage) !important;
}

.site-topbar {
    background: transparent;
}

.site-breadcrumb {
    background: rgba(255, 255, 255, 0.03) !important;
    border-color: var(--border-soft) !important;
}

.site-breadcrumb__list {
    color: var(--color-muted) !important;
    letter-spacing: 0.1em;
}

.site-breadcrumb__link {
    color: var(--color-muted) !important;
}

.site-breadcrumb__link:hover,
.site-breadcrumb__link:focus-visible {
    color: var(--color-sage) !important;
}

.site-breadcrumb__current,
.site-breadcrumb__signpost-label {
    color: var(--color-ink-soft) !important;
}

.site-topbar-search-strip {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--border-soft);
}

.site-search {
    border: 1px solid var(--border-soft) !important;
    border-radius: var(--radius-pill) !important;
    background: var(--color-paper) !important;
    box-shadow: var(--shadow-xs);
}

.site-search:focus-within {
    border-color: rgba(255, 255, 255, 0.28) !important;
    background: var(--color-paper) !important;
}

.site-search__input {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: var(--color-ink) !important;
}

.site-search__input::placeholder {
    color: var(--color-muted-light);
}

.site-search__results {
    background: var(--color-paper) !important;
    border: 1px solid var(--border-soft) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-md) !important;
}

.site-search__result-link {
    color: var(--color-ink) !important;
}

.site-search__result-link:hover {
    background: var(--color-sage-muted) !important;
}

/* Mega navigace */
.site-nav-mega {
    background: var(--surface-elevated) !important;
    border-top: 1px solid var(--border-soft);
}

.site-nav-mega__col-title {
    color: var(--color-gold) !important;
    font-family: var(--font-body);
    font-weight: 600;
    letter-spacing: 0.14em;
}

.site-nav-mega a {
    color: var(--color-ink-soft) !important;
}

.site-nav-mega a:hover {
    color: var(--color-sage) !important;
}

/* Auth overlay */
.site-auth-overlay__backdrop {
    background: var(--surface-overlay) !important;
    backdrop-filter: blur(8px);
}

.site-auth-overlay__dialog,
.ui-card,
.auth-form {
    background: var(--color-paper) !important;
    border: 1px solid var(--border-soft) !important;
    color: var(--color-ink) !important;
    box-shadow: var(--shadow-lg) !important;
    border-radius: var(--radius-lg) !important;
}

.auth-form input,
.auth-form select,
.site-utility-auth-form input {
    background: var(--color-cream) !important;
    border: 1px solid var(--border-soft) !important;
    color: var(--color-ink) !important;
    border-radius: var(--radius-sm) !important;
}

.auth-form button[type="submit"],
.btn-primary,
.site-auth-overlay .button--save {
    background: var(--color-ink) !important;
    color: var(--color-linen) !important;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: background 0.2s var(--easing), transform 0.2s var(--easing);
}

.auth-form button[type="submit"]:hover {
    background: var(--color-ink-soft) !important;
}

/* —— Stránky —— */
.page-main {
    background: transparent !important;
}

.page-heading {
    font-family: var(--font-heading) !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    text-shadow: none !important;
    color: var(--color-ink) !important;
}

.page-heading::after {
    background: linear-gradient(90deg, transparent, var(--color-gold), transparent) !important;
    height: 2px !important;
    opacity: 0.45;
}

.page-muted-lead,
.empty-state {
    color: var(--color-muted) !important;
}

/* —— Domovská stránka —— */
.obrlobus-hero__title {
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    text-shadow: none !important;
    color: var(--color-ink) !important;
}

.obrlobus-promo__viewport {
    background: var(--color-paper) !important;
    border-color: var(--border-soft) !important;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    margin-inline: var(--page-gutter);
    max-width: var(--content-shell-max);
    margin-left: auto;
    margin-right: auto;
}

.obrlobus-promo__nav {
    background: var(--surface-glass-soft) !important;
    border-color: var(--border-soft) !important;
    color: var(--color-ink) !important;
    box-shadow: var(--shadow-sm);
}

.obrlobus-promo__nav:hover {
    background: var(--color-paper) !important;
    border-color: var(--color-sage) !important;
    color: var(--color-sage) !important;
}

.obrlobus-intro__text,
.obrlobus-section {
    color: var(--color-ink-soft);
}

.obrlobus-dash-card {
    background: var(--color-paper) !important;
    border: 1px solid var(--border-soft) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-sm) !important;
    transition: transform 0.35s var(--easing), box-shadow 0.35s var(--easing), border-color 0.35s var(--easing) !important;
}

.obrlobus-dash-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

.obrlobus-dash-card__count {
    color: var(--color-gold) !important;
    font-family: var(--font-heading);
}

.obrlobus-dash-card__label {
    color: var(--color-ink) !important;
    font-family: var(--font-heading);
    font-weight: 500;
}

.obrlobus-gallery__track {
    border-color: var(--border-soft);
}

/* —— Postavy —— */
.obr-card {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--border-soft) !important;
    background: var(--color-paper) !important;
    box-shadow: var(--shadow-sm) !important;
    transition: transform 0.35s var(--easing), box-shadow 0.35s var(--easing) !important;
}

.obr-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md) !important;
}

.obr-card__title {
    font-family: var(--font-heading) !important;
    color: var(--color-ink) !important;
}

/* —— Filtry —— */
.listing-wheel-filters {
    --wheel-accent: var(--color-sage-light);
    --panel-fill: var(--color-paper);
}

.listing-wheel {
    border-color: var(--border-soft) !important;
    background: var(--color-paper) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-sm);
}

.page-list-intro {
    color: var(--color-ink-soft);
}

/* —— Galerie —— */
.page-gallery-archive .gallery-card {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gallery-card__overlay {
    background: linear-gradient(to top, rgba(10, 10, 10, 0.85), transparent) !important;
}

#lightbox {
    background: rgba(0, 0, 0, 0.92) !important;
}

/* —— Patička —— */
footer {
    background: var(--color-night) !important;
    color: rgba(233, 229, 220, 0.68) !important;
    border-top: 1px solid var(--border-soft);
}

footer p {
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    text-transform: uppercase;
}

/* —— Rozcestník (bannery) —— */
.banner {
    border-bottom-color: var(--border-soft) !important;
}

.banner-content {
    background-color: var(--color-paper) !important;
}

.banner-content h2 {
    color: var(--color-ink) !important;
    font-family: var(--font-heading) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-shadow: none !important;
    text-transform: none !important;
}

.reveal-visual {
    filter: grayscale(20%) brightness(0.92) saturate(0.9) !important;
}

.banner:hover .reveal-visual,
.banner:focus-visible .reveal-visual {
    filter: grayscale(0%) brightness(1) saturate(1.05) !important;
}

/* Intro animace */
.intro-typewriter__char {
    color: var(--color-ink);
}
