/*
Theme Name:   Landeseiten Design Child
Description:  Restructured Child theme for Hello Elementor.
Template:     hello-elementor
Version:      1.1.0
Text Domain:  landeseiten-design-child
*/

/* 1. GLOBAL RESETS & BASE STYLES
----------------------------------------------------------------*/
html, body {
    overflow-x: clip;
}

/* .site-main {
    overflow: clip;
} */

/* Modern Typography Polish */
body p, body :is(h1, h2, h3, h4, h5, h6), 
.elementor-widget-container {
    text-wrap: pretty !important;
    margin-bottom: 0; /* Removing individual margins if Figma forced them to 0 */
}

/* .elementor-widget-image img {
    user-select: none;
} */

/* 2. TYPOGRAPHY & GRADIENTS
----------------------------------------------------------------*/

/* Base helper for all gradient text */
.cs-gradient-text, 
.cs-gradient-text-darker, 
.cs-span-dark, 
.cs-span-featured, 
.cs-span-focus {
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    display: inline-block; /* Ensures gradient renders correctly on spans */
}

.cs-gradient-text {
    background-image: linear-gradient(190deg, #53ECFF 50%, #0094A7 100%);
    font-weight: 700;
}

.cs-gradient-text-darker {
    background-image: linear-gradient(-190deg, #006070 0%, #00B7D6 100%);
    font-weight: 700;
}

.cs-span-dark {
    background-image: linear-gradient(180deg, #004551 0%, #008095 100%);
    font-weight: 700;
    letter-spacing: -0.03em;
}

.cs-span-featured, .cs-span-focus {
    background-image: linear-gradient(245deg, #53ECFF 47.48%, #0094A7 83%);
    font-weight: 700;
}

.cs-span-highlight {
    color: var(--Colors-Neutral-100, #ffffff);
    font-family: 'Outfit', sans-serif;
    font-weight: 200;
    line-height: 1.2;
}

/* 3. COMPONENTS (Borders, Forms, & Icons)
----------------------------------------------------------------*/

/* Gravity Forms specific */
.cs-landeseiten-form .gform-field-label { color: #fff !important; }
.cs-landeseiten-form .gfield_required { color: rgba(255, 255, 255, 0.6) !important; }

/* Header Menu Button & Icon */
#menu-main-menu .cs-menu-btn {
    display: inline-flex;
    align-items: center;
}

.cs-menu-btn:before {
    content: "";
    width: 1px;
    height: 32px;
    background-color: #fff;
}

.cs-menu-btn a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cs-menu-btn a:before {
    content: "";
    width: 24px;
    height: 24px;
    background: url("/wp-content/uploads/2026/01/01-Icon.png") center/contain no-repeat;
}

/* Gradient Border Logic (Figma Masking) */
.cs-gradient-border-light, 
.cs-gradient-border-blue {
    position: relative;
}

.cs-gradient-border-light::after,
.cs-gradient-border-blue::after {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px; /* Border thickness */
    border-radius: 24px;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0.6;
}

.cs-gradient-border-light::after {
    background: linear-gradient(72deg, #ffffff 0%, #ffffff00 22%, #ffffff 56%, #ffffff00 81%, #ffffff 100%);
}

.cs-gradient-border-blue::after {
    background: linear-gradient(72deg, #00D1EB 0%, #00D1EB00 22%, #00D1EB 56%, #00D1EB00 81%, #00D1EB 100%);
}

/* Box Styles */
.box-gradient-blue, .box-gradient-bluethick {
    border-radius: 23px;
    background: #2A283D;
    border: 1px solid #00D1EB;
}

.box-gradient-bluethick { border-width: 3px; border-radius: 24px; }

.cs-boxradius-white, .e-n-tabs-heading {
    border-radius: 14px;
    border: 1px solid rgba(156, 244, 255, 0.4);
    background: rgba(0, 188, 212, 0.1);
    backdrop-filter: blur(6px);
}

/* 4. LAYOUT HELPERS
----------------------------------------------------------------*/
.cs-hover-scale:hover {
	transform: scale(1.05);
}

.boxes-container {
    display: flex;
    position: relative;
    align-items: center;
}

.boxes-container::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 34px; height: 100%;
    background: url('/wp-content/uploads/2026/01/image-arrows.png') center/contain no-repeat;
    z-index: 10;
}

.cs-left-box { margin-right: auto !important; }
.cs-right-box { margin-left: auto !important; }

/* 5. RESPONSIVE (TABLET & MOBILE)
----------------------------------------------------------------*/
@media (min-width: 1024px) and (max-width: 1440px) {
    .cs-right-box {
        transform: translateX(60px);
    }
    
    .cs-right-box:hover {
        transform: translateX(60px) scale(1.1) !important;
    }
    
    .cs-left-box {
        transform: translateX(-60px) !important;
    }
    
    .cs-left-box:hover {
        transform: translateX(-60px) scale(1.1) !important;
    }
}

@media (max-width: 1024px) {



    .cs-menu-btn:before {
        width: 100%;
        height: 1px;
        background-color: #999;
    }

    /* Layout adjustments */
    .cs-span-highlight { font-size: 36px; }

    .boxes-container::after {
        top: 0;
        transform: translateX(-50%) rotate(90deg) !important;
    }
}

/* Event Card Container */
.cs-event-card {
    background: linear-gradient(145deg, #1e2029, #23252f) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
    border-radius: 16px !important;
    padding: 32px !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
	height: 100%;
}
/* Hover Effect */
.cs-event-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.3) !important;
    border-color: rgba(0, 188, 212, 0.3) !important;
}
/* Title */
.cs-event-card__tittle {
    margin-bottom: 16px !important;
}
.cs-event-card__tittle h2 {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}
/* Date */
.cs-event-card__date {
    margin-bottom: 20px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.cs-event-card__date p {
    margin: 0 !important;
    font-size: 0.9rem !important;
    color: #00bcd4 !important; /* Cyan accent */
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}
/* Text */
.cs-event-card__text {
    margin-bottom: 24px !important;
    flex-grow: 1 !important;
}
.cs-event-card__text p {
    color: #b0b3c0 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin-bottom: 12px !important;
}
/* Button */
.cs-event-card__btn {
    margin-top: auto !important;
    width: 100% !important;
	align-content: flex-end;
}
.cs-event-card__btn .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 12px 24px !important;
    background-color: transparent !important;
    border: 2px solid #00bcd4 !important;
    color: #00bcd4 !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.cs-event-card__btn .elementor-button:hover {
    background-color: #00bcd4 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 188, 212, 0.4) !important;
    transform: translateY(-1px) !important;
}
/* ==========================================================================
   Single Event Page Styles
   ========================================================================== */
/* --- Sidebar Card --- */
.cs-single-content .cs-event-sidebar-card {
    background: linear-gradient(165deg, #2d2b42 0%, #1e1e2a 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    padding: 32px;
    margin-bottom: 40px;
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    z-index: 10;
    align-self: flex-start;
    height: auto;
    color: #d1d5db;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
/* Sidebar Section Spacing */
.cs-single-content .cs-event-sidebar-card > .elementor-widget {
    margin-bottom: 6px;
}
.cs-single-content .cs-event-sidebar-card > .elementor-widget + .elementor-widget-heading {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
/* Sidebar Labels */
.cs-single-content .cs-event-sidebar-card .elementor-widget-heading .elementor-heading-title {
    color: #00bcd4;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
    margin-bottom: 4px;
    opacity: 0.9;
}
/* Sidebar Values */
.cs-single-content .cs-event-sidebar-card h2,
.cs-single-content .cs-event-sidebar-card h3,
.cs-single-content .cs-event-sidebar-card .elementor-text-editor {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0;
}
/* Sidebar Text */
.cs-single-content .cs-event-sidebar-card p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}
/* Sidebar CTA Button */
.cs-single-content .cs-event-sidebar-card .elementor-button {
    background: linear-gradient(135deg, #00d4aa 0%, #00bcd4 100%);
    color: #fff;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 16px 28px;
    width: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 20px rgba(0, 188, 212, 0.3);
    border: none;
    margin-top: 24px;
}
.cs-single-content .cs-event-sidebar-card .elementor-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(0, 188, 212, 0.45);
}
/* --- Main Content Area --- */
.cs-single-content .cs-event-main-content {
    padding-right: 60px;
}
/* Main Content Headings */
.cs-single-content .cs-event-main-content h2 {
    color: #1e2029;
    font-family: "Outfit", sans-serif;
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 16px;
    letter-spacing: -0.3px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}
/* First Heading - No separator */
.cs-single-content .cs-event-main-content h2:first-child,
.cs-single-content .cs-event-main-content .elementor-widget:first-child h2 {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
    font-weight: 600;
    font-size: 2.25rem;
}
/* Remove any old underline styling */
.cs-single-content .cs-event-main-content h2:after {
    display: none;
}
/* Main Content Paragraphs */
.cs-single-content .cs-event-main-content p {
    font-size: 1.05rem;
    color: #4a4a4a;
    line-height: 1.75;
    margin-bottom: 20px;
}
/* Main Content Lists */
.cs-single-content .cs-event-main-content ul,
.cs-single-content .cs-event-main-content ol {
    margin-bottom: 24px;
    padding-left: 20px;
}
.cs-single-content .cs-event-main-content li {
    font-size: 1rem;
    margin-bottom: 10px;
    color: #4a4a4a;
    line-height: 1.6;
}
/* --- Hide Empty Sections (JS adds .is-empty) --- */
.cs-single-content .cs-empty-section {
    display: none !important;
}
/* --- Responsive Adjustments --- */
@media (max-width: 1024px) {
    .cs-single-content .cs-event-main-content {
        padding-right: 0;
        margin-bottom: 40px;
    }
    .cs-single-content .cs-event-sidebar-card {
        position: relative;
        top: 0;
    }
}