/* ── CSS Variables & Global Overrides for Christa Krings ─────────────────────
   These complement the Elementor design without overriding its core layout.
   ───────────────────────────────────────────────────────────────────────── */

:root {
    --ck-bg:          #0a0a0a;
    --ck-bg-alt:      #111111;
    --ck-surface:     #161616;
    --ck-text:        #e8e4df;
    --ck-muted:       rgba(232,228,223,0.55);
    --ck-white:       #f5f2ee;
    --ck-accent:      #c8a96e;
    --ck-border:      rgba(255,255,255,0.1);
    --ck-font-display:'Cormorant Garamond', Georgia, serif;
    --ck-font-body:   'Inter', Helvetica Neue, sans-serif;
}

/* ── Base ── */
html, body {
    background-color: var(--ck-bg) !important;
    color: var(--ck-text) !important;
    font-family: var(--ck-font-body) !important;
    font-weight: 300 !important;
    -webkit-font-smoothing: antialiased;
}

/* ── Elementor typography overrides ── */
.elementor-heading-title {
    font-family: var(--ck-font-display) !important;
    font-weight: 300 !important;
}
.elementor-widget-text-editor p,
.elementor-widget-text-editor {
    font-family: var(--ck-font-body) !important;
    font-weight: 300 !important;
    color: var(--ck-text) !important;
}

/* ── Header ── */
.site-header,
.elementor-section.elementor-section-header {
    background: transparent !important;
    transition: background .35s ease !important;
}
.site-header.scrolled,
.sticky-header.stuck {
    background: rgba(10,10,10,0.96) !important;
    backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid var(--ck-border) !important;
}

/* ── Navigation ── */
.elementor-nav-menu a,
.main-navigation a {
    font-family: var(--ck-font-body) !important;
    font-size: .8125rem !important;
    font-weight: 400 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: var(--ck-text) !important;
    transition: color .2s !important;
}
.elementor-nav-menu a:hover,
.main-navigation a:hover,
.elementor-nav-menu .current-menu-item > a {
    color: var(--ck-white) !important;
}

/* ── Buttons ── */
.elementor-button {
    font-family: var(--ck-font-body) !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}
.elementor-button-wrapper .elementor-button.elementor-button-link {
    border-color: var(--ck-accent) !important;
    color: var(--ck-accent) !important;
    background: transparent !important;
    transition: background .2s, color .2s !important;
}
.elementor-button-wrapper .elementor-button:hover {
    background: var(--ck-accent) !important;
    color: var(--ck-bg) !important;
}

/* ── Images ── */
.elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Gallery widget ── */
.elementor-gallery-item__overlay { background: rgba(0,0,0,.5) !important; }

/* ── Divider ── */
.elementor-divider-separator {
    border-color: var(--ck-border) !important;
}

/* ── Input / Textarea (Contact Form 7) ── */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    background: var(--ck-surface) !important;
    border: 1px solid var(--ck-border) !important;
    color: var(--ck-text) !important;
    font-family: var(--ck-font-body) !important;
    font-size: .9375rem !important;
    font-weight: 300 !important;
    padding: .75rem 1rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color .2s !important;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    border-color: rgba(255,255,255,.35) !important;
}
.wpcf7 input[type="submit"] {
    background: transparent !important;
    border: 1px solid var(--ck-muted) !important;
    color: var(--ck-text) !important;
    font-family: var(--ck-font-body) !important;
    font-size: .75rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: .8em 2.2em !important;
    cursor: pointer !important;
    transition: all .25s !important;
}
.wpcf7 input[type="submit"]:hover {
    border-color: var(--ck-white) !important;
    color: var(--ck-white) !important;
    background: rgba(255,255,255,.05) !important;
}

/* ── Footer ── */
.site-footer,
.elementor-location-footer {
    background: var(--ck-bg-alt) !important;
    border-top: 1px solid var(--ck-border) !important;
    color: var(--ck-muted) !important;
}
.site-footer a,
.elementor-location-footer a {
    color: var(--ck-muted) !important;
    transition: color .2s !important;
}
.site-footer a:hover,
.elementor-location-footer a:hover {
    color: var(--ck-white) !important;
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .elementor-section .elementor-container {
        padding-inline: 1.25rem !important;
    }
}
