.elementor-1048 .elementor-element.elementor-element-34b4c7c{--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;--margin-top:163px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1048 .elementor-element.elementor-element-12cc425{text-align:center;}.elementor-1048 .elementor-element.elementor-element-12cc425 .elementor-heading-title{color:#000000;}.elementor-1048 .elementor-element.elementor-element-a00054e{--display:flex;--margin-top:26px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1048 .elementor-element.elementor-element-d387a1b{width:var( --container-widget-width, 72% );max-width:72%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:72%;--container-widget-flex-grow:0;color:#000000;}.elementor-1048 .elementor-element.elementor-element-d387a1b.elementor-element{--align-self:center;}@media(max-width:767px){.elementor-1048 .elementor-element.elementor-element-a00054e{--content-width:100%;}.elementor-1048 .elementor-element.elementor-element-d387a1b{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}}/* Start custom CSS for theme-post-content, class: .elementor-element-d387a1b *//* Container & Core Layout - Luxury Card Style */
.elementor-1048 .elementor-element.elementor-element-d387a1b {
    /* Layout */
    max-width: 920px;
    margin: 40px auto;
    padding: clamp(32px, 6vw, 64px);
    position: relative;
    z-index: 1;

    /* Visuals */
    background-color: #FFFFFF;
    border-radius: 24px;
    box-shadow: 
        0 4px 6px -1px rgba(15, 11, 46, 0.02),
        0 20px 48px -12px rgba(15, 11, 46, 0.08);
    border: 1px solid #E4E6F1;
    overflow: hidden; /* Clips the top beam */

    /* Typography Defaults */
    color: #1E1E2F;
    font-family: 'Inter', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* The "Beam" - Gradient Highlight at Top */
.elementor-1048 .elementor-element.elementor-element-d387a1b::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #320F95 0%, #5B3FD6 40%, #6EC1E4 100%);
}

/* Headings - Hierarchy */
.elementor-1048 .elementor-element.elementor-element-d387a1b h1, .elementor-1048 .elementor-element.elementor-element-d387a1b h2, .elementor-1048 .elementor-element.elementor-element-d387a1b h3 {
    color: #320F95;
    line-height: 1.2;
    margin-top: 0;
}

/* H1 with "Kicker" pseudo-element */
.elementor-1048 .elementor-element.elementor-element-d387a1b h1 {
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    letter-spacing: -0.03em;
    margin-bottom: 32px;
    position: relative;
    padding-top: 24px;
}
.elementor-1048 .elementor-element.elementor-element-d387a1b h1::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 6px;
    border-radius: 3px;
    background-color: #00E5A8; /* Accent2 */
}

.elementor-1048 .elementor-element.elementor-element-d387a1b h2 {
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 700;
    margin-top: 48px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #E4E6F1;
    color: #1E1E2F;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b h3 {
    font-size: 18px;
    font-weight: 700;
    margin-top: 32px;
    margin-bottom: 12px;
    color: #5B3FD6;
}

/* Body Text & Strong Emphasis */
.elementor-1048 .elementor-element.elementor-element-d387a1b p {
    font-size: 16px;
    line-height: 1.7;
    color: #5F627A; /* Muted */
    margin-bottom: 24px;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b strong, .elementor-1048 .elementor-element.elementor-element-d387a1b b {
    color: #320F95;
    font-weight: 700;
}

/* Links - Premium Interaction */
.elementor-1048 .elementor-element.elementor-element-d387a1b a {
    color: #5B3FD6;
    text-decoration: none;
    background-image: linear-gradient(to right, rgba(0, 229, 168, 0.4), rgba(0, 229, 168, 0.4));
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 100% 2px;
    transition: background-size 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), color 0.2s ease;
    padding-bottom: 2px;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b a:hover, .elementor-1048 .elementor-element.elementor-element-d387a1b a:focus-visible {
    color: #320F95;
    background-size: 100% 100%; /* Full highlight */
    background-image: linear-gradient(to right, rgba(0, 229, 168, 0.15), rgba(0, 229, 168, 0.15));
    border-bottom: 2px solid #00E5A8;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b a:focus-visible {
    outline: 2px solid #320F95;
    outline-offset: 4px;
    border-radius: 2px;
}

/* Lists - Unordered (Checkmarks) */
.elementor-1048 .elementor-element.elementor-element-d387a1b ul {
    list-style: none;
    padding: 0;
    margin: 24px 0;
    display: grid;
    gap: 14px;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b ul li {
    position: relative;
    padding-left: 32px;
    color: #5F627A;
    line-height: 1.6;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 1px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(91, 63, 214, 0.1);
    color: #5B3FD6;
    font-size: 11px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Lists - Ordered (Step Cards) */
.elementor-1048 .elementor-element.elementor-element-d387a1b ol {
    list-style: none;
    counter-reset: policy-step;
    padding: 0;
    margin: 32px 0;
    display: grid;
    gap: 16px;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b ol li {
    counter-increment: policy-step;
    position: relative;
    padding: 20px 24px 20px 60px;
    background: #F6F7FB;
    border-radius: 12px;
    border: 1px solid transparent;
    color: #5F627A;
    line-height: 1.6;
    transition: all 0.2s ease;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b ol li::before {
    content: counter(policy-step);
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: #FFFFFF;
    color: #320F95;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15, 11, 46, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E4E6F1;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b ol li:hover {
    background: #FFFFFF;
    border-color: #6EC1E4;
    box-shadow: 0 8px 24px rgba(15, 11, 46, 0.06);
    transform: translateY(-2px);
}

/* Callouts / "Rappel Important" 
   Targets blockquotes or assumes paragraphs with strong tags might be used as notes */
.elementor-1048 .elementor-element.elementor-element-d387a1b blockquote {
    margin: 32px 0;
    padding: 24px 28px;
    background: linear-gradient(to right, rgba(110, 193, 228, 0.08), rgba(246, 247, 251, 0.5));
    border-left: 4px solid #6EC1E4;
    border-radius: 0 12px 12px 0;
    font-size: 17px;
    color: #1E1E2F;
}

.elementor-1048 .elementor-element.elementor-element-d387a1b blockquote strong, 
.elementor-1048 .elementor-element.elementor-element-d387a1b p strong {
    color: #320F95;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .elementor-1048 .elementor-element.elementor-element-d387a1b {
        padding: 30px 24px;
        border-radius: 16px;
    }
    .elementor-1048 .elementor-element.elementor-element-d387a1b ol li {
        padding-left: 20px;
        padding-top: 50px; /* Number moves to top for space */
    }
    .elementor-1048 .elementor-element.elementor-element-d387a1b ol li::before {
        top: 20px;
        left: 20px;
        transform: none;
    }
}/* End custom CSS */