/* ── Super Ads — Card 3 (Modern/Premium) — Front-end styles ── */

@keyframes sa-c3-pulse {
    0%, 100% { opacity: 0.4; }
    50%       { opacity: 1; }
}

@keyframes sa-c3-shimmer {
    0%   { transform: translateX(-120%) skewX(-18deg); opacity: 0; }
    15%  { opacity: 1; }
    85%  { opacity: 1; }
    100% { transform: translateX(220%) skewX(-18deg); opacity: 0; }
}

.sa-card3 {
    display:         flex;
    align-items:     stretch;
    text-decoration: none !important;
    color:           inherit;
    border-radius:   14px;
    overflow:        hidden;
    position:        relative;
    height:          272px;
    background:
        linear-gradient(var(--sa-c3-bg, #fff), var(--sa-c3-bg, #fff)) padding-box,
        linear-gradient(135deg, var(--sa-c3-from, #3b82f6), var(--sa-c3-to, #ec4899)) border-box;
    border:          2px solid transparent;
    box-shadow:      0 2px 16px rgba(0, 0, 0, 0.08);
    transition:      box-shadow 0.28s ease, transform 0.24s ease;
    cursor:          pointer;
    margin-top:      12px;
    margin-bottom:   12px;
    transform:       translateZ(0);
}

.sa-card3:hover {
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.15);
    transform:  translateY(-2px);
}

.sa-card3:active {
    transform: translateY(0) scale(0.99);
}

/* Imagem cola nas bordas: mesma altura do card (quadrado 260×260). */
.sa-card3__img-wrap {
    position:            relative;
    flex:                0 0 272px;
    width:               272px;
    height:              100%;
    min-width:           272px;
    max-width:           272px;
    align-self:          stretch;
    overflow:            hidden;
    background:          transparent;
    transform:           translateZ(0);
    backface-visibility: hidden;
    line-height:         0;
    z-index:             2;
}

.sa-card3__img {
    position:        absolute !important;
    inset:           0;
    width:           100% !important;
    height:          100% !important;
    max-width:       none !important;
    max-height:      none !important;
    margin:          0 !important;
    padding:         0 !important;
    border:          0 !important;
    border-radius:   0 !important;
    box-shadow:      none !important;
    object-fit:      cover !important;
    object-position: center center !important;
    display:         block !important;
    transition:      transform 0.35s ease;
}

.sa-card3:hover .sa-card3__img {
    transform: scale(1.03);
}

.sa-card3__img-placeholder {
    position:         absolute;
    inset:            0;
    background:       #f1f5f9;
    display:          flex;
    align-items:      center;
    justify-content:  center;
    font-size:        40px;
    color:            #cbd5e1;
    line-height:      1;
}

/* overflow:hidden = glow do botão NÃO passa sobre a imagem */
.sa-card3__body {
    flex:            1 1 auto;
    min-width:       0;
    min-height:      0;
    height:          100%;
    padding:         16px 18px 18px;
    display:         flex;
    flex-direction:  column;
    justify-content: center;
    gap:             6px;
    background:      var(--sa-c3-bg, #fff);
    overflow-x:      hidden;
    overflow-y:      visible;
    position:        relative;
    z-index:         1;
    isolation:       isolate;
    box-sizing:      border-box;
}

.sa-card3__title {
    font-size:      clamp(20px, 2.4vw, 24px);
    font-weight:    800;
    color:          #0f172a;
    margin:         0;
    padding:        0;
    line-height:    1.18;
    letter-spacing: -0.03em;
}

.sa-card3__subtitle {
    font-size:   clamp(14px, 1.6vw, 16px);
    color:       #475569;
    margin:      0;
    line-height: 1.35;
    font-weight: 500;
}

.sa-card3__btn-wrap {
    margin-top: 8px;
    align-self: stretch;
    width:      100%;
    position:   relative;
    isolation:  isolate;
    overflow:   visible;
    padding:    4px 2px 8px;
    box-sizing: border-box;
    flex-shrink: 0;
}

.sa-card3__btn {
    position:        relative;
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           100%;
    padding:         14px 18px;
    font-size:       15px;
    font-weight:     800;
    letter-spacing:  0.7px;
    border-radius:   50px;
    text-transform:  uppercase;
    cursor:          pointer;
    line-height:     1.1;
    border:          none;
    background:      linear-gradient(135deg, var(--sa-c3-from, #3b82f6), var(--sa-c3-to, #ec4899));
    box-shadow:
        0 4px 14px var(--sa-c3-pulse, rgba(59, 130, 246, 0.45)),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
    animation:       none;
    transition:      filter 0.22s, transform 0.18s;
    user-select:     none;
    white-space:     nowrap;
    z-index:         1;
    box-sizing:      border-box;
    overflow:        hidden;
}

/* Glow contido — sem inset negativo que vaza para a imagem */
.sa-card3__btn::before {
    content:       '';
    position:      absolute;
    inset:         0;
    border-radius: inherit;
    box-shadow:    0 0 14px 2px var(--sa-c3-pulse, rgba(59, 130, 246, 0.5));
    animation:     sa-c3-pulse 1.6s ease-in-out infinite;
    pointer-events: none;
    z-index:       0;
}

.sa-card3__btn::after {
    content:     ' →';
    display:     inline-block;
    margin-left: 8px;
    transition:  transform 0.22s ease;
    position:    relative;
    z-index:     2;
}

.sa-card3__btn-wrap::after {
    content: '';
    position: absolute;
    top: 4px;
    bottom: 8px;
    left: 2px;
    width: 40%;
    border-radius: 50px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    animation: sa-c3-shimmer 2.4s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
}

.sa-card3:hover .sa-card3__btn {
    filter:    brightness(1.1) saturate(1.08);
    transform: scale(1.03);
}

.sa-card3:hover .sa-card3__btn::after {
    transform: translateX(4px);
}

.sa-card3:hover .sa-card3__btn::before {
    animation-play-state: paused;
    opacity: 1;
}

@media (max-width: 720px) {
    .sa-card3 {
        height: 232px;
    }

    .sa-card3__img-wrap {
        flex-basis: 232px;
        width:      232px;
        min-width:  232px;
        max-width:  232px;
    }

    .sa-card3__title {
        font-size: 18px;
    }

    .sa-card3__subtitle {
        font-size: 14px;
    }

    .sa-card3__btn {
        font-size: 14px;
        padding:   12px 14px;
    }
}

@media (max-width: 600px) {
    .sa-card3 {
        flex-direction: column;
        height:         auto;
        border-radius:  12px;
    }

    .sa-card3__img-wrap {
        flex:         none;
        width:        100%;
        max-width:    none;
        min-width:    0;
        height:       auto;
        aspect-ratio: 1 / 1;
        align-self:   stretch;
    }

    .sa-card3__body {
        height:      auto;
        padding:     14px 14px 18px;
        align-items: center;
        text-align:  center;
        overflow-x:  hidden;
        overflow-y:  visible;
    }

    .sa-card3__title {
        font-size: 22px;
    }

    .sa-card3__subtitle {
        font-size: 15px;
    }

    .sa-card3__btn {
        padding:   15px 16px;
        font-size: 15px;
    }
}
