/* =====================================================================
   FastDriver Plugin 1320 - Choose Your Path
   Scoped under .fdcp-section. Uses global theme variables:
     --primary-color-one  (lime accent)   --primary-color-two (dark bg)
     --creote-family-one  (headings)      --creote-family-two (body)
     --font-size-base     (base size)
   Fallbacks keep the original dark design if a variable is unset.
   ===================================================================== */
.fdcp-section, .fdcp-section *, .fdcp-section *::before, .fdcp-section *::after{ box-sizing:border-box; margin:0; padding:0; }
.fdcp-section{
  background: var(--primary-color-two, #0e0e0e);
  padding:80px 0 88px;
  position:relative;
  overflow:hidden;
  font-family: var(--creote-family-two, "Inter", system-ui, sans-serif);
  font-size: var(--font-size-base, 16px);
  -webkit-font-smoothing:antialiased;
}
/* subtle grid pattern */
.fdcp-section::before{
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(193,241,29,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(193,241,29,.04) 1px, transparent 1px);
  background-size:48px 48px; pointer-events:none;
}
.fdcp-section a{ color:inherit; text-decoration:none; }
.fdcp-container{ max-width:1200px; margin:0 auto; padding:0 32px; position:relative; }

/* ── Header ── */
.fdcp-header{ text-align:center; margin-bottom:60px; }
.fdcp-label{
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(193,241,29,.12);
  border:1px solid rgba(193,241,29,.3);
  color: var(--primary-color-one, #c1f11d);
  font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:6px 16px; border-radius:100px; margin-bottom:20px;
}
.fdcp-title{
  font-family: var(--creote-family-one, "Inter", sans-serif);
  font-size:clamp(30px,4vw,48px); font-weight:800; color:#fff;
  line-height:1.08; letter-spacing:-.03em; margin-bottom:14px;
}
.fdcp-title span{ color: var(--primary-color-one, #c1f11d); }
.fdcp-desc{ font-size:clamp(15px,2vw,17px); color:rgba(255,255,255,.55); max-width:560px; margin:0 auto; line-height:1.7; }

/* ── Grid ── */
.fdcp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }

/* ── Card ── */
.fdcp-card{
  position:relative; border-radius:20px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(12px);
  display:flex; flex-direction:column;
  transition:border-color .25s, box-shadow .25s, transform .25s;
  cursor:pointer; overflow:hidden;
}
.fdcp-card:hover{
  border-color:rgba(193,241,29,.5);
  box-shadow:0 0 0 1px rgba(193,241,29,.2), 0 20px 60px rgba(0,0,0,.4);
  transform:translateY(-4px);
}
.fdcp-card:focus-within{ outline:3px solid var(--primary-color-one, #c1f11d); outline-offset:2px; }
@media(prefers-reduced-motion:reduce){ .fdcp-card{ transition:none; } }

/* glow on hover */
.fdcp-card::after{
  content:''; position:absolute; top:-40%; left:-20%;
  width:140%; height:80%;
  background:radial-gradient(ellipse, rgba(193,241,29,.06) 0%, transparent 70%);
  opacity:0; transition:opacity .3s; pointer-events:none;
}
.fdcp-card:hover::after{ opacity:1; }

/* featured card */
.fdcp-card--featured{
  background:linear-gradient(145deg, #181818 0%, #111 100%);
  border-color:rgba(193,241,29,.25);
}

.fdcp-card__link{ display:flex; flex-direction:column; padding:32px 28px 28px; height:100%; }
.fdcp-card__link:focus-visible{ outline:none; }

/* label / type */
.fdcp-card__badge{ display:inline-flex; align-items:center; gap:8px; margin-bottom:24px; }
.fdcp-card__type{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); }
.fdcp-card--featured .fdcp-card__type{ color:rgba(193,241,29,.7); }

/* icon */
.fdcp-card__icon{
  width:72px; height:72px; margin-bottom:22px;
  background:rgba(255,255,255,.07); border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:background .2s;
  color:#fff;
}
.fdcp-card:hover .fdcp-card__icon{ background:rgba(193,241,29,.15); color: var(--primary-color-one, #c1f11d); }
.fdcp-card--featured .fdcp-card__icon{ background:rgba(193,241,29,.1); }
.fdcp-card--featured:hover .fdcp-card__icon{ background:rgba(193,241,29,.2); }
.fdcp-card__icon svg{ width:40px; height:40px; }
/* recolour stroked icons to match text colour (use currentColor in SVG for best results) */
.fdcp-card__icon svg [stroke]:not([stroke="none"]){ stroke:currentColor; }

/* headline */
.fdcp-card__title{
  font-family: var(--creote-family-one, "Inter", sans-serif);
  font-size:21px; font-weight:800; color:#fff;
  line-height:1.18; letter-spacing:-.02em; margin-bottom:10px;
}
/* desc */
.fdcp-card__desc{ font-size:14px; color:rgba(255,255,255,.55); line-height:1.65; margin-bottom:8px; }
/* support */
.fdcp-card__support{
  font-size:12.5px; color:rgba(255,255,255,.35); line-height:1.6;
  margin-bottom:20px; padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.fdcp-card--featured .fdcp-card__support{ border-bottom-color:rgba(193,241,29,.1); }

/* bullets */
.fdcp-card__bullets{ list-style:none; margin-bottom:20px; display:flex; flex-direction:column; gap:8px; }
.fdcp-card__bullets li{ display:flex; align-items:flex-start; gap:9px; font-size:13px; color:rgba(255,255,255,.65); line-height:1.45;padding-left: 22px; }
.fdcp-card__bullets li::before{
  content:''; width:16px; height:16px; border-radius:5px;
  background: var(--primary-color-one, #c1f11d); flex-shrink:0; margin-top:1px;
  background-image:url("data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l1.5 1.5L6 2.5' stroke='%23111' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center;
}

/* CTA button */
.fdcp-card__btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 20px; border-radius:10px;
  background: var(--primary-color-one, #c1f11d); color:#111;
  font-size:14px; font-weight:700;
  transition:gap .2s, background .15s; margin-top:auto;
}
.fdcp-card:hover .fdcp-card__btn{ gap:12px; }
.fdcp-card__btn svg{ color:#111; }

/* ── Responsive ── */
@media(max-width:960px){
  .fdcp-grid{ grid-template-columns:1fr; }
  .fdcp-section{ padding:56px 0 64px; }
  .fdcp-container{ padding:0 20px; }
  .fdcp-header{ margin-bottom:40px; }
}
@media(max-width:640px){
  .fdcp-card__link{ padding:24px 20px 20px; }
  .fdcp-card__title{ font-size:19px; }
}
