/*
 * GetmedCo UK — Global Mobile Responsive CSS
 * Covers: All pages, all Elementor elements
 * Fixes: Headings, icon lists, sections, columns, buttons, images, text
 */

/* =====================================================
   BASE RESET & OVERFLOW PREVENTION
   ==================================================== */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden !important; max-width: 100vw !important; }
img, video, iframe { max-width: 100% !important; height: auto !important; }

/* =====================================================
   STATIC HEADER / NAVIGATION BAR (STATIC AT ALL TIMES)
   ==================================================== */
header,
.elementor-location-header,
[data-elementor-type="header"],
.elementor-sticky,
.elementor-sticky--effects,
.elementor-sticky--active,
.she-header,
.she-header-yes,
.sticky-header,
.header-sticky {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    z-index: 99 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

/* Ensure the body or main content wrapper doesn't have excess padding-top from sticky headers */
body.elementor-sticky-header-active,
body {
    padding-top: 0 !important;
}

/* =====================================================
   TABLET (768px – 1024px)
   ==================================================== */
@media (max-width: 1024px) and (min-width: 768px) {
    .elementor-heading-title { font-size: clamp(22px, 3.5vw, 42px) !important; line-height: 1.25 !important; }
}

/* =====================================================
   MOBILE (< 768px) — comprehensive fixes
   ==================================================== */
@media (max-width: 767px) {

    /* --- HEADINGS --- */
    h1, .elementor-heading-title.elementor-size-xxl { font-size: clamp(26px, 7vw, 40px) !important; line-height: 1.2 !important; word-break: break-word !important; }
    h2, .elementor-heading-title.elementor-size-xl  { font-size: clamp(22px, 6vw, 34px) !important; line-height: 1.25 !important; word-break: break-word !important; }
    h3, .elementor-heading-title.elementor-size-large { font-size: clamp(18px, 5.5vw, 28px) !important; line-height: 1.3 !important; }
    h4, .elementor-heading-title.elementor-size-medium { font-size: clamp(16px, 5vw, 22px) !important; }
    h5, h6, .elementor-heading-title.elementor-size-small { font-size: clamp(14px, 4vw, 18px) !important; }
    .elementor-heading-title { font-size: clamp(18px, 5.5vw, 32px) !important; line-height: 1.3 !important; word-break: break-word !important; hyphens: auto !important; }

    /* --- BUILD YOUR PERFECT PACKAGE style headings (uppercase, large) --- */
    .elementor-widget-heading .elementor-heading-title[style*="text-transform"] { font-size: clamp(16px, 5vw, 26px) !important; letter-spacing: 0.5px !important; }

    /* --- TEXT CONTENT --- */
    .elementor-widget-text-editor p,
    .elementor-widget-text-editor li,
    .elementor-text-editor p { font-size: clamp(14px, 4vw, 16px) !important; line-height: 1.7 !important; }
    p, li { font-size: clamp(13px, 3.8vw, 16px) !important; line-height: 1.65 !important; }

    /* --- ICON LIST (numbered lists on packages page) --- */
    .elementor-icon-list-items { width: 100% !important; overflow: visible !important; }
    .elementor-icon-list-item {
        display: flex !important;
        align-items: flex-start !important;
        padding: 12px 0 !important;
        min-height: unset !important;
        border-bottom: 1px solid rgba(0,0,0,0.06) !important;
        width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        clear: both !important;
        float: none !important;
    }
    .elementor-icon-list-item:last-child { border-bottom: none !important; }
    .elementor-icon-list-icon {
        flex-shrink: 0 !important;
        min-width: 36px !important;
        margin-top: 1px !important;
        display: flex !important;
        align-items: center !important;
    }
    .elementor-icon-list-icon i,
    .elementor-icon-list-icon svg { font-size: 20px !important; width: 20px !important; height: 20px !important; }
    .elementor-icon-list-text {
        flex: 1 !important;
        min-width: 0 !important;
        padding-left: 10px !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        line-height: 1.55 !important;
        font-size: clamp(13px, 3.8vw, 16px) !important;
    }
    /* Inline icon list (side-by-side) — force vertical on mobile */
    .elementor-icon-list-items.elementor-inline-items { display: flex !important; flex-direction: column !important; }
    .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 !important; width: 100% !important; }

    /* --- BUTTONS --- */
    .elementor-button-wrapper { width: 100% !important; }
    .elementor-button {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 20px !important;
        font-size: 14px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }

    /* --- SPACERS: reduce height on mobile --- */
    .elementor-widget-spacer .elementor-spacer-inner { height: clamp(16px, 4vw, 40px) !important; }

    /* --- IMAGES --- */
    .elementor-widget-image img,
    .elementor-image img { width: 100% !important; max-width: 100% !important; height: auto !important; border-radius: inherit; }
    .elementor-widget-image { text-align: center !important; }

    /* --- DIVIDERS --- */
    .elementor-widget-divider { padding: 8px 0 !important; }

    /* --- PRICING/PACKAGE CARDS --- */
    .elementor-price-table { margin-bottom: 20px !important; }
    .elementor-price-table__price { font-size: clamp(28px, 8vw, 48px) !important; }
    .elementor-price-table__original-price { font-size: clamp(14px, 4vw, 18px) !important; }
    .elementor-price-table__feature-inner { font-size: clamp(12px, 3.5vw, 15px) !important; }

    /* --- HERO / BANNER SECTIONS --- */
    .elementor-section.elementor-section-full_width .elementor-column-wrap { padding: 24px 16px !important; }

    /* --- TESTIMONIALS --- */
    .elementor-testimonial-wrapper .elementor-testimonial-content { font-size: clamp(13px, 3.8vw, 16px) !important; }

    /* --- ONE CARE PLUS HERO (packages page specific) --- */
    .elementor-section[data-id] .elementor-heading-title { word-break: break-word !important; }

    /* --- TABLE / COMPARISON --- */
    .elementor-widget-table { overflow-x: auto !important; display: block !important; }
    table { min-width: unset !important; width: 100% !important; font-size: 13px !important; }
    td, th { padding: 8px 10px !important; font-size: 13px !important; }

    /* --- BREADCRUMBS --- */
    .breadcrumbs, .woocommerce-breadcrumb { font-size: 12px !important; flex-wrap: wrap !important; }

    /* --- CALL TO ACTION PHONE BUTTON --- */
    a[href^="tel"] { font-size: clamp(14px, 4vw, 18px) !important; }

    /* --- VALUE PROPOSITION COLUMN OVERLAY (ABOUT US PAGE) --- */
    .elementor-element-2377016a {
        padding: 50px 20px !important;
        background-position: center center !important;
        position: relative !important;
        z-index: 1 !important;
    }
    .elementor-element-2377016a::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(10, 34, 64, 0.70) !important;
        z-index: -1 !important;
        border-radius: inherit !important;
    }
    .elementor-element-4728e4e .elementor-heading-title {
        font-size: clamp(20px, 5.5vw, 24px) !important;
        margin-bottom: 12px !important;
    }
    .elementor-element-62155688 p {
        font-size: clamp(13px, 3.8vw, 15px) !important;
        line-height: 1.55 !important;
    }
}

/* =====================================================
   VERY SMALL PHONES (< 400px)
   ==================================================== */
@media (max-width: 400px) {
    h1, .elementor-heading-title.elementor-size-xxl { font-size: clamp(22px, 7.5vw, 28px) !important; }
    h2, .elementor-heading-title.elementor-size-xl  { font-size: clamp(19px, 7vw, 24px) !important; }
    .elementor-button { font-size: 13px !important; padding: 12px 16px !important; }
    p, li { font-size: 13px !important; }
}


@media (max-width: 767px) {
    /* --- PACKAGES PAGE FLOATING LIST CARD STYLE --- */
    /* Cleared background and shadows to merge seamlessly into the card wrapper */
    .page-id-316 .elementor-element-e5cddfc .elementor-widget-icon-list,
    .page-id-316 .elementor-element-024c570 .elementor-widget-icon-list,
    .page-id-316 .elementor-widget-icon-list {
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}


@media (max-width: 767px) {
    /* --- SAFE MOBILE HORIZONTAL GUTTER MARGINS --- */
    .elementor-column-wrap,
    .elementor-widget-wrap {
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }
    
    /* Keep headings neat and block-aligned */
    .elementor-widget-heading {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* =====================================================
   FIX v5: Hero full-width + Package card full-width + Icon list spacing
   ===================================================== */
@media (max-width: 767px) {

    /* ----- HERO SECTION: Remove white side margins, go edge-to-edge ----- */
    .elementor > .elementor-section,
    .elementor > .e-con,
    .elementor-top-section,
    body .elementor-section.elementor-section-full_width {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Make the hero image container fill full width */
    .elementor-section.elementor-section-full_width .elementor-container,
    .elementor-top-section .elementor-container,
    .elementor > .elementor-section > .elementor-container {
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    /* Hero content inner — keep text readable with side padding */
    .elementor-top-section .elementor-widget-wrap,
    .elementor-top-section .elementor-column-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
        overflow: visible !important;
    }

    /* Page/site wrappers that add extra margins */
    body,
    #page,
    .site,
    .hfeed,
    .site-content,
    #content,
    .content-area,
    main,
    #main {
        overflow-x: hidden !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* ----- PACKAGE / PRICING CARDS: Full width on mobile ----- */

    /* The price table widget — full width */
    .elementor-widget-price-table,
    .elementor-price-table__wrapper,
    .elementor-price-table {
        width: 100% !important;
        max-width: 100% !important;
        min-width: unset !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Column containing a price table — full width */
    .elementor-column:has(.elementor-widget-price-table),
    .elementor-col-33:has(.elementor-widget-price-table),
    .elementor-col-25:has(.elementor-widget-price-table) {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    /* Custom package cards (divs with package styling) */
    [class*="package-card"],
    [class*="pricing-card"],
    .getmedco-package,
    .getmedco-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Inner widget-wrap of the price table column */
    .elementor-widget-price-table .elementor-widget-container,
    .elementor-widget-price-table .elementor-column-wrap,
    .elementor-widget-price-table .elementor-widget-wrap {
        width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    /* Remove outer padding that constrains the card columns */
    .elementor-section:has(.elementor-widget-price-table) .elementor-column-gap-default > .elementor-column > .elementor-column-wrap,
    .elementor-section:has(.elementor-widget-price-table) .elementor-column {
        padding: 0 8px !important;
        width: 100% !important;
    }

    /* The price table card inner content */
    .elementor-price-table__header {
        padding: 20px 16px 16px !important;
    }
    .elementor-price-table__features-list {
        padding: 16px !important;
    }
    .elementor-price-table__footer {
        padding: 16px !important;
    }

    /* ----- ICON LIST SPACING: Item #1 not touching card above ----- */
    .elementor-widget-icon-list {
        padding-top: 16px !important;
        margin-top: 4px !important;
    }
    .elementor-icon-list-items .elementor-icon-list-item:first-child {
        padding-top: 18px !important;
    }
    .elementor-column-wrap,
    .elementor-widget-wrap {
        overflow: visible !important;
    }
}

/* Very small phones */
@media (max-width: 400px) {
    .elementor-widget-price-table {
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor > .elementor-section {
        width: 100vw !important;
    }
}



@media (max-width: 767px) {

    /* All footer sections and containers */
    footer,
    .elementor-location-footer,
    #colophon,
    #footer,
    [data-elementor-type="footer"] {
        text-align: left !important;
    }

    /* All heading widgets in footer */
    footer .elementor-heading-title,
    footer .elementor-widget-heading,
    footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
    .elementor-location-footer .elementor-heading-title,
    .elementor-location-footer h1,
    .elementor-location-footer h2,
    .elementor-location-footer h3,
    .elementor-location-footer h4 {
        text-align: left !important;
    }

    /* All text/paragraph widgets in footer */
    footer .elementor-widget-text-editor,
    footer .elementor-widget-text-editor p,
    footer p,
    footer .elementor-text-editor,
    .elementor-location-footer .elementor-widget-text-editor p,
    .elementor-location-footer p {
        text-align: left !important;
    }

    /* Nav menu links in footer */
    footer .elementor-nav-menu,
    footer .elementor-nav-menu li,
    footer .elementor-nav-menu a,
    footer nav,
    footer nav ul,
    footer nav li,
    footer nav a,
    .elementor-location-footer .elementor-nav-menu li,
    .elementor-location-footer nav li {
        text-align: left !important;
        display: block !important;
        justify-content: flex-start !important;
    }

    /* Icon/text list widgets in footer */
    footer .elementor-icon-list-items,
    footer .elementor-icon-list-item,
    .elementor-location-footer .elementor-icon-list-items {
        text-align: left !important;
        justify-content: flex-start !important;
    }

    /* Button widgets in footer */
    footer .elementor-button-wrapper,
    .elementor-location-footer .elementor-button-wrapper {
        text-align: left !important;
    }
    footer .elementor-button,
    .elementor-location-footer .elementor-button {
        width: auto !important;
        align-self: flex-start !important;
    }

    /* Image/logo widget in footer */
    footer .elementor-widget-image,
    footer .elementor-widget-image a,
    footer .elementor-widget-image img,
    .elementor-location-footer .elementor-widget-image {
        text-align: left !important;
        display: block !important;
        margin-left: 0 !important;
        margin-right: auto !important;
    }

    /* Address / icon list with location pin */
    footer .elementor-icon-list-icon,
    footer .elementor-icon-list-text,
    .elementor-location-footer .elementor-icon-list-icon {
        text-align: left !important;
    }

    /* Custom newsletter form in footer */
    footer .gmc-nl-wrap,
    .elementor-location-footer .gmc-nl-wrap {
        text-align: left !important;
    }
    footer .gmc-nl-wrap h4,
    footer .gmc-nl-wrap p,
    .elementor-location-footer .gmc-nl-wrap h4,
    .elementor-location-footer .gmc-nl-wrap p {
        text-align: left !important;
    }

    /* Column wraps in footer — left align */
    footer .elementor-column,
    footer .elementor-column-wrap,
    footer .elementor-widget-wrap,
    .elementor-location-footer .elementor-column-wrap,
    .elementor-location-footer .elementor-widget-wrap {
        align-items: flex-start !important;
        text-align: left !important;
    }
}





    /* ---- FOOTER OUTER WRAPPER: Add side padding so nothing touches edge ---- */
    footer .elementor-section,
    .elementor-location-footer .elementor-section,
    [data-elementor-type="footer"] .elementor-section {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    /* ---- FOOTER COLUMN WRAPS: Remove extra internal padding ---- */
    footer .elementor-column-wrap,
    footer .elementor-widget-wrap,
    .elementor-location-footer .elementor-column-wrap,
    .elementor-location-footer .elementor-widget-wrap {
        padding: 0 !important;
        overflow: visible !important;
    }

    /* ---- FOOTER WIDGETS: Tight spacing ---- */
    footer .elementor-widget,
    .elementor-location-footer .elementor-widget {
        margin-bottom: 10px !important;
    }

    /* ---- FOOTER SPACERS: Collapse ---- */
    footer .elementor-widget-spacer .elementor-spacer-inner,
    .elementor-location-footer .elementor-widget-spacer .elementor-spacer-inner {
        height: 10px !important;
    }

    /* ---- FOOTER HEADINGS: Compact ---- */
    footer .elementor-heading-title,
    .elementor-location-footer .elementor-heading-title {
        font-size: 15px !important;
        font-weight: 700 !important;
        margin: 0 0 6px 0 !important;
        line-height: 1.3 !important;
    }

    /* ---- FOOTER BODY TEXT: Readable but compact ---- */
    footer p,
    .elementor-location-footer p {
        font-size: 13px !important;
        line-height: 1.6 !important;
        margin-bottom: 6px !important;
    }

    /* ---- FOOTER NAV LINKS: Tight list ---- */
    footer .elementor-nav-menu,
    footer nav ul,
    .elementor-location-footer .elementor-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    footer .elementor-nav-menu li,
    footer nav ul li,
    .elementor-location-footer .elementor-nav-menu li {
        padding: 6px 0 !important;
        margin: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
        list-style: none !important;
    }
    footer .elementor-nav-menu li:last-child,
    .elementor-location-footer .elementor-nav-menu li:last-child {
        border-bottom: none !important;
    }
    footer .elementor-nav-menu a,
    footer nav ul li a,
    .elementor-location-footer .elementor-nav-menu a {
        font-size: 13px !important;
        line-height: 1.4 !important;
        padding: 2px 0 !important;
        display: block !important;
        color: rgba(255,255,255,0.85) !important;
        text-decoration: none !important;
    }

    /* ---- FOOTER ICON LIST (address/phone): Compact ---- */
    footer .elementor-icon-list-items,
    .elementor-location-footer .elementor-icon-list-items {
        gap: 4px !important;
    }
    footer .elementor-icon-list-item,
    .elementor-location-footer .elementor-icon-list-item {
        padding: 3px 0 !important;
        border-bottom: none !important;
        min-height: unset !important;
    }
    footer .elementor-icon-list-text,
    .elementor-location-footer .elementor-icon-list-text {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    footer .elementor-icon-list-icon,
    .elementor-location-footer .elementor-icon-list-icon {
        min-width: 20px !important;
        margin-right: 8px !important;
        flex-shrink: 0 !important;
    }

    /* ---- NEWSLETTER FORM IN FOOTER: Compact ---- */
    footer .gmc-nl-wrap,
    .elementor-location-footer .gmc-nl-wrap {
        padding: 14px 16px !important;
        border-radius: 8px !important;
    }
    footer .gmc-nl-wrap h4,
    .elementor-location-footer .gmc-nl-wrap h4 {
        font-size: 14px !important;
        margin-bottom: 4px !important;
    }
    footer .gmc-nl-wrap p,
    .elementor-location-footer .gmc-nl-wrap p {
        font-size: 12px !important;
        margin-bottom: 10px !important;
        line-height: 1.5 !important;
    }
    .gmc-nl-input {
        padding: 9px 12px !important;
        font-size: 13px !important;
    }
    .gmc-nl-btn {
        padding: 9px 14px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    /* ---- ALL FOOTER TEXT: Left aligned ---- */
    footer,
    footer *,
    .elementor-location-footer,
    .elementor-location-footer * {
        text-align: left !important;
    }
    footer .elementor-widget-image,
    .elementor-location-footer .elementor-widget-image {
        display: block !important;
    }
    footer .elementor-widget-image img,
    .elementor-location-footer .elementor-widget-image img {
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}


/* =====================================================
   FIX: Footer mobile — padding + logo + compact v2
   Ultra-broad selectors to ensure nothing touches edge
   ===================================================== */
@media (max-width: 767px) {

    /* Nuclear option: pad EVERY element inside footer */
    footer > *,
    footer > * > *,
    .elementor-location-footer > *,
    .elementor-location-footer > * > *,
    [data-elementor-type="footer"] > *,
    [data-elementor-type="footer"] > * > * {
        box-sizing: border-box !important;
    }

    /* The footer container itself */
    footer,
    .elementor-location-footer,
    [data-elementor-type="footer"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: hidden !important;
    }

    /* Every section inside footer */
    footer .elementor-section,
    footer section,
    footer .e-con,
    footer .elementor-container,
    footer .elementor-row,
    .elementor-location-footer .elementor-section,
    .elementor-location-footer section,
    .elementor-location-footer .e-con,
    .elementor-location-footer .elementor-container,
    [data-elementor-type="footer"] .elementor-section {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* Every column wrap */
    footer .elementor-column-wrap,
    footer .elementor-widget-wrap,
    footer .elementor-column > .elementor-element-populated,
    .elementor-location-footer .elementor-column-wrap,
    .elementor-location-footer .elementor-widget-wrap,
    .elementor-location-footer .elementor-column > .elementor-element-populated {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    /* ---- LOGO: Scale down ---- */
    footer .elementor-widget-image img,
    .elementor-location-footer .elementor-widget-image img,
    [data-elementor-type="footer"] img {
        max-width: 130px !important;
        width: auto !important;
        height: auto !important;
        margin-left: 0 !important;
    }

    /* ---- SPACERS: Collapse ---- */
    footer .elementor-spacer-inner,
    .elementor-location-footer .elementor-spacer-inner {
        height: 10px !important;
    }

    /* ---- HEADINGS ---- */
    footer h2, footer h3, footer h4,
    footer .elementor-heading-title,
    .elementor-location-footer .elementor-heading-title {
        font-size: 15px !important;
        margin: 0 0 8px !important;
        line-height: 1.3 !important;
    }

    /* ---- BODY TEXT ---- */
    footer p,
    .elementor-location-footer p {
        font-size: 13px !important;
        line-height: 1.6 !important;
        margin-bottom: 6px !important;
    }

    /* ---- NAV LINKS: Compact ---- */
    footer nav li, footer .elementor-nav-menu__container li,
    footer .menu-item,
    .elementor-location-footer nav li,
    .elementor-location-footer .elementor-nav-menu__container li {
        padding: 5px 0 !important;
        margin: 0 !important;
        list-style: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
    footer nav li:last-child,
    .elementor-location-footer nav li:last-child {
        border-bottom: none !important;
    }
    footer nav a,
    footer .elementor-nav-menu a,
    .elementor-location-footer nav a,
    .elementor-location-footer .elementor-nav-menu a {
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: rgba(255,255,255,0.85) !important;
        text-decoration: none !important;
        display: block !important;
        padding: 2px 0 !important;
    }

    /* ---- ICON LIST (address) ---- */
    footer .elementor-icon-list-item,
    .elementor-location-footer .elementor-icon-list-item {
        padding: 4px 0 !important;
        border-bottom: none !important;
        min-height: unset !important;
    }
    footer .elementor-icon-list-text,
    .elementor-location-footer .elementor-icon-list-text {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    /* ---- ALL TEXT: Left-aligned ---- */
    footer, footer *,
    .elementor-location-footer,
    .elementor-location-footer * {
        text-align: left !important;
    }

    /* ---- NEWSLETTER FORM ---- */
    .gmc-nl-wrap {
        padding: 14px 16px !important;
        border-radius: 8px !important;
        margin-top: 4px !important;
    }
    .gmc-nl-wrap h4 {
        font-size: 14px !important;
        margin-bottom: 4px !important;
    }
    .gmc-nl-wrap p {
        font-size: 12px !important;
        margin-bottom: 10px !important;
    }
    .gmc-nl-input { padding: 9px 12px !important; font-size: 13px !important; }
    .gmc-nl-btn { padding: 9px 14px !important; font-size: 13px !important; }
}

/* ==========================================================================
   PACKAGES PAGE REDESIGN (Page ID 316)
   ========================================================================== */

/* 1. Reset page top margins on mobile to eliminate white space */
@media (max-width: 767px) {
    .page-id-316 .page-banner-area {
        padding-top: 15px !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
    .page-id-316 .page-banner-inner {
        padding-bottom: 10px !important;
        margin-bottom: 0 !important;
    }
    .page-id-316 .page-area {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    .page-id-316 .entry-content > .elementor-316 {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    .page-id-316 .elementor-element-2d7cd5c3 {
        padding-top: 10px !important;
        margin-top: 0 !important;
    }
}

/* 2. Desktop Redesign (min-width: 768px) */
@media (min-width: 768px) {
    /* Main wrapper: Unified horizontal card */
    .page-id-316 .elementor-element-2d7cd5c3 > .e-con-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        background: #fdfaf5 !important; /* light cream */
        border: 1.5px solid #c29d5d !important; /* gold border */
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: 0 15px 45px rgba(71, 16, 21, 0.04) !important;
        padding: 0 !important;
    }

    /* Inner row wrapper: transparent layout wrapper */
    .page-id-316 .elementor-element-f2b7b8b {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        width: 100% !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Left maroon box container (contains title and button) */
    .page-id-316 .elementor-element-457873a {
        background-color: #471015 !important; /* dark maroon background */
        flex: 0 0 38% !important;
        max-width: 38% !important;
        padding: 50px 40px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        border-radius: 0 !important;
        margin: 0 !important;
    }

    /* Sibling columns containing the lists */
    .page-id-316 .elementor-element-815aaad,
    .page-id-316 .elementor-element-5c17fc1 {
        flex: 1 !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 40px 30px !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-self: center !important;
    }
    
    /* Hide absolute positioned background decorations for clean layout */
    .page-id-316 .elementor-element-c63ac63,
    .page-id-316 .elementor-element-df8d12c {
        display: none !important;
    }
}

/* 3. Mobile Redesign (max-width: 767px) */
@media (max-width: 767px) {
    /* Main wrapper: Unified vertical card */
    body.page-id-316 .elementor > .elementor-element-2d7cd5c3 {
        background: #fdfaf5 !important; /* light cream */
        border: 1.5px solid #c29d5d !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: 0 10px 30px rgba(71, 16, 21, 0.05) !important;
        width: calc(100% - 32px) !important;
        max-width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
        margin-top: 24px !important;
        margin-bottom: 24px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .page-id-316 .elementor-element-2d7cd5c3 > .e-con-inner {
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* Inner row wrapper: transparent vertical layout */
    .page-id-316 .elementor-element-f2b7b8b {
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Top maroon box container */
    .page-id-316 .elementor-element-457873a {
        background-color: #471015 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 36px 24px !important;
        border-radius: 0 !important;
        margin: 0 !important;
        display: block !important;
    }

    /* Bottom list containers (stacked below maroon box) */
    .page-id-316 .elementor-element-815aaad,
    .page-id-316 .elementor-element-5c17fc1 {
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 16px 24px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Tighten gap between stacked lists to make them flow as one */
    .page-id-316 .elementor-element-5c17fc1 {
        padding-top: 0 !important;
        margin-top: -10px !important;
    }
}

/* 4. Shared Typography & Button inside Maroon Box (Desktop & Mobile) */
.page-id-316 .elementor-element-bda21ae,
.page-id-316 .elementor-element-bda21ae .elementskit-info-box,
.page-id-316 .elementor-element-bda21ae .elementskit-infobox {
    background-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
.page-id-316 .elementor-element-afb2f02 .elementor-heading-title {
    color: #c29d5d !important; /* gold */
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}
.page-id-316 .elementor-element-bda21ae .elementskit-info-box-title {
    color: #ffffff !important;
    font-size: clamp(26px, 6vw, 32px) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    font-family: serif !important;
}
.page-id-316 .elementor-element-bda21ae p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
}
.page-id-316 .elementor-element-bda21ae .elementskit-btn {
    background-color: #c29d5d !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    padding: 14px 28px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    border: 1.5px solid #c29d5d !important;
    text-align: center !important;
}
.page-id-316 .elementor-element-bda21ae .elementskit-btn:hover {
    background-color: transparent !important;
    color: #c29d5d !important;
    border-color: #c29d5d !important;
}

/* 5. Gold Checkmarks & List Ordering */
.page-id-316 .ekit-stylish-list-content {
    display: flex !important;
    flex-direction: row-reverse !important; /* swap text and checkmark order */
    justify-content: flex-end !important;   /* align to left */
    align-items: center !important;
    width: 100% !important;
}
.page-id-316 .ekit-stylish-list-content-text {
    flex: 1 !important;
    padding-left: 0 !important;
}
.page-id-316 .ekit-stylish-list-content-title {
    font-size: 15px !important;
    color: #471015 !important; /* dark maroon text */
    font-weight: 500 !important;
    font-family: inherit !important;
}
.page-id-316 .ekit-stylish-list-content-badge {
    background: none !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    margin-right: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.page-id-316 .ekit-stylish-list-content-badge span {
    display: none !important; /* hide default numbers */
}
.page-id-316 .ekit-stylish-list-content-badge::before {
    content: "\2713" !important; /* checkmark unicode ✓ */
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #c29d5d !important; /* gold */
}

/* List separators */
.page-id-316 .ekit-stylish-list-content-wrapper {
    border-bottom: 1px solid rgba(194, 157, 93, 0.15) !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.page-id-316 .ekit-stylish-list-content-wrapper:last-child {
    /* Keep divider on last item of first list so lists merge continuously on mobile */
    border-bottom: 1px solid rgba(194, 157, 93, 0.15) !important;
}
.page-id-316 .elementor-element-5c17fc1 .ekit-stylish-list-content-wrapper:last-child {
    border-bottom: none !important; /* clean end for the second list */
}
.page-id-316 .ekit-stylish-list-divider {
    display: none !important; /* hide default elementskit dividers */
}


/* ==========================================================================
   GLOBAL FOOTER RESPONSIVE OVERRIDES (Templates 7802, 7799, 7775)
   ========================================================================== */

/* Outer wrapper base background */
.elementor-7802,
.elementor-7799,
.elementor-7775 {
    background-color: #132D43 !important;
}

@media (max-width: 767px) {
    /* 1. Outer containers margin resets */
    .elementor-7802 .elementor-section,
    .elementor-7799 .elementor-section,
    .elementor-7775 .elementor-section {
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. Set consistent side padding on all footer columns on mobile so they never touch edges */
    .elementor-7802 .elementor-column-wrap,
    .elementor-7802 .elementor-widget-wrap,
    .elementor-7802 .elementor-column > .elementor-element-populated,
    .elementor-7799 .elementor-column-wrap,
    .elementor-7799 .elementor-widget-wrap,
    .elementor-7799 .elementor-column > .elementor-element-populated,
    .elementor-7775 .elementor-column-wrap,
    .elementor-7775 .elementor-widget-wrap,
    .elementor-7775 .elementor-column > .elementor-element-populated {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* 3. Scale down the footer logo on mobile */
    .elementor-7802 .elementor-element-1d692b3e img,
    .elementor-7775 .elementor-element-1d692b3e img {
        max-width: 140px !important;
        width: 140px !important;
        height: auto !important;
        margin-left: 0 !important;
        display: block !important;
    }
    .elementor-7802 .elementor-element-1d692b3e,
    .elementor-7775 .elementor-element-1d692b3e {
        text-align: left !important;
        margin-bottom: 15px !important;
    }

    /* 4. Left-align "About Getmed" description text and container */
    .elementor-element-4c53d203,
    .elementor-element-4c53d203 * {
        text-align: left !important;
    }
    .elementor-element-4c53d203 .elementskit-infobox {
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .elementor-element-4c53d203 .ekit-evakit-icon-box-icon {
        margin-left: 0 !important;
        margin-right: 8px !important;
    }

    /* 5. Center About Getmedco UK gold headings on mobile */
    .elementor-element-1f869cf,
    .elementor-element-1f869cf *,
    .elementor-element-e5dd7cd,
    .elementor-element-e5dd7cd * {
        text-align: center !important;
        justify-content: center !important;
    }
    .elementor-element-1f869cf .uael-side-left,
    .elementor-element-1f869cf .uael-side-right,
    .elementor-element-e5dd7cd .uael-side-left,
    .elementor-element-e5dd7cd .uael-side-right {
        width: 50% !important;
    }

    /* 6. Widen ElementsKit pricing cards on mobile */
    .elementor-element-975a207,
    .elementor-element-b0a283f,
    .elementor-element-6ececf3,
    .elementor-element-e346710,
    .elementor-element-67c11fa,
    .elementor-element-635902c {
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor-element-975a207 > .elementor-widget-wrap,
    .elementor-element-b0a283f > .elementor-widget-wrap,
    .elementor-element-6ececf3 > .elementor-widget-wrap,
    .elementor-element-e346710 > .elementor-widget-wrap,
    .elementor-element-67c11fa > .elementor-widget-wrap,
    .elementor-element-635902c > .elementor-widget-wrap {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    .elementor-column:has(.elementor-widget-elementskit-pricing) {
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor-column:has(.elementor-widget-elementskit-pricing) > .elementor-widget-wrap {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    .elementskit-single-pricing {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

