
.vcc-banner,.vcc-modal,.vcc-banner *,.vcc-modal *,.vcc-youtube-placeholder,.vcc-youtube-placeholder *,.vcc-privacy-settings-box,.vcc-privacy-settings-box *{box-sizing:border-box}

.vcc-banner{
    display:none;
    position:fixed;
    left:18px;
    right:18px;
    bottom:18px;
    z-index:999999;
    max-width:980px;
    margin:0 auto;
    background:#fff;
    border:1px solid rgba(12,35,64,.12);
    box-shadow:0 18px 46px rgba(16,40,80,.18);
    font-family:Montserrat,Arial,sans-serif;
    color:#07111f;
}

.vcc-banner.vcc-visible{display:block}

.vcc-banner:before,.vcc-modal-card:before,.vcc-privacy-settings-box:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:3px;
    background:linear-gradient(90deg,#38d8ff,#4aa8ff,#0d6efd);
}

.vcc-banner-inner{
    position:relative;
    padding:20px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
}

.vcc-banner h3{
    margin:0 0 6px;
    color:#07111f;
    font-size:1rem;
    font-weight:600;
    line-height:1.25;
}

.vcc-banner p{
    margin:0;
    color:#526070;
    font-size:.86rem;
    line-height:1.5;
    font-weight:400;
}

.vcc-banner a,.vcc-modal a{
    color:#0d6efd;
    text-decoration:underline;
    text-underline-offset:3px;
    font-weight:500;
}

.vcc-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.vcc-btn,
.vcc-settings-shortcode,
.vcc-privacy-settings-btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:0;
    border:1px solid rgba(74,168,255,.28);
    background:#fff;
    color:#0d6efd;
    font-family:Montserrat,Arial,sans-serif;
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.035em;
    text-transform:uppercase;
    cursor:pointer;
    transition:.2s;
    text-decoration:none;
}

.vcc-btn:hover,
.vcc-settings-shortcode:hover,
.vcc-privacy-settings-btn:hover{
    transform:translateY(-2px);
    filter:brightness(1.04);
}

.vcc-btn-primary,
.vcc-settings-shortcode,
.vcc-privacy-settings-btn{
    background:linear-gradient(135deg,#38d8ff,#4aa8ff);
    color:#fff;
    border-color:transparent;
    box-shadow:0 12px 26px rgba(56,216,255,.22);
}

.vcc-btn-muted{
    background:#fff;
    color:#526070;
    border-color:rgba(12,35,64,.14);
}

.vcc-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:1000000;
    background:rgba(7,17,31,.45);
    padding:18px;
    align-items:center;
    justify-content:center;
    font-family:Montserrat,Arial,sans-serif;
}

.vcc-modal.vcc-visible{display:flex}

.vcc-modal-card{
    position:relative;
    width:min(740px,100%);
    max-height:88vh;
    overflow:auto;
    background:#fff;
    border:1px solid rgba(12,35,64,.12);
    box-shadow:0 24px 70px rgba(7,17,31,.28);
    padding:28px;
    color:#07111f;
}

.vcc-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.vcc-modal h3{
    margin:0;
    color:#07111f;
    font-size:1.35rem;
    font-weight:600;
    letter-spacing:-.03em;
}

.vcc-modal p{
    margin:8px 0 0;
    color:#526070;
    font-size:.9rem;
    font-weight:400;
    line-height:1.55;
}

.vcc-close{
    border:0;
    background:#fff;
    color:#0d6efd;
    font-size:1.4rem;
    line-height:1;
    cursor:pointer;
    padding:4px;
}

.vcc-category{
    display:grid;
    gap:8px;
    padding:16px;
    border:1px solid rgba(12,35,64,.10);
    margin-bottom:10px;
    background:#fff;
}

.vcc-category-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.vcc-category strong{
    color:#07111f;
    font-size:.95rem;
    font-weight:600;
}

.vcc-category small{
    color:#526070;
    font-size:.8rem;
    font-weight:400;
    line-height:1.45;
}

.vcc-switch{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#526070;
    font-size:.8rem;
    font-weight:500;
}

.vcc-switch input{
    width:18px;
    height:18px;
    accent-color:#0d6efd;
}

.vcc-switch input:disabled{opacity:.45}

.vcc-modal-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
    margin-top:16px;
}

.vcc-legal-links{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid rgba(12,35,64,.08);
    color:#526070;
    font-size:.8rem;
    font-weight:400;
}

.vcc-youtube-placeholder{
    width:100%;
    min-height:240px;
    display:grid;
    place-items:center;
    background:#f8fbff;
    border:1px solid rgba(74,168,255,.24);
    padding:18px;
}

.vcc-youtube-card{
    text-align:center;
    max-width:520px;
}

.vcc-youtube-card span{
    display:inline-flex;
    margin-bottom:8px;
    color:#0d6efd;
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.vcc-youtube-card p{
    margin:0 0 14px;
    color:#526070;
    font-size:.9rem;
    line-height:1.5;
}

.vcc-youtube-card button{
    min-height:42px;
    padding:10px 14px;
    border-radius:0;
    border:0;
    background:linear-gradient(135deg,#38d8ff,#4aa8ff);
    color:#fff;
    font-family:inherit;
    font-size:.72rem;
    font-weight:600;
    text-transform:uppercase;
    cursor:pointer;
}

.vcc-privacy-settings-box{
    position:relative;
    margin:26px auto;
    padding:24px;
    border:1px solid rgba(12,35,64,.11);
    background:#fff;
    box-shadow:0 14px 34px rgba(16,40,80,.08);
    font-family:Montserrat,Arial,sans-serif;
}

.vcc-privacy-settings-inner{
    display:grid;
    gap:10px;
}

.vcc-privacy-settings-inner span{
    color:#0d6efd;
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.vcc-privacy-settings-inner h2{
    margin:0;
    color:#07111f;
    font-size:1.14rem;
    line-height:1.18;
    font-weight:600;
    letter-spacing:-.025em;
}

.vcc-privacy-settings-inner p{
    margin:0;
    color:#526070;
    font-size:.9rem;
    line-height:1.55;
    font-weight:400;
}

@media(max-width:768px){
    .vcc-banner{
        left:10px;
        right:10px;
        bottom:88px;
    }

    .vcc-banner-inner{
        grid-template-columns:1fr;
        padding:16px;
    }

    .vcc-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .vcc-btn,
    .vcc-settings-shortcode,
    .vcc-privacy-settings-btn{
        width:100%;
    }

    .vcc-modal-card{
        padding:22px 14px;
    }

    .vcc-modal-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .vcc-modal-actions .vcc-btn{
        width:100%;
    }

    .vcc-privacy-settings-box{
        margin:20px auto;
        padding:20px 14px;
    }
}

/* 2.0: aceptar y rechazar con la misma visibilidad; sin botón flotante. */
#vcc-reject,#vcc-accept-all,#vcc-save-reject,#vcc-modal-accept-all{background:#d9f0ff;color:#073360;border:1px solid #75b9e8;box-shadow:none;min-width:130px}
.vcc-btn:focus-visible,.vcc-close:focus-visible,.vcc-footer-settings:focus-visible{outline:3px solid #073360;outline-offset:3px}
.vcc-btn[disabled]{cursor:wait;opacity:.7;transform:none}
.vcc-status{margin:12px 0 0!important;font-size:13px!important;line-height:1.5!important;color:#713800!important}
.vcc-status:empty{display:none}
.vcc-proof-note{display:block;margin-top:10px;font-size:12px;color:#526070;line-height:1.5}
.vcc-footer-controls{text-align:center;padding:12px 16px;font:13px/1.5 Arial,sans-serif}
.vcc-footer-settings{border:0;background:transparent;color:#0b4374;cursor:pointer;text-decoration:underline;padding:8px}
.vcc-receipt{font-size:12px!important;overflow-wrap:anywhere}
@media(max-width:768px){.vcc-banner{bottom:14px;max-height:85vh;overflow:auto}}
@media(prefers-reduced-motion:reduce){.vcc-btn,.vcc-settings-shortcode,.vcc-privacy-settings-btn{transition:none}.vcc-btn:hover,.vcc-settings-shortcode:hover,.vcc-privacy-settings-btn:hover{transform:none}}

/* Solo iframes restaurados por el gestor: evita anchuras fijas fuera del móvil. */
iframe[data-vcc-restored="1"]{max-width:100%}
