/* DigiFULL — Clínica nas Nuvens — 08 CTA final — v1.5.2 */
.dgf-cnn-cta {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #fff;
    background:
        radial-gradient(circle at 12% 18%, rgba(245,130,31,.14), transparent 30%),
        radial-gradient(circle at 92% 82%, rgba(67,213,223,.10), transparent 34%),
        linear-gradient(145deg, #05152f, #082546 58%, #0c2f58);
}

.dgf-cnn-cta::before,
.dgf-cnn-cta::after {
    content: '';
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

.dgf-cnn-cta::before {
    inset: 0;
    opacity: .26;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 64px 64px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.dgf-cnn-cta::after {
    top: -210px;
    right: clamp(-230px, -10vw, -90px);
    width: 460px;
    height: 460px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
}

.dgf-cnn-cta__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
    grid-template-areas:
        'title actions'
        'copy actions';
    align-items: center;
    column-gap: clamp(52px, 7vw, 104px);
    padding: clamp(76px, 8vw, 106px) 0;
}

.dgf-cnn-cta__title {
    grid-area: title;
    max-width: 790px;
    margin: 0;
    color: #fff;
    font-size: clamp(36px, 4.4vw, 58px);
    font-weight: 900;
    letter-spacing: -.05em;
    line-height: 1.03;
    text-wrap: balance;
}

.dgf-cnn-cta__title em {
    color: var(--dgf-color-primary);
    font-style: normal;
}

.dgf-cnn-cta__copy {
    grid-area: copy;
    max-width: 720px;
    margin: 20px 0 0;
    color: rgba(225,235,241,.78);
    font-size: clamp(16px, 1.45vw, 18px);
    line-height: 1.65;
}

.dgf-cnn-cta__actions {
    grid-area: actions;
    display: grid;
    align-self: stretch;
    align-items: center;
    padding-left: clamp(34px, 4vw, 62px);
    border-left: 1px solid rgba(255,255,255,.12);
}

.dgf-cnn-cta__button {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 14px 28px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: #fff !important;
    background: linear-gradient(90deg,#f5821f,#ff9840);
    box-shadow: 0 18px 38px -22px rgba(245,130,31,.70);
    font-size: 16px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.dgf-cnn-cta__button svg:first-child { width: 19px; height: 19px; flex: 0 0 auto; }
.dgf-cnn-cta__button svg:last-child { width: 18px; height: 18px; flex: 0 0 auto; transition: transform .22s ease; }
.dgf-cnn-cta__button:hover { transform: translateY(-2px); box-shadow: 0 24px 48px -23px rgba(245,130,31,.85); filter: saturate(1.05); }
.dgf-cnn-cta__button:hover svg:last-child { transform: translateX(3px); }
.dgf-cnn-cta__button:focus-visible { outline: 3px solid rgba(104,225,214,.38); outline-offset: 4px; }

@media (max-width: 820px) {
    .dgf-cnn-cta__inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            'title'
            'copy'
            'actions';
        padding: 72px 0 76px;
    }

    .dgf-cnn-cta__title { max-width: 680px; }
    .dgf-cnn-cta__copy { max-width: 620px; }
    .dgf-cnn-cta__actions {
        display: block;
        max-width: 340px;
        margin-top: 30px;
        padding-left: 0;
        border-left: 0;
    }
}

@media (max-width: 640px) {
    .dgf-cnn-cta::before { background-size: 46px 46px; }
    .dgf-cnn-cta__inner { padding: 64px 0 68px; }
    .dgf-cnn-cta__title { font-size: clamp(32px, 10.2vw, 42px); }
    .dgf-cnn-cta__copy { margin-top: 18px; font-size: 16px; }
    .dgf-cnn-cta__actions { max-width: none; margin-top: 26px; }
}

@media (prefers-reduced-motion: reduce) {
    .dgf-cnn-cta__button,
    .dgf-cnn-cta__button svg { transition: none !important; }
}
