/* Custom Fixes for Header Overlap */
body:not(.home) .elementor-location-header + .elementor-section,
body:not(.home) main .elementor-section:first-of-type {
    padding-top: 120px !important;
}

/* Form Styles for WPForms */
.wpforms-form .wpforms-field-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.wpforms-form .wpforms-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 0 !important;
}
.wpforms-form .wpforms-field-label {
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
    display: block;
}
.wpforms-form input[type=text],
.wpforms-form input[type=email],
.wpforms-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    font-family: inherit;
    box-sizing: border-box;
    background-color: #fff;
    color: #333;
}
.wpforms-form textarea {
    min-height: 120px;
    resize: vertical;
}
.wpforms-form button.wpforms-submit {
    background-color: #cfa85e; /* Gold/Orange brand color */
    color: #fff;
    border: none;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
    text-transform: uppercase;
    margin-top: 10px;
}
.wpforms-form button.wpforms-submit:hover {
    background-color: #b5924d;
}

/* Fix for Rekommendationer Images (Om oss) */
.rekommendationer-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}
.rekommendationer-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.rekommendationer-container img {
    border-radius: 8px;
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* Ensure the parent section of Rekommendationer stretches full width */
.elementor-section-full_width > .elementor-container {
    max-width: 100% !important;
}

/* Accordion Custom Styles */
.elementor-tab-content {
    display: none;
    padding: 15px;
    background-color: #f9f9f9;
    border-bottom: 1px solid #eaeaea;
}
.elementor-accordion-item.active .elementor-tab-content,
.elementor-accordion-item.elementor-active .elementor-tab-content {
    display: block;
}
.elementor-tab-title {
    cursor: pointer;
    padding: 15px;
    background-color: #fff;
    border-bottom: 1px solid #eaeaea;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
}
.elementor-accordion-title {
    text-align: left;
    flex-grow: 1;
    padding-right: 15px;
}
/* Default state: show plus, hide minus */
.elementor-accordion-icon-opened {
    display: none !important;
}
.elementor-accordion-icon-closed {
    display: inline-block !important;
}
/* Active state: show minus, hide plus */
.elementor-accordion-item.active .elementor-accordion-icon-closed,
.elementor-accordion-item.elementor-active .elementor-accordion-icon-closed {
    display: none !important;
}
.elementor-accordion-item.active .elementor-accordion-icon-opened,
.elementor-accordion-item.elementor-active .elementor-accordion-icon-opened {
    display: inline-block !important;
}

/* === FIX: CTA Background Image + Full Styling (bypass lazyload & .elementor-769 scope) === */
.elementor-element.elementor-element-9935218 {
    overflow: hidden;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 100px 0px 100px 0px !important;
}
.elementor-element.elementor-element-9935218:not(.elementor-motion-effects-element-type-background) {
    background-image: url("../../wp-content/uploads/2022/10/lea18.jpg") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
.elementor-element.elementor-element-9935218 > .elementor-container {
    max-width: 580px !important;
}
.elementor-element.elementor-element-9935218 > .elementor-background-overlay {
    background-color: #000000 !important;
    opacity: 0.8 !important;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}
@media (min-width: 1025px) {
    .elementor-element.elementor-element-9935218:not(.elementor-motion-effects-element-type-background) {
        background-attachment: fixed !important;
    }
}
@media (max-width: 1024px) {
    .elementor-element.elementor-element-9935218 {
        padding: 50px 50px 50px 50px !important;
    }
}
@media (max-width: 767px) {
    .elementor-element.elementor-element-9935218 {
        padding: 50px 25px 50px 25px !important;
    }
}

/* === FIX: Remove white gap below footer === */
html, body {
    margin: 0 !important;
    padding: 0 !important;
}
footer.site-footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
body::after {
    display: none !important;
}

/* Make footer background dark */
.site-footer {
    background-color: #2b3947 !important;
}

/* === Header Bar Dark Background for Subpages === */
.ast-theme-transparent-header .main-header-bar,
.ast-theme-transparent-header.ast-header-break-point .main-header-bar {
    background-color: #2b3947 !important;
}

/* === FIX: Index Hero (d7c80da) - Background image + padding === */
.elementor-element.elementor-element-d7c80da:not(.elementor-motion-effects-element-type-background) {
    background-image: url("../../assets/images/lea15.jpg") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
.elementor-element.elementor-element-d7c80da > .elementor-background-overlay {
    background-color: #182434 !important;
    opacity: 0.75 !important;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}
.elementor-element.elementor-element-d7c80da {
    overflow: hidden;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 200px 0px 140px 0px !important;
    position: relative;
}
.elementor-element.elementor-element-d7c80da .elementor-widget-text-editor,
.elementor-element.elementor-element-d7c80da p {
    color: #ffffff !important;
}
@media (max-width: 1024px) {
    .elementor-element.elementor-element-d7c80da {
        padding: 140px 40px 80px 40px !important;
    }
}
@media (max-width: 767px) {
    .elementor-element.elementor-element-d7c80da {
        padding: 125px 25px 55px 25px !important;
    }
}

/* === FIX: Elementor global color variables === */
:root {
    --e-global-color-astglobalcolor0: #cba557;
    --e-global-color-astglobalcolor1: #3a3a3a;
    --e-global-color-astglobalcolor2: #182434;
    --e-global-color-astglobalcolor3: #4B4F58;
    --e-global-color-astglobalcolor4: #f5f7f8;
    --e-global-color-astglobalcolor5: #ffffff;
    --e-global-color-astglobalcolor6: #dbdbdb;
    --e-global-color-astglobalcolor7: #323438;
    --e-global-color-astglobalcolor8: #BFD1FF;
}

/* === FIX: Kontakt Hero & Overlapping Card === */
/* Hero background color (exact match to screenshot) and bottom padding for overlap */
.elementor-17 .elementor-element.elementor-element-3441189:not(.elementor-motion-effects-element-type-background),
.elementor-17 .elementor-element.elementor-element-3441189 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #4b545d !important; /* Screenshot matched color */
    background-image: none !important;
}
.elementor-17 .elementor-element.elementor-element-3441189 {
    padding: 150px 0px 140px 0px !important; /* Bottom padding creates space for card overlap */
}

/* Ensure text inside hero is white */
.elementor-17 .elementor-element.elementor-element-5f4ca79 .elementor-heading-title,
.elementor-17 .elementor-element.elementor-element-6d8c9d9 {
    color: #ffffff !important;
}

/* Card Wrapper negative margin to pull it up over the hero section */
.elementor-17 .elementor-element.elementor-element-87f4ee4 > .elementor-element-populated {
    margin: -100px 0px 0px 0px !important; /* Pulls up by half of card height */
}

/* Card inner background (dark navy) */
.elementor-17 .elementor-element.elementor-element-7364e5f:not(.elementor-motion-effects-element-type-background),
.elementor-17 .elementor-element.elementor-element-7364e5f > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #16202c !important; /* Exact match dark navy from screenshot */
}
.elementor-17 .elementor-element.elementor-element-7364e5f {
    border-radius: 12px !important;
    padding: 50px 0px !important; /* Make card taller to look like screenshot */
}

/* Contact text and details white */
.elementor-17 .elementor-element.elementor-element-65fa01a .elementor-icon-box-title,
.elementor-17 .elementor-element.elementor-element-65fa01a .elementor-icon-box-description,
.elementor-17 .elementor-element.elementor-element-d8cb418 .elementor-icon-box-title,
.elementor-17 .elementor-element.elementor-element-d8cb418 .elementor-icon-box-description {
    color: #ffffff !important;
}

/* Card Icons Gold Color */
.elementor-17 .elementor-element.elementor-element-65fa01a .elementor-icon,
.elementor-17 .elementor-element.elementor-element-d8cb418 .elementor-icon {
    color: #cba557 !important;
    fill: #cba557 !important;
}

/* Card Separator Line */
.elementor-17 .elementor-element.elementor-element-9538a99 > .elementor-element-populated {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

/* === FIX: CTA Section Text Color (Om Oss & Snabb Info) === */
.elementor-element.elementor-element-9935218 .elementor-heading-title,
.elementor-element.elementor-element-9935218 .elementor-widget-text-editor,
.elementor-element.elementor-element-9935218 p {
    color: #ffffff !important;
}

/* === FIX: Kontakt Container Widths and Alignment === */

/* Constrain the main container widths to prevent full-screen stretching */
.elementor-17 .elementor-section-boxed > .elementor-container {
    max-width: 1140px !important;
    margin: 0 auto !important;
}

/* Fix Header/Logo alignment to match container */


/* Constrain the Contact Card to 1000px */
.elementor-17 .elementor-element.elementor-element-7364e5f {
    max-width: 1000px !important;
    margin: 0 auto !important;
}

/* Fix Hero Text Size and Alignment */
.elementor-17 .elementor-element.elementor-element-5f4ca79 .elementor-heading-title {
    font-size: 48px !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    text-align: left !important;
}

.elementor-17 .elementor-element.elementor-element-6d8c9d9 .elementor-widget-container p {
    font-size: 18px !important;
    max-width: 700px !important; /* Limit width of paragraph */
    line-height: 1.6 !important;
    text-align: left !important;
}

/* Fix Yellow Divider Line in Hero */
.elementor-17 .elementor-element.elementor-element-fed7674 .elementor-divider-separator {
    border-top-width: 4px !important; /* Ensure it's thick enough */
    width: 60px !important; /* Short line like the screenshot */
    margin-bottom: 20px !important;
}

/* Fix Card Vertical Separator Line */
.elementor-17 .elementor-element.elementor-element-9538a99 > .elementor-element-populated {
    border-left: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Override previous conflicting Card border fix if any */
.elementor-17 .elementor-element.elementor-element-9538a99 > .elementor-element-populated {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Tweak Card Icon box spacing to match screenshot perfectly */
.elementor-17 .elementor-element.elementor-element-65fa01a .elementor-widget-container,
.elementor-17 .elementor-element.elementor-element-d8cb418 .elementor-widget-container {
    padding: 30px !important;
}

/* === FIX: CTA Background Overlay (using pseudo-element for safety) === */
.elementor-element.elementor-element-9935218 {
    position: relative;
}
.elementor-element.elementor-element-9935218::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000 !important;
    opacity: 0.8 !important;
    z-index: 0;
}
.elementor-element.elementor-element-9935218 > .elementor-container {
    position: relative;
    z-index: 1;
}

/* === FIX: Kontakt Form Section Padding & Dividers === */
.elementor-17 .elementor-element.elementor-element-474267d {
    padding-top: 150px !important;
    padding-bottom: 150px !important;
}

.elementor-17 .elementor-element.elementor-element-c230333 .elementor-divider-separator,
.elementor-17 .elementor-element.elementor-element-b0bc289 .elementor-divider-separator {
    border-top: 4px solid #cba557 !important;
    width: 60px !important;
    margin-bottom: 25px !important;
}

/* === FINAL TWEAKS: Dark Header Background for Om Oss & Snabb Info === */
/* page-id-832 is Om Oss, page-id-11 is Snabb Information */
.page-id-832 .ast-above-header-bar,
.page-id-832 .ast-primary-header-bar,
.page-id-11 .ast-above-header-bar,
.page-id-11 .ast-primary-header-bar {
    background-color: #2b3947 !important; /* Dark grey */
}


/* === FIX: Footer gap background color integration === */
html {
    background-color: #2b3947 !important; /* Dark grey for the gap */
}
body {
    background-color: #ffffff !important; /* White for the main content area */
    display: block !important; /* Remove any flex layout */
    min-height: auto !important; /* Let body naturally end at the footer */
}
/* Ensure the footer has no extra margins */
.site-footer {
    margin-bottom: 0 !important;
}
