
:root{
  --icfb-primary:#E94D65;
  --icfb-secondary:#043D72;
  --icfb-bg:#0b1220;
}
/* HERO FULL SCREEN */
.icfb-hero.full{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.icfb-hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.icfb-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(4,61,114,.55), rgba(11,18,32,.75));mix-blend:multiply}
.icfb-hero-content{position:relative;padding:20px;text-align:center;color:#fff;max-width:960px}
.icfb-hero-title{font-size:clamp(1.8rem,4vw,3.2rem);margin:0 0 8px;font-weight:900}
.icfb-hero-price{display:inline-block;margin:6px 0 14px;padding:8px 14px;border-radius:14px;background:linear-gradient(90deg,var(--icfb-primary), #fec163);color:#fff;font-weight:800;box-shadow:0 8px 30px rgba(233,77,101,.35)}
.icfb-hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.icfb-hero-secondary{margin-top:10px}
.icfb-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:14px;font-weight:800;text-decoration:none;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.icfb-btn.wa{background:linear-gradient(90deg,#25D366,#128C7E);color:#fff}
.icfb-btn.mail{background:linear-gradient(90deg,var(--icfb-secondary),#0f68b1);color:#fff}
.icfb-btn.pdf{background:linear-gradient(90deg,var(--icfb-primary),#b144ff);color:#fff}

/* typing effect */
.icfb-hero-title .type{display:inline-block;overflow:hidden;white-space:nowrap;border-right:2px solid rgba(255,255,255,.6);animation:typing 3.2s steps(30,end), blink .9s step-end infinite}
@keyframes typing{from{width:0}to{width:100%}}
@keyframes blink{from,to{border-color:transparent}50%{border-color:rgba(255,255,255,.7)}}

/* DETAILS + CONTENT */
.icfb-single-wrap{max-width:1160px;margin:-40px auto 40px;padding:0 14px;position:relative}
.glass{background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.7));backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5);border-radius:16px;box-shadow:0 12px 30px rgba(4,61,114,.12)}
.icfb-details{padding:14px;margin-bottom:16px}
.icfb-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.icfb-list li{display:flex;gap:8px;align-items:center;padding:10px;border-radius:12px;background:#fff}
.icfb-content{padding:18px}

/* GRID VIEW (shortcode) */
.icfb-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:30px 0}
.icfb-course-card{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.7));border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(4,61,114,.14);text-align:center;transform:translateY(12px);opacity:0;animation:fadeUp .8s ease forwards}
.icfb-card-img img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .4s ease}
.icfb-course-card:hover .icfb-card-img img{transform:scale(1.06)}
.icfb-course-card h3{margin:12px 10px 4px;color:var(--icfb-secondary);font-weight:900}
.icfb-course-card .meta{color:#64748b;margin:0 0 6px}
.icfb-course-card .price{color:var(--icfb-primary);font-weight:900;margin:0 0 10px}
.btn-details{
display:inline-block;margin:0 0 16px;padding:9px 14px;border-radius:12px
;background:linear-gradient(90deg,var(--icfb-primary), #083762);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 8px 25px rgba(233,77,101,.25)}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
@media (max-width: 640px){
  .icfb-hero-title{font-size:1.8rem}
  .icfb-hero-price{font-size:1rem}
  .icfb-list{grid-template-columns:1fr}
}


/* === VIP Plus polish === */

/* Load fonts if theme doesn't set them */
@font-face{font-family:'ICFB-UI';src:local('Poppins'),local('Tajawal');font-weight:400}
body{font-family:'ICFB-UI',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif}

/* Buttons hover micro-interactions */
.icfb-btn{transition:transform .2s ease, box-shadow .25s ease, opacity .2s ease}
.icfb-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.28)}
.icfb-btn:active{transform:translateY(0) scale(.98);opacity:.95}

/* Equal height cards */
.icfb-course-card{display:flex;flex-direction:column;min-height:360px}
.icfb-course-card h3{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
.icfb-course-card .meta{min-height:20px}
.icfb-course-card .price{margin-top:auto}
.icfb-course-card .btn-details{
align-self:center 
 position: relative;
  z-index: 1;  
}

/* Fancy hover for card */
.icfb-course-card::after{
  content:'';position:absolute;inset:0;border-radius:16px;
  background:radial-gradient(60% 60% at 50% 0,var(--icfb-primary, #E94D65, ) 0%, transparent 60%);
  opacity:0;transition:opacity .35s ease;
    pointer-events: none;      /* مهم جداً */
}
.icfb-course-card:hover::after{opacity:.08}

/* Center hero buttons tighter spacing on mobile */
.icfb-hero-actions{gap:12px}
@media (max-width:480px){
  .icfb-hero-actions .icfb-btn{width:100%;max-width:320px}
  .icfb-hero-secondary .icfb-btn{width:100%;max-width:320px}
}


/* ==== ICFB VIP Booking Form Styles ==== */
.icfb-book {
  margin-top: 2rem;
  background: #ffffffcc;
  backdrop-filter: blur(6px);
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
  padding: 1.5rem;
}
.icfb-book h2 {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 1rem;
  letter-spacing: .3px;
  background: linear-gradient(90deg, #111, #333);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.icfb-booking-form {
  display: grid;
  gap: 1rem;
}
.icfb-booking-form .row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.icfb-booking-form input[type="text"],
.icfb-booking-form input[type="email"],
.icfb-booking-form input[type="tel"],
.icfb-booking-form input[type="number"] {
  width: 100%;
  border: 1px solid #e7eaf0;
  background: #fff;
  padding: 14px 16px;
  border-radius: 14px;
  outline: none;
  transition: box-shadow .2s ease, border-color .2s ease, transform .08s ease;
  font-size: 15px;
}
.icfb-booking-form input::placeholder { color: #a7afbe; }
.icfb-booking-form input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 4px rgba(59,130,246,0.15);
  transform: translateY(-1px);
}
.icfb-booking-form .btn-book {
  justify-self: start;
  border: 0;
  padding: 14px 22px;
  border-radius: 14px;
  font-weight: 700;
  background: linear-gradient(135deg, #ef4444, #f97316);
  color: #fff;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow: 0 10px 20px rgba(239,68,68,0.25);
}
.icfb-booking-form .btn-book:hover { transform: translateY(-2px); }
.icfb-booking-form .btn-book:active { transform: translateY(0); opacity: .95; }
.icfb-msg {
  margin-top: .5rem;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  color: #075985;
  font-weight: 600;
}
/* Mobile */
@media (max-width: 720px) {
  .icfb-booking-form .row { grid-template-columns: 1fr; }
  .icfb-book h2 { font-size: 1.6rem; }
}

.icfb-msg.icfb-success { background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.icfb-msg.icfb-error   { background:#fef2f2; border-color:#fecaca; color:#7f1d1d; }


/* ==== Toggle for hidden booking form ==== */
.icfb-book.is-hidden { display:none; }
.icfb-book.is-visible { display:block; animation: icfbSlide .28s ease; }
@keyframes icfbSlide {
  from { transform: translateY(-6px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}


.icfb-book.pulse { box-shadow: 0 0 0 4px rgba(59,130,246,.12), 0 10px 40px rgba(0,0,0,.08); }


/* ===== ICFB Toast & Loader ===== */
.icfb-toast {
  position: fixed;
  top: 16px;
  right: 16px;
  background: #111;
  color: #fff;
  padding: 12px 14px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  z-index: 99999;
  opacity: 0;
  transform: translateY(-8px);
  animation: icfbToastIn .25s ease forwards;
}
.icfb-toast.error { background:#7f1d1d; }
.icfb-toast.success { background:#065f46; }
@keyframes icfbToastIn { to { opacity:1; transform: translateY(0);} }
.icfb-loader {
  display:inline-block; width:16px; height:16px; margin-left:8px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff; border-radius:50%; animation: icfbSpin .7s linear infinite;
  vertical-align: middle;
}
@keyframes icfbSpin { to { transform: rotate(360deg);} }


/* === ICFB Toast === */
.icfb-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;padding:.8rem 1rem;background:#111;color:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;z-index:99999;transition:opacity .25s, transform .25s}
.icfb-toast.show{opacity:1;transform:translateX(-50%) translateY(-6px)}
.icfb-toast.success{background:#16a34a}.icfb-toast.error{background:#dc2626}.icfb-toast.info{background:#2563eb}
.icfb-toast.icfb-toast-corner{right:18px;left:auto;bottom:18px;transform:none;min-width:220px;max-width:86vw;font-size:.92rem}
/* === Filters & KPIs === */
.icfb-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:10px 0 18px}
.icfb-filters .icfb-field{min-width:160px}
.icfb-filters input[type="text"], .icfb-filters select, .icfb-filters input[type="date"]{width:100%;padding:.55rem .7rem;border:1px solid #e5e7eb;border-radius:10px}
.icfb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:18px 0}
.icfb-kpi{background:#fff;border:1px solid #eee;padding:1rem;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.icfb-kpi .num{font-size:1.4rem;font-weight:800}


/* === ICFB: seats left badge === */
.icfb-seats-left-badge{display:inline-flex;gap:.35rem;align-items:center;background:#f1f5f9;color:#0f172a;border-radius:999px;padding:.25rem .55rem;font-size:.85rem;border:1px solid #e2e8f0}
.icfb-seats-inline{margin:.5rem 0 1rem}
.seats-left{margin-top:.5rem}
.icfb-full .btn-book{opacity:.6;pointer-events:none}


/* === ICFB Dashboards === */
.icfb-table{width:100%;border-collapse:collapse}
.icfb-table th,.icfb-table td{border:1px solid #e5e7eb;padding:.6rem .7rem;text-align:left}
.icfb-table thead th{background:#f8fafc}
.icfb-note{padding:.8rem 1rem;background:#fff3cd;border:1px solid #ffe69c;border-radius:8px}
.icfb-mybookings tr.is-cancelled{opacity:.6}


/* ICFB Trainer Pro v2 */
.icfb-trainer-pro .topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:10px 0 14px}
.icfb-trainer-pro .icfb-grid-2{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.icfb-trainer-pro .card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}
.icfb-trainer-pro .stack>*{margin-bottom:8px}
.icfb-roster-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.icfb-roster-tools input[type="text"],.icfb-roster-tools input[type="date"],.icfb-roster-tools select{padding:.4rem .5rem;border:1px solid #e5e7eb;border-radius:8px}
.icfb-roster thead .sortable{cursor:pointer}
.icfb-roster-bulk{display:flex;align-items:center;gap:8px;margin:8px 0}.icfb-roster-bulk .spacer{flex:1}
#icfb-roster.loading{opacity:.6;pointer-events:none}
@media(max-width:900px){.icfb-trainer-pro .icfb-grid-2{grid-template-columns:1fr}}

/* === ICFB Trainer Pro v3 (permissions + activity + responsive) === */
.icfb-trainer-pro .icfb-grid-2{grid-template-columns:1.6fr 1fr}
@media(max-width:1024px){.icfb-trainer-pro .icfb-grid-2{grid-template-columns:1fr}}
.icfb-table thead th,.icfb-table td{border-bottom:1px solid #eef2f7;padding:.55rem .6rem;font-size:.95rem}
.icfb-table tr:hover{background:#fafafa}
.icfb-status-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.78rem}
.status-approved .status{color:#0a7f3f}.status-approved .icfb-status-badge{background:#e6f6ee;color:#0a7f3f}
.status-new .status{color:#8a5800}.status-new .icfb-status-badge{background:#fff3dc;color:#8a5800}
.status-cancelled .status{color:#b91c1c}.status-cancelled .icfb-status-badge{background:#fee2e2;color:#b91c1c}
.icfb-activity{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.icfb-activity li{border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;background:#fff}
.icfb-activity .act-top{display:flex;gap:8px;justify-content:space-between}
.icfb-activity .act-action{font-weight:600}
.icfb-activity code.act-payload{background:#f8fafc;padding:2px 6px;border-radius:6px;display:block;margin-top:4px}
.icfb-roster-bulk.disabled,.icfb-roster-bulk.disabled *{opacity:.5;pointer-events:none}