body.sim-policy-page {
    --sim-blue: #0788d1;
    --sim-navy: #123d8f;
    --sim-ink: #17233a;
    --sim-muted: #556476;
    --sim-line: #d9e7f1;
    --sim-soft: #eef8ff;
    background:
        radial-gradient(circle at 8% 12%, rgba(7, 136, 209, .10), transparent 25rem),
        radial-gradient(circle at 92% 18%, rgba(18, 61, 143, .08), transparent 28rem),
        linear-gradient(180deg, #f7fbff 0, #fff 34rem);
    color: var(--sim-ink);
}

body.sim-policy-page main.site-main {
    position: relative;
    width: min(1040px, calc(100% - 40px));
    max-width: none;
    margin: 52px auto 76px;
    padding: clamp(32px, 5vw, 72px);
    overflow: hidden;
    border: 1px solid rgba(18, 61, 143, .13);
    border-radius: 28px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 28px 75px rgba(23, 60, 105, .12);
}

body.sim-policy-page main.site-main::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 7px;
    content: "";
    background: linear-gradient(90deg, var(--sim-navy), var(--sim-blue));
}

body.sim-policy-page .page-header,
body.sim-policy-page .entry-header {
    margin: 0 0 28px;
    padding: 0 0 28px;
    border-bottom: 1px solid var(--sim-line);
}

body.sim-policy-page .entry-title,
body.sim-policy-page main.site-main h1 {
    max-width: 820px;
    margin: 0;
    color: var(--sim-ink);
    font-family: inherit;
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -1.6px;
}

body.sim-policy-page .entry-title::before,
body.sim-policy-page main.site-main h1::before {
    display: block;
    margin: 0 0 13px;
    color: var(--sim-blue);
    content: "Privacidad y transparencia";
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

body.sim-policy-page .page-content,
body.sim-policy-page .entry-content,
body.sim-policy-page .elementor-widget-theme-post-content,
body.sim-policy-page .elementor-widget-text-editor {
    color: var(--sim-muted);
    font-family: inherit;
    font-size: 17px;
    line-height: 1.78;
}

body.sim-policy-page .page-content > p:first-child,
body.sim-policy-page .entry-content > p:first-child,
body.sim-policy-page .elementor-widget-theme-post-content > p:first-child,
body.sim-policy-page .elementor-widget-text-editor > .elementor-widget-container > p:first-child {
    display: inline-flex;
    align-items: center;
    min-height: 35px;
    margin: 0 0 18px;
    padding: 7px 13px;
    border: 1px solid #cce7f7;
    border-radius: 999px;
    background: var(--sim-soft);
    color: var(--sim-navy);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.2;
}

body.sim-policy-page main.site-main h2 {
    margin: 42px 0 15px;
    padding-top: 30px;
    border-top: 1px solid var(--sim-line);
    color: var(--sim-navy);
    font-family: inherit;
    font-size: clamp(25px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.45px;
}

body.sim-policy-page main.site-main h2:first-of-type {
    margin-top: 16px;
    padding-top: 0;
    border-top: 0;
}

body.sim-policy-page main.site-main p {
    margin: 0 0 18px;
}

body.sim-policy-page main.site-main ul,
body.sim-policy-page main.site-main ol {
    margin: 18px 0 24px;
    padding: 22px 25px 22px 46px;
    border: 1px solid #d7eaf6;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--sim-soft), #f8fcff);
}

body.sim-policy-page main.site-main li {
    margin: 8px 0;
    padding-left: 4px;
}

body.sim-policy-page main.site-main li::marker {
    color: var(--sim-blue);
}

body.sim-policy-page main.site-main strong {
    color: var(--sim-ink);
    font-weight: 750;
}

body.sim-policy-page main.site-main a {
    color: var(--sim-blue);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(7, 136, 209, .35);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

body.sim-policy-page main.site-main a:hover,
body.sim-policy-page main.site-main a:focus {
    color: var(--sim-navy);
    text-decoration-color: currentColor;
}

body.sim-policy-page main.site-main :focus-visible {
    outline: 3px solid rgba(7, 136, 209, .35);
    outline-offset: 4px;
}

@media (max-width: 700px) {
    body.sim-policy-page main.site-main {
        width: min(100% - 24px, 1040px);
        margin: 26px auto 48px;
        padding: 32px 22px 42px;
        border-radius: 20px;
    }

    body.sim-policy-page .entry-title,
    body.sim-policy-page main.site-main h1 {
        font-size: 36px;
        letter-spacing: -1px;
    }

    body.sim-policy-page .page-content,
    body.sim-policy-page .entry-content,
    body.sim-policy-page .elementor-widget-theme-post-content,
    body.sim-policy-page .elementor-widget-text-editor {
        font-size: 16px;
        line-height: 1.72;
    }

    body.sim-policy-page main.site-main h2 {
        margin-top: 34px;
        padding-top: 25px;
        font-size: 25px;
    }

    body.sim-policy-page main.site-main ul,
    body.sim-policy-page main.site-main ol {
        padding: 18px 18px 18px 37px;
    }
}
