/* ==========================================================================
   Whiz Security colour theme for cybersafe.news
   Loaded only when Settings > Site Name & Logo > Colour theme = "Whiz Security"
   (html.theme-whiz). Colours and component styling only, no layout changes.
   Switch the setting to "Classic" to return to the original look.
   ========================================================================== */
html.theme-whiz {
  --accent: #123FC7;
  --menu-blue: #133FC6;
  --blue-300: #9db4ff;
  --blue-400: #7da2ff;
  --bg: #000000;
  --navy-card: #020617;
  --panel: #0C0D2F;
  --ink-1: #0b0d16;
  --ink-2: #0e1636;
  --text: #ffffff;
  --text-soft: #c7cfe0;
  --gray: #9D9EA1;
  --light-bg: #F9F8FD;
  --gold-100: #ffe9b0;
  --gold-200: #e8c87e;
  --gold-300: #ffd672;
  --gold-500: #c1902c;
  --gold-600: #b8882c;
  --radius: 12px;
  --whiz-gold: linear-gradient(90deg, #ffe9b0, #e8c87e, #b8882c);
  --whiz-blue: linear-gradient(90deg, #2a6bff, #123FC7);
  --whiz-navy: radial-gradient(130% 150% at 85% 15%, #16204a 0%, #0c1230 55%, #080b1e 100%);
}

/* ---------------------------------------------------------------- dark */
html.theme-whiz[data-theme="dark"] {
  --d-bg: #000000;
  --d-surface: #020617;
  --d-surface-2: #0C0D2F;
  --d-surface-3: #161a45;
  --d-border: rgba(157, 180, 255, .16);
  --d-border-soft: rgba(157, 180, 255, .10);
  --d-text: #e4e8f2;
  --d-text-strong: #ffffff;
  --d-text-2: #c7cfe0;
  --d-muted: #9D9EA1;
  --d-link: #7da2ff;
  --d-link-hover: #9db4ff;
  --cms-primary: #7da2ff;
}
html.theme-whiz[data-theme="dark"] ::selection { background: #123FC7; color: #fff; }

/* links: the dynamic CSS colours every <a> with the brand blue; on black use the light blue */
html.theme-whiz[data-theme="dark"] a:not(.btn):not(.ha):not([class*="post__cat"]):not([class*="entry-cat"]):hover,
html.theme-whiz[data-theme="dark"] a:not(.btn):not(.ha):not([class*="post__cat"]):not([class*="entry-cat"]):focus { color: var(--blue-300); }
html.theme-whiz[data-theme="dark"] .post__title a:hover, html.theme-whiz[data-theme="dark"] .entry-title a:hover { color: var(--blue-300); }
html.theme-whiz[data-theme="dark"] .typography-copy a, html.theme-whiz[data-theme="dark"] .cms-content a:not(.btn) { color: var(--blue-400); }

/* header, sticky header, mobile header */
html.theme-whiz .navigation-bar--inverse,
html.theme-whiz .sticky-header .navigation-bar--inverse,
html.theme-whiz .mobile-header--inverse { background: #000; background-image: none; box-shadow: inset 0 -1px 0 rgba(157, 180, 255, .14); }
html.theme-whiz .navigation-bar--inverse .navigation--main > li > a,
html.theme-whiz .navigation-bar--inverse .navigation-bar-btn,
html.theme-whiz .mobile-header--inverse .mobile-header-btn { color: #fff; }
html.theme-whiz .navigation-bar--inverse .navigation--main > li:hover > a,
html.theme-whiz .navigation-bar--inverse .navigation--main > li.current-menu-item > a,
html.theme-whiz .navigation-bar--inverse .navigation-bar-btn:hover { color: var(--blue-300); }
html.theme-whiz .navigation--main > li > a::before { background-color: #123FC7 !important; }
html.theme-whiz .cms-top-bar { background: var(--panel); color: var(--text-soft); }

/* footer */
html.theme-whiz .footer-6.site-footer,
html.theme-whiz[data-theme="dark"] .footer-6.site-footer { background-color: #000; background-image: none; box-shadow: inset 0 1px 0 rgba(157, 180, 255, .14); }
html.theme-whiz .footer-6 .site-footer__section--seperated,
html.theme-whiz .footer-6 .site-footer__section--bordered-inner .site-footer__section-inner { border-color: rgba(157, 180, 255, .12); }
html.theme-whiz .footer-6, html.theme-whiz .footer-6 .cms-footer-text { color: var(--text-soft); }
html.theme-whiz .footer-6 a { color: var(--text-soft); }
html.theme-whiz .footer-6 a:hover { color: #fff; }
html.theme-whiz .footer-6 .cms-footer-title {
  font-weight: 800; text-transform: uppercase; letter-spacing: .16em; font-size: 12px;
  color: transparent; background: var(--whiz-gold); -webkit-background-clip: text; background-clip: text;
}

/* section titles: brand blue bar, gold kicker style in dark mode */
html.theme-whiz .block-heading__title, html.theme-whiz .widget__title-text { font-weight: 800; }
html.theme-whiz[data-theme="dark"] .widget__title-text { letter-spacing: .14em; }
html.theme-whiz .mnmd-widget--box .widget__title { background: var(--whiz-blue); }

/* category labels & badges: one consistent brand blue */
html.theme-whiz .post__cat--bg, html.theme-whiz a.post__cat--bg,
html.theme-whiz .entry-cat--bg, html.theme-whiz a.entry-cat--bg,
html.theme-whiz .cat-theme-bg, html.theme-whiz .cat-theme-bg.cat-theme-bg { background-color: #123FC7 !important; color: #fff !important; }
html.theme-whiz .cat-theme.cat-theme { color: #123FC7 !important; }
html.theme-whiz[data-theme="dark"] .cat-theme.cat-theme { color: var(--blue-400) !important; }
html.theme-whiz .post__cat--bg, html.theme-whiz .entry-cat--bg { border-radius: 4px; }

/* cards & widgets in dark mode: deep navy with a soft blue edge */
html.theme-whiz[data-theme="dark"] .mnmd-widget--box .widget__inner,
html.theme-whiz[data-theme="dark"] .widget-subscribe__inner,
html.theme-whiz[data-theme="dark"] .subscribe-form--has-background,
html.theme-whiz[data-theme="dark"] .page-heading--has-background { background: var(--whiz-navy); border-color: var(--d-border-soft); }

/* buttons */
html.theme-whiz .btn-primary,
html.theme-whiz .subscribe-form__fields input[type="submit"],
html.theme-whiz .comment-form .form-submit input[type="submit"] {
  font-weight: 700; letter-spacing: .2px; border-radius: var(--radius); border: 0;
  background: #123FC7; color: #fff;
  box-shadow: 0 14px 38px rgba(18, 63, 199, .22);
  transition: transform .28s cubic-bezier(.22, .61, .36, 1), box-shadow .28s ease, background .28s ease;
}
html.theme-whiz .btn-primary:hover, html.theme-whiz .btn-primary:focus,
html.theme-whiz .subscribe-form__fields input[type="submit"]:hover,
html.theme-whiz .comment-form .form-submit input[type="submit"]:hover {
  background: #0f35a8; color: #fff; filter: none; transform: translateY(-2px);
  box-shadow: 0 20px 46px rgba(18, 63, 199, .32);
}
/* dark mode primary = white pill with blue glow (Whiz .btn-primary) */
html.theme-whiz[data-theme="dark"] .btn-primary,
html.theme-whiz[data-theme="dark"] .subscribe-form__fields input[type="submit"],
html.theme-whiz[data-theme="dark"] .comment-form .form-submit input[type="submit"] {
  background: #fff; color: #0b0d16;
  box-shadow: 0 14px 38px rgba(120, 150, 255, .24), inset 0 1px 0 rgba(255, 255, 255, .6);
}
html.theme-whiz[data-theme="dark"] .btn-primary:hover, html.theme-whiz[data-theme="dark"] .btn-primary:focus,
html.theme-whiz[data-theme="dark"] .subscribe-form__fields input[type="submit"]:hover,
html.theme-whiz[data-theme="dark"] .comment-form .form-submit input[type="submit"]:hover {
  background: #eef1fb; color: #0b0d16;
  box-shadow: 0 22px 50px rgba(120, 150, 255, .34), inset 0 1px 0 rgba(255, 255, 255, .6);
}
html.theme-whiz .btn-default { border-radius: var(--radius); }
html.theme-whiz[data-theme="dark"] .btn-default {
  background: rgba(255, 255, 255, .02); color: #eef1ff; border: 1px solid rgba(255, 255, 255, .22);
}
html.theme-whiz[data-theme="dark"] .btn-default:hover, html.theme-whiz[data-theme="dark"] .btn-default:focus {
  background: rgba(125, 162, 255, .1); border-color: rgba(125, 162, 255, .55); color: #fff;
}

/* pagination */
html.theme-whiz .mnmd-pagination__item { border-radius: 8px; }
html.theme-whiz .mnmd-pagination__item-current, html.theme-whiz .mnmd-pagination__item-current:hover,
html.theme-whiz[data-theme="dark"] .mnmd-pagination__item-current, html.theme-whiz[data-theme="dark"] .mnmd-pagination__item-current:hover { background: #123FC7; color: #fff; }

/* forms */
html.theme-whiz .form-control:focus, html.theme-whiz input:focus, html.theme-whiz textarea:focus, html.theme-whiz select:focus { border-color: #123FC7; }
html.theme-whiz[data-theme="dark"] input:focus, html.theme-whiz[data-theme="dark"] textarea:focus,
html.theme-whiz[data-theme="dark"] select:focus, html.theme-whiz[data-theme="dark"] .form-control:focus { border-color: var(--blue-400); box-shadow: 0 0 0 3px rgba(125, 162, 255, .18); }
html.theme-whiz[data-theme="dark"] input[type="text"], html.theme-whiz[data-theme="dark"] input[type="email"],
html.theme-whiz[data-theme="dark"] input[type="search"], html.theme-whiz[data-theme="dark"] textarea, html.theme-whiz[data-theme="dark"] .form-control { border-color: rgba(157, 180, 255, .2); }

/* article details */
html.theme-whiz .typography-copy blockquote, html.theme-whiz .comment-content blockquote { border-left-color: #123FC7; }
html.theme-whiz[data-theme="dark"] .typography-copy blockquote, html.theme-whiz[data-theme="dark"] .comment-content blockquote { border-left-color: var(--gold-200); }
html.theme-whiz .cms-content .drop-cap::first-letter { color: #123FC7; }
html.theme-whiz[data-theme="dark"] .cms-content .drop-cap::first-letter { color: var(--gold-200); }
html.theme-whiz .cms-read-progress { background: var(--whiz-blue); box-shadow: 0 0 10px rgba(42, 107, 255, .55); }
html.theme-whiz .entry-tags a, html.theme-whiz .post-tags a { border-radius: 6px; }

/* theme toggle switch */
html.theme-whiz .cms-theme-toggle[aria-pressed="true"] .cms-theme-toggle__switch { background: #123FC7; }

/* light mode: soft lavender page breaks, deep ink text */
html.theme-whiz[data-theme="light"] .page-heading--has-background,
html.theme-whiz[data-theme="light"] .subscribe-form--has-background,
html.theme-whiz[data-theme="light"] .mnmd-widget--box .widget__inner { background-color: var(--light-bg); }
html.theme-whiz[data-theme="light"] .post__title, html.theme-whiz[data-theme="light"] .entry-title,
html.theme-whiz[data-theme="light"] .block-heading__title, html.theme-whiz[data-theme="light"] .widget__title-text { color: var(--ink-1); }

/* featured hero band: Whiz deep navy instead of the teal/purple theme gradient */
html.theme-whiz .mnmd-block__background[class*="gradient-"],
html.theme-whiz .background-img[class*="gradient-"] {
  background-image: radial-gradient(70% 90% at 82% 18%, rgba(18, 63, 199, .45) 0%, rgba(18, 63, 199, 0) 60%), radial-gradient(130% 150% at 85% 15%, #16204a 0%, #0c1230 55%, #080b1e 100%) !important;
  background-color: #080b1e !important;
}
html.theme-whiz .cms-hero-fx__a, html.theme-whiz .cms-hero-fx__b { background-image: radial-gradient(closest-side, rgba(125, 162, 255, .28), rgba(125, 162, 255, 0)); }
html.theme-whiz .cms-hero-fx__glow { background-image: radial-gradient(closest-side, rgba(255, 214, 114, .18), rgba(255, 214, 114, 0)); }

/* ---- replace the classic red from contrast.css (light mode) and cms.css (dark mode) ----
   :where() keeps specificity identical to contrast.css so only those red rules are replaced. */
:where(html.theme-whiz[data-theme="light"]) a,
:where(html.theme-whiz) .color-primary, :where(html.theme-whiz) .site-title,
:where(html.theme-whiz) .mnmd-widget-indexed-posts-b .posts-list>li .post__title:after,
:where(html.theme-whiz[data-theme="light"]) .author-box .author-name a { color: #123FC7; }
:where(html.theme-whiz) .btn-primary,
:where(html.theme-whiz) .mnmd-pagination__item-current,
:where(html.theme-whiz) .mnmd-pagination--next-n-prev .mnmd-pagination__item,
:where(html.theme-whiz) .subscribe-form__fields input[type="submit"],
:where(html.theme-whiz) .comments-count-box,
:where(html.theme-whiz) .mnmd-widget-indexed-posts-a .posts-list>li .post__thumb:after,
:where(html.theme-whiz) .widget_calendar #today, :where(html.theme-whiz) .widget_calendar #today a,
:where(html.theme-whiz) .entry-action-btn,
:where(html.theme-whiz) .comment-form .form-submit input[type="submit"],
:where(html.theme-whiz) .tnm-error--notice,
:where(html.theme-whiz) .btn-rectangle-large { background-color: #123FC7; }
html.theme-whiz .comments-count-box::before { border-top-color: #123FC7; }

/* dark mode: cms.css forces a deeper red with !important */
html.theme-whiz[data-theme="dark"] .btn-primary, html.theme-whiz[data-theme="dark"] .btn-primary:focus,
html.theme-whiz[data-theme="dark"] .comment-form .form-submit input[type="submit"],
html.theme-whiz[data-theme="dark"] .subscribe-form__fields input[type="submit"] { background-color: #fff !important; border-color: #fff; color: #0b0d16 !important; }
html.theme-whiz[data-theme="dark"] .btn-primary:hover,
html.theme-whiz[data-theme="dark"] .comment-form .form-submit input[type="submit"]:hover,
html.theme-whiz[data-theme="dark"] .subscribe-form__fields input[type="submit"]:hover { background-color: #eef1fb !important; color: #0b0d16 !important; }
html.theme-whiz[data-theme="dark"] .mnmd-pagination__item-current,
html.theme-whiz[data-theme="dark"] .entry-action-btn { background-color: #123FC7 !important; border-color: #123FC7; color: #fff; }
