/*!
 * YMPULSA · Estilos del banner de consentimiento de cookies
 * Marca: azul #112E40 · dorado #E5BF31 · Poppins
 * Autónomo (no depende de style.css). Responsive. No afecta al resto del sitio.
 */

#ymp-cc[hidden] { display: none !important; }

#ymp-cc,
#ymp-cc * ,
#ymp-cc *::before,
#ymp-cc *::after { box-sizing: border-box; }

#ymp-cc {
  font-family: 'Poppins', Arial, 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ===== Barra inferior (primera visita) ===== */
#ymp-cc.ymp-cc--bar {
  position: fixed; left: 0; right: 0; bottom: 0;
  z-index: 2147483000;
  background: #112E40; color: #fff;
  box-shadow: 0 -10px 40px rgba(12, 26, 35, .28);
  padding: 16px clamp(1rem, 5vw, 4rem);
  animation: ymp-cc-up .28s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes ymp-cc-up { from { transform: translateY(100%); } to { transform: translateY(0); } }

#ymp-cc.ymp-cc--bar .ymp-cc__panel {
  max-width: 1240px; margin: 0 auto;
  display: flex; align-items: center; gap: 16px 28px; flex-wrap: wrap;
}
#ymp-cc.ymp-cc--bar .ymp-cc__body { flex: 1 1 340px; min-width: 0; }
#ymp-cc.ymp-cc--bar .ymp-cc__actions { flex: 0 0 auto; display: flex; gap: 12px; }

/* ===== Modal (enlace "Configurar cookies") ===== */
#ymp-cc.ymp-cc--modal {
  position: fixed; inset: 0; z-index: 2147483000;
  background: rgba(12, 26, 35, .55);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  animation: ymp-cc-fade .2s ease both;
}
@keyframes ymp-cc-fade { from { opacity: 0; } to { opacity: 1; } }

#ymp-cc.ymp-cc--modal .ymp-cc__panel {
  position: relative; background: #112E40; color: #fff;
  max-width: 520px; width: 100%; border-radius: 18px;
  padding: 28px 26px; box-shadow: 0 24px 70px rgba(12, 26, 35, .4);
}
#ymp-cc.ymp-cc--modal .ymp-cc__actions { display: flex; gap: 12px; margin-top: 22px; }

/* ===== Texto ===== */
.ymp-cc__title { margin: 0 0 6px; font-weight: 700; font-size: 1.05rem; color: #fff; }
.ymp-cc__text  { margin: 0; font-size: .92rem; line-height: 1.55; color: #E6ECEF; }
.ymp-cc__text a { color: #E5BF31; text-decoration: underline; }
.ymp-cc__text a:hover { color: #f0d35e; }
.ymp-cc__state { margin: 14px 0 0; font-size: .85rem; font-weight: 600; color: #E5BF31; }

/* ===== Botones (Aceptar y Rechazar con igual tamaño y visibilidad) ===== */
.ymp-cc__btn {
  font-family: inherit; font-weight: 600; font-size: .95rem;
  border-radius: 10px; padding: .72rem 1.5rem; min-height: 46px;
  border: 2px solid transparent; cursor: pointer; white-space: nowrap;
  transition: background .2s, border-color .2s, color .2s;
}
.ymp-cc__btn--accept { background: #E5BF31; color: #112E40; }
.ymp-cc__btn--accept:hover { background: #d4ad20; }
.ymp-cc__btn--reject { background: #fff; color: #112E40; border-color: #fff; }
.ymp-cc__btn--reject:hover { background: #e7edf0; border-color: #e7edf0; }
.ymp-cc__btn:focus-visible { outline: 3px solid #E5BF31; outline-offset: 2px; }

/* ===== Cerrar (×) ===== */
.ymp-cc__x {
  position: absolute; top: 10px; right: 12px;
  background: none; border: 0; color: #fff; font-size: 1.7rem; line-height: 1;
  cursor: pointer; padding: 2px 8px; border-radius: 8px;
}
.ymp-cc__x:hover { background: rgba(255, 255, 255, .12); }

/* ===== Responsive ===== */
@media (max-width: 680px) {
  #ymp-cc.ymp-cc--bar .ymp-cc__actions { width: 100%; }
  #ymp-cc.ymp-cc--bar .ymp-cc__btn { flex: 1 1 0; }
  #ymp-cc.ymp-cc--modal .ymp-cc__actions { flex-direction: column-reverse; }
  #ymp-cc.ymp-cc--modal .ymp-cc__btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  #ymp-cc.ymp-cc--bar, #ymp-cc.ymp-cc--modal { animation: none; }
}
