
.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%}


/* =========================================================
   CENTRO DE PREFERENCIAS DETALLADO · v2.2.0
   ========================================================= */
.vcc-eyebrow{
    display:block;
    margin:0 0 7px;
    color:#0d6efd;
    font-size:.69rem;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.vcc-purpose-panel{
    margin-top:16px;
    border:1px solid rgba(12,35,64,.10);
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}
.vcc-purpose-head{
    padding:16px;
    background:#f7fbff;
    border-bottom:1px solid rgba(12,35,64,.08);
}
.vcc-purpose-head strong{display:block;color:#07111f;font-size:.96rem;margin-bottom:5px}
.vcc-purpose-head small{display:block;color:#526070;font-size:.78rem;line-height:1.5}
.vcc-purpose-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:15px 16px;
    border-bottom:1px solid rgba(12,35,64,.07);
}
.vcc-purpose-row:last-child{border-bottom:0}
.vcc-purpose-row>div:first-child strong{display:block;color:#07111f;font-size:.86rem;line-height:1.35;margin-bottom:4px}
.vcc-purpose-row>div:first-child small{display:block;color:#526070;font-size:.76rem;line-height:1.45}
.vcc-purpose-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.vcc-purpose-actions button{
    min-height:34px;
    padding:7px 10px;
    border:1px solid rgba(12,35,64,.14);
    border-radius:9px;
    background:#fff;
    color:#526070;
    font-family:inherit;
    font-size:.68rem;
    font-weight:700;
    cursor:pointer;
}
.vcc-purpose-actions button.is-active[data-vcc-value="0"]{background:#f1f4f8;color:#25354c;border-color:#b9c5d4}
.vcc-purpose-actions button.is-active[data-vcc-value="1"]{background:#0d6efd;color:#fff;border-color:#0d6efd;box-shadow:0 7px 16px rgba(13,110,253,.18)}
.vcc-purpose-state{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:6px 10px;
    border-radius:999px;
    background:#eef5ff;
    color:#0d6efd;
    font-size:.68rem;
    font-weight:700;
    white-space:nowrap;
}
.vcc-purpose-row.is-unused{background:#fafbfd}
.vcc-purpose-row.is-unused .vcc-purpose-state{background:#f1f3f6;color:#64748b}
.vcc-purpose-row.is-required .vcc-purpose-state{background:#eef7f0;color:#257044}
.vcc-providers{
    margin-top:14px;
    border:1px solid rgba(12,35,64,.10);
    border-radius:12px;
    background:#f8fbff;
    padding:12px 14px;
}
.vcc-providers summary{cursor:pointer;color:#0d6efd;font-size:.80rem;font-weight:700}
.vcc-providers-body{padding-top:8px}
.vcc-providers-body p{margin:0 0 7px!important;font-size:.78rem!important;line-height:1.5!important}
.vcc-providers-body p:last-child{margin-bottom:0!important}
.vcc-privacy-basic{
    margin-top:14px;
    border:1px solid rgba(12,35,64,.10);
    border-radius:12px;
    background:#f8fbff;
    padding:12px 14px;
}
.vcc-privacy-basic summary{cursor:pointer;color:#0d6efd;font-size:.80rem;font-weight:700}
.vcc-privacy-basic-body{padding-top:8px}
.vcc-privacy-basic-body p{margin:0 0 7px!important;font-size:.78rem!important;line-height:1.5!important;color:#526070!important}
.vcc-privacy-basic-body p:last-child{margin-bottom:0!important}
.vcc-scope-notice{margin-top:14px;padding:11px 13px;border-left:3px solid #075cf8;background:#f3f7ff;color:#44536b;font-size:.76rem;line-height:1.5}
@media(max-width:640px){
    .vcc-modal{padding:8px;align-items:flex-end}
    .vcc-modal-card{width:100%;max-height:92vh;padding:20px 14px 16px;border-radius:18px 18px 0 0}
    .vcc-modal h3{font-size:1.18rem}
    .vcc-purpose-row{grid-template-columns:1fr;gap:10px;padding:14px}
    .vcc-purpose-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
    .vcc-purpose-actions button{width:100%}
    .vcc-purpose-state{justify-self:start}
    .vcc-modal-actions{display:grid;grid-template-columns:1fr;gap:8px}
    .vcc-modal-actions .vcc-btn{width:100%}
}


/* Consentimientos adicionales: separados visual y jurídicamente de las cookies. */
.vcc-extra-consents{margin:18px 0;padding:16px;border:1px solid rgba(7,92,248,.16);border-radius:16px;background:#f8fbff}
.vcc-extra-head{margin-bottom:12px}
.vcc-extra-head h4{margin:4px 0 7px;color:#07111f;font-size:1rem;line-height:1.25}
.vcc-extra-head p{margin:0;color:#526070;font-size:.78rem;line-height:1.5}
.vcc-extra-consents .vcc-category{background:#fff;margin-top:10px}
.vcc-extra-warning{margin:10px 0 0;padding:10px 12px;border-radius:11px;background:#fff7e8;color:#6b4d14;font-size:.74rem;line-height:1.45}
.vcc-rejected-reminder{position:fixed;right:16px;bottom:16px;z-index:99998;display:flex;align-items:center;gap:10px;max-width:360px;padding:10px 12px;border:1px solid rgba(7,26,61,.12);border-radius:14px;background:#fff;box-shadow:0 12px 34px rgba(7,26,61,.16);font:600 12px/1.35 Arial,sans-serif;color:#34445c}
.vcc-rejected-reminder[hidden]{display:none!important}
.vcc-rejected-reminder button{border:0;border-radius:10px;padding:8px 10px;background:#eef5ff;color:#075cf8;font:700 12px/1 Arial,sans-serif;cursor:pointer;white-space:nowrap}
@media(max-width:520px){.vcc-rejected-reminder{left:10px;right:10px;bottom:10px;max-width:none;justify-content:space-between}.vcc-extra-consents{padding:13px}}

/* 2.4.0 · Centro de consentimiento ampliado */
.vcc-processing-info{margin-top:14px;padding:16px;border:1px solid #e1e8f2;border-radius:16px;background:#f8fbff;color:#526070}
.vcc-processing-info h4{margin:0 0 8px;color:#07111f;font-size:.92rem}
.vcc-processing-info p{margin:0 0 10px;font-size:.78rem;line-height:1.55}
.vcc-processing-info ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:.76rem;line-height:1.5}
.vcc-choice-storage{margin-top:14px}
.vcc-save-help{margin:8px 0 0!important;text-align:center;color:#6b778c!important;font-size:.72rem!important}
@media(max-width:600px){.vcc-processing-info{padding:14px}.vcc-processing-info ul{padding-left:17px}.vcc-save-help{font-size:.68rem!important}}

/* 2.6.0 · Ventana de consentimiento centrada y aviso a invitados (mismo diseño) */
.vcc-cmp,.vcc-cmp *{box-sizing:border-box}
.vcc-cmp{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:16px;background:rgba(7,26,61,.55);font-family:Montserrat,Arial,sans-serif;color:#071a3d}
.vcc-cmp.vcc-visible,.vcc-guest-nag:not([hidden]){display:flex}
.vcc-guest-nag[hidden]{display:none!important}
html.vcc-cmp-lock,html.vcc-cmp-lock body{overflow:hidden!important}
.vcc-cmp-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:590px;max-height:calc(100vh - 32px);padding:26px 24px 22px;background:#fff;border-radius:14px;box-shadow:0 30px 80px rgba(7,26,61,.35);outline:none}
.vcc-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}
.vcc-brand{flex:none;margin:0 auto 18px;text-align:center;font:800 32px/1 Montserrat,Arial,sans-serif;letter-spacing:-.04em;color:#071a3d}
.vcc-brand span{color:#075cf8}
.vcc-brand img{display:block;max-height:44px;width:auto;margin:0 auto}
.vcc-cmp-heading{flex:none;margin:0 0 12px;text-align:center;font:800 20px/1.25 Montserrat,Arial,sans-serif;color:#071a3d}
.vcc-cmp-body{flex:1 1 auto;min-height:0;overflow:auto;padding-right:4px}
.vcc-cmp-body p{margin:0 0 10px;font-size:14px;line-height:1.6;color:#52637e}
.vcc-cmp-body a{color:#075cf8;font-weight:700;text-decoration:underline}
.vcc-cmp-guest{color:#071a3d!important;font-weight:600}
.vcc-cmp-purposes{margin-top:14px!important}
.vcc-cmp-purposes strong{display:block;margin-bottom:4px;color:#071a3d;font-weight:700}
.vcc-cmp-body .vcc-proof-note{margin-top:4px;font-size:12px;color:#7a879b}
.vcc-cmp .vcc-status{flex:none}
.vcc-cmp-actions{flex:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:stretch;margin-top:20px}
.vcc-cmp-btn,.vcc-cmp-more{display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 14px;border-radius:8px;font:700 15px/1.25 Montserrat,Arial,sans-serif;text-align:center;text-decoration:none!important;cursor:pointer;transition:background .15s,transform .15s}
.vcc-cmp-btn,.vcc-cmp #vcc-reject,.vcc-cmp #vcc-accept-all{border:0;background:#075cf8;color:#fff!important;box-shadow:0 10px 24px rgba(7,92,248,.25);min-width:0}
.vcc-cmp-btn:hover,.vcc-cmp #vcc-reject:hover,.vcc-cmp #vcc-accept-all:hover{background:#0648c4;transform:translateY(-1px)}
.vcc-cmp-more{border:0;background:transparent;color:#071a3d!important}
.vcc-cmp-more:hover{background:#eef5ff}
.vcc-cmp-btn:focus-visible,.vcc-cmp-more:focus-visible,.vcc-guest-skip:focus-visible{outline:3px solid #071a3d;outline-offset:2px}
.vcc-cmp-btn[disabled]{opacity:.65;cursor:wait;transform:none}
.vcc-guest-skip{flex:none;align-self:center;margin-top:14px;border:0;background:none;padding:6px;color:#7a879b;font:600 12px/1.3 Montserrat,Arial,sans-serif;text-decoration:underline;cursor:pointer}
.vcc-guest-skip:disabled{cursor:not-allowed;opacity:.55;text-decoration:none}
.vcc-modal{z-index:1000000}
@media(max-width:560px){
  .vcc-cmp{padding:10px;align-items:flex-end}
  .vcc-cmp-card{padding:22px 16px 16px;max-height:calc(100vh - 20px)}
  .vcc-brand{font-size:26px;margin-bottom:14px}
  .vcc-cmp-body p{font-size:13px}
  .vcc-cmp-actions{grid-template-columns:1fr 1fr;gap:10px}
  .vcc-cmp-actions .vcc-cmp-more{grid-column:1 / -1;order:3;min-height:40px}
}
