/* ========================================================================== */
/*  CARD PRODUCT ADS – Frontend (Estilo Premium)                             */
/*  Totalmente isolado e imune ao tema                                       */
/* ========================================================================== */

#cpa-ad-wrapper,
.cpa-ad-wrapper,
#cpa-preview {
    --title-color: var(--cpa-title-color, #ffffff);
    --desc-color: var(--cpa-desc-color, #e0e0e0);

    --card-bg-1: var(--cpa-card-bg-color-1, #15171b);
    --card-bg-2: var(--cpa-card-bg-color-2, #1f242b);
    --card-bg-mode: var(--cpa-card-bg-mode, solid);
    --card-border: var(--cpa-card-border-color, #262b33);

    --btn-bg-1: var(--cpa-button-bg-color-1, #ff9900);
    --btn-bg-2: var(--cpa-button-bg-color-2, #ffb84d);
    --btn-text: var(--cpa-button-text-color, #ffffff);

    --dot-color: var(--cpa-dot-color, #555a63);
    --dot-active: var(--cpa-dot-active-color, #ffffff);
    --arrow-bg: var(--cpa-arrow-bg-color, #1f242b);
    --arrow-icon: var(--cpa-arrow-icon-color, #ffffff);

    --radius: var(--cpa-card-radius, 18px);
    --shadow: var(--cpa-card-shadow, 0 16px 32px rgba(0,0,0,0.55));
    --shadow-hover: var(--cpa-card-shadow-hover, 0 20px 40px rgba(0,0,0,0.7));
}


/* ========================================================================== */
/*  WRAPPER GERAL                                                             */
/* ========================================================================== */

#cpa-ad-wrapper.cpa-ad-wrapper {
    width: 100%;
    margin: 40px auto;
    padding: 0;
    display: block;
    position: relative;
    box-sizing: border-box;
}


/* ========================================================================== */
/*  GRUPO DE CARDS                                                             */
/* ========================================================================== */

#cpa-ad-wrapper .cpa-ad-group {
    display: grid;
    gap: 20px;
}


/* ========================================================================== */
/*  CARD BASE                                                                 */
/* ========================================================================== */

#cpa-ad-wrapper .cpa-card,
#cpa-preview .cpa-card {
    background: var(--card-bg-1);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    isolation: isolate;
}

/* Modo degradê no fundo do card */
#cpa-ad-wrapper.cpa-bg-gradient .cpa-card,
#cpa-preview.cpa-bg-gradient .cpa-card {
    background: linear-gradient(135deg, var(--card-bg-1), var(--card-bg-2));
}

/* Hover padrão */
#cpa-ad-wrapper .cpa-card:hover,
#cpa-preview .cpa-card:hover {
    transform: translateY(-3px);
}

/* Microinteração: sombra mais profunda no hover */
#cpa-ad-wrapper.cpa-effect-shadow .cpa-card:hover,
#cpa-preview.cpa-effect-shadow .cpa-card:hover {
    box-shadow: var(--shadow-hover);
}


/* ========================================================================== */
/*  IMAGEM / SLIDER                                                           */
/* ========================================================================== */

#cpa-ad-wrapper .cpa-card-images,
#cpa-preview .cpa-card-images {
    width: 100%;
    max-height: 300px;
    overflow: hidden;
    position: relative;
    display: block;
    background: #000;
    border-radius: var(--radius) var(--radius) 0 0;
}

#cpa-ad-wrapper .cpa-card-images img,
#cpa-preview .cpa-card-images img {
    height: auto;
    display: block;
    object-fit: contain;
    transition: transform 0.3s ease-in-out;
    padding: 10px;
}

/* Microinteração: Zoom leve na imagem ao hover */
#cpa-ad-wrapper .cpa-card-images.cpa-zoom img:hover,
#cpa-preview .cpa-card-images.cpa-zoom img:hover,
#cpa-ad-wrapper.cpa-effect-zoom .cpa-card-images img:hover,
#cpa-preview.cpa-effect-zoom .cpa-card-images img:hover {
    transform: scale(1.05);
}


/* ========================================================================== */
/*  CONTEÚDO DO CARD                                                          */
/* ========================================================================== */

#cpa-ad-wrapper .cpa-card-content,
#cpa-preview .cpa-card-content {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

#cpa-ad-wrapper .cpa-card-title,
#cpa-preview .cpa-card-title {
    margin: 0;
    font-size: 1.05rem;
    color: var(--title-color);
    font-weight: 600;
    line-height: 1.25;
}

#cpa-ad-wrapper .cpa-card-desc,
#cpa-preview .cpa-card-desc {
    margin: 0;
    color: var(--desc-color);
    font-size: 0.93rem;
    line-height: 1.45;
}


/* ========================================================================== */
/*  BOTÃO                                                                     */
/* ========================================================================== */

#cpa-ad-wrapper .cpa-card-button-wrap,
#cpa-preview .cpa-card-button-wrap {
    margin-top: 10px;
    display: flex;
    justify-content: flex-start;
}

#cpa-ad-wrapper .cpa-card-button,
#cpa-preview .cpa-card-button {
    display: inline-block;
    padding: 10px 16px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--btn-text);
    background: linear-gradient(135deg, var(--btn-bg-1), var(--btn-bg-2));
    border-radius: calc(var(--radius) / 1.5);
    text-decoration: none !important;
    transition: all 0.3s ease-in-out;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border: none;
}

#cpa-ad-wrapper .cpa-card-button:hover,
#cpa-preview .cpa-card-button:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

/* Microinteração: Efeito Shine no botão */
#cpa-ad-wrapper .cpa-card-button.cpa-shine::after,
#cpa-preview .cpa-card-button.cpa-shine::after,
#cpa-ad-wrapper.cpa-effect-shine .cpa-card-button::after,
#cpa-preview.cpa-effect-shine .cpa-card-button::after {
    content: "";
    position: absolute;
    top: 0;
    left: -130%;
    height: 100%;
    width: 60%;
    background: rgba(255,255,255,0.35);
    transform: skewX(-25deg);
    transition: left 0.5s ease-in-out;
}

#cpa-ad-wrapper .cpa-card-button.cpa-shine:hover::after,
#cpa-preview .cpa-card-button.cpa-shine:hover::after,
#cpa-ad-wrapper.cpa-effect-shine .cpa-card-button:hover::after,
#cpa-preview.cpa-effect-shine .cpa-card-button:hover::after {
    left: 130%;
}


/* ========================================================================== */
/*  LAYOUT HORIZONTAL                                                          */
/* ========================================================================== */

#cpa-ad-wrapper.cpa-layout-horizontal .cpa-ad-group {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

#cpa-ad-wrapper.cpa-layout-horizontal .cpa-card {
    flex-direction: row;
    height: auto;
}

#cpa-ad-wrapper.cpa-layout-horizontal .cpa-card-images {
    min-width: 36%;
    max-width: 300px;
    border-radius: var(--radius) 0 0 var(--radius);
}

#cpa-ad-wrapper.cpa-layout-horizontal .cpa-card-content {
    width: 64%;
    padding: 22px 24px;
}


/* ========================================================================== */
/*  LAYOUT VERTICAL (GRID DE E-COMMERCE)                                      */
/* ========================================================================== */

#cpa-ad-wrapper.cpa-layout-vertical .cpa-ad-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 22px;
}

#cpa-ad-wrapper.cpa-layout-vertical .cpa-card {
    flex-direction: column;
}

#cpa-ad-wrapper.cpa-layout-vertical .cpa-card-images {
    width: 100%;
    border-radius: var(--radius) var(--radius) 0 0;
}

#cpa-ad-wrapper.cpa-layout-vertical .cpa-card-content {
    padding: 20px 18px 22px;
}


/* ========================================================================== */
/*  RESPONSIVIDADE PREMIUM                                                    */
/* ========================================================================== */

@media (max-width: 880px) {
    #cpa-ad-wrapper.cpa-layout-horizontal .cpa-card {
        flex-direction: column;
    }

    #cpa-ad-wrapper.cpa-layout-horizontal .cpa-card-images {
        width: 100%;
        border-radius: var(--radius) var(--radius) 0 0;
    }

    #cpa-ad-wrapper.cpa-layout-horizontal .cpa-card-content {
        width: 100%;
        padding: 20px;
    }
}

@media (max-width: 480px) {
    #cpa-ad-wrapper .cpa-card-title {
        font-size: 1rem;
    }
    #cpa-ad-wrapper .cpa-card-desc {
        font-size: 0.9rem;
    }
    #cpa-ad-wrapper .cpa-card-button {
        padding: 9px 14px;
    }
}

