/**
 * Component: ccy_card
 * Base styles for the generic card component using design tokens.
 */

.ccy-card {
  border-radius: 12px;
  padding: clamp(1rem, 2vw, 1.75rem);
  border-top: 3px solid var(--ccy-primary);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  font-size: var(--font_size_card_text);
  background: var(--ccy-bg-dark_cards);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transform: translateX(-60px);
  opacity: 0;
  transition:
    transform 0.5s ease-out,
    opacity 0.5s ease-out;
}

.ccy-card.show {
  transform: translateX(0);
  opacity: 1;
}


.ccy-card:hover {
  transform: scale(1.02);
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.12),
    0 4px 6px -2px rgba(0, 0, 0, 0.07);
}

.ccy-card__header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
}

.ccy-card__title {
  color: var(--ccy-primary);
  font-family: "Smooch Sans", sans-serif !important;
  font-weight: 800;
  font-size: var(--font_size_card_title);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ccy-card__icon {
  color: var(--ccy-hero-bgy);
  font-size: 1.1rem;
}

.ccy-card__body {
  color: var(--ccy-hero-bg, #333);
  line-height: 1.6;
}

.ccy-card__footer {
  border-top: 1px solid var(--ccy-hero-bg, #333);
  margin-top: 1rem;
  padding-top: 0.75rem;
}

/* Fix #1 + Fix #5: nel carousel GSAP gestisce transform, opacity e box-shadow.
   Azzeriamo lo stato iniziale animato e il CSS hover per non combattere con GSAP. */
#context_platform .card-track .ccy-card {
  transform: none;
  opacity: 1;
  transition: none; /* GSAP usa inline style, CSS transition interferirebbe */
}

#context_platform .card-track .ccy-card:hover {
  transform: none; /* quickTo gestisce scale */
  box-shadow: none; /* gsap.to gestisce box-shadow */
}

/* ===== Modifiers: border-top colorato ===== */
.ccy-card--accent {
  border-top: 4px solid var(--ccy-accent, #ffc107);
}

.ccy-card--primary {
  border-top: 4px solid var(--ccy-primary, #007bff);
}

/* ===== Dark variant ===== */
.ccy-card--dark {
  border-top: 3px solid var(--ccy-accent, #ffc107);
  background: var(--ccy-bg-light_cards);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  font-size: var(--font_size_card_text);
  border-radius: 12px;
  padding: clamp(1rem, 2vw, 1.75rem);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  font-size: var(--font_size_card_text);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.ccy-card--dark:hover {
  box-shadow:
    0 10px 20px -3px rgba(0, 0, 0, 0.5),
    0 4px 8px -2px rgba(0, 0, 0, 0.35);
}

.ccy-card--dark .ccy-card__header {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.ccy-card--dark .ccy-card__title {
  color: var(--ccy-accent);
}

.ccy-card--dark .ccy-card__icon {
  color: var(--ccy-accent, #ffc107);
}

.ccy-card--dark .ccy-card__body {
  color: var(--ccy-dark, #333);
}

.ccy-card--dark .ccy-card__footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

/* Dark + border-top colorato */
.ccy-card--dark.ccy-card--accent {
  border-top: 4px solid var(--ccy-accent, #ffc107);
}

.ccy-card--dark.ccy-card--primary {
  border-top: 4px solid var(--ccy-primary, #007bff);
}

.ccy-card__claim {
  color: var(--ccy-accent);
  font-weight: 900;
  font-size: 1.1rem;
}

.ccy-card__nis2 {
  background-image: url("/image/NIS2.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 250px;
  height: 250px;
  backdrop-filter: blur(0px);
  border-radius: 12px;
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
  padding: clamp(1rem, 2vw, 1.75rem);
  border: 1px solid rgba(0, 0, 0, 0);
  border-top: 1px solid transparent;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.ccy-card__nis2:hover {
  transform: scale(1);
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
}

.ccy-card__iso27001 {
  background-image: url("/image/ISO27001.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 250px;
  height: 250px;
  backdrop-filter: blur(0px);
  border-radius: 12px;
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
  padding: clamp(1rem, 2vw, 1.75rem);
  border: 1px solid rgba(0, 0, 0, 0);
  border-top: 1px solid transparent;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.ccy-card__iso27001:hover {
  transform: scale(1);
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
}

.ccy-card__dora {
  background-image: url("/image/DORA.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 250px;
  height: 250px;
  backdrop-filter: blur(0px);
  border-radius: 12px;
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
  padding: clamp(1rem, 2vw, 1.75rem);
  border: 1px solid rgba(0, 0, 0, 0);
  border-top: 1px solid transparent;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.ccy-card__dora:hover {
  transform: scale(1);
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
}

.ccy-card__gdpr {
  background-image: url("/image/GDPR.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 250px;
  height: 250px;
  backdrop-filter: blur(0px);
  border-radius: 12px;
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
  padding: clamp(1rem, 2vw, 1.75rem);
  border: 1px solid rgba(0, 0, 0, 0);
  border-top: 1px solid transparent;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.ccy-card__gdpr:hover {
  transform: scale(1);
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
}


.ccy-card__tisax {
  background-image: url("/image/TISAX.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 250px;
  height: 250px;
  backdrop-filter: blur(0px);
  border-radius: 12px;
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
  padding: clamp(1rem, 2vw, 1.75rem);
  border: 1px solid rgba(0, 0, 0, 0);
  border-top: 1px solid transparent;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.ccy-card__tisax:hover {
  transform: scale(1);
  box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0);
}