/* TramGO — banner de cookies y huecos de publicidad (usa las variables de app.css) */

.consent {
  position: fixed; z-index: 90; left: 12px; right: 12px; bottom: calc(12px + var(--safe-b, 0px));
  max-width: 520px; margin-inline: auto;
  background: var(--card); color: var(--fg);
  border-radius: var(--r-l); padding: 16px 18px 14px;
  box-shadow: var(--shadow-3), inset 0 0 0 1px var(--line-2);
  display: grid; gap: 10px;
  animation: consent-in .45s var(--ease-out);
}
@keyframes consent-in { from { transform: translateY(24px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .consent { animation: none; } }

.consent h2 { font: 760 19px/1.15 var(--font-display); letter-spacing: -.02em; }
.consent p { font-size: 14.5px; line-height: 1.45; color: var(--fg-2); text-wrap: pretty; }
.consent p b { color: var(--fg); }
.consent a { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.consent .consent-more { font-size: 13px; color: var(--fg-3); }

.consent-opts { display: grid; gap: 8px; }
.consent-opts[hidden], .consent [hidden] { display: none !important; }
.consent-opt { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; padding: 10px 12px; border-radius: var(--r-m); background: var(--bg-2); cursor: pointer; }
.consent-opt input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--persiana-700); }
.consent-opt b { display: block; font-size: 15px; }
.consent-opt small { display: block; font-size: 13px; line-height: 1.4; color: var(--fg-3); margin-top: 2px; }

/* Aceptar y rechazar con el mismo peso visual */
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 2px; }
.consent-actions .btn { min-height: 46px; width: 100%; justify-content: center; }
.consent-actions .btn[data-a="config"], .consent-actions .btn[data-a="save"] { grid-column: 1 / -1; }

@media (min-width: 900px) {
  .consent { left: auto; right: 20px; bottom: 20px; margin: 0; }
}

/* Anuncios: un bloque discreto, siempre rotulado como publicidad y sin tapar los horarios */
.ad-slot { margin: 18px 0 4px; padding: 8px 0 0; border-top: 1px solid var(--line); min-height: 0; overflow: hidden; }
.ad-slot[hidden] { display: none; }
.ad-label { display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 4px; }
.ad-slot .adsbygoogle { min-height: 50px; max-height: 280px; }
