/* =====================================================================
   FastDriver Plugin 1319 - European Information Grid
   Scoped under .fdei-section. Uses global theme variables:
     --primary-color-one  (lime accent)   --primary-color-two (dark)
     --creote-family-one  (headings)      --creote-family-two (body)
     --font-size-base     (base size)     --text-color-dark   (body text)
   ===================================================================== */
.fdei-section, .fdei-section *, .fdei-section *::before, .fdei-section *::after{ box-sizing:border-box; }
.fdei-section{
  background:#f4f6f0;
  padding:72px 0 80px;
  position:relative;
  font-family: var(--creote-family-two, "Inter", sans-serif);
  font-size: var(--font-size-base, 17px);
  color: var(--text-color-dark, #4a4e56);
  -webkit-font-smoothing:antialiased;
}
.fdei-section a{ color:inherit; text-decoration:none; }
.fdei-container{ max-width:1200px; margin:0 auto; padding:0 32px; }

/* ── Header ── */
.fdei-header{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:44px; }
.fdei-label{
  display:inline-flex; align-items:center; gap:7px;
  background: var(--primary-color-one, #c1f11d);
  color: var(--primary-color-two, #141414);
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:6px 16px; border-radius:100px; margin-bottom:14px;
}
.fdei-title{
  font-family: var(--creote-family-one, "Spartan", sans-serif);
  font-size:clamp(26px,3.5vw,38px); font-weight:800;
  color: var(--primary-color-two, #141414);
  line-height:1.12; letter-spacing:-.02em; margin:0;
}
.fdei-header__right{ padding-bottom:4px; }
.fdei-desc{ font-size:calc(var(--font-size-base, 17px) - 2px); color: var(--text-color-dark, #555); line-height:1.7; max-width:440px; margin:0; }

/* ── Filters ── */
.fdei-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; }
.fdei-filter{
  padding:7px 16px; border-radius:100px; font-size:13px; font-weight:600; cursor:pointer;
  border:1.5px solid #ddd; background:#fff; color: var(--text-color-dark, #555);
  font-family:inherit; transition:all .15s;
}
.fdei-filter:hover{ border-color: var(--primary-color-two, #111); color: var(--primary-color-two, #111); }
.fdei-filter.active{ border-color: var(--primary-color-two, #111); background: var(--primary-color-two, #111); color: var(--primary-color-one, #c1f11d); }
.fdei-filter:focus-visible{ outline:3px solid var(--primary-color-one, #c1f11d); outline-offset:2px; }

/* ── Grid ── */
.fdei-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }

/* ── Card ── */
.fdei-card{
  position:relative; border-radius:16px; border:1.5px solid #e4e8dc; background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
  transition:border-color .18s, box-shadow .18s, transform .18s;
  cursor:pointer; overflow:hidden;
}
.fdei-card::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background: var(--primary-color-one, #c1f11d);
  transform:scaleX(0); transition:transform .2s; transform-origin:left; border-radius:0 0 2px 2px;
}
.fdei-card:hover{ border-color: var(--primary-color-one, #c1f11d); box-shadow:0 8px 32px rgba(80,100,0,.12); transform:translateY(-3px); }
.fdei-card:hover::after{ transform:scaleX(1); }
.fdei-card:focus-within{ outline:3px solid var(--primary-color-one, #c1f11d); outline-offset:2px; }
@media(prefers-reduced-motion:reduce){ .fdei-card, .fdei-card::after{ transition:none; } }

.fdei-card__link{ display:flex; flex-direction:column; padding:26px 22px 20px; height:100%; }
.fdei-card__link:focus-visible{ outline:none; }

.fdei-card__icon{
  width:56px; height:56px; border-radius:12px;
  background:#f0f7d4; color: var(--primary-color-two, #141414);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; flex-shrink:0; transition:background .18s;
}
.fdei-card:hover .fdei-card__icon{ background: var(--primary-color-one, #c1f11d); }
.fdei-card__icon svg{ width:28px; height:28px; }

.fdei-card__title{
  font-family: var(--creote-family-one, "Spartan", sans-serif);
  font-size:15px; font-weight:800; color: var(--primary-color-two, #141414);
  line-height:1.25; margin:0 0 8px; letter-spacing:-.01em;
}
.fdei-card__desc{ font-size:13px; color: var(--text-color-dark, #555); line-height:1.6; flex:1; margin:0 0 16px; }

.fdei-card__cta{ display:flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; color:#2a3d00; margin-top:auto; transition:gap .15s; }
.fdei-card:hover .fdei-card__cta{ gap:8px; color:#1a2a00; }
.fdei-card__cta svg{ flex-shrink:0; transition:transform .15s; }
.fdei-card:hover .fdei-card__cta svg{ transform:translateX(2px); }

/* ── Responsive ── */
@media(max-width:1100px){ .fdei-grid{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:860px){
  .fdei-header{ grid-template-columns:1fr; gap:12px; }
  .fdei-desc{ max-width:100%; }
  .fdei-grid{ grid-template-columns:repeat(3,1fr); }
  .fdei-section{ padding:52px 0 60px; }
}
@media(max-width:640px){
  .fdei-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .fdei-container{ padding:0 16px; }
  .fdei-card__link{ padding:16px 14px 14px; }
}
@media(max-width:360px){ .fdei-grid{ grid-template-columns:1fr; } }
