/* ============================================================
   FIRMA QUATTRO — Consentimiento de cookies
   Sin dependencias y sin recursos externos.
   Marca: teal #18737C, teal profundo #0E4A51, turquesa #39D5BF
   solo como acento sobre fondo oscuro, nunca sobre blanco.
   ============================================================ */

.fqc, .fqc * { box-sizing: border-box; }

/* ---------- Capa 1: barra inferior ---------- */
.fqc-barra{
  position:fixed; left:0; right:0; bottom:0; z-index:9000;
  background:#fff; border-top:1px solid var(--line,#dde9e8);
  box-shadow:0 -6px 24px rgba(16,40,44,.12);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.fqc-barra-int{
  max-width:1180px; margin:0 auto; padding:18px 28px;
  display:flex; align-items:center; gap:24px;
}
.fqc-texto{
  margin:0; font-size:14px; line-height:1.6; color:var(--text,#3c4a4b); max-width:70ch;
}
.fqc-texto strong{ color:var(--ink,#23302f); font-weight:600; }
.fqc-texto a{ color:var(--teal,#18737C); text-decoration:underline; text-underline-offset:2px; }
.fqc-texto a:hover{ color:var(--teal-deep,#0E4A51); }

/* Los tres botones comparten tamaño, tipografía y contraste. */
.fqc-acciones{ display:flex; gap:10px; margin-left:auto; flex-shrink:0; }
.fqc-btn{
  font-family:inherit; font-size:14px; font-weight:500; line-height:1;
  padding:12px 18px; min-width:122px; border-radius:2px; cursor:pointer;
  border:1px solid var(--teal,#18737C); background:#fff; color:var(--teal,#18737C);
  transition:background .2s, color .2s, border-color .2s;
}
.fqc-btn:hover{ background:var(--pale,#e9f6f5); }
.fqc-btn:focus-visible{ outline:3px solid var(--teal-deep,#0E4A51); outline-offset:2px; }

/* ---------- Capa 2: diálogo ---------- */
.fqc-fondo{
  position:fixed; inset:0; z-index:9100; background:rgba(14,74,81,.55);
  display:flex; align-items:center; justify-content:center; padding:20px;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.fqc-panel{
  background:#fff; width:100%; max-width:620px; max-height:88vh; overflow:auto;
  border-radius:4px; padding:30px; box-shadow:0 24px 60px rgba(14,74,81,.28);
}
.fqc-panel h2{
  font-family:"Source Serif 4",Georgia,serif; font-weight:500; color:var(--ink,#23302f);
  font-size:24px; line-height:1.2; margin:0 0 10px;
}
.fqc-panel .fqc-intro{ font-size:14px; line-height:1.65; color:var(--text,#3c4a4b); margin:0 0 22px; }
.fqc-panel .fqc-intro a{ color:var(--teal,#18737C); text-decoration:underline; text-underline-offset:2px; }

.fqc-cat{ border-top:1px solid var(--line,#dde9e8); padding:16px 0; }
.fqc-cat-cab{ display:flex; align-items:baseline; gap:12px; }
.fqc-cat h3{
  font-family:inherit; font-size:15px; font-weight:600; color:var(--ink,#23302f); margin:0; flex:1;
}
.fqc-cat p{ font-size:13.5px; line-height:1.6; color:var(--muted,#6a7a7b); margin:8px 0 0; }
.fqc-fija{ font-size:13px; font-weight:500; color:var(--teal,#18737C); white-space:nowrap; }

/* Interruptor accesible: es un checkbox real, estilado. */
.fqc-sw{ position:relative; display:inline-flex; align-items:center; cursor:pointer; }
.fqc-sw input{ position:absolute; opacity:0; width:44px; height:24px; margin:0; cursor:pointer; }
.fqc-sw span{
  width:44px; height:24px; border-radius:12px; background:#c9d6d6; position:relative;
  transition:background .2s; display:block;
}
.fqc-sw span:after{
  content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%;
  background:#fff; transition:transform .2s;
}
.fqc-sw input:checked + span{ background:var(--teal,#18737C); }
.fqc-sw input:checked + span:after{ transform:translateX(20px); }
.fqc-sw input:focus-visible + span{ outline:3px solid var(--teal-deep,#0E4A51); outline-offset:2px; }

.fqc-panel-pie{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:26px;
  padding-top:20px; border-top:1px solid var(--line,#dde9e8);
}
.fqc-panel-pie .fqc-btn{ flex:1; min-width:150px; }
.fqc-panel-pie .fqc-btn-principal{
  background:var(--teal,#18737C); color:#fff; border-color:var(--teal,#18737C);
}
.fqc-panel-pie .fqc-btn-principal:hover{ background:var(--teal-deep,#0E4A51); border-color:var(--teal-deep,#0E4A51); }

/* ---------- Aviso de contenido de terceros ---------- */
.fqc-aviso-terceros{
  font-size:13px; line-height:1.55; color:var(--muted,#6a7a7b);
  margin:-8px 0 14px; padding:10px 12px;
  background:var(--pale-2,#f3fbfa); border-left:2px solid var(--teal,#18737C);
}

/* ---------- Móvil ---------- */
@media (max-width:760px){
  .fqc-barra-int{ flex-direction:column; align-items:stretch; gap:14px; padding:16px 20px; }
  .fqc-acciones{ margin-left:0; flex-wrap:wrap; }
  .fqc-acciones .fqc-btn{ flex:1 1 100%; min-width:0; }
  .fqc-panel{ padding:22px 20px; max-height:92vh; }
  .fqc-panel-pie .fqc-btn{ flex:1 1 100%; }
}

/* Quien prefiere menos movimiento, no lo tiene. */
@media (prefers-reduced-motion:reduce){
  .fqc-btn, .fqc-sw span, .fqc-sw span:after{ transition:none; }
}

/* ---------- Enlace-botón para reabrir el panel desde el texto ---------- */
.fqc-enlace{
  font:inherit; color:var(--teal,#18737C); background:none; border:0; padding:0;
  text-decoration:underline; text-underline-offset:2px; cursor:pointer;
}
.fqc-enlace:hover{ color:var(--teal-deep,#0E4A51); }
.fqc-enlace:focus-visible{ outline:3px solid var(--teal-deep,#0E4A51); outline-offset:2px; }

/* ---------- Tabla de cookies de la política ---------- */
.tabla-cookies{
  width:100%; border-collapse:collapse; margin:22px 0; font-size:13.5px;
  font-family:"Inter",system-ui,sans-serif;
}
.tabla-cookies th{
  background:var(--teal,#18737C); color:#fff; text-align:left; padding:10px 12px;
  font-weight:600; font-size:12px; letter-spacing:.04em;
}
.tabla-cookies td{
  border:1px solid var(--line,#dde9e8); padding:10px 12px; vertical-align:top;
  color:var(--text,#3c4a4b); line-height:1.55;
}
.tabla-cookies tbody tr:nth-child(even) td{ background:var(--pale-2,#f3fbfa); }
.tabla-cookies code{ font-size:12.5px; color:var(--ink,#23302f); }
@media (max-width:760px){
  .tabla-cookies{ display:block; overflow-x:auto; white-space:nowrap; }
  .tabla-cookies td{ white-space:normal; min-width:150px; }
}
