/* Ingetrans – Licenses Widget CSS */
:root { --gflicenses-brand: #EF4444; }

.gflicenses-section { background:#0f172a; padding:112px 0; overflow:hidden; color:#fff; }
.gflicenses-container { max-width:1440px; margin:0 auto; padding:0 24px; }
@media(min-width:1024px){ .gflicenses-container { padding:0 48px; } }

/* Header */
.gflicenses-header { text-align:center; max-width:720px; margin:0 auto 64px; }
.gflicenses-eyebrow { display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:3px; font-weight:700; color:var(--gflicenses-brand); margin-bottom:12px; }
.gflicenses-title   { font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-0.03em; line-height:1.1; color:#fff; margin:0 0 20px; }
.gflicenses-subtitle{ font-size:1.0625rem; color:#94a3b8; line-height:1.7; margin:0; }

/* Grid */
.gflicenses-grid { display:grid; gap:20px; }
.gflicenses-grid--2 { grid-template-columns:repeat(2,1fr); }
.gflicenses-grid--3 { grid-template-columns:repeat(3,1fr); }
.gflicenses-grid--4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:1279px){ .gflicenses-grid--4,.gflicenses-grid--3 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:639px) { .gflicenses-grid--4,.gflicenses-grid--3,.gflicenses-grid--2 { grid-template-columns:1fr; } }

/* Card */
.gflicenses-card {
  padding: 28px;
  border-radius: 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  transition: background .4s ease, border-color .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.gflicenses-card:hover { background:rgba(255,255,255,0.07); border-color: rgba(245, 158, 11, 0.3); }
.gflicenses-card--link { cursor:pointer; }
.gflicenses-card--link:hover { transform:translateY(-3px); }

/* Card top */
.gflicenses-card__top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:20px; gap:8px; }
.gflicenses-card__icon {
  width:48px; height:48px;
  border-radius:12px;
  background: rgba(245, 158, 11, 0.15);
  color: var(--gflicenses-brand, #EF4444);
  display:grid; place-items:center;
  flex-shrink:0;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.gflicenses-card:hover .gflicenses-card__icon { transform:scale(1.1); }
.gflicenses-card__icon i, .gflicenses-card__icon svg, .gflicenses-card__icon img { font-size:1.25rem; width:22px !important; height:22px !important; fill: currentColor; max-width:100%; object-fit:contain; }
.gflicenses-card__icon svg path { fill: currentColor; }

.gflicenses-card__code {
  font-size:10px;
  font-family:monospace;
  font-weight:700;
  color:#475569;
  text-transform:uppercase;
  letter-spacing:.1em;
  line-height:1.4;
  text-align:right;
  flex:1;
}
.gflicenses-card__ext-icon {
  color:#475569;
  opacity:0;
  transform:translateY(-2px);
  transition:opacity .25s ease, transform .25s ease;
  flex-shrink:0;
}
.gflicenses-card:hover .gflicenses-card__ext-icon { opacity:1; transform:none; }

/* Text */
.gflicenses-card__title { font-size:1.0625rem; font-weight:800; color:#fff; margin:0 0 8px; letter-spacing:-0.02em; line-height:1.3; }
.gflicenses-card__desc  { font-size:0.8125rem; color:#94a3b8; line-height:1.65; margin:0 0 20px; flex:1; }

/* Footer */
.gflicenses-card__footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:16px; border-top:1px solid rgba(255,255,255,0.08); margin-top:auto; }
.gflicenses-card__issuer { font-size:11px; color:#64748b; }

/* Validity badge */
.gflicenses-valid { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:600; white-space:nowrap; }
.gflicenses-valid__dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; }

.gflicenses-valid--green  { color:#4ade80; }
.gflicenses-valid--green  .gflicenses-valid__dot { background:#4ade80; animation:gflicenses-pulse 1.8s ease-in-out infinite; }
.gflicenses-valid--yellow { color:#fbbf24; }
.gflicenses-valid--yellow .gflicenses-valid__dot { background:#fbbf24; animation:gflicenses-pulse 1.8s ease-in-out infinite; }
.gflicenses-valid--red    { color:#f87171; }
.gflicenses-valid--red    .gflicenses-valid__dot { background:#f87171; }
.gflicenses-valid--gray   { color:#94a3b8; }
.gflicenses-valid--gray   .gflicenses-valid__dot { background:#94a3b8; }

@keyframes gflicenses-pulse {
  0%,100% { box-shadow:0 0 0 0 currentColor; opacity:1; }
  50%      { box-shadow:0 0 0 4px transparent; opacity:.7; }
}

/* Reveal */
.gflicenses-reveal { opacity:0; transform:translateY(28px); transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1); }
.gflicenses-reveal.gflicenses-animated { opacity:1; transform:none; }

.gflicenses-card__icon svg, .gflicenses-card__icon i,
.gflicenses-stat__icon svg, .gflicenses-stat__icon i {
  width: 24px;
  height: 24px;
  font-size: 24px;
  flex-shrink: 0;
  color: inherit;
}
