/* VFCM v1.0.37 — offres commerciales bilingues et administrables. */
.membership_plan_block + .row,
.vfx-item-info > .container-fluid > .row { align-items: stretch; }
.vfcm-plan-card {
  --plan-color: #18c7d9;
  position: relative;
  display: flex;
  flex-direction: column;
  height: calc(100% - 25px);
  padding: 0 24px 24px;
  color: #fff;
  text-align: left;
  background: linear-gradient(155deg, color-mix(in srgb, var(--plan-color) 17%, #17102f), #110a26 48%, #0d071d);
  border: 1px solid color-mix(in srgb, var(--plan-color) 55%, transparent);
  border-top: 5px solid var(--plan-color);
  box-shadow: 0 18px 45px rgba(5, 2, 18, .38), inset 0 1px rgba(255,255,255,.05);
  overflow: visible;
}
.vfcm-plan-card::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:9px; background:radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--plan-color) 20%, transparent), transparent 35%); }
.vfcm-plan-heading { position:relative; z-index:1; display:flex; align-items:center; gap:12px; min-height:92px; padding:20px 0 14px; border-bottom:1px solid rgba(255,255,255,.1); }
.vfcm-plan-card .vfcm-plan-heading h3 { margin:0; padding:0; background:none; font-size:22px; line-height:1.2; text-align:left; }
.vfcm-plan-icon { flex:0 0 46px; width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; border-radius:14px; color:#071022; font-size:21px; background:var(--plan-color); box-shadow:0 0 24px color-mix(in srgb, var(--plan-color) 45%, transparent); }
.vfcm-plan-badge { position:absolute; z-index:3; top:-16px; right:18px; padding:7px 11px; border-radius:999px; color:#071022; background:var(--plan-color); font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.vfcm-plan-summary { position:relative; z-index:1; min-height:100px; margin:17px 0 15px; color:#dcd6eb; font-size:15px; line-height:1.55; }
.vfcm-plan-price { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:18px; padding:13px 0; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.vfcm-plan-price strong { color:#fff; font-size:34px; line-height:1; }
.vfcm-plan-price strong > span { color:var(--plan-color); font-size:20px; }
.vfcm-plan-duration { color:#bdb5d3; font-size:13px; font-weight:700; }
.vfcm-plan-audience { position:relative; z-index:1; margin-bottom:18px; padding:13px 14px; border-left:3px solid var(--plan-color); background:rgba(255,255,255,.055); border-radius:0 8px 8px 0; }
.vfcm-plan-audience span { display:block; margin-bottom:5px; color:var(--plan-color); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.vfcm-plan-audience p { margin:0; color:#eeeaf6; font-size:13px; line-height:1.45; }
.vfcm-plan-section { position:relative; z-index:1; margin-bottom:17px; }
.vfcm-plan-card .vfcm-plan-section h4 { margin:0 0 10px; color:#fff; font-size:14px; font-weight:800; }
.vfcm-plan-section ul { margin:0; padding:0; list-style:none; }
.vfcm-plan-section li { position:relative; margin:0 0 8px; padding-left:20px; color:#d5cfe2; font-size:13px; line-height:1.45; }
.vfcm-plan-section li::before { content:"\f00c"; position:absolute; left:0; top:2px; color:var(--plan-color); font-family:FontAwesome; font-size:11px; }
.vfcm-plan-deliverables li::before { content:"\f019"; }
.vfcm-plan-meta { position:relative; z-index:1; margin:2px 0 12px; color:#e5dfef; font-size:13px; font-weight:700; }
.vfcm-plan-meta i { margin-right:6px; color:var(--plan-color); }
.vfcm-plan-conditions { position:relative; z-index:1; margin:0 0 18px; color:#aaa1bd; font-size:11px; line-height:1.45; }
.vfcm-plan-button { position:relative; z-index:2; display:block; margin-top:auto; padding:13px 14px; border:1px solid var(--plan-color); border-radius:8px; color:#071022 !important; background:var(--plan-color); font-size:13px; font-weight:900; letter-spacing:.03em; text-align:center; text-transform:uppercase; transition:transform .2s ease, box-shadow .2s ease; }
.vfcm-plan-button:hover { transform:translateY(-2px); box-shadow:0 10px 24px color-mix(in srgb, var(--plan-color) 25%, transparent); }
@supports not (color: color-mix(in srgb, red, blue)) { .vfcm-plan-card { background:linear-gradient(155deg,#20143e,#0d071d); border-color:var(--plan-color); } }
@media (max-width:1199px) { .vfcm-plan-summary { min-height:0; } }
@media (max-width:575px) { .vfcm-plan-card { padding:0 19px 20px; } .vfcm-plan-heading { min-height:82px; } }
