/*
Theme Name:     Neve Child
Theme URI:      https://themeisle.com/themes/neve/
Description:    Child theme for BetaCalendars customizations.
Author:         Mustafa
Template:       neve
Version:        1.1.2
Text Domain:    neve-child
*/
 

/* ==========================================================================
   BetaCalendars — CWV guardrails
   Site-wide rules for Neve single content layouts
   ========================================================================== */

/* Desktop CLS: sidebar author widget loads/reshapes late */
@media (min-width: 992px) {
  .nv-sidebar-wrap .widget.mks_author_widget {
    min-height: 420px;
    contain: layout paint;
    overflow: hidden;
  }

  .nv-sidebar-wrap .widget.mks_author_widget img {
    display: block;
    width: 100%;
    height: auto;
  }
}

/* Mobile CLS: late-expanding ad/code blocks shift the whole article */
@media (max-width: 991.98px) {
  /* Mobile CLS root cause: sidebar renders before content and expands late.
     Force content first, sidebar after, to avoid pushing the article down. */
  body.single-post .neve-main > .single-post-container > .row {
    display: flex !important;
    flex-direction: column !important;
  }

  body.page .neve-main > .single-page-container > .row {
    display: flex !important;
    flex-direction: column !important;
  }

  body.single-post .neve-main > .single-post-container > .row > .nv-single-post-wrap,
  body.single-post .neve-main > .single-post-container > .row > .nv-single-post-wrap.col {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  body.single-post .neve-main > .single-post-container > .row > .nv-sidebar-wrap {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  body.page .neve-main > .single-page-container > .row > .nv-single-page-wrap,
  body.page .neve-main > .single-page-container > .row > .nv-single-page-wrap.col {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  body.page .neve-main > .single-page-container > .row > .nv-sidebar-wrap {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  body.single-post article.nv-single-post-wrap {
    contain: layout paint;
  }

  body.single-post article.nv-single-post-wrap h1.entry-title,
  body.single-post article.nv-single-post-wrap .title.entry-title {
    min-height: 160px;
  }

  body.single-post article.nv-single-post-wrap .nv-content-wrap .code-block {
    min-height: 300px;
    contain: layout;
  }

  body.single-post article.nv-single-post-wrap ins.adsbygoogle {
    display: block !important;
    min-height: 250px;
  }
}

/* ==========================================================================
   BetaCalendars — Premium token system (Step 2A)
   ========================================================================== */

:root {
  /* Colors */
  --bc-bg-canvas: #f6f4ef;
  --bc-bg-surface: #ffffff;
  --bc-bg-subtle: #eff4f2;
  --bc-text-strong: #182230;
  --bc-text-body: #2a394b;
  --bc-text-muted: #5f6b7a;
  --bc-primary: #1d4f63;
  --bc-accent: #3b8f84;
  --bc-accent-soft: #6f8f72;
  --bc-border-soft: #d8e1de;
  --bc-border-strong: #becac5;
  --bc-focus: #2f7e95;
  --bc-shadow-soft: 0 10px 30px rgba(24, 34, 48, 0.08);

  /* Type scale */
  --bc-font-sans: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --bc-fs-100: clamp(0.82rem, 0.80rem + 0.10vw, 0.90rem);
  --bc-fs-200: clamp(0.95rem, 0.92rem + 0.20vw, 1.05rem);
  --bc-fs-300: clamp(1.02rem, 0.98rem + 0.28vw, 1.16rem);
  --bc-fs-400: clamp(1.20rem, 1.12rem + 0.55vw, 1.45rem);
  --bc-fs-500: clamp(1.45rem, 1.30rem + 1.05vw, 2.05rem);
  --bc-fs-600: clamp(1.80rem, 1.55rem + 1.75vw, 2.85rem);
  --bc-lh-tight: 1.2;
  --bc-lh-base: 1.68;
  --bc-lh-relaxed: 1.82;

  /* Spacing and shape */
  --bc-space-1: 0.5rem;
  --bc-space-2: 0.75rem;
  --bc-space-3: 1rem;
  --bc-space-4: 1.5rem;
  --bc-space-5: 2rem;
  --bc-radius-s: 0.5rem;
  --bc-radius-m: 0.8rem;
}

body {
  font-family: var(--bc-font-sans);
  font-size: var(--bc-fs-300);
  line-height: var(--bc-lh-base);
  color: var(--bc-text-body);
  background: var(--bc-bg-canvas);
  text-rendering: optimizeLegibility;
}

p,
li {
  color: var(--bc-text-body);
}

.neve-main {
  background: transparent;
}

.single-post-container,
.single-page-container,
.nv-content-wrap,
.nv-sidebar-wrap .widget {
  background: var(--bc-bg-surface);
}

a {
  color: var(--bc-primary);
  text-decoration-thickness: 0.09em;
  text-underline-offset: 0.12em;
  transition: color 180ms ease;
}

a:hover,
a:focus-visible {
  color: color-mix(in srgb, var(--bc-primary) 80%, #000);
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title {
  color: var(--bc-text-strong);
  font-family: var(--bc-font-sans);
  font-weight: 680;
  letter-spacing: -0.015em;
  line-height: var(--bc-lh-tight);
}

h1,
.entry-title {
  font-size: var(--bc-fs-600);
}

h2 {
  font-size: var(--bc-fs-500);
}

h3 {
  font-size: var(--bc-fs-400);
}

.neve-main .nv-content-wrap > p,
.neve-main .nv-content-wrap > ul,
.neve-main .nv-content-wrap > ol {
  margin-bottom: var(--bc-space-3);
}

.nv-content-wrap .wp-block-button__link,
.nv-content-wrap button,
.nv-content-wrap input[type="submit"] {
  border-radius: var(--bc-radius-s);
  border: 1px solid transparent;
  background: linear-gradient(145deg, var(--bc-primary), var(--bc-accent));
  color: #fff;
  font-weight: 600;
  padding: 0.66rem 1.08rem;
  box-shadow: 0 4px 12px rgba(29, 79, 99, 0.18);
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.nv-content-wrap .wp-block-button__link:hover,
.nv-content-wrap .wp-block-button__link:focus-visible,
.nv-content-wrap button:hover,
.nv-content-wrap button:focus-visible,
.nv-content-wrap input[type="submit"]:hover,
.nv-content-wrap input[type="submit"]:focus-visible {
  filter: brightness(0.97);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(29, 79, 99, 0.2);
  color: #fff;
}

.nv-content-wrap table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bc-bg-surface);
}

.nv-content-wrap table th,
.nv-content-wrap table td {
  border: 1px solid var(--bc-border-soft);
  padding: 0.55rem 0.7rem;
  font-variant-numeric: tabular-nums;
}

.nv-content-wrap table th {
  background: var(--bc-bg-subtle);
  color: var(--bc-text-strong);
}

.nv-content-wrap figure {
  margin: var(--bc-space-4) 0;
}

/* Ad containers remain visible, but harmonized with premium palette. */
ins.adsbygoogle {
  border: 1px solid var(--bc-border-soft);
  border-radius: var(--bc-radius-s);
  background: #faf8f4;
}

/* Strong keyboard accessibility focus ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--bc-focus);
  outline-offset: 2px;
}

/* Make skip link clearly visible for keyboard users */
.skip-link.screen-reader-text:focus {
  left: 1rem;
  top: 1rem;
  clip: auto;
  height: auto;
  width: auto;
  padding: 0.5rem 0.75rem;
  border-radius: var(--bc-radius-s);
  background: var(--bc-text-strong);
  color: #ffffff;
  z-index: 99999;
}

@media (max-width: 767.98px) {
  body {
    font-size: var(--bc-fs-200);
    line-height: 1.62;
  }

  .nv-content-wrap .entry-title {
    margin-bottom: 0.8rem;
  }

  .nv-content-wrap .wp-block-button__link,
  .nv-content-wrap button,
  .nv-content-wrap input[type="submit"] {
    padding: 0.55rem 0.85rem;
  }

  .nv-content-wrap table th,
  .nv-content-wrap table td {
    padding: 0.42rem 0.5rem;
  }

  .nv-content-wrap img {
    height: auto;
  }
}

/* Print-optimized layout for calendar and PDF-focused pages */
@media print {
  @page {
    margin: 12mm;
    size: auto;
  }

  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
    line-height: 1.45;
  }

  .header,
  .footer,
  .nv-sidebar-wrap,
  .nv-post-navigation,
  .nv-related-posts,
  .widget,
  .comments-area,
  .share-buttons,
  .social-share,
  .code-block ins.adsbygoogle,
  ins.adsbygoogle,
  script,
  iframe,
  .nv-breadcrumbs-wrap {
    display: none !important;
  }

  .neve-main,
  .single-post-container,
  .single-page-container,
  .nv-single-post-wrap,
  .nv-single-page-wrap,
  .nv-content-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  a,
  a:visited {
    color: #000 !important;
    text-decoration: underline;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 90%;
    word-break: break-all;
  }

  img,
  table,
  blockquote,
  pre {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  h1,
  h2,
  h3 {
    break-after: avoid;
    page-break-after: avoid;
  }
}

/* ==========================================================================
   BetaCalendars — Premium component layer (Step 2B)
   ========================================================================== */

/* Layout shell */
.site-content,
.neve-main {
  padding-top: var(--bc-space-3);
  padding-bottom: var(--bc-space-4);
}

.container,
.nv-page-title-wrap,
.single-post-container,
.single-page-container {
  max-width: 1220px;
}

/* Header and footer refinement */
.nv-navbar,
.header-main,
.header-menu-sidebar-bg,
.header--row-inner {
  background: color-mix(in srgb, var(--bc-bg-surface) 92%, var(--bc-bg-canvas));
  border-bottom: 1px solid var(--bc-border-soft);
}

.builder-item--logo .site-logo,
.builder-item--logo .site-title {
  color: var(--bc-text-strong);
}

.builder-item--primary-menu .nav-ul > li > a {
  color: var(--bc-text-body);
  font-size: var(--bc-fs-200);
  font-weight: 550;
  letter-spacing: 0.01em;
}

.builder-item--primary-menu .nav-ul > li > a:hover,
.builder-item--primary-menu .nav-ul > li > a:focus-visible,
.builder-item--primary-menu .current-menu-item > a {
  color: var(--bc-primary);
}

.site-footer,
.footer,
.footer--row {
  background: color-mix(in srgb, var(--bc-bg-canvas) 80%, #e9efec);
  border-top: 1px solid var(--bc-border-soft);
}

/* Content and cards */
.nv-content-wrap,
.nv-sidebar-wrap .widget,
.wp-block-group,
.wp-block-cover,
.wp-block-media-text {
  border: 1px solid color-mix(in srgb, var(--bc-border-soft) 82%, transparent);
  border-radius: var(--bc-radius-m);
  box-shadow: var(--bc-shadow-soft);
}

.nv-content-wrap {
  padding: clamp(1rem, 0.8rem + 1.2vw, 1.8rem);
}

.single-post .nv-content-wrap,
.page .nv-content-wrap {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--bc-bg-surface) 95%, var(--bc-bg-subtle)) 0%,
    var(--bc-bg-surface) 65%
  );
}

/* Widget system */
.widget {
  margin-bottom: var(--bc-space-4);
  padding: var(--bc-space-3);
  background: var(--bc-bg-surface);
}

.widget-title,
.widget h2,
.widget h3 {
  margin: 0 0 var(--bc-space-2);
  padding-bottom: var(--bc-space-1);
  border-bottom: 1px solid var(--bc-border-soft);
  color: var(--bc-text-strong);
  font-size: var(--bc-fs-300);
  font-weight: 650;
  letter-spacing: -0.01em;
}

.widget ul,
.widget ol {
  margin: 0;
  padding-left: 1.1rem;
}

.widget li {
  margin-bottom: 0.42rem;
  color: var(--bc-text-body);
}

.widget a {
  color: var(--bc-primary);
}

.widget a:hover,
.widget a:focus-visible {
  color: color-mix(in srgb, var(--bc-primary) 75%, #000);
}

/* Author widget and sidebar polish */
.mks_author_widget img {
  border-radius: var(--bc-radius-m);
}

.mks_author_widget .mks_author_widget_name {
  color: var(--bc-text-strong);
  font-weight: 640;
}

.mks_author_widget .mks_author_widget_text {
  color: var(--bc-text-muted);
  font-size: var(--bc-fs-200);
}

/* Lists, quotes, and separators */
.nv-content-wrap blockquote {
  margin: var(--bc-space-4) 0;
  padding: var(--bc-space-3) var(--bc-space-4);
  border-left: 3px solid var(--bc-accent);
  background: color-mix(in srgb, var(--bc-bg-subtle) 88%, #fff);
  border-radius: 0 var(--bc-radius-m) var(--bc-radius-m) 0;
  color: var(--bc-text-strong);
}

.nv-content-wrap hr {
  border: 0;
  border-top: 1px solid var(--bc-border-soft);
  margin: var(--bc-space-4) 0;
}

/* AdSense integration wrappers */
.nv-content-wrap .code-block,
.nv-content-wrap [id*="ad"],
.nv-content-wrap [class*="ad-"],
.nv-content-wrap [class*="ads"] {
  border-radius: var(--bc-radius-s);
}

ins.adsbygoogle,
.nv-content-wrap ins.adsbygoogle,
.nv-sidebar-wrap ins.adsbygoogle {
  border: 1px solid var(--bc-border-strong);
  border-radius: var(--bc-radius-s);
  background: linear-gradient(180deg, #fcfaf6, #f8f6f1);
  box-shadow: 0 2px 10px rgba(24, 34, 48, 0.06);
}

/* Refined interaction layer */
.nv-content-wrap a,
.widget a,
.builder-item a {
  transition: color 160ms ease, opacity 160ms ease;
}

.nv-content-wrap img,
.wp-block-image img,
.wp-post-image {
  border-radius: var(--bc-radius-s);
}

.nv-content-wrap .wp-block-image img:hover,
.wp-post-image:hover {
  filter: saturate(1.02) contrast(1.01);
}

@media (max-width: 991.98px) {
  .nv-content-wrap,
  .widget {
    padding: var(--bc-space-2);
    box-shadow: 0 6px 16px rgba(24, 34, 48, 0.06);
  }

  .builder-item--primary-menu .nav-ul > li > a {
    font-size: var(--bc-fs-300);
  }
}

/* ==========================================================================
   BetaCalendars — Global authoritative navy-teal system (Plan execution)
   ========================================================================== */

:root {
  --bc-primary: #1b4e63;
  --bc-primary-strong: #153c4e;
  --bc-accent: #3d8b81;
  --bc-accent-soft: #6f8f78;
  --bc-bg-canvas: #f5f3ee;
  --bc-bg-surface: #ffffff;
  --bc-bg-subtle: #edf3f1;
  --bc-text-strong: #172431;
  --bc-text-body: #2a3a49;
  --bc-text-muted: #5f6e7d;
  --bc-border-soft: #d7e1dd;
  --bc-border-strong: #becbc6;
  --bc-focus: #2d7c94;
  --bc-ad-bg: #faf8f4;
  --bc-ad-border: #cdd8d3;
  --bc-ad-shadow: 0 2px 10px rgba(22, 36, 49, 0.06);
}

body {
  background: var(--bc-bg-canvas);
  color: var(--bc-text-body);
}

a {
  color: var(--bc-primary);
}

a:hover,
a:focus-visible {
  color: var(--bc-primary-strong);
}

/* Primary nav and submenu normalization */
.builder-item--primary-menu .nav-ul > li > a {
  color: var(--bc-text-body);
  font-weight: 560;
}

.builder-item--primary-menu .nav-ul > li > a:hover,
.builder-item--primary-menu .nav-ul > li > a:focus-visible,
.builder-item--primary-menu .current-menu-item > a,
.builder-item--primary-menu .current-menu-ancestor > a {
  color: var(--bc-primary);
}

.builder-item--primary-menu .nav-ul > li.menu-item-has-children > a::after {
  color: color-mix(in srgb, var(--bc-text-muted) 80%, transparent);
}

.builder-item--primary-menu .sub-menu,
.builder-item--primary-menu .sub-menu .sub-menu {
  background: #ffffff;
  border: 1px solid var(--bc-border-soft);
  border-radius: 0.65rem;
  box-shadow: 0 8px 16px rgba(23, 36, 49, 0.08);
  padding-top: 0.28rem;
  padding-bottom: 0.28rem;
}

.builder-item--primary-menu .sub-menu li > a {
  color: var(--bc-text-body);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid color-mix(in srgb, var(--bc-border-soft) 72%, transparent);
}

.builder-item--primary-menu .sub-menu li:last-child > a {
  border-bottom: 0;
}

.builder-item--primary-menu .sub-menu li > a:hover,
.builder-item--primary-menu .sub-menu li > a:focus-visible,
.builder-item--primary-menu .sub-menu .current-menu-item > a {
  color: var(--bc-primary-strong);
  background: #f3f8f7;
}

/* Mobile menu parity */
.header-menu-sidebar,
.header-menu-sidebar-bg {
  background: color-mix(in srgb, var(--bc-bg-surface) 93%, var(--bc-bg-canvas));
}

.header-menu-sidebar .menu-item > a,
.header-menu-sidebar .menu-item > .wrap > a {
  color: var(--bc-text-body);
}

.header-menu-sidebar .menu-item > a:hover,
.header-menu-sidebar .menu-item > a:focus-visible,
.header-menu-sidebar .current-menu-item > a {
  color: var(--bc-primary);
}

/* Global component normalization */
.nv-content-wrap,
.widget,
.nv-sidebar-wrap .widget,
.wp-block-group,
.wp-block-cover,
.wp-block-media-text {
  background: var(--bc-bg-surface);
  border-color: var(--bc-border-soft);
}

.widget-title,
.widget h2,
.widget h3 {
  color: var(--bc-text-strong);
  border-bottom-color: var(--bc-border-soft);
}

.widget a {
  color: var(--bc-primary);
}

.widget a:hover,
.widget a:focus-visible {
  color: var(--bc-primary-strong);
}

.nv-content-wrap table th {
  background: var(--bc-bg-subtle);
  color: var(--bc-text-strong);
}

.nv-content-wrap table th,
.nv-content-wrap table td {
  border-color: var(--bc-border-soft);
}

.nv-content-wrap blockquote {
  border-left-color: var(--bc-accent);
  background: color-mix(in srgb, var(--bc-bg-subtle) 88%, #fff);
  color: var(--bc-text-strong);
}

/* Native-soft AdSense */
ins.adsbygoogle,
.nv-content-wrap ins.adsbygoogle,
.nv-sidebar-wrap ins.adsbygoogle {
  background: var(--bc-ad-bg);
  border: 1px solid var(--bc-ad-border);
  box-shadow: var(--bc-ad-shadow);
}

/* Focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline-color: var(--bc-focus);
}

/* Keep premium feel but reduce paint cost on small devices. */
@media (max-width: 991.98px) {
  .nv-content-wrap,
  .widget,
  .nv-sidebar-wrap .widget,
  .wp-block-group,
  .wp-block-cover,
  .wp-block-media-text,
  .builder-item--primary-menu .sub-menu,
  .builder-item--primary-menu .sub-menu .sub-menu,
  ins.adsbygoogle,
  .nv-content-wrap ins.adsbygoogle,
  .nv-sidebar-wrap ins.adsbygoogle {
    box-shadow: none !important;
  }

  .nv-content-wrap .wp-block-button__link,
  .nv-content-wrap button,
  .nv-content-wrap input[type="submit"] {
    background: var(--bc-primary);
    box-shadow: none;
    transform: none;
  }
}

/* ==========================================================================
   Footer + Logo premium hard overrides
   ========================================================================== */

/* Logo block: cleaner premium lockup with stronger brand presence */
.builder-item--logo,
.builder-item--logo .site-logo,
.builder-item--logo .site-title,
.builder-item--logo .site-description {
  position: relative;
  z-index: 2;
}

.builder-item--logo .site-branding {
  display: flex;
  align-items: center;
  gap: 0.72rem;
  padding: 0.2rem 0.15rem;
}

.builder-item--logo .site-logo img,
.builder-item--logo .custom-logo {
  max-height: clamp(42px, 3.8vw, 58px) !important;
  width: auto !important;
  border-radius: 0.52rem;
  box-shadow: 0 6px 16px rgba(21, 60, 78, 0.14);
  background: #ffffff;
}

.builder-item--logo .site-title,
.builder-item--logo .site-title a {
  color: var(--bc-text-strong) !important;
  font-size: clamp(1.08rem, 0.98rem + 0.55vw, 1.42rem) !important;
  font-weight: 740 !important;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-transform: none;
}

.builder-item--logo .site-description {
  color: var(--bc-text-muted) !important;
  font-size: var(--bc-fs-100);
  line-height: 1.35;
  margin-top: 0.15rem;
}

/* Premium footer shell */
.site-footer,
.footer,
.footer--row,
.footer--row-inner {
  background: linear-gradient(180deg, #f1f5f3 0%, #e8efec 100%) !important;
  border-top: 1px solid var(--bc-border-strong) !important;
}

.footer--row-inner {
  padding-top: clamp(1rem, 0.8rem + 1vw, 1.8rem) !important;
  padding-bottom: clamp(1rem, 0.8rem + 1vw, 1.8rem) !important;
}

.site-footer .container {
  max-width: 1240px;
}

.site-footer .widget,
.site-footer .widget-area .widget {
  background: color-mix(in srgb, #ffffff 85%, var(--bc-bg-subtle)) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 0.74rem;
  box-shadow: 0 8px 22px rgba(21, 60, 78, 0.08);
  padding: 1rem 1rem 0.9rem !important;
}

.site-footer .widget-title,
.site-footer .widget h2,
.site-footer .widget h3 {
  color: var(--bc-text-strong) !important;
  border-bottom: 1px solid var(--bc-border-soft);
  padding-bottom: 0.45rem;
  margin-bottom: 0.6rem;
  font-size: clamp(0.98rem, 0.92rem + 0.2vw, 1.06rem);
  font-weight: 680;
}

.site-footer,
.site-footer p,
.site-footer li,
.site-footer .builder-item,
.site-footer .builder-item * {
  color: var(--bc-text-body);
}

.site-footer a,
.site-footer .menu a,
.site-footer .nav-ul a,
.site-footer .nv-footer-menu li a {
  color: var(--bc-primary) !important;
  font-weight: 520;
}

.site-footer a:hover,
.site-footer a:focus-visible,
.site-footer .menu a:hover,
.site-footer .menu a:focus-visible {
  color: var(--bc-primary-strong) !important;
}

.site-footer .copyright,
.site-footer .builder-item--footer_copyright {
  color: var(--bc-text-muted) !important;
  font-size: var(--bc-fs-100);
  letter-spacing: 0.01em;
}

/* Footer menu separators for premium rhythm */
.site-footer .menu > li + li,
.site-footer .nv-footer-menu > li + li {
  margin-left: 0.5rem;
  padding-left: 0.5rem;
  border-left: 1px solid color-mix(in srgb, var(--bc-border-soft) 72%, transparent);
}

@media (max-width: 991.98px) {
  .builder-item--logo .site-logo img,
  .builder-item--logo .custom-logo {
    max-height: 46px !important;
    box-shadow: none;
  }

  .site-footer .widget,
  .site-footer .widget-area .widget {
    box-shadow: none;
    border-radius: 0.6rem;
  }

  .site-footer .menu > li + li,
  .site-footer .nv-footer-menu > li + li {
    border-left: 0;
    margin-left: 0;
    padding-left: 0;
  }
}

/* Depth-aware premium submenu hierarchy using bc-menu-depth classes */
.builder-item--primary-menu .sub-menu .bc-menu-depth-1 > a {
  padding-left: 1.05rem;
  font-weight: 550;
}

.builder-item--primary-menu .sub-menu .bc-menu-depth-2 > a {
  padding-left: 1.45rem;
  font-size: var(--bc-fs-100);
  color: var(--bc-text-muted);
}

.builder-item--primary-menu .sub-menu .bc-menu-depth-2 > a:hover,
.builder-item--primary-menu .sub-menu .bc-menu-depth-2 > a:focus-visible,
.builder-item--primary-menu .sub-menu .bc-menu-depth-2.bc-menu-is-active > a {
  color: var(--bc-primary);
  background: #f5f9f8;
}

.builder-item--primary-menu .sub-menu .bc-menu-has-children > a::after {
  opacity: 0.75;
}

/* ==========================================================================
   BetaCalendars — Luxury 2026 polish layer (Steps 2–4)
   Additive only. Built on top of existing --bc-* tokens, CLS guards,
   print rules, header/footer hard overrides, and depth-aware menu logic.
   Nothing above is removed or weakened.
   --------------------------------------------------------------------------
   Step 2: OKLCH token system, layered elevation, calendar/focus/motion/print.
   Step 3: Component & layout elevation (header, menu, content, tables, cards).
   Step 4: Micro-interactions, mobile touch, dark mode readiness, print polish.
   ========================================================================== */

/* ---------- Step 2A: OKLCH base palette + layered elevation -------------- */
:root {
  /* Perceptually uniform palette (oklch). Old hex tokens above remain valid. */
  --bc-ok-primary: oklch(38% 0.06 220);
  --bc-ok-primary-strong: oklch(30% 0.07 220);
  --bc-ok-primary-soft: oklch(70% 0.04 220);
  --bc-ok-accent: oklch(58% 0.10 192);
  --bc-ok-accent-strong: oklch(48% 0.11 192);
  --bc-ok-text-strong: oklch(22% 0.03 240);
  --bc-ok-text-body: oklch(34% 0.025 230);
  --bc-ok-text-muted: oklch(52% 0.015 230);
  --bc-ok-bg-canvas: oklch(96.5% 0.012 80);
  --bc-ok-bg-surface: oklch(99% 0.005 80);
  --bc-ok-bg-subtle: oklch(94% 0.012 180);
  --bc-ok-border-soft: oklch(88% 0.012 180);
  --bc-ok-border-strong: oklch(78% 0.012 180);
  --bc-ok-focus: oklch(58% 0.13 220);
  --bc-ok-success: oklch(58% 0.13 150);
  --bc-ok-warning: oklch(74% 0.14 80);
  --bc-ok-danger: oklch(56% 0.18 27);

  /* Surface ladder for layered depth */
  --bc-surface-1: var(--bc-ok-bg-surface);
  --bc-surface-2: oklch(97% 0.006 90);
  --bc-surface-3: oklch(95% 0.008 100);

  /* Layered shadows: small + ambient, recreates premium native depth */
  --bc-elev-1:
    0 1px 1px oklch(20% 0.02 240 / 0.05),
    0 1px 2px oklch(20% 0.02 240 / 0.04);
  --bc-elev-2:
    0 1px 2px oklch(20% 0.02 240 / 0.05),
    0 4px 10px oklch(20% 0.02 240 / 0.06);
  --bc-elev-3:
    0 2px 4px oklch(20% 0.02 240 / 0.06),
    0 10px 22px oklch(20% 0.02 240 / 0.08);
  --bc-elev-4:
    0 4px 8px oklch(20% 0.02 240 / 0.07),
    0 18px 36px oklch(20% 0.02 240 / 0.10);
  --bc-elev-press: inset 0 1px 0 oklch(20% 0.02 240 / 0.08);

  /* Hairline rules using color-mix for true blend */
  --bc-rule-soft: 1px solid color-mix(in oklch, var(--bc-ok-border-soft), transparent 20%);
  --bc-rule-strong: 1px solid var(--bc-ok-border-strong);

  /* Calendar-specific design tokens */
  --bc-cal-line: color-mix(in oklch, var(--bc-ok-border-strong), transparent 30%);
  --bc-cal-weekend-bg: color-mix(in oklch, var(--bc-ok-accent) 8%, var(--bc-ok-bg-surface));
  --bc-cal-today-bg: color-mix(in oklch, var(--bc-ok-primary) 88%, white);
  --bc-cal-today-fg: oklch(98% 0 0);
  --bc-cal-num-fs: clamp(0.95rem, 0.85rem + 0.6vw, 1.18rem);
  --bc-cal-cell-pad: clamp(0.45rem, 0.3rem + 0.5vw, 0.75rem);
  --bc-cal-head-fs: clamp(0.78rem, 0.74rem + 0.2vw, 0.92rem);
  --bc-cal-head-tracking: 0.08em;

  /* Focus rings — layered, no layout shift */
  --bc-focus-ring: 0 0 0 3px color-mix(in oklch, var(--bc-ok-focus), transparent 70%);
  --bc-focus-ring-strong: 0 0 0 3px color-mix(in oklch, var(--bc-ok-focus), transparent 50%);

  /* Motion tokens */
  --bc-motion-fast: 140ms;
  --bc-motion-medium: 220ms;
  --bc-motion-slow: 340ms;
  --bc-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --bc-ease-emphasized: cubic-bezier(0.2, 0, 0, 1.15);

  /* Print ink tokens */
  --bc-print-ink: #1a1a1a;
  --bc-print-rule: #cccccc;
  --bc-print-strong: #000000;
}

/* Re-bind legacy hex tokens to the OKLCH palette for browsers that support it.
   Old browsers keep the hex values defined earlier in this file. */
@supports (color: oklch(0% 0 0)) {
  :root {
    --bc-bg-canvas: var(--bc-ok-bg-canvas);
    --bc-bg-surface: var(--bc-ok-bg-surface);
    --bc-bg-subtle: var(--bc-ok-bg-subtle);
    --bc-text-strong: var(--bc-ok-text-strong);
    --bc-text-body: var(--bc-ok-text-body);
    --bc-text-muted: var(--bc-ok-text-muted);
    --bc-primary: var(--bc-ok-primary);
    --bc-primary-strong: var(--bc-ok-primary-strong);
    --bc-accent: var(--bc-ok-accent);
    --bc-border-soft: var(--bc-ok-border-soft);
    --bc-border-strong: var(--bc-ok-border-strong);
    --bc-focus: var(--bc-ok-focus);
    --bc-shadow-soft: var(--bc-elev-2);
    --bc-ad-bg: color-mix(in oklch, var(--bc-ok-bg-surface), var(--bc-ok-bg-subtle) 20%);
    --bc-ad-border: color-mix(in oklch, var(--bc-ok-border-strong), transparent 35%);
    --bc-ad-shadow: var(--bc-elev-1);
  }
}

/* ---------- Step 2B: Container queries on key surfaces ------------------- */
@supports (container-type: inline-size) {
  .nv-content-wrap,
  .nv-sidebar-wrap .widget,
  .site-footer .widget {
    container-type: inline-size;
    container-name: bc-card;
  }
}

/* ---------- Step 3A: Header + sticky polish ------------------------------ */
.nv-navbar,
.header-main {
  box-shadow: var(--bc-elev-1);
  transition: box-shadow var(--bc-motion-medium) var(--bc-ease-standard);
}

@supports ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))) {
  @media (min-width: 992px) {
    .nv-navbar,
    .header-main,
    .header--row-inner {
      background: color-mix(in oklch, var(--bc-ok-bg-surface) 88%, transparent);
      backdrop-filter: saturate(1.05) blur(10px);
      -webkit-backdrop-filter: saturate(1.05) blur(10px);
    }
  }
}

.is-sticky .nv-navbar,
.is-sticky .header-main,
.is-sticky.header--row,
.has-sticky-row .header--row-inner {
  box-shadow: var(--bc-elev-2);
}

/* ---------- Step 3B: Logo lockup refinement ------------------------------ */
.builder-item--logo .site-branding {
  gap: clamp(0.55rem, 0.4rem + 0.6vw, 0.85rem);
}

.builder-item--logo .site-logo img,
.builder-item--logo .custom-logo {
  box-shadow: var(--bc-elev-2);
  transition: box-shadow var(--bc-motion-medium) var(--bc-ease-standard);
}

@media (hover: hover) {
  .builder-item--logo a:hover .site-logo img,
  .builder-item--logo a:hover .custom-logo {
    box-shadow: var(--bc-elev-3);
  }
}

/* ---------- Step 3C: Primary menu spacing + motion ----------------------- */
.builder-item--primary-menu .nav-ul > li > a {
  padding-inline: clamp(0.55rem, 0.4rem + 0.6vw, 0.95rem);
  transition: color var(--bc-motion-fast) var(--bc-ease-standard);
}

.builder-item--primary-menu .sub-menu,
.builder-item--primary-menu .sub-menu .sub-menu {
  box-shadow: var(--bc-elev-3);
  border-color: color-mix(in oklch, var(--bc-ok-border-soft), transparent 30%);
}

.builder-item--primary-menu .sub-menu li > a {
  transition:
    background var(--bc-motion-fast) var(--bc-ease-standard),
    color var(--bc-motion-fast) var(--bc-ease-standard),
    padding-inline-start var(--bc-motion-fast) var(--bc-ease-standard);
}

@media (hover: hover) {
  .builder-item--primary-menu .sub-menu li > a:hover {
    padding-inline-start: calc(1.05rem + 0.15rem);
  }
}

/* ---------- Step 3D: Content rhythm + cards ------------------------------ */
.nv-content-wrap,
.nv-sidebar-wrap .widget,
.wp-block-group,
.wp-block-cover,
.wp-block-media-text {
  box-shadow: var(--bc-elev-2);
  transition:
    box-shadow var(--bc-motion-medium) var(--bc-ease-standard);
}

@media (hover: hover) and (min-width: 992px) {
  .nv-sidebar-wrap .widget:hover,
  .wp-block-group:hover,
  .wp-block-cover:hover {
    box-shadow: var(--bc-elev-3);
  }
}

.nv-content-wrap :where(p, ul, ol) + :where(h2, h3) {
  margin-top: clamp(1.2rem, 1rem + 0.8vw, 1.8rem);
}

.nv-content-wrap :where(h2) {
  margin-top: clamp(1.4rem, 1.1rem + 1vw, 2.2rem);
  padding-top: 0.35rem;
}

.nv-content-wrap :where(h2, h3, h4) {
  scroll-margin-top: 5rem;
}

.nv-content-wrap :where(p, li) {
  text-wrap: pretty;
}

.nv-content-wrap :where(h1, h2, h3, h4, .entry-title) {
  text-wrap: balance;
}

/* ---------- Step 3E: Tables + calendar premium polish -------------------- */
.nv-content-wrap table {
  font-feature-settings: "tnum" 1, "lnum" 1;
  border-radius: var(--bc-radius-s);
  overflow: hidden;
  box-shadow: var(--bc-elev-1);
}

.nv-content-wrap table tbody tr:nth-child(even) td {
  background: color-mix(in oklch, var(--bc-ok-bg-subtle), var(--bc-ok-bg-surface) 70%);
}

@media (hover: hover) {
  .nv-content-wrap table tbody tr:hover td {
    background: color-mix(in oklch, var(--bc-ok-accent) 8%, var(--bc-ok-bg-surface));
  }
}

/* Calendar grid: matches both .calendar / .bc-calendar / [class*="calendar"] */
.nv-content-wrap table.calendar,
.nv-content-wrap table.bc-calendar,
.nv-content-wrap table[class*="calendar"],
.nv-content-wrap table[summary*="calendar" i] {
  font-variant-numeric: tabular-nums;
  table-layout: fixed;
  border: 1px solid var(--bc-cal-line);
  background: var(--bc-ok-bg-surface);
  text-align: center;
  width: 100%;
}

.nv-content-wrap table.calendar thead th,
.nv-content-wrap table.bc-calendar thead th,
.nv-content-wrap table[class*="calendar"] thead th,
.nv-content-wrap table[summary*="calendar" i] thead th {
  font-size: var(--bc-cal-head-fs);
  letter-spacing: var(--bc-cal-head-tracking);
  text-transform: uppercase;
  color: var(--bc-ok-text-muted);
  background: color-mix(in oklch, var(--bc-ok-bg-subtle), var(--bc-ok-bg-surface) 50%);
  font-weight: 620;
  padding-block: 0.55rem;
  border-bottom: 1px solid var(--bc-cal-line);
}

.nv-content-wrap table.calendar tbody td,
.nv-content-wrap table.bc-calendar tbody td,
.nv-content-wrap table[class*="calendar"] tbody td,
.nv-content-wrap table[summary*="calendar" i] tbody td {
  padding: var(--bc-cal-cell-pad);
  font-size: var(--bc-cal-num-fs);
  color: var(--bc-ok-text-strong);
  border-color: var(--bc-cal-line);
  vertical-align: top;
  font-weight: 540;
}

/* Weekend cells (first/last column) */
.nv-content-wrap table.calendar tbody td:first-child,
.nv-content-wrap table.calendar tbody td:last-child,
.nv-content-wrap table.bc-calendar tbody td:first-child,
.nv-content-wrap table.bc-calendar tbody td:last-child,
.nv-content-wrap table[class*="calendar"] tbody td:first-child,
.nv-content-wrap table[class*="calendar"] tbody td:last-child {
  background: var(--bc-cal-weekend-bg);
}

/* Today / current-day highlight (works with .today, .current-day, [aria-current]) */
.nv-content-wrap table.calendar .today,
.nv-content-wrap table.calendar .current-day,
.nv-content-wrap table[class*="calendar"] .today,
.nv-content-wrap table[class*="calendar"] .current-day,
.nv-content-wrap table[class*="calendar"] [aria-current="date"],
.nv-content-wrap table[class*="calendar"] [aria-current="true"] {
  background: var(--bc-cal-today-bg) !important;
  color: var(--bc-cal-today-fg) !important;
  font-weight: 700;
  border-radius: 0.4rem;
}

/* ---------- Step 3F: AdSense premium native frame ------------------------ */
ins.adsbygoogle,
.nv-content-wrap ins.adsbygoogle,
.nv-sidebar-wrap ins.adsbygoogle {
  box-shadow: var(--bc-elev-1);
  background:
    linear-gradient(180deg,
      color-mix(in oklch, var(--bc-ok-bg-surface), var(--bc-ok-bg-subtle) 35%) 0%,
      var(--bc-ok-bg-surface) 100%);
  border-color: color-mix(in oklch, var(--bc-ok-border-strong), transparent 35%);
  transition: box-shadow var(--bc-motion-medium) var(--bc-ease-standard);
}

@media (hover: hover) and (min-width: 992px) {
  ins.adsbygoogle:hover {
    box-shadow: var(--bc-elev-2);
  }
}

/* ---------- Step 3G: Footer rhythm refinement --------------------------- */
.site-footer .widget {
  box-shadow: var(--bc-elev-2);
  transition: box-shadow var(--bc-motion-medium) var(--bc-ease-standard);
}

@media (hover: hover) and (min-width: 992px) {
  .site-footer .widget:hover {
    box-shadow: var(--bc-elev-3);
  }
}

/* ---------- Step 3H: Container query adaptive cards ---------------------- */
@supports (container-type: inline-size) {
  @container bc-card (min-width: 720px) {
    .nv-content-wrap > :where(p, li) {
      max-width: 72ch;
    }
  }

  @container bc-card (max-width: 480px) {
    .nv-content-wrap {
      padding: var(--bc-space-3);
    }

    .nv-content-wrap table th,
    .nv-content-wrap table td {
      padding: 0.42rem 0.5rem;
    }
  }
}

/* ---------- Step 4A: Focus ring upgrade (no layout shift) ---------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 0;
  box-shadow: var(--bc-focus-ring);
  border-radius: var(--bc-radius-s);
}

/* ---------- Step 4B: Buttons motion refinement -------------------------- */
.nv-content-wrap .wp-block-button__link,
.nv-content-wrap button,
.nv-content-wrap input[type="submit"] {
  transition:
    transform var(--bc-motion-fast) var(--bc-ease-standard),
    box-shadow var(--bc-motion-medium) var(--bc-ease-standard),
    filter var(--bc-motion-fast) var(--bc-ease-standard);
}

@media (hover: hover) and (min-width: 992px) {
  .nv-content-wrap .wp-block-button__link:hover,
  .nv-content-wrap button:hover,
  .nv-content-wrap input[type="submit"]:hover {
    box-shadow: var(--bc-elev-3);
  }
}

.nv-content-wrap .wp-block-button__link:active,
.nv-content-wrap button:active,
.nv-content-wrap input[type="submit"]:active {
  box-shadow: var(--bc-elev-press);
  transform: translateY(0);
}

/* ---------- Step 4C: Mobile touch target AA ----------------------------- */
@media (max-width: 767.98px) {
  .builder-item--primary-menu .nav-ul > li > a,
  .header-menu-sidebar .menu-item > a,
  .widget li > a,
  .nv-footer-menu li > a,
  .nv-content-wrap a.wp-block-button__link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    line-height: 1.3;
  }
}

/* ---------- Step 4D: Selection + image polish --------------------------- */
::selection {
  background: color-mix(in oklch, var(--bc-ok-accent), transparent 60%);
  color: var(--bc-ok-text-strong);
}

.nv-content-wrap img,
.wp-block-image img,
.wp-post-image {
  box-shadow: var(--bc-elev-1);
  transition: box-shadow var(--bc-motion-medium) var(--bc-ease-standard);
}

@media (hover: hover) and (min-width: 992px) {
  .nv-content-wrap .wp-block-image img:hover,
  .wp-post-image:hover {
    box-shadow: var(--bc-elev-2);
  }
}

/* ---------- Step 4E: Reduced motion / data / contrast ------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }

  .nv-content-wrap .wp-block-button__link,
  .nv-content-wrap button,
  .nv-content-wrap input[type="submit"] {
    transform: none !important;
  }
}

@media (prefers-reduced-data: reduce) {
  .nv-content-wrap,
  .widget,
  .nv-sidebar-wrap .widget,
  ins.adsbygoogle,
  .site-footer .widget {
    box-shadow: none !important;
    background-image: none !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --bc-ok-text-body: oklch(20% 0.02 240);
    --bc-ok-border-soft: oklch(60% 0.02 240);
  }

  a {
    text-decoration-thickness: 0.12em;
  }

  ins.adsbygoogle {
    border-color: var(--bc-ok-text-strong) !important;
  }
}

/* ---------- Step 4F: Print refinement (calendar perfection) ------------- */
@media print {
  .nv-content-wrap table.calendar,
  .nv-content-wrap table.bc-calendar,
  .nv-content-wrap table[class*="calendar"],
  .nv-content-wrap table[summary*="calendar" i] {
    border: 1px solid var(--bc-print-rule) !important;
    box-shadow: none !important;
  }

  .nv-content-wrap table.calendar thead th,
  .nv-content-wrap table.bc-calendar thead th,
  .nv-content-wrap table[class*="calendar"] thead th,
  .nv-content-wrap table[summary*="calendar" i] thead th {
    background: #f5f5f5 !important;
    color: var(--bc-print-strong) !important;
    border-color: var(--bc-print-rule) !important;
  }

  .nv-content-wrap table.calendar tbody td,
  .nv-content-wrap table.bc-calendar tbody td,
  .nv-content-wrap table[class*="calendar"] tbody td,
  .nv-content-wrap table[summary*="calendar" i] tbody td {
    color: var(--bc-print-ink) !important;
    border-color: var(--bc-print-rule) !important;
    background: #ffffff !important;
  }

  .nv-content-wrap table[class*="calendar"] tbody td:first-child,
  .nv-content-wrap table[class*="calendar"] tbody td:last-child {
    background: #fafafa !important;
  }

  .nv-content-wrap table[class*="calendar"] .today,
  .nv-content-wrap table[class*="calendar"] [aria-current="date"] {
    color: var(--bc-print-strong) !important;
    background: #ececec !important;
    font-weight: 800 !important;
  }

  .nv-content-wrap :where(h1, h2, h3) {
    color: var(--bc-print-strong) !important;
  }

  .nv-content-wrap,
  .widget,
  .wp-block-group {
    box-shadow: none !important;
    border: 0 !important;
  }
}

/* ---------- Step 4G: Dark mode readiness (opt-in only by default) ------- */
[data-theme="dark"] {
  --bc-ok-bg-canvas: oklch(18% 0.02 240);
  --bc-ok-bg-surface: oklch(22% 0.02 240);
  --bc-ok-bg-subtle: oklch(26% 0.02 240);
  --bc-ok-text-strong: oklch(95% 0.005 240);
  --bc-ok-text-body: oklch(86% 0.01 240);
  --bc-ok-text-muted: oklch(70% 0.012 240);
  --bc-ok-border-soft: oklch(34% 0.015 240);
  --bc-ok-border-strong: oklch(46% 0.02 240);
  --bc-ok-primary: oklch(72% 0.10 220);
  --bc-ok-primary-strong: oklch(80% 0.10 220);
  --bc-ok-accent: oklch(70% 0.12 192);
  --bc-elev-1: 0 1px 2px oklch(0% 0 0 / 0.45), 0 1px 3px oklch(0% 0 0 / 0.35);
  --bc-elev-2: 0 2px 4px oklch(0% 0 0 / 0.45), 0 8px 18px oklch(0% 0 0 / 0.35);
  --bc-elev-3: 0 4px 8px oklch(0% 0 0 / 0.45), 0 14px 28px oklch(0% 0 0 / 0.40);
}

/* Auto dark mode (only when user has explicitly opted in via [data-color-scheme="auto"]) */
@media (prefers-color-scheme: dark) {
  :root[data-color-scheme="auto"] {
    --bc-ok-bg-canvas: oklch(18% 0.02 240);
    --bc-ok-bg-surface: oklch(22% 0.02 240);
    --bc-ok-bg-subtle: oklch(26% 0.02 240);
    --bc-ok-text-strong: oklch(95% 0.005 240);
    --bc-ok-text-body: oklch(86% 0.01 240);
    --bc-ok-text-muted: oklch(70% 0.012 240);
    --bc-ok-border-soft: oklch(34% 0.015 240);
    --bc-ok-border-strong: oklch(46% 0.02 240);
  }
}

/* ---------- Step 4H: Subtle premium scrollbar (desktop only) ----------- */
@media (min-width: 992px) {
  @supports selector(::-webkit-scrollbar) {
    html {
      scrollbar-color:
        color-mix(in oklch, var(--bc-ok-primary), transparent 50%)
        var(--bc-ok-bg-canvas);
      scrollbar-width: thin;
    }

    ::-webkit-scrollbar {
      width: 10px;
      height: 10px;
    }

    ::-webkit-scrollbar-track {
      background: var(--bc-ok-bg-canvas);
    }

    ::-webkit-scrollbar-thumb {
      background: color-mix(in oklch, var(--bc-ok-primary), transparent 60%);
      border-radius: 8px;
      border: 2px solid var(--bc-ok-bg-canvas);
    }

    ::-webkit-scrollbar-thumb:hover {
      background: color-mix(in oklch, var(--bc-ok-primary), transparent 30%);
    }
  }
}

/* ==========================================================================
   BetaCalendars — TemplateLab-inspired redesign layer
   Homepage, archive, singular, cards, CTAs. Additive child-theme override.
   ========================================================================== */

:root {
  --bctl-blue: #1f86c7;
  --bctl-blue-dark: #176a9e;
  --bctl-blue-soft: #eaf6fc;
  --bctl-green: #8bc34a;
  --bctl-green-dark: #6da32f;
  --bctl-ink: #333333;
  --bctl-muted: #777777;
  --bctl-line: #e6e6e6;
  --bctl-canvas: #f7f7f7;
  --bctl-white: #ffffff;
  --bctl-footer: #333333;
  --bctl-footer-text: #cfcfcf;
  --bctl-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  --bctl-radius: 4px;
  --bctl-font: "Open Sans", Arial, Helvetica, sans-serif;
  --bc-font-sans: var(--bctl-font);
}

body.bc-premium-ui {
  background: var(--bctl-canvas);
  color: var(--bctl-ink);
  font-family: var(--bctl-font);
  font-size: 16px;
  line-height: 1.65;
}

body.bc-premium-ui h1,
body.bc-premium-ui h2,
body.bc-premium-ui h3,
body.bc-premium-ui h4,
body.bc-premium-ui h5,
body.bc-premium-ui h6,
body.bc-premium-ui .entry-title {
  color: var(--bctl-ink);
  font-family: var(--bctl-font);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

body.bc-premium-ui a {
  color: var(--bctl-blue);
  text-decoration: none;
}

body.bc-premium-ui a:hover,
body.bc-premium-ui a:focus-visible {
  color: var(--bctl-blue-dark);
}

body.bc-premium-ui .header--row-inner,
body.bc-premium-ui .nv-navbar,
body.bc-premium-ui .header-main {
  background: var(--bctl-white) !important;
  border-bottom: 1px solid var(--bctl-line) !important;
  box-shadow: none !important;
}

body.bc-premium-ui .builder-item--logo .site-logo img,
body.bc-premium-ui .builder-item--logo .custom-logo {
  border-radius: 0;
  box-shadow: none;
  max-height: 54px !important;
}

body.bc-premium-ui .builder-item--primary-menu .nav-ul > li > a {
  color: #555555;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.bc-premium-ui .builder-item--primary-menu .nav-ul > li > a:hover,
body.bc-premium-ui .builder-item--primary-menu .current-menu-item > a,
body.bc-premium-ui .builder-item--primary-menu .current-menu-ancestor > a {
  color: var(--bctl-blue);
}

body.bc-premium-ui .builder-item--primary-menu .sub-menu {
  border: 1px solid var(--bctl-line);
  border-radius: var(--bctl-radius);
  box-shadow: var(--bctl-shadow);
}

body.bc-premium-ui .builder-item--primary-menu .sub-menu li > a {
  color: #555555;
  font-size: 13px;
}

body.bc-premium-ui .site-content,
body.bc-premium-ui .neve-main {
  padding-top: 0;
}

body.bc-premium-ui .single-post-container,
body.bc-premium-ui .single-page-container,
body.bc-premium-ui .container {
  max-width: 1180px;
}

body.bc-premium-ui:not(.bc-home-context) .nv-content-wrap,
body.bc-premium-ui:not(.bc-home-context) .nv-sidebar-wrap .widget {
  background: var(--bctl-white);
  border: 1px solid var(--bctl-line);
  border-radius: var(--bctl-radius);
  box-shadow: none;
}

body.bc-premium-ui:not(.bc-home-context) .nv-content-wrap {
  padding: clamp(22px, 3vw, 42px);
}

body.bc-premium-ui .entry-title,
body.bc-premium-ui h1.entry-title {
  font-size: clamp(32px, 4vw, 48px);
  margin-bottom: 18px;
}

body.bc-premium-ui .nv-content-wrap h2 {
  border-bottom: 1px solid var(--bctl-line);
  font-size: clamp(24px, 2.6vw, 34px);
  margin-top: 34px;
  padding-bottom: 10px;
}

body.bc-premium-ui .nv-content-wrap h3 {
  color: var(--bctl-blue-dark);
  font-size: clamp(20px, 2vw, 26px);
}

body.bc-premium-ui .nv-content-wrap .wp-block-button__link,
body.bc-premium-ui .nv-content-wrap button,
body.bc-premium-ui .nv-content-wrap input[type="submit"],
.bctl-btn {
  align-items: center;
  background: var(--bctl-green);
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  color: #ffffff !important;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  min-height: 42px;
  padding: 13px 22px;
  text-transform: uppercase;
  transition: background 160ms ease, transform 160ms ease;
}

body.bc-premium-ui .nv-content-wrap .wp-block-button__link:hover,
body.bc-premium-ui .nv-content-wrap button:hover,
body.bc-premium-ui .nv-content-wrap input[type="submit"]:hover,
.bctl-btn:hover,
.bctl-btn:focus-visible {
  background: var(--bctl-green-dark);
  color: #ffffff !important;
  transform: translateY(-1px);
}

.bctl-btn--blue {
  background: var(--bctl-blue);
}

.bctl-btn--blue:hover,
.bctl-btn--blue:focus-visible {
  background: var(--bctl-blue-dark);
}

.bctl-home {
  background: var(--bctl-canvas);
}

.bctl-home__hero {
  background: var(--bctl-white);
  border-bottom: 1px solid var(--bctl-line);
  padding: clamp(44px, 6vw, 82px) 20px clamp(36px, 5vw, 64px);
}

.bctl-home__inner {
  margin: 0 auto;
  max-width: 1180px;
}

.bctl-hero-grid {
  align-items: center;
  display: grid;
  gap: clamp(28px, 5vw, 70px);
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
}

.bctl-kicker {
  color: var(--bctl-blue);
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.bctl-home h1 {
  color: var(--bctl-ink);
  font-size: clamp(40px, 5.3vw, 64px);
  line-height: 1.1;
  margin: 0 0 18px;
}

.bctl-home__lead {
  color: #666666;
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.7;
  margin: 0 0 26px;
  max-width: 670px;
}

.bctl-search {
  display: flex;
  gap: 0;
  margin-top: 24px;
  max-width: 640px;
}

.bctl-search input[type="search"] {
  background: #ffffff;
  border: 1px solid var(--bctl-line);
  border-radius: 3px 0 0 3px;
  color: var(--bctl-ink);
  flex: 1;
  min-height: 48px;
  padding: 0 16px;
}

.bctl-search button {
  background: var(--bctl-blue);
  border: 0;
  border-radius: 0 3px 3px 0;
  color: #ffffff;
  font-weight: 700;
  min-height: 48px;
  padding: 0 22px;
  text-transform: uppercase;
}

.bctl-hero-card {
  background: var(--bctl-blue-soft);
  border: 1px solid #d5edf9;
  border-radius: var(--bctl-radius);
  padding: clamp(18px, 2.5vw, 28px);
  text-align: center;
}

.bctl-hero-card img {
  background: #ffffff;
  border: 1px solid var(--bctl-line);
  border-radius: 3px;
  box-shadow: var(--bctl-shadow);
  height: auto;
  max-width: 100%;
}

.bctl-section {
  padding: clamp(42px, 6vw, 78px) 20px;
}

.bctl-section--white {
  background: #ffffff;
}

.bctl-section__head {
  margin: 0 auto 28px;
  max-width: 760px;
  text-align: center;
}

.bctl-section__head h2 {
  color: var(--bctl-ink);
  font-size: clamp(30px, 3vw, 42px);
  margin: 0 0 10px;
}

.bctl-section__head p {
  color: var(--bctl-muted);
  font-size: 17px;
  margin: 0;
}

.bctl-category-tabs {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 30px;
}

.bctl-category-tabs a {
  background: #ffffff;
  border: 1px solid var(--bctl-line);
  border-radius: 3px;
  color: #555555;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 16px;
}

.bctl-category-tabs a:hover,
.bctl-category-tabs a:first-child {
  background: var(--bctl-blue);
  border-color: var(--bctl-blue);
  color: #ffffff;
}

.bctl-card-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bctl-card {
  background: #ffffff;
  border: 1px solid var(--bctl-line);
  border-radius: var(--bctl-radius);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.bctl-card:hover {
  border-color: #cfcfcf;
  box-shadow: var(--bctl-shadow);
  transform: translateY(-2px);
}

.bctl-card__media {
  align-items: center;
  background: #f3f8fb;
  display: flex;
  justify-content: center;
  min-height: 180px;
  padding: 18px;
}

.bctl-card__media img {
  border: 1px solid var(--bctl-line);
  height: auto;
  max-height: 210px;
  max-width: 100%;
  object-fit: contain;
}

.bctl-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px;
}

.bctl-card__date {
  color: #999999;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.bctl-card h3 {
  font-size: 17px;
  line-height: 1.35;
  margin: 0 0 14px;
}

.bctl-card h3 a {
  color: var(--bctl-ink);
}

.bctl-card h3 a:hover {
  color: var(--bctl-blue);
}

.bctl-card__link {
  color: var(--bctl-blue);
  font-size: 13px;
  font-weight: 700;
  margin-top: auto;
  text-transform: uppercase;
}

.bctl-stats {
  background: var(--bctl-blue);
  color: #ffffff;
}

.bctl-stats .bctl-section__head h2,
.bctl-stats .bctl-section__head p {
  color: #ffffff;
}

.bctl-stats-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bctl-stat {
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: var(--bctl-radius);
  padding: 24px 16px;
  text-align: center;
}

.bctl-stat strong {
  color: #ffffff;
  display: block;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
  margin-bottom: 8px;
}

.bctl-stat span {
  color: rgba(255, 255, 255, 0.88);
  display: block;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.bctl-original-content {
  background: #ffffff;
  border-top: 1px solid var(--bctl-line);
}

.bctl-original-content .nv-content-wrap {
  border: 0;
  box-shadow: none;
  padding: 0;
}

body.bc-premium-ui .site-footer,
body.bc-premium-ui .footer,
body.bc-premium-ui .footer--row,
body.bc-premium-ui .footer--row-inner {
  background: var(--bctl-footer) !important;
  border-top: 0 !important;
  color: var(--bctl-footer-text) !important;
}

body.bc-premium-ui .site-footer p,
body.bc-premium-ui .site-footer li,
body.bc-premium-ui .site-footer .builder-item,
body.bc-premium-ui .site-footer .builder-item * {
  color: var(--bctl-footer-text) !important;
}

body.bc-premium-ui .site-footer a {
  color: #ffffff !important;
}

body.bc-premium-ui .scroll-to-top {
  background: var(--bctl-blue);
  border-radius: 3px;
  color: #ffffff;
}

@media (max-width: 1024px) {
  .bctl-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .bctl-hero-grid {
    grid-template-columns: 1fr;
  }

  .bctl-card-grid,
  .bctl-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bctl-search {
    flex-direction: column;
  }

  .bctl-search input[type="search"],
  .bctl-search button {
    border-radius: 3px;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .bctl-card-grid,
  .bctl-stats-grid {
    grid-template-columns: 1fr;
  }

  .bctl-home h1 {
    font-size: 36px;
  }

  .bctl-section,
  .bctl-home__hero {
    padding-left: 16px;
    padding-right: 16px;
  }
}

