.elementor-660 .elementor-element.elementor-element-9405c77{--display:flex;--min-height:200px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.1;}.elementor-660 .elementor-element.elementor-element-9405c77:not(.elementor-motion-effects-element-type-background), .elementor-660 .elementor-element.elementor-element-9405c77 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-solcolorpagetitletext );}.elementor-660 .elementor-element.elementor-element-9405c77::before, .elementor-660 .elementor-element.elementor-element-9405c77 > .elementor-background-video-container::before, .elementor-660 .elementor-element.elementor-element-9405c77 > .e-con-inner > .elementor-background-video-container::before, .elementor-660 .elementor-element.elementor-element-9405c77 > .elementor-background-slideshow::before, .elementor-660 .elementor-element.elementor-element-9405c77 > .e-con-inner > .elementor-background-slideshow::before, .elementor-660 .elementor-element.elementor-element-9405c77 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-accent );--background-overlay:'';}.elementor-660 .elementor-element.elementor-element-eb54d6d{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-660 .elementor-element.elementor-element-f7706a5{background-color:transparent;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:4px 13px 4px 16px;background-image:linear-gradient(90deg, var( --e-global-color-primary ) 0%, var( --e-global-color-solcolorlinkbuttonhover ) 100%);border-radius:8px 8px 8px 8px;--e-icon-list-icon-size:12px;--icon-vertical-offset:0px;}.elementor-660 .elementor-element.elementor-element-f7706a5.ha-has-bg-overlay:hover::before{transition:background 0.3s;}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(8px/2);}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(8px/2);}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(8px/2);}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-8px/2);}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-8px/2);}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-icon i{color:var( --e-global-color-solcolorpagetitletext );transition:color 0.3s;}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-icon svg{fill:var( --e-global-color-solcolorpagetitletext );transition:fill 0.3s;}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-text{color:var( --e-global-color-solcolorpagetitletext );transition:color 0.3s;}.elementor-660 .elementor-element.elementor-element-3c2e7a4{width:100%;max-width:100%;margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-660 .elementor-element.elementor-element-3c2e7a4 .elementor-heading-title{font-family:var( --e-global-typography-solace_h1_font_family_general-font-family ), Sans-serif;font-size:var( --e-global-typography-solace_h1_font_family_general-font-size );font-weight:var( --e-global-typography-solace_h1_font_family_general-font-weight );line-height:var( --e-global-typography-solace_h1_font_family_general-line-height );letter-spacing:var( --e-global-typography-solace_h1_font_family_general-letter-spacing );color:var( --e-global-color-primary );}.elementor-660 .elementor-element.elementor-element-99e1741{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-660 .elementor-element.elementor-element-aa2c26d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-660 .elementor-element.elementor-element-4c69cf6d{width:auto;max-width:auto;columns:1;text-align:justify;}.elementor-660 .elementor-element.elementor-element-4c69cf6d.ha-has-bg-overlay:hover::before{transition:background 0.3s;}@media(max-width:1024px){.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-660 .elementor-element.elementor-element-3c2e7a4{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;}.elementor-660 .elementor-element.elementor-element-3c2e7a4 .elementor-heading-title{font-size:var( --e-global-typography-solace_h1_font_family_general-font-size );line-height:var( --e-global-typography-solace_h1_font_family_general-line-height );letter-spacing:var( --e-global-typography-solace_h1_font_family_general-letter-spacing );}}@media(max-width:767px){.elementor-660 .elementor-element.elementor-element-9405c77{--min-height:326px;}.elementor-660 .elementor-element.elementor-element-eb54d6d{--padding-top:2em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-660 .elementor-element.elementor-element-f7706a5 .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-660 .elementor-element.elementor-element-3c2e7a4{width:100%;max-width:100%;text-align:center;}.elementor-660 .elementor-element.elementor-element-3c2e7a4 .elementor-heading-title{font-size:var( --e-global-typography-solace_h1_font_family_general-font-size );line-height:var( --e-global-typography-solace_h1_font_family_general-line-height );letter-spacing:var( --e-global-typography-solace_h1_font_family_general-letter-spacing );}}@media(min-width:768px){.elementor-660 .elementor-element.elementor-element-eb54d6d{--width:986px;}}/* Start custom CSS for text-editor, class: .elementor-element-4c69cf6d *//* --- 1. Base Styles & Fluidity --- */
.pmpro_card_content {
    /* Use a light, subtle background color for context, especially if no background image is used */
    background: #f0f2f5; 
    padding: 30px; 
    border-radius: 16px;
}

.pmpro_levels_table {
    width: 100%;
    /* CRITICAL: Allows border-radius and spacing on rows/cells */
    border-collapse: separate; 
    /* Desktop/Tablet Row Separation: 20px vertical space between cards */
    border-spacing: 0 20px; 
    margin-top: 5px; 
}

/* Hide the main header entirely to match the card-style mobile view */
.pmpro_levels_table thead {
    display: none;
}

/* Base element styles (TH and TD) - Applies to all views */
.pmpro_levels_table th, 
.pmpro_levels_table td {
    border: none;
    padding: 18px 25px; 
    text-align: left;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    /* Remove background/shadow from cells so TR/card can own it */
    background: transparent !important;
    box-shadow: none !important;
}

/* --- 2. Enhanced Glassy Card Styles (Applied to TR - The Card Wrapper) --- */
.pmpro_levels_table tbody tr {
    /* Ensure it behaves like a row on desktop but gets the card styling */
    display: table-row; 
    
    /* Increased Transparency & Blur (Glassy Effect) */
    background: rgba(255, 255, 255, 0.15); 
    backdrop-filter: blur(15px); 
    -webkit-backdrop-filter: blur(15px);
    
    border-radius: 12px; 
    border: 1px solid rgba(255, 255, 255, 0.3); /* White Highlight Border */
    
    /* Depth Shadow (Elevated Look) */
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2), 
                inset 0 1px 0 rgba(255, 255, 255, 0.6); 
    
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Fix rounding on the actual cells due to border-collapse: separate; */
.pmpro_levels_table tbody tr th:first-child,
.pmpro_levels_table tbody tr td:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
.pmpro_levels_table tbody tr td:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

/* Hover effect */
.pmpro_levels_table tbody tr:hover {
    background: rgba(255, 255, 255, 0.3);
    box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.3), 
                inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transform: translateY(-8px);
}


/* --- 3. Content and Color Consistency Styles --- */

/* Membership Level Title (TH) - Applied to both desktop and mobile */
.pmpro_levels_table th[data-title="Level"] {
    /* Uses the color accent from the mobile title for visual consistency */
    background-color: rgba(26, 115, 232, 0.95); /* Semi-solid blue accent 
    color: white;*/
    font-weight: 700;
    /*padding: 18px 25px;*/
}

/* Ensure the Level TH cells are rounded separately when acting as a column title */
.pmpro_levels_table tbody tr th:first-child {
    /* Overrides the general radius for a distinct title column */
    border-radius: 12px 0 0 12px;
}


/* Highlight the price with deeper contrast */
.pmpro_level-price strong {
    font-size: 1.3em;
    color: #1a73e8; 
    font-weight: 700;
    text-shadow: 0 1px 1px rgba(0,0,0,0.1);
}

.pmpro_level-expiration {
    font-size: 0.8em;
    color: #333;
    margin-top: 5px;
    opacity: 0.8;
}

/* Style the Select button (Premium Pill Shape) */
.pmpro_btn-select {
    display: inline-block;
    padding: 12px 25px;
    background: linear-gradient(45deg, #10b981, #059669); 
    color: white;
    text-decoration: none;
    border-radius: 30px; 
    font-weight: 600;
    letter-spacing: 0.8px;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.5); 
}

.pmpro_btn-select:hover {
    background: linear-gradient(45deg, #059669, #10b981);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.7);
    transform: translateY(-2px);
}

/* --- 4. Unified Mobile Responsiveness (Pure Card Stacking) --- */
@media screen and (max-width: 768px) {

    /* Revert to collapse and remove spacing for block stacking */
    .pmpro_levels_table {
        border-collapse: collapse;
        border-spacing: 0;
    }
    
    /* Force table elements to stack as block cards */
    .pmpro_levels_table, 
    .pmpro_levels_table tbody, 
    .pmpro_levels_table tr, 
    .pmpro_levels_table td {
        display: block;
        width: 100%;
        padding: 0; /* Remove cell padding as content needs to be fully inside */
    }

    /* Card separation and styling on mobile rows */
    .pmpro_levels_table tr {
        margin-bottom: 25px; /* Provides 25px separation between stacked cards */
        /* Overrides desktop fixes */
        border-radius: 12px;
        overflow: hidden;
    }
    
    /* Membership Level Title (TH) - Now acts as the solid card header */
    .pmpro_levels_table tr th[data-title="Level"] {
        background-color: #1a73e8; /* Solid blue accent color 
        color: white;*/
        padding: 18px 25px; /* Restore padding */
        font-size: 1.4em;
        text-align: center;
        /* Force full width and top rounding */
        border-radius: 12px 12px 0 0; 
    }

    /* Content cells (TD) - Apply padding and remove all rounding on mobile cells */
    .pmpro_levels_table td {
        padding: 15px 25px; 
        border-radius: 0 !important; /* Ensure no strange rounding in the middle */
    }

    /* Price TD and Button TD need different rounding */
    .pmpro_levels_table tbody tr td:last-child {
        border-radius: 0 0 12px 12px !important; /* Round the bottom of the last cell */
        text-align: center;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    /* Labels for content cells */
    .pmpro_levels_table td:before {
        content: attr(data-title);
        font-weight: 700;
        display: block;
        margin-bottom: 5px;
        color: #1f2937; 
        text-transform: uppercase;
        font-size: 0.75em;
        letter-spacing: 0.5px;
    }
}/* End custom CSS */