/* ============================================================
   Outbox Cookies — banner único abajo-derecha (con prefs inline)
   Visual acorde al tema: tipografía Outbox, azul de marca,
   pistacho como acción principal.
   ============================================================ */

.obck-banner,.obck-banner *{box-sizing:border-box;}
.obck-banner{position:fixed;right:clamp(16px,1.8vw,32px);bottom:clamp(16px,1.8vw,32px);
  z-index:9999;width:min(480px, calc(100vw - 32px));max-width:calc(100vw - 24px);
  font-family:var(--ob-font-txt,inherit);
  animation:obckIn .4s cubic-bezier(.2,.8,.2,1) both;}
@keyframes obckIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.obck-card{position:relative;background:#fff;border-radius:18px;
  box-shadow:0 30px 70px rgba(0,0,0,.22),0 8px 24px rgba(0,0,0,.08);
  overflow:hidden;border:1px solid #E8EEF1;}
/* Acento de marca: barra azul a la izquierda */
.obck-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,var(--ob-azul,#007FA3),var(--ob-azul-oscuro,#005E7C));}

.obck-card__cuerpo{padding:24px 26px 20px;position:relative;}
.obck-icono{position:absolute;top:20px;right:22px;color:var(--ob-azul,#007FA3);opacity:.5;}

.obck-titulo{margin:0 0 9px;font-family:var(--ob-font-tit,inherit);font-weight:800;
  color:var(--ob-azul-oscuro,#005E7C);font-size:1.34rem;line-height:1.15;letter-spacing:-.01em;
  padding-right:46px;}
.obck-texto{margin:0 0 16px;color:var(--ob-carbon,#222);font-size:.96rem;line-height:1.55;}
.obck-link{color:var(--ob-azul,#007FA3);font-weight:700;text-decoration:underline;}

.obck-prefs{display:none;flex-direction:column;gap:10px;margin:4px 0 16px;
  max-height:46vh;overflow-y:auto;padding-right:4px;}
.obck-banner.is-config .obck-prefs{display:flex;}
.obck-cat{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;
  background:#F7FAFB;border:1px solid #E1E8EB;border-radius:12px;padding:12px 14px;cursor:pointer;
  transition:border-color .15s ease,background .15s ease;}
.obck-cat:hover{border-color:var(--ob-azul,#007FA3);background:#F2F8FB;}
.obck-cat__txt{flex:1;min-width:0;}
.obck-cat b{display:block;color:var(--ob-azul-oscuro,#005E7C);font-family:var(--ob-font-tit,inherit);
  font-weight:800;font-size:.95rem;margin-bottom:2px;}
.obck-cat em{display:block;font-style:normal;color:#52606A;font-size:.85rem;line-height:1.45;}

/* Switch (toggle) */
.obck-switch{position:relative;flex:0 0 auto;display:inline-block;width:46px;height:26px;margin-top:2px;}
.obck-switch input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;width:100%;height:100%;}
.obck-switch__pista{display:block;width:100%;height:100%;background:#cfd6da;border-radius:999px;
  transition:background .2s ease;position:relative;}
.obck-switch__bola{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .2s ease;}
.obck-switch input:checked + .obck-switch__pista{background:var(--ob-azul,#007FA3);}
.obck-switch input:checked + .obck-switch__pista .obck-switch__bola{transform:translateX(20px);}
.obck-switch input:disabled + .obck-switch__pista{background:var(--ob-pistacho,#C4D600);opacity:.75;cursor:not-allowed;}
.obck-switch input:focus-visible + .obck-switch__pista{outline:2px solid var(--ob-azul,#007FA3);outline-offset:2px;}

.obck-btns{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;align-items:center;}
.obck-btn{appearance:none;border:0;cursor:pointer;font-family:var(--ob-font-tit,inherit);
  font-weight:700;font-size:.9rem;padding:10px 16px;border-radius:10px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .12s ease,background .15s ease,color .15s ease,box-shadow .15s ease;}
.obck-btn:hover{transform:translateY(-1px);}
.obck-btn--ghost{background:transparent;color:var(--ob-azul,#007FA3);box-shadow:inset 0 0 0 1.5px var(--ob-azul,#007FA3);}
.obck-btn--ghost:hover{background:var(--ob-azul-claro,#E6F4F8);}
.obck-btn--primario{background:var(--ob-pistacho,#C4D600);color:var(--ob-pistacho-texto,#323800);
  box-shadow:0 8px 16px rgba(196,214,0,.25);}
.obck-btn--primario:hover{background:var(--ob-pistacho-oscuro,#ADBF00);}

/* Estados de botones:
   - Modo normal: Rechazar · Configurar · Aceptar todas (Guardar oculto)
   - Modo configuración (.is-config): Rechazar · Guardar · Aceptar todas (Configurar oculto) */
.obck-btn--save{display:none;}
.obck-banner.is-config .obck-btn--config{display:none;}
.obck-banner.is-config .obck-btn--save{display:inline-flex;}

/* ---------- Tablas (shortcode + páginas legales) ----------
   table-layout:fixed + ajuste de palabra → la tabla NUNCA supera el ancho
   de su contenedor, así no rompe la página ni desborda el viewport. */
.obck-tabla{width:100%;max-width:100%;border-collapse:collapse;margin:18px 0;table-layout:fixed;}
.obck-tabla th,.obck-tabla td{border:1px solid var(--ob-borde,#E1E8EB);padding:10px 12px;
  text-align:left;font-size:.95rem;vertical-align:top;overflow-wrap:anywhere;word-break:break-word;}
.obck-tabla thead th{background:var(--ob-azul-claro,#E6F4F8);color:var(--ob-azul-oscuro,#005E7C);font-family:var(--ob-font-tit,inherit);}
/* Columna "Obligatoria" estrecha y centrada (tabla de cookies, 3 columnas) */
.obck-tabla--cookies col:last-child{width:96px;}
.obck-tabla--cookies td:last-child,.obck-tabla--cookies th:last-child{text-align:center;}

/* Botón de "cambiar preferencias" dentro de la página de cookies */
.obck-abrir{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:var(--ob-font-tit,inherit);font-weight:700;font-size:.95rem;
  padding:12px 20px;border-radius:10px;border:0;
  background:var(--ob-azul,#007FA3);color:#fff;text-decoration:none;
  transition:background .15s ease,transform .12s ease;}
.obck-abrir:hover{background:var(--ob-azul-oscuro,#005E7C);transform:translateY(-1px);color:#fff;}

.obck-pagina{width:100%;font-family:var(--ob-font-txt,inherit);color:var(--ob-carbon,#222);}
.obck-pagina p{line-height:1.7;font-size:1.02rem;}
.obck-pagina a{color:var(--ob-azul,#007FA3);font-weight:600;text-decoration:underline;}

.obck-pagina__intro{background:var(--ob-azul-claro,#E6F4F8);border-radius:16px;
  padding:24px 26px;margin-bottom:34px;border-left:6px solid var(--ob-azul,#007FA3);}
.obck-pagina__intro p{margin:0 0 10px;}
.obck-pagina__intro p:last-child{margin:0;}
.obck-pagina__fecha{font-size:.88rem !important;color:var(--ob-azul-oscuro,#005E7C);font-weight:700;}

.obck-bloque{margin:0 0 34px;}
.obck-bloque h2{font-family:var(--ob-font-tit,inherit);font-weight:800;
  color:var(--ob-azul-oscuro,#005E7C);font-size:1.5rem;line-height:1.2;
  margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--ob-azul-claro,#E6F4F8);}

/* Tres mini-tarjetas (tipos de cookies) */
.obck-cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;}
.obck-mini{background:#fff;border:1px solid var(--ob-borde,#E1E8EB);border-radius:14px;padding:18px 20px;
  box-shadow:0 8px 22px rgba(0,0,0,.04);}
.obck-mini h3{margin:0 0 8px;font-family:var(--ob-font-tit,inherit);font-weight:800;
  color:var(--ob-azul,#007FA3);font-size:1.02rem;}
.obck-mini p{margin:0;font-size:.92rem;line-height:1.55;color:#52606A;}

/* Bloques de terceros (3 columnas que llenan el ancho) */
.obck-terceros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;}
.obck-tercero{background:#F7FAFB;border:1px solid var(--ob-borde,#E1E8EB);border-radius:14px;
  padding:18px 20px;}
@media(max-width:760px){.obck-terceros{grid-template-columns:1fr;}}
.obck-tercero h3{margin:0 0 6px;font-family:var(--ob-font-tit,inherit);font-weight:800;
  color:var(--ob-azul-oscuro,#005E7C);font-size:1.1rem;}
.obck-tercero h3 span{font-family:var(--ob-font-txt,inherit);font-weight:600;font-size:.82rem;
  color:#fff;background:var(--ob-azul,#007FA3);padding:3px 10px;border-radius:999px;margin-left:6px;vertical-align:middle;}
.obck-tercero p{margin:0;font-size:.96rem;}

/* Bloque CTA de preferencias */
.obck-bloque--cta{background:var(--ob-pistacho,#C4D600);background:linear-gradient(135deg,#F2F8FB,#E6F4F8);
  border-radius:16px;padding:26px 28px;border:1px solid #D4E8F0;}
.obck-bloque--cta h2{border-bottom:0;padding-bottom:0;margin-bottom:10px;}

/* Navegadores */
.obck-navs{list-style:none;padding:0;margin:14px 0;display:flex;flex-wrap:wrap;gap:10px;}
.obck-navs li{margin:0;}
.obck-navs a{display:inline-block;background:#fff;border:1px solid var(--ob-borde,#E1E8EB);
  border-radius:999px;padding:9px 18px;text-decoration:none;font-weight:700;
  font-family:var(--ob-font-tit,inherit);transition:.15s ease;}
.obck-navs a:hover{background:var(--ob-azul,#007FA3);color:#fff;border-color:var(--ob-azul,#007FA3);}
.obck-aviso{font-size:.92rem !important;color:#7a6500;background:#FBF7DD;border-radius:10px;
  padding:12px 16px;margin-top:6px;}

/* Listas y modelo de texto (páginas legales) */
.obck-lista{margin:12px 0 0;padding-left:22px;}
.obck-lista li{margin:0 0 9px;line-height:1.6;}
.obck-modelo{margin-top:14px;background:#F7FAFB;border:1px dashed var(--ob-azul,#007FA3);
  border-radius:12px;padding:16px 20px;font-style:italic;color:#3a4750;line-height:1.6;}

.obck-pagina__pie{margin-top:40px;padding-top:18px;border-top:1px solid var(--ob-borde,#E1E8EB);
  font-size:.92rem;color:#52606A;text-align:center;}

@media(max-width:760px){
  .obck-cards3{grid-template-columns:1fr;}
  .obck-bloque h2{font-size:1.3rem;}
}

@media(max-width:600px){
  .obck-banner{left:10px;right:10px;bottom:10px;width:auto;max-width:none;}
  .obck-card__cuerpo{padding:20px 18px 16px;}
  .obck-cat{padding:11px 12px;gap:10px;}
  .obck-cat em{font-size:.82rem;}
  .obck-titulo{font-size:1.2rem;padding-right:40px;}
  .obck-texto{font-size:.92rem;}
  .obck-prefs{max-height:40vh;}
  .obck-btns{justify-content:stretch;}
  .obck-btn{flex:1 1 calc(50% - 5px);text-align:center;padding:11px 12px;}
  .obck-btn--primario{flex-basis:100%;order:-1;}
}
