/* ======================================================
   CURE STAFF — CUSTOM SITE STYLES (Elementor)
   Version: 1.6.9

   Sections: 0 Palette, 1 Housekeeping, 2 Typography, 3 Color,
   4 Buttons, 5 Footer (5b icons, 5c tagline, 5d layout), 6 Cards,
   7 Stat cards, 8 Footer mobile (keep LAST)

   Changelog 1.6.3: footer padding moved from the outer footer
   element to the inner background container (removes the white
   gap above and below the footer). See sections 5 and 8.
   ====================================================== */


/* ======================================================
   0. PALETTE — Cure Staff colors (single source of truth)
   ====================================================== */
:root {
    --cs-main:        #1D4ED8;  /* buttons, links, key headings */
    --cs-main-light:  #2563EB;  /* gradient end (shade of main) */
    --cs-main-dark:   #1E40AF;  /* hover (shade of main) */
    --cs-accent:      #3B82F6;  /* numbers, highlights (large text only) */
    --cs-navy:        #0B1B3F;  /* headings, dark sections */
    --cs-text:        #475569;  /* body text */
    --cs-bg:          #F8FAFC;  /* page background */
    --cs-tint:        #EAF1FE;  /* light blue section tint */
    --cs-border:      #E2E8F0;  /* borders and dividers */
}


/* ======================================================
   1. HOUSEKEEPING
   ====================================================== */
.am-lite-footer-link {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ======================================================
   2. TYPOGRAPHY — force Inter everywhere
   ====================================================== */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
li,
.elementor-heading-title,
.elementor-button,
.elementor-button-text {
    font-family: "Inter", sans-serif !important;
}


/* ======================================================
   3. COLOR — HireZoot job listings match site blue
   ====================================================== */
.awsm-job-post-title a,
.awsm-job-more {
    color: var(--cs-main) !important;
}

.awsm-job-post-title a:hover,
.awsm-job-more:hover {
    color: var(--cs-navy) !important;
}


/* ======================================================
   4. BUTTONS — modern global Elementor button styling
   ====================================================== */

/*
 * Remove the unwanted halo from Elementor button widgets.
 * This overrides widget-level Custom CSS such as:
 *
 * selector {
 *     box-shadow: 0 0 0 4px [color] !important;
 * }
 */
html body .elementor-element.elementor-widget-button,
html body .elementor-element.elementor-widget-button:hover,
html body .elementor-element.elementor-widget-button:focus,
html body .elementor-element.elementor-widget-button:focus-within,
html body .elementor-element.elementor-widget-button:active {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    outline: none !important;
}


/*
 * Reset the button wrapper.
 */
html body .elementor-element.elementor-widget-button
.elementor-button-wrapper,
html body .elementor-element.elementor-widget-button
.elementor-button-wrapper:hover,
html body .elementor-element.elementor-widget-button
.elementor-button-wrapper:focus,
html body .elementor-element.elementor-widget-button
.elementor-button-wrapper:focus-within,
html body .elementor-element.elementor-widget-button
.elementor-button-wrapper:active {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    outline: none !important;
}


/*
 * Modern default Elementor button.
 */
html body .elementor-element.elementor-widget-button
.elementor-button {
    min-height: 52px !important;
    padding: 14px 30px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 12px !important;

    background-color: var(--cs-main) !important;
    background-image: linear-gradient(
        135deg,
        var(--cs-main) 0%,
        var(--cs-main-light) 100%
    ) !important;

    color: #ffffff !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
    text-shadow: none !important;

    box-shadow: none !important;
    -webkit-box-shadow: none !important;

    filter: none !important;
    -webkit-filter: none !important;

    outline: none !important;

    transform: translateY(0) !important;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        background-image 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}


/*
 * Modern hover state.
 * The shadow appears only while hovering and is soft,
 * rather than a permanent solid halo.
 */
html body .elementor-element.elementor-widget-button
.elementor-button:hover {
    background-color: var(--cs-main-dark) !important;
    background-image: linear-gradient(
        135deg,
        var(--cs-main-dark) 0%,
        var(--cs-main) 100%
    ) !important;

    border-color: rgba(255, 255, 255, 0.22) !important;

    color: #ffffff !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 8px 18px rgba(29, 78, 216, 0.20) !important;
    -webkit-box-shadow:
        0 8px 18px rgba(29, 78, 216, 0.20) !important;
}


/*
 * Active or clicked state.
 */
html body .elementor-element.elementor-widget-button
.elementor-button:active {
    transform: translateY(0) !important;

    box-shadow:
        0 3px 8px rgba(29, 78, 216, 0.16) !important;
    -webkit-box-shadow:
        0 3px 8px rgba(29, 78, 216, 0.16) !important;
}


/*
 * Accessible keyboard focus.
 * This appears only when navigating with the keyboard.
 */
html body .elementor-element.elementor-widget-button
.elementor-button:focus {
    outline: none !important;
}

html body .elementor-element.elementor-widget-button
.elementor-button:focus-visible {
    outline: 3px solid rgba(59, 130, 246, 0.45) !important;
    outline-offset: 3px !important;

    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}


/*
 * Keep Elementor button content clean.
 */
html body .elementor-element.elementor-widget-button
.elementor-button-content-wrapper,
html body .elementor-element.elementor-widget-button
.elementor-button-text,
html body .elementor-element.elementor-widget-button
.elementor-button-icon {
    background: transparent !important;
    border: 0 !important;

    color: inherit !important;

    box-shadow: none !important;
    -webkit-box-shadow: none !important;

    text-shadow: none !important;

    filter: none !important;
    -webkit-filter: none !important;
}


/*
 * Remove shadow effects from decorative pseudo-elements.
 */
html body .elementor-element.elementor-widget-button::before,
html body .elementor-element.elementor-widget-button::after,
html body .elementor-element.elementor-widget-button
.elementor-button-wrapper::before,
html body .elementor-element.elementor-widget-button
.elementor-button-wrapper::after,
html body .elementor-element.elementor-widget-button
.elementor-button::before,
html body .elementor-element.elementor-widget-button
.elementor-button::after {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
}


/*
 * Reduced-motion accessibility.
 */
@media (prefers-reduced-motion: reduce) {
    html body .elementor-element.elementor-widget-button
    .elementor-button,
    html body .elementor-element.elementor-widget-button
    .elementor-button:hover,
    html body .elementor-element.elementor-widget-button
    .elementor-button:active {
        transition: none !important;
        transform: none !important;
    }
}


/* ======================================================
   5. FOOTER — more air, clearer hierarchy (desktop base)
   Mobile refinements live in section 8.

   The outer <footer> element has no background, so it must
   carry NO padding (padding there shows as a white band above
   and below the blue area). Spacing is applied to the inner
   root container, which holds the blue background.
   ====================================================== */
.elementor-location-footer {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.elementor-location-footer > .e-con {
    padding-top: 64px !important;
    padding-bottom: 32px !important;
}

.elementor-location-footer .elementor-heading-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    opacity: 0.85;
    margin-bottom: 16px !important;
}

.elementor-location-footer a:not(.elementor-social-icon):not(.elementor-icon) {
    font-size: 15px !important;
    line-height: 2.1 !important;
    opacity: 0.85;
    transition: opacity 0.2s ease;
}

.elementor-location-footer a:not(.elementor-social-icon):not(.elementor-icon):hover {
    opacity: 1;
    text-decoration: underline;
}


/* ------------------------------------------------------
   5b. FOOTER SOCIAL ICONS (individual Elementor "Icon" widgets)
   The footer uses three separate Icon widgets, not the
   Social Icons widget. They are excluded from the generic
   footer link rule above, which was forcing them to 15px.
   ------------------------------------------------------ */
/* Layout lives on the PARENT container, so the icons always
   line up in one row regardless of per-widget margins.
   Covers both boxed and full-width Elementor containers. */
.elementor-location-footer .e-con:has(> .elementor-widget-icon),
.elementor-location-footer .e-con:has(> .e-con-inner > .elementor-widget-icon) > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
}

.elementor-location-footer .e-con:has(> .elementor-widget-icon),
.elementor-location-footer .e-con:has(> .e-con-inner > .elementor-widget-icon) {
    margin-top: 20px;
}

/* Widgets carry no margin of their own (Elementor adds a 20px
   bottom margin to all but the last widget, which misaligns them) */
.elementor-location-footer .elementor-widget-icon {
    width: auto !important;
    margin: 0 !important;
    flex: 0 0 auto;
}

.elementor-location-footer .elementor-widget-icon .elementor-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 18px !important;
    line-height: 1 !important;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    transition: background-color 0.2s ease;
}

.elementor-location-footer .elementor-widget-icon .elementor-icon:hover {
    background-color: rgba(255, 255, 255, 0.25);
}

.elementor-location-footer .elementor-widget-icon .elementor-icon i,
.elementor-location-footer .elementor-widget-icon .elementor-icon svg {
    width: 1em;
    height: 1em;
    color: #ffffff;
    fill: #ffffff;
}


/* ------------------------------------------------------
   5c. FOOTER TAGLINE (the heading next to the logo)
   Targeted by position, no custom class needed.
   Overrides the generic footer heading style in section 5,
   which is meant for the small column titles only.
   To restore uppercase: text-transform: uppercase and
   letter-spacing: 0.04em.
   ------------------------------------------------------ */
.elementor-location-footer .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading) > .elementor-widget-heading .elementor-heading-title,
.elementor-location-footer .e-con:has(> .e-con-inner > .elementor-widget-image):has(> .e-con-inner > .elementor-widget-heading) > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
    font-size: 14px !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    opacity: 0.9 !important;
    max-width: 44ch;
}

/* ------------------------------------------------------
   5d. FOOTER LAYOUT (fluid, full width)
   Targets the footer row by position: first container inside
   the root footer container. Its children by order:
   1 = logo + text, 2 = link lists, 3 = newsletter.
   Overrides fixed column widths set in Elementor.
   Tablet and mobile rules are in section 8.
   ------------------------------------------------------ */
.elementor-location-footer > .e-con > .e-con:first-child:not(:has(> .e-con-inner)),
.elementor-location-footer > .e-con > .e-con:first-child > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.7fr) minmax(0, 1.2fr) !important;
    column-gap: clamp(32px, 4vw, 64px) !important;
    row-gap: 40px !important;
    align-items: start !important;
    justify-content: stretch !important;
    width: 100% !important;
    max-width: 1600px !important;
    margin-inline: auto !important;
    padding-inline: clamp(20px, 4vw, 64px) !important;
}

.elementor-location-footer > .e-con > .e-con:first-child > .e-con,
.elementor-location-footer > .e-con > .e-con:first-child > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Link lists: two side by side, wrap when the space is tight */
.elementor-location-footer > .e-con > .e-con:first-child > .e-con:nth-child(2),
.elementor-location-footer > .e-con > .e-con:first-child > .e-con-inner > .e-con:nth-child(2) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    column-gap: 32px !important;
    row-gap: 0 !important;
}

.elementor-location-footer > .e-con > .e-con:first-child > .e-con:nth-child(2) > .e-con,
.elementor-location-footer > .e-con > .e-con:first-child > .e-con-inner > .e-con:nth-child(2) > .e-con {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}


/* ======================================================
   6. CARDS — blog/news + job listing cards
   ====================================================== */
.elementor-loop-container .elementor-element-bcd7611,
.awsm-b-job-item {
    border-radius: 16px !important;
    overflow: hidden;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease !important;
}

.elementor-loop-container .elementor-element-bcd7611:hover {
    transform: translateY(-4px);
    box-shadow:
        0 12px 24px rgba(11, 27, 63, 0.10) !important;
}


/* ======================================================
   7. STAT CARDS — "Statistic & Insights"
   ------------------------------------------------------
   Row container: .elementor-element-9d740ee
   Cards: bb05103, 7fa8000, 82f1c95
   Each card = Counter widget, description Heading, CTA Heading.
   ====================================================== */
.elementor-element-9d740ee {
    gap: 24px !important;
}

.elementor-element-bb05103,
.elementor-element-7fa8000,
.elementor-element-82f1c95 {
    border: 1px solid var(--cs-border) !important;
    border-radius: 16px !important;
    padding: 40px 32px !important;
    background: #ffffff !important;

    transition:
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.elementor-element-bb05103:hover,
.elementor-element-7fa8000:hover,
.elementor-element-82f1c95:hover {
    box-shadow:
        0 8px 24px rgba(11, 27, 63, 0.08);
    transform: translateY(-2px);
}

.elementor-element-bb05103 .elementor-counter,
.elementor-element-7fa8000 .elementor-counter,
.elementor-element-82f1c95 .elementor-counter {
    margin-bottom: 8px !important;
}


/* Clean full-width divider */
.elementor-element-bb05103 .elementor-heading-title,
.elementor-element-7fa8000 .elementor-heading-title,
.elementor-element-82f1c95 .elementor-heading-title {
    display: block;
    text-decoration: none !important;
    padding-bottom: 16px;
    margin-bottom: 20px !important;
    border-bottom: 1px solid var(--cs-border);
}


/* Shared row lines (desktop only).
   The row becomes a 3-column grid with 3 rows (counter,
   description, CTA). Each card spans all 3 rows and inherits
   them with subgrid, so dividers and CTAs line up across
   cards whatever the text length (no <br> tricks needed).
   Each heading widget fills its row, so its divider sits at
   the bottom of the shared row. Tablet and mobile keep the
   Elementor layout. Covers boxed (.e-con-inner) and
   full-width containers. */
@media (min-width: 1025px) {
    @supports (grid-template-rows: subgrid) {

        .elementor-element-9d740ee:not(:has(> .e-con-inner)),
        .elementor-element-9d740ee > .e-con-inner {
            display: grid !important;
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            grid-template-rows: auto auto auto !important;
            column-gap: 24px !important;
            row-gap: 0 !important;
            align-items: stretch !important;
        }

        .elementor-element-bb05103,
        .elementor-element-7fa8000,
        .elementor-element-82f1c95,
        .elementor-element-bb05103 > .e-con-inner,
        .elementor-element-7fa8000 > .e-con-inner,
        .elementor-element-82f1c95 > .e-con-inner {
            display: grid !important;
            grid-template-rows: subgrid !important;
            row-gap: 0 !important;
            align-items: stretch !important;
            justify-items: stretch !important;
        }

        .elementor-element-bb05103,
        .elementor-element-7fa8000,
        .elementor-element-82f1c95 {
            grid-row: span 3 !important;
        }

        .elementor-element-bb05103 > .e-con-inner,
        .elementor-element-7fa8000 > .e-con-inner,
        .elementor-element-82f1c95 > .e-con-inner {
            grid-row: 1 / -1 !important;
        }

        /* Widgets fill their row and center their text */
        .elementor-element-bb05103 .elementor-widget,
        .elementor-element-7fa8000 .elementor-widget,
        .elementor-element-82f1c95 .elementor-widget {
            width: 100% !important;
            margin: 0 !important;
            text-align: center !important;
        }

        .elementor-element-bb05103 .elementor-widget-heading > .elementor-widget-container,
        .elementor-element-7fa8000 .elementor-widget-heading > .elementor-widget-container,
        .elementor-element-82f1c95 .elementor-widget-heading > .elementor-widget-container {
            height: 100%;
            display: flex;
            flex-direction: column;
        }

        .elementor-element-bb05103 .elementor-widget-heading .elementor-heading-title,
        .elementor-element-7fa8000 .elementor-widget-heading .elementor-heading-title,
        .elementor-element-82f1c95 .elementor-widget-heading .elementor-heading-title {
            flex: 1 1 auto;
            width: 100%;
            text-align: center !important;
            margin-bottom: 20px !important;
        }

        /* Last row: no extra gap under the final divider */
        .elementor-element-bb05103 .elementor-widget-heading:last-child .elementor-heading-title,
        .elementor-element-7fa8000 .elementor-widget-heading:last-child .elementor-heading-title,
        .elementor-element-82f1c95 .elementor-widget-heading:last-child .elementor-heading-title {
            margin-bottom: 0 !important;
        }
    }
}


/* Mobile only: center the counter title text inside the stat
   cards (wrapped lines otherwise sit left-aligned). Counter
   title only; nothing else in the cards is touched. */
@media (max-width: 767px) {
    .elementor-element-bb05103 .elementor-counter-title,
    .elementor-element-7fa8000 .elementor-counter-title,
    .elementor-element-82f1c95 .elementor-counter-title {
        text-align: center !important;
    }
}


/* Footer layout: tablet (see 5d for desktop) */
@media (max-width: 1024px) {
    .elementor-location-footer > .e-con > .e-con:first-child:not(:has(> .e-con-inner)),
    .elementor-location-footer > .e-con > .e-con:first-child > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .elementor-location-footer > .e-con > .e-con:first-child > .e-con:first-child,
    .elementor-location-footer > .e-con > .e-con:first-child > .e-con-inner > .e-con:first-child {
        grid-column: 1 / -1;
    }
}


/* ======================================================
   8. FOOTER — MOBILE OVERRIDES (max-width: 767px)
   ------------------------------------------------------
   Requires these CSS classes to be added in Elementor
   (widget > Advanced > CSS Classes):
     .footer-tagline  -> tagline heading/text widget
     .footer-logo     -> logo image widget
     .footer-social   -> social icons widget
     .footer-spacer   -> empty spacer/column to hide
     .footer-menu     -> footer menu / link list widget

   !important is used where needed to beat the base
   footer rules in section 5.
   ====================================================== */
@media (max-width: 767px) {

    /* Footer layout: single column (see 5d for desktop) */
    .elementor-location-footer > .e-con > .e-con:first-child:not(:has(> .e-con-inner)),
    .elementor-location-footer > .e-con > .e-con:first-child > .e-con-inner {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 32px !important;
    }


    /* Footer container: extra bottom room so the chat bubble
       never covers content. Padding sits on the inner
       background container, not on the outer footer element. */
    .elementor-location-footer {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .elementor-location-footer > .e-con {
        padding-top: 48px !important;
        padding-bottom: 90px !important;
    }

    /* Tagline: see 5c for base styling; keep it full width on mobile */
    .elementor-location-footer .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading) > .elementor-widget-heading .elementor-heading-title,
    .elementor-location-footer .e-con:has(> .e-con-inner > .elementor-widget-image):has(> .e-con-inner > .elementor-widget-heading) > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
        font-size: 14px !important;
        max-width: none;
    }

    /* Logo: keep it proportionate */
    .elementor-location-footer .footer-logo img {
        max-width: 220px;
        height: auto;
        margin-bottom: 16px;
    }

    /* Social icons: 44px minimum tap targets (see 5b for base styling) */
    .elementor-location-footer .e-con:has(> .elementor-widget-icon),
    .elementor-location-footer .e-con:has(> .e-con-inner > .elementor-widget-icon) > .e-con-inner {
        gap: 16px !important;
    }

    .elementor-location-footer .e-con:has(> .elementor-widget-icon),
    .elementor-location-footer .e-con:has(> .e-con-inner > .elementor-widget-icon) {
        margin-bottom: 24px;
    }

    .elementor-location-footer .elementor-widget-icon .elementor-icon {
        width: 44px;
        height: 44px;
        font-size: 22px !important;
    }

    /* Remove dead space */
    .elementor-location-footer .footer-spacer {
        display: none !important;
    }

    /* Align the menu flush left */
    .elementor-location-footer .footer-menu,
    .elementor-location-footer .footer-menu li {
        padding-left: 0;
        margin-left: 0;
    }
}




/* ======================================================
   9. EVENTS PAGE — hide event count, modern search box
   ====================================================== */

/* 9a. Hide the "N Event(s) Available" line */
#amelia-v2-booking-1000 :is(div, p, span, h1, h2, h3, h4, h5, h6):not(:has(input, button, a)):has(~ :is([class*="search"], [class*="filter"])),
#amelia-v2-booking-1000 [class*="am-elf"]:is([class*="count"], [class*="total"], [class*="available"]) {
    display: none !important;
}

/* 9b. Search box */
#amelia-v2-booking-1000 .el-input__wrapper:has(input[placeholder^="Search for Events"]) {
    background: #ffffff !important;
    border-radius: 14px !important;
    min-height: 52px !important;
    padding: 0 18px !important;
    box-shadow:
        0 0 0 1px #E2E8F0 inset,
        0 4px 14px rgba(11, 27, 63, 0.06) !important;
    transition: box-shadow 0.2s ease !important;
}

#amelia-v2-booking-1000 .el-input__wrapper:has(input[placeholder^="Search for Events"]):hover {
    box-shadow:
        0 0 0 1px #CBD5E1 inset,
        0 8px 22px rgba(11, 27, 63, 0.10) !important;
}

#amelia-v2-booking-1000 .el-input__wrapper:has(input[placeholder^="Search for Events"]):focus-within {
    box-shadow:
        0 0 0 2px #3B82F6 inset,
        0 0 0 5px rgba(59, 130, 246, 0.15),
        0 8px 22px rgba(11, 27, 63, 0.10) !important;
}

#amelia-v2-booking-1000 input[placeholder^="Search for Events"] {
    height: 50px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0B1B3F !important;
    background: transparent !important;
}

#amelia-v2-booking-1000 input[placeholder^="Search for Events"]::placeholder {
    color: #94A3B8 !important;
    font-weight: 400 !important;
}

/* Search icon */
#amelia-v2-booking-1000 .el-input__wrapper:has(input[placeholder^="Search for Events"]) .el-input__prefix,
#amelia-v2-booking-1000 .el-input__wrapper:has(input[placeholder^="Search for Events"]) .el-input__prefix * {
    color: #1D4ED8 !important;
}


/* Remove duplicate shadows around the search field */
.page-id-309 #amelia-v2-booking-1000 .am-els__filters-search,
.page-id-309 #amelia-v2-booking-1000 .am-els__filters-search .am-input {
    box-shadow: none !important;
}

/* Remove only the blue inset stripe; preserve the card shadow */
.page-id-309 #amelia-v2-booking-1000 .am-els__wrapper > .am-ec {
    box-shadow:
        0 2px 2px -1px #D1D5D7,
        0 0 11px rgba(209, 213, 215, 0.3) !important;
}





/* Arrange event cards into two columns */
.amelia-v2-booking #amelia-container .am-els__wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px !important;
}

/* Stack each card's contents vertically */
.amelia-v2-booking #amelia-container .am-els__wrapper > .am-ec {
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  box-sizing: border-box;
}

/* Let event information fill the card */
.amelia-v2-booking #amelia-container .am-els__wrapper .am-ec__info {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}

/* Place an existing event image at the top */
.amelia-v2-booking #amelia-container .am-els__wrapper .am-ec__image {
  order: -1;
  width: 100% !important;
  height: 180px !important;
  margin: 0 0 16px !important;
  background-size: cover;
  background-position: center;
}

/* One column on smaller screens */
@media (max-width: 767px) {
  .amelia-v2-booking #amelia-container .am-els__wrapper {
    grid-template-columns: 1fr;
  }
}


/* END */

/* Remove duplicate outer shadows from all Elementor button widgets */
html body .elementor .elementor-element.elementor-widget.elementor-widget-button {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}




/* ==========================================
   BLOG PAGE — Remove post underlines
   ========================================== */

/* Remove underline from blog post titles */
body.blog .elementor-loop-container
.elementor-element-1db4f3f .elementor-heading-title {
    text-decoration: none !important;
}

/* Remove underline from blog post dates */
body.blog .elementor-loop-container
.elementor-element-ed1a639 .elementor-icon-list-item,
body.blog .elementor-loop-container
.elementor-element-ed1a639 a,
body.blog .elementor-loop-container
.elementor-element-ed1a639 time {
    text-decoration: none !important;
}

/* Keep underlines removed on hover */
body.blog .elementor-loop-container
.elementor-element-1db4f3f .elementor-heading-title:hover,
body.blog .elementor-loop-container
.elementor-element-ed1a639 a:hover {
    text-decoration: none !important;
}
















/* ==========================================
   CURE STAFF — BLOG PAGE
   COMPACT 3-COLUMN EVENTS-STYLE CARDS
   ========================================== */

/* 1. BLOG GRID — DESKTOP */
@media (min-width: 1025px) {
    body.blog .elementor-widget-loop-grid
    .elementor-loop-container {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 20px !important;
        align-items: stretch !important;
    }
}

/* 2. BLOG CARDS */
body.blog .elementor-loop-container .e-loop-item {
    background: #ffffff !important;
    border: 1px solid #F1F5F9 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(11, 27, 63, 0.06) !important;
    overflow: hidden !important;
    min-width: 0 !important;
    height: 100% !important;
    transition: transform 0.2s ease,
                box-shadow 0.2s ease !important;
}

/* 3. CARD HOVER */
body.blog .elementor-loop-container .e-loop-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(11, 27, 63, 0.10) !important;
}

/* 4. INNER CARD SPACING */
body.blog .elementor-loop-container
.e-loop-item .elementor-element-df5ec5e {
    padding: 18px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Elementor boxed container support */
body.blog .elementor-loop-container
.e-loop-item .elementor-element-df5ec5e > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
}

/* 5. FEATURED IMAGE CONTAINER */
body.blog .elementor-loop-container
.elementor-element-3a96f60 {
    width: 100% !important;
    margin-bottom: 14px !important;
}

/* 6. FEATURED IMAGES */
body.blog .elementor-loop-container
.elementor-element-3a96f60 img {
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

/* 7. CATEGORY BADGES */
body.blog .elementor-loop-container
.elementor-element-002f062 {
    background-color: #1D4ED8 !important;
    border-radius: 999px !important;
    padding: 5px 14px !important;
}

body.blog .elementor-loop-container
.elementor-element-002f062 .elementor-heading-title,
body.blog .elementor-loop-container
.elementor-element-002f062 a {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* 8. BLOG TITLES */
body.blog .elementor-loop-container
.elementor-element-1db4f3f {
    margin-bottom: 10px !important;
}

body.blog .elementor-loop-container
.elementor-element-1db4f3f .elementor-heading-title {
    color: #243746 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

/* 9. REMOVE TITLE UNDERLINES ON HOVER */
body.blog .elementor-loop-container
.elementor-element-1db4f3f .elementor-heading-title:hover,
body.blog .elementor-loop-container
.elementor-element-1db4f3f a {
    text-decoration: none !important;
}

/* 10. BLOG EXCERPTS */
body.blog .elementor-loop-container
.elementor-element-9ea891f {
    color: #64748B !important;
    font-size: 14px !important;
    line-height: 1.5 !important;

    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;

    margin-bottom: 10px !important;
}

/* 11. PUBLICATION DATES */
body.blog .elementor-loop-container
.elementor-element-ed1a639 {
    margin-top: 8px !important;
    margin-bottom: 14px !important;
}

body.blog .elementor-loop-container
.elementor-element-ed1a639 .elementor-icon-list-item,
body.blog .elementor-loop-container
.elementor-element-ed1a639 a,
body.blog .elementor-loop-container
.elementor-element-ed1a639 time {
    color: #64748B !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

/* 12. READ MORE BUTTON POSITION */
body.blog .elementor-loop-container
.elementor-element-959cc2d {
    margin-top: auto !important;
    margin-left: auto !important;
    align-self: flex-end !important;
}

/* 13. READ MORE BUTTON DESIGN */
body.blog .elementor-loop-container
.elementor-element-959cc2d .elementor-button {
    background: #2455EC !important;
    background-image: none !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 6px !important;

    padding: 8px 14px !important;
    min-height: 0 !important;

    font-size: 13px !important;
    font-weight: 500 !important;

    box-shadow: none !important;
    transform: none !important;
    text-decoration: none !important;
}

/* 14. BUTTON HOVER */
body.blog .elementor-loop-container
.elementor-element-959cc2d .elementor-button:hover {
    background: #1D4ED8 !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 15. TABLET — TWO COLUMNS */
@media (min-width: 768px) and (max-width: 1024px) {
    body.blog .elementor-widget-loop-grid
    .elementor-loop-container {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}

/* 16. MOBILE — ONE COLUMN */
@media (max-width: 767px) {
    body.blog .elementor-widget-loop-grid
    .elementor-loop-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    body.blog .elementor-loop-container
    .e-loop-item .elementor-element-df5ec5e {
        padding: 18px !important;
    }

    body.blog .elementor-loop-container
    .elementor-element-3a96f60 img {
        height: 170px !important;
    }
}



