/* UniversCarte - Bannière Impression Carte PVC */
:root {
  /* Réutilisation des variables de support-video pour cohérence */
  --uc-color-primary-dark: var(--color-primary-dark, #295491);
  --uc-color-secondary: var(--color-secondary, #21bdd0);
  --uc-color-secondary-rgb: var(--color-secondary-rgb, 33, 189, 208);
  --uc-color-accent: var(--color-accent, #05ac72);
  --uc-surface: var(--color-surface, #ffffff);
  --uc-text: var(--color-text-primary, #212529);
  --uc-radius: var(--radius-lg, 12px);
  --uc-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05));
}

.uc-impression-banner {
  position: relative;
  margin: 0;
  padding: calc(0.5rem + 0.5cm) 0;
  overflow: hidden;
  animation: uc-impression-fade-in 0.35s ease-out 0.05s both;
}

.uc-impression-banner__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: calc(0.75rem + 0.5cm) 1rem;
  background: var(--uc-surface);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: var(--uc-radius);
  box-shadow: var(--uc-shadow);
  position: relative;
  z-index: 1;
  overflow: hidden;
  min-height: 80px; /* Force la même hauteur que support-video */
}

.uc-impression-banner__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.08;
  pointer-events: none;
}

.uc-impression-banner__icon {
  color: var(--uc-color-primary-dark);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: rgba(var(--uc-color-secondary-rgb), 0.18);
}

.uc-impression-banner__content {
  flex: 1 1 auto;
  min-width: 0;
}

.uc-impression-banner__title {
  font-weight: 700;
  color: var(--uc-color-primary-dark);
  line-height: 1.2;
}

.uc-impression-banner__subtitle {
  font-size: 0.95rem;
  color: var(--uc-text);
  opacity: 0.85;
  margin-top: 2px;
}

.uc-impression-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--uc-color-primary-dark);
  border: 2px solid var(--uc-color-primary-dark);
  border-radius: 9999px;
  padding: 0.5rem 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
}

.uc-impression-banner__cta:hover,
.uc-impression-banner__cta:focus-visible {
  background: var(--uc-color-secondary);
  color: #ffffff;
  border-color: var(--uc-color-secondary);
  box-shadow: 0 10px 22px rgba(var(--uc-color-secondary-rgb), 0.35);
  outline: none;
}

/* Hover glow pour la capsule */
.uc-impression-banner__inner:hover {
  box-shadow: 0 10px 22px rgba(var(--uc-color-secondary-rgb), 0.25);
}

/* Gradient theme avec effet sweep */
.uc-impression-banner.theme-gradient .uc-impression-banner__inner {
  background: linear-gradient(135deg, var(--uc-color-primary-dark), var(--uc-color-secondary));
  border: none;
  color: #fff;
  overflow: hidden;
  transition: all 0.6s ease;
}

.uc-impression-banner.theme-gradient .uc-impression-banner__inner::after {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.15);
  transform: skewY(-10deg);
  transition: all 0.6s ease;
  pointer-events: none;
}

.uc-impression-banner.theme-gradient .uc-impression-banner__inner:hover::after {
  top: 100%;
}

.uc-impression-banner.theme-gradient .uc-impression-banner__inner:hover {
  background: linear-gradient(135deg, var(--uc-color-secondary), var(--uc-color-accent));
}

.uc-impression-banner.theme-gradient .uc-impression-banner__title {
  color: #ffffff;
}

.uc-impression-banner.theme-gradient .uc-impression-banner__subtitle {
  color: #f6f8fa;
  opacity: 0.95;
}

.uc-impression-banner.theme-gradient .uc-impression-banner__icon {
  color: #fff;
  background: rgba(255,255,255,0.22);
}

.uc-impression-banner.theme-gradient .uc-impression-banner__cta {
  color: #ffffff;
  border-color: #ffffff;
}

.uc-impression-banner.theme-gradient .uc-impression-banner__cta:hover,
.uc-impression-banner.theme-gradient .uc-impression-banner__cta:focus-visible {
  background: rgba(255,255,255,0.18);
  box-shadow: 0 10px 22px rgba(var(--uc-color-secondary-rgb), 0.35);
}

/* Responsive mobile */
@media (max-width: 640px) {
  .uc-impression-banner__subtitle {
    display: none;
  }
}

/* Fade-in keyframes */
@keyframes uc-impression-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .uc-impression-banner {
    animation: none;
  }
}
