/* ============================================================
   CYBER DILMETH — HOMEPAGE "SECURITY HUB" SECTION
   Merge into cyber-dilmeth-home.css.
   Add the class "cd-hub" to the WPBakery ROW that wraps this
   section (Row Settings -> Extra class name) so the background,
   padding and colour variables apply to everything inside it.
   ============================================================ */

/* Brand tokens — declared on each major component so it renders
   correctly even if placed in a separate WPBakery element. */
.cd-hub, .cd-cards, .cd-intel, .cd-roundup{
  --cd-blue:#2463EB; --cd-blue-dark:#1746A0; --cd-navy:#0B1E3C;
  --cd-green:#16A34A; --cd-body:#41506B; --cd-muted:#8A93A6;
  --cd-line:#E6EAF1; --cd-bg:#F4F7FB; --cd-crit:#DC2626; --cd-high:#D97706;
}

.cd-hub{background:var(--cd-bg);padding:56px 0;}
.cd-hub *{box-sizing:border-box;}

.cd-hub__eyebrow{display:inline-flex;align-items:center;gap:8px;background:#E6F1FB;color:var(--cd-blue);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;border-radius:24px;}
.cd-hub__eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--cd-blue);display:inline-block;}
.cd-hub__title{color:var(--cd-navy);font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1.1;margin:18px 0 30px;}

/* ---- shared section head ---- */
.cd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.cd-head__title{display:flex;align-items:center;gap:9px;color:var(--cd-navy);font-size:19px;font-weight:600;}
.cd-head__title svg{width:20px;height:20px;stroke:var(--cd-blue);}
.cd-link{color:var(--cd-blue);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;}
.cd-link:hover{color:var(--cd-blue-dark);}

/* ---- filter tabs ---- */
.cd-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.cd-tab{border:1px solid var(--cd-line);background:#fff;color:var(--cd-body);font-size:13px;padding:7px 16px;border-radius:24px;cursor:pointer;transition:.15s;}
.cd-tab:hover{border-color:var(--cd-blue);color:var(--cd-blue);}
.cd-tab--active{background:var(--cd-blue);border-color:var(--cd-blue);color:#fff;}

/* ---- article cards : 3–4 per row, auto-fits the column width ---- */
.cd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;}
.cd-card{background:#fff;border:1px solid var(--cd-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:.18s;}
.cd-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(11,30,60,.10);border-color:#D7E0EE;}
.cd-card__media{height:120px;position:relative;display:flex;align-items:center;justify-content:center;}
.cd-card__media--a{background:linear-gradient(135deg,#2463EB,#1746A0);}
.cd-card__media--b{background:linear-gradient(135deg,#1746A0,#0B1E3C);}
.cd-card__media--img{background:#0B1E3C center/cover no-repeat;}
.cd-cards__empty{color:var(--cd-muted);font-size:15px;}
.cd-card__media svg{width:34px;height:34px;stroke:rgba(255,255,255,.92);}
.cd-card__badge{position:absolute;top:12px;left:12px;background:rgba(11,30,60,.55);color:#fff;font-size:12px;font-weight:500;padding:4px 11px;border-radius:8px;}
.cd-card__body{padding:16px 18px;display:flex;flex-direction:column;flex:1;}
.cd-card__date{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--cd-muted);font-size:12px;letter-spacing:.02em;}
.cd-card__h{color:var(--cd-navy);font-size:17px;font-weight:600;line-height:1.3;margin:7px 0;}
.cd-card__x{color:var(--cd-body);font-size:14px;line-height:1.55;margin:0;}
.cd-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;}
.cd-card__read{color:var(--cd-muted);font-size:13px;}
.cd-card__arrow{width:28px;height:28px;border-radius:50%;border:1px solid var(--cd-line);display:flex;align-items:center;justify-content:center;color:var(--cd-blue);}
.cd-card:hover .cd-card__arrow{background:var(--cd-blue);border-color:var(--cd-blue);color:#fff;}
.cd-card__arrow svg{width:15px;height:15px;stroke:currentColor;}

/* ---- live threat intel (rendered by the [cd_threat_intel] shortcode) ---- */
.cd-intel{background:#fff;border:1px solid var(--cd-line);border-radius:14px;padding:20px 20px 16px;position:sticky;top:24px;}
.cd-intel__dot{width:9px;height:9px;border-radius:50%;background:var(--cd-crit);display:inline-block;position:relative;}
.cd-intel__dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--cd-crit);opacity:.5;animation:cdPulse 1.8s ease-out infinite;}
@keyframes cdPulse{0%{transform:scale(.7);opacity:.6}100%{transform:scale(1.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.cd-intel__dot::after{animation:none;}}
.cd-item{border-left:3px solid var(--cd-line);padding:2px 0 2px 13px;margin-bottom:16px;text-decoration:none;display:block;}
.cd-item:last-of-type{margin-bottom:0;}
.cd-item--crit{border-left-color:var(--cd-crit);}
.cd-item--high{border-left-color:var(--cd-high);}
.cd-item--med{border-left-color:var(--cd-blue);}
.cd-item__meta{font-size:11px;font-weight:500;letter-spacing:.05em;}
.cd-item--crit .cd-item__meta{color:var(--cd-crit);}
.cd-item--high .cd-item__meta{color:var(--cd-high);}
.cd-item--med .cd-item__meta{color:var(--cd-blue);}
.cd-item__h{color:var(--cd-navy);font-size:14px;font-weight:500;line-height:1.4;margin:4px 0 0;}
.cd-item:hover .cd-item__h{color:var(--cd-blue);}
.cd-intel__empty{color:var(--cd-muted);font-size:14px;line-height:1.5;margin:0;}
.cd-intel__foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--cd-line);text-align:center;}

/* ---- news roundup band ---- */
.cd-roundup{background:#fff;border:1px solid var(--cd-line);border-radius:14px;padding:20px 24px;margin-top:26px;}
.cd-roundup__list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cd-news{text-decoration:none;display:block;}
.cd-news__meta{color:var(--cd-muted);font-size:12px;}
.cd-news__h{color:var(--cd-navy);font-size:15px;font-weight:500;line-height:1.4;margin:5px 0 0;}
.cd-news:hover .cd-news__h{color:var(--cd-blue);}

/* ---- responsive ---- */
@media(max-width:900px){.cd-roundup__list{grid-template-columns:1fr;gap:16px;}.cd-intel{position:static;}}
@media(max-width:560px){.cd-hub{padding:40px 0;}.cd-cards{grid-template-columns:1fr;}}
