/**
 * IAO Content Card Widget Styles
 * 
 * Stili per il widget IAO Content Card
 * @package IAO_Theme
 */

/* Base Card Styles */
.iao-card {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  min-height: 420px;
  color: #fff;
  background: #111;
  /* Zoom proporzionale dell'intera card */
  transform: scale(var(--iao-card-scale, 1));
  transform-origin: var(--iao-card-origin, top left);
  will-change: transform;
}

.iao-card__bg {
  position: absolute; 
  inset: 0;
  background-size: cover; 
  background-position: center;
  filter: saturate(1.05);
  transform: scale(1);
  transition: transform .4s ease;
}

.iao-card:hover:not(:has(.iao-card__cat-link:hover)) .iao-card__bg { 
  transform: scale(var(--iao-bg-hover-scale, 1.06)); 
}

.iao-card__overlay {
  position: absolute; 
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.0) 30%, rgba(0,0,0,0.75) 80%);
  opacity: 1;
}

.iao-card__inner {
  position: absolute; 
  inset: 0; 
  display: grid; 
  align-content: end;
  padding: 20px; 
  gap: 12px; 
  text-align: center;
}

/* Card Content Elements */
.iao-card__title { 
  font-weight: 800; 
  letter-spacing: .02em; 
  margin: 0; 
}

.iao-card__subtitle { 
  margin: 0; 
  opacity: .95; 
}

.iao-card__divider { 
  width: 28px; 
  height: auto; 
  display: inline-block; 
  margin-inline: auto; 
}

.iao-card__divider-text { 
  display: inline-block; 
  font-weight: 700; 
  letter-spacing: .06em; 
}

.iao-card__meta { 
  display: flex; 
  justify-content: center; 
  align-items: center; 
  gap: 12px; 
  font-size: 14px; 
  opacity: .9; 
}

.iao-card__meta .iao-card__cat { 
  text-transform: none; 
}

/* Card Link Overlay */
.iao-card__link-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  text-decoration: none;
  color: transparent;
  cursor: pointer;
}

.iao-card__link-overlay:hover {
  text-decoration: none;
  color: transparent;
}

/* Category Link Styling */
.iao-card__cat-link {
  text-decoration: none;
  color: inherit;
  /* Evita doppio offset: il badge è assoluto, il link resta statico */
  position: static;
  z-index: 10;
  display: inline-block;
  cursor: pointer;
  width: auto;
  height: auto;
}

.iao-card__cat-link:hover {
  text-decoration: none;
  color: inherit;
}

/* Category Badge Styling */
.iao-card__cat-badge {
  background: #fff;
  color: #111;
  font-weight: 700;
  border-radius: 999px;
  font-size: 12px;
  padding: 6px 10px;
  white-space: nowrap;
  display: inline-block;
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
}

/* Assicura che il badge resti cliccabile sopra l'overlay della card */
.iao-card__cat-badge { pointer-events: auto; }
.iao-card__link-overlay { pointer-events: auto; }

/* Category Hover Effects */
.iao-card__cat-link:hover .iao-card__cat-badge,
.iao-card__cat-badge:hover {
  transition: background-color 0.3s ease;
}

/* Elementor Widget Specific Styles */
.elementor-widget-iao-content-card .iao-card__cat-link:hover .iao-card__cat-badge,
.elementor-widget-iao-content-card .iao-card__cat-badge:hover {
  transition: background-color 0.3s ease;
}

/* Stato inattivo opzionale (usato in preview slider) */
.iao-card--inactive {
  opacity: var(--iao-inactive-opacity, 0.6);
  filter: blur(var(--iao-inactive-blur, 0));
  transform: scale(var(--iao-inactive-scale, 1));
  transition: opacity .3s ease, filter .3s ease, transform .3s ease;
}
