/*
Theme Name: CGB mmtc-like (MVP)
Theme URI: https://example.com/
Author: You
Description: Minimal mmtc-like classic theme for local development. Includes a simple mega menu layout.
Version: 0.1.0
License: GPLv2 or later
Text Domain: cgb-mmtc-like
*/

:root{
  --cgb-container: 1200px;
  --cgb-gutter: 20px;
  --cgb-content-py: 32px;
  --cgb-footer-py: 28px;
  --cgb-nav-gap: 18px;
  --cgb-nav-link-px: 8px;
  --cgb-nav-link-py: 10px;
  --cgb-header-border-w: 1px;
  --cgb-header-shadow: none;
  --cgb-header-shadow-scrolled: 0 0 7px rgba(0,0,0,0.08);
  --cgb-header-gap: 16px;
  --cgb-logo-h: 28px;
  --cgb-brand-size: 16px;
  --cgb-radius-sm: 4px;
  --cgb-radius-lg: 4px;
  --cgb-text: #666666;
  --cgb-muted: #8D8D8D;
  --cgb-bg: #ffffff;
  --cgb-border: #E6E6E6;
  --cgb-primary: #2864AC;

  /* Novade brand palette */
  --cgb-novade-green: #81BF48;
  --cgb-novade-green-dark: #6FA53B;
  --cgb-novade-blue: #2864AC;
  --cgb-denim-blue: #5182BB;
  --cgb-slate-gray: #666666;

  --cgb-rust-orange: #ED6E19;
  --cgb-brick-red: #E54D39;
  --cgb-gold: #EAA60F;
  --cgb-copper: #C17656;

  --cgb-slate-blue: #647E9B;
  --cgb-silver: #E6E6E6;
  --cgb-steel: #8D8D8D;
  --cgb-onyx: #262626;
  --cgb-header-h: 72px;
  /* Real measured header height (JS updates). Used to avoid gaps on mobile. */
  --cgb-header-offset: var(--cgb-header-h);
  --cgb-header-h-fixed: clamp(56px, calc(var(--cgb-header-h) - 16px), var(--cgb-header-h));
  --cgb-logo-h-fixed: clamp(20px, calc(var(--cgb-logo-h) - 4px), var(--cgb-logo-h));
  --cgb-adminbar-h: 0px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}

/* Global responsive media */
img,video,embed,object,iframe{ max-width:100%; height:100%;
  object-fit:cover;
  object-position:center; }
table{ max-width:100%; }

/* ── Posts Grid cards (global site overrides – match testimonials cards) ── */
.ccb-posts-grid{
  --ccb-pg-card-bg: var(--cgb-bg);
  --ccb-pg-card-border-color: var(--cgb-border);
  --ccb-pg-card-border-w: 1px;
  --ccb-pg-card-radius: 3px;
  --ccb-pg-card-shadow: 0 2px 8px color-mix(in srgb, var(--cgb-text) 6%, transparent);
  --ccb-pg-card-shadow-hover: 0 12px 32px color-mix(in srgb, var(--cgb-text) 12%, transparent);
  --ccb-pg-image-ar: 16 / 9;
  --ccb-pg-title-fs-desktop: 17px;
  --ccb-pg-title-fs-mobile: 16px;
  --ccb-pg-link-color: var(--cgb-novade-green);
}

.ccb-posts-grid__card{
  display:flex;
  flex-direction:column;
}

.ccb-posts-grid__card:hover{
  transform:translateY(-4px);
}

.ccb-posts-grid__image img{
  transition:transform .3s ease;
}

/* Force consistent image height on cards even when block sets auto */
.ccb-posts-grid__image{
  aspect-ratio:16 / 9 !important;
}

.ccb-posts-grid__card:hover .ccb-posts-grid__image img{
  transform:scale(1.04);
}

.ccb-posts-grid__content{
  padding:20px 22px 22px;
  flex:1 1 auto;
  gap:10px;
}

.ccb-posts-grid__title{
  line-height:1.3;
}

.ccb-posts-grid__title a:hover{
  color:var(--cgb-novade-green-dark);
}

.ccb-posts-grid__excerpt{
  color:var(--cgb-muted);
  flex:1;
}

.ccb-posts-grid__meta{
  color:var(--cgb-muted);
}

.ccb-posts-grid__readmore--link{
  font-weight:700;
  font-size:14px;
  transition:gap .2s ease;
}

.ccb-posts-grid__readmore--link::after{
  content:'→';
  display:inline-block;
  transition:transform .2s ease;
}

.ccb-posts-grid__readmore--link:hover{
  color:var(--cgb-novade-green-dark);
  gap:10px;
}

.ccb-posts-grid__readmore--link:hover::after{
  transform:translateX(2px);
}

/* Pagination (posts-grid) */
.ccb-posts-grid__pagination a,
.ccb-posts-grid__pagination span{
  border-radius:3px;
}

.ccb-posts-grid__pagination a:hover{
  border-color:var(--cgb-novade-green);
  color:var(--cgb-novade-green);
}

.ccb-posts-grid__pagination .current{
  border-color:var(--cgb-novade-green);
  color:var(--cgb-novade-green);
}

/* Related-posts grid (single article sidebar) – specific overrides */
.cgb-related-posts-grid{
  --ccb-pg-gap-desktop: 28px;
  --ccb-pg-gap-tablet: 22px;
  --ccb-pg-gap-mobile: 18px;
  --ccb-pg-pt-desktop: 40px;
  --ccb-pg-pb-desktop: 56px;
  --ccb-pg-pt-mobile: 28px;
  --ccb-pg-pb-mobile: 40px;
  --ccb-pg-sec-title-fs-desktop: 30px;
  --ccb-pg-sec-title-fs-mobile: 24px;
  --ccb-pg-sec-title-fw-desktop: 800;
  --ccb-pg-sec-title-mb-desktop: 24px;
  --ccb-pg-title-fs-desktop: 19px;
  --ccb-pg-title-fs-mobile: 18px;
}

/* Overflow-safe tables in post/page content */
.cgb-content table,
.entry-content table,
.cgb-post-content table{
  display:block;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* ── Post-content table styling ── */
.cgb-post-content table{
  border-collapse:collapse;
  width:100%;
  font-size:0.95em;
  line-height:1.5;
}

.cgb-post-content table thead th,
.cgb-post-content table tfoot th{
  background:var(--cgb-primary);
  color:#fff;
  font-weight:700;
  text-align:left;
  padding:14px 20px;
  border:1px solid rgba(255,255,255,0.15);
}

.cgb-post-content table tbody td{
  padding:14px 20px;
  border:1px solid var(--cgb-border);
  vertical-align:top;
  color:var(--cgb-text);
}

.cgb-post-content table tbody tr:nth-child(even){
  background:color-mix(in srgb, var(--cgb-bg) 96%, var(--cgb-text));
}

.cgb-post-content table tbody tr:nth-child(odd){
  background:var(--cgb-bg);
}

/* Gutenberg table block wrapper */
.cgb-post-content .wp-block-table table{
  display:table;
}
.cgb-post-content .wp-block-table{
  display:block;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.cgb-post-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd){
  background:#f9fafb;
}

/* Preserve native table layout for Feature Comparison (has its own scroll wrapper) */
.cgb-content .ccb-feature-comparison__table,
.entry-content .ccb-feature-comparison__table,
.cgb-post-content .ccb-feature-comparison__table{
  display:table;
  overflow-x:visible;
  table-layout:fixed;
}

body{
  font-family: var(--cgb-font-body, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji");
  font-size: var(--cgb-font-size, 14px);
  font-weight:500;
  color:var(--cgb-text);
  background:var(--cgb-bg);
  line-height:1.7em;
}

body.single-testimonials{ overflow-x:hidden; }

/* Admin bar offset (WordPress) */
body.admin-bar{ --cgb-adminbar-h: 32px; }
@media (max-width: 782px){
  body.admin-bar{ --cgb-adminbar-h: 46px; }
}

/* WordPress `html { margin-top }` reset is injected inline by enqueue.php
   exclusively on the front-end, so the block editor keeps its default offset. */


/* Fixed header needs layout offset */
body:not(.cgb-no-sticky){
  padding-top: calc(var(--cgb-adminbar-h) + var(--cgb-header-offset));
}

h1,h2,h3,h4,h5,h6{
  font-family: var(--cgb-font-head, var(--cgb-font-body));
}

.cgb-container{
  width:100%;
  max-width:var(--cgb-container);
  margin:0 auto;
  padding:0 var(--cgb-gutter);
}

/* Header width mode (Customizer) */
.cgb-header-full .cgb-site-header .cgb-container{
  max-width:none;
  padding-left:max(20px, env(safe-area-inset-left));
  padding-right:0;
}

/* Se anche il mega menu è full-width, allinea il pannello ai bordi (enterprise / Divi-like) */
.cgb-header-full.cgb-mega-full .cgb-primary-nav li.mega-menu > .sub-menu{
  padding-left:0;
  padding-right:0;
}

.cgb-site-header{
  position:fixed;
  top:var(--cgb-adminbar-h);
  left:0;
  right:0;
  /* Keep below WP admin bar (so its menus stay usable when logged in). */
  z-index:9990;
  background:var(--cgb-bg);
  border-bottom:none;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
  transition: background-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
  --cgb-header-h-current: var(--cgb-header-h);
  --cgb-logo-h-current: var(--cgb-logo-h);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  background:rgba(255,255,255,0.97);
}

.cgb-site-header.cgb-header-scrolled{
  box-shadow: 0 2px 16px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.04);
  --cgb-header-h-current: var(--cgb-header-h-fixed);
  --cgb-logo-h-current: var(--cgb-logo-h-fixed);
}

/* Optional: disable sticky header via Customizer */
.cgb-no-sticky .cgb-site-header{
  position:static;
}

/* -------------------------------------------------------------------------- */
/* Testimonials / Clients (CPT testimonials) – minimal styling                */
/* -------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- */
/* Imported Divi CTA / Promo (Gutenberg group)                                */
/* -------------------------------------------------------------------------- */

.wp-block-group.cgb-divi-promo{
  margin:28px 0 36px;
  padding:18px 22px;
  background:#5182BB;
  border:1px solid #4a78ad;
  border-radius:3px;
  box-shadow:none;
  color:#fff;
  text-align:left;
}

.wp-block-group.cgb-divi-promo > .wp-block-group__inner-container{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:16px 24px;
}

.wp-block-group.cgb-divi-promo h1,
.wp-block-group.cgb-divi-promo h2,
.wp-block-group.cgb-divi-promo h3,
.wp-block-group.cgb-divi-promo h4,
.wp-block-group.cgb-divi-promo h5,
.wp-block-group.cgb-divi-promo h6{
  display:block;
  color:#fff !important;
  margin:0;
  max-width:30ch;
  font-size:clamp(1.2rem, 1.5vw, 1.55rem);
  line-height:1.2;
  letter-spacing:-0.01em;
  font-weight:800;
}

body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-heading,
body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h1,
body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h2,
body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h3,
body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h4,
body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h5,
body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h6,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-heading,
.cgb-page-content .wp-block-group.cgb-divi-promo h1,
.cgb-page-content .wp-block-group.cgb-divi-promo h2,
.cgb-page-content .wp-block-group.cgb-divi-promo h3,
.cgb-page-content .wp-block-group.cgb-divi-promo h4,
.cgb-page-content .wp-block-group.cgb-divi-promo h5,
.cgb-page-content .wp-block-group.cgb-divi-promo h6{
  color:#fff !important;
  font-size:clamp(1.2rem, 1.5vw, 1.55rem) !important;
  line-height:1.2 !important;
  text-align:left !important;
  text-shadow:none !important;
  margin:0 !important;
}

.wp-block-group.cgb-divi-promo p{
  flex:1 1 100%;
  max-width:60ch;
  margin:0;
  color:rgba(255,255,255,0.88);
  font-size:15px;
  line-height:1.5;
}

.wp-block-group.cgb-divi-promo .wp-block-buttons{
  margin-top:0;
  margin-left:0;
  justify-content:flex-end;
  align-self:center;
}

.cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-buttons,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-buttons{
  margin:0;
}

.cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-buttons > .wp-block-button,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-buttons > .wp-block-button{
  display:block;
  flex:0 0 auto;
  max-width:none;
  min-width:0;
}

.wp-block-group.cgb-divi-promo .wp-block-button__link{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  max-width:100%;
  box-sizing:border-box;
  background:var(--cgb-novade-green) !important;
  border:1px solid var(--cgb-novade-green) !important;
  color:#ffffff !important;
  text-decoration:none;
  min-width:176px;
  padding:13px 20px;
  border-radius:3px;
  font-size:14px;
  font-weight:800;
  letter-spacing:0.01em;
  line-height:1.2;
  box-shadow:0 8px 18px rgba(16, 40, 73, 0.18);
  opacity:1 !important;
  visibility:visible !important;
  transition:background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.wp-block-group.cgb-divi-promo .wp-block-button__link::after{
  content:"\2192";
  display:inline-block;
  margin-left:8px;
  transition:transform 180ms ease;
}

.cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-button__link,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-button__link{
  background:var(--cgb-novade-green) !important;
  border-color:var(--cgb-novade-green) !important;
  color:#ffffff !important;
  width:auto !important;
}

.cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-button__link:hover,
.cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-button__link:focus,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-button__link:hover,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-button__link:focus{
  background:var(--cgb-novade-green-dark) !important;
  border-color:var(--cgb-novade-green-dark) !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(16, 40, 73, 0.22);
}

.cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-button__link:hover::after,
.cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-button__link:focus::after,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-button__link:hover::after,
.cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-button__link:focus::after{
  transform:translateX(3px);
}

@media (max-width: 767px){
  .wp-block-group.cgb-divi-promo{
    padding:18px 16px;
    text-align:center;
  }

  .wp-block-group.cgb-divi-promo > .wp-block-group__inner-container{
    grid-template-columns:1fr;
    gap:14px;
  }

  .wp-block-group.cgb-divi-promo h1,
  .wp-block-group.cgb-divi-promo h2,
  .wp-block-group.cgb-divi-promo h3,
  .wp-block-group.cgb-divi-promo h4,
  .wp-block-group.cgb-divi-promo h5,
  .wp-block-group.cgb-divi-promo h6{
    max-width:none;
    text-align:center;
  }

  body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo .wp-block-heading,
  body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h1,
  body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h2,
  body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h3,
  body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h4,
  body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h5,
  body.single-post .cgb-post-content .wp-block-group.cgb-divi-promo h6,
  .cgb-page-content .wp-block-group.cgb-divi-promo .wp-block-heading,
  .cgb-page-content .wp-block-group.cgb-divi-promo h1,
  .cgb-page-content .wp-block-group.cgb-divi-promo h2,
  .cgb-page-content .wp-block-group.cgb-divi-promo h3,
  .cgb-page-content .wp-block-group.cgb-divi-promo h4,
  .cgb-page-content .wp-block-group.cgb-divi-promo h5,
  .cgb-page-content .wp-block-group.cgb-divi-promo h6{
    text-align:center !important;
  }

  .wp-block-group.cgb-divi-promo .wp-block-buttons{
    margin-left:0;
    justify-content:center;
  }

  .wp-block-group.cgb-divi-promo .wp-block-buttons,
  .wp-block-group.cgb-divi-promo .wp-block-button,
  .wp-block-group.cgb-divi-promo .wp-block-button__link{
    width:100%;
  }
}

.cgb-case-archive-hero,
.cgb-case-filters,
.cgb-case-logos,
.cgb-case-grid,
.cgb-case-archive-cta,
.cgb-case-archive-banner,
.cgb-case-video,
.cgb-case-overview,
.cgb-case-single-content,
.cgb-case-quotes,
.cgb-case-explore,
.cgb-case-final-cta{
  width:100%;
  max-width:var(--cgb-container);
  margin:0 auto;
  padding-left:var(--cgb-gutter);
  padding-right:var(--cgb-gutter);
}

.cgb-case-archive-hero{
  padding-top:clamp(40px, 5vw, 72px);
  padding-bottom:clamp(20px, 3vw, 36px);
  text-align:center;
}

.cgb-case-archive-eyebrow{
  margin:0 0 8px;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--cgb-novade-green);
}

.cgb-case-archive-title{
  margin:0;
  font-size:clamp(32px, 4.5vw, 52px);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.01em;
}

.cgb-case-archive-subtitle{
  margin:14px auto 0;
  max-width:60ch;
  font-size:clamp(16px, 1.6vw, 19px);
  line-height:1.55;
  color:var(--cgb-muted);
}


.cgb-case-filters{
  padding-top:12px;
  padding-bottom:18px;
}

.cgb-case-filters-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-end;
  padding:14px;
  border:1px solid var(--cgb-border);
  border-radius:var(--cgb-radius-lg);
  background:color-mix(in srgb, var(--cgb-bg) 92%, var(--cgb-text));
}

.cgb-case-filter{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:min(240px, 100%);
  flex:1 1 240px;
}

.cgb-case-filter-label{
  font-size:12px;
  color:var(--cgb-muted);
}

.cgb-case-filter-input,
.cgb-case-filter-select{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--cgb-border);
  border-radius:var(--cgb-radius-sm);
  background:var(--cgb-bg);
  color:var(--cgb-text);
}

.cgb-case-filter-submit{
  padding:10px 14px;
  border-radius:var(--cgb-radius-sm);
  border:1px solid var(--cgb-border);
  background:var(--cgb-bg);
  color:var(--cgb-text);
  font-weight:600;
  cursor:pointer;
}

.cgb-case-filter-clear{
  padding:10px 8px;
  color:var(--cgb-muted);
  text-decoration:none;
}

.cgb-case-filter-clear:hover{
  text-decoration:underline;
}

.cgb-case-logos{
  padding-top:6px;
  padding-bottom:22px;
}

.cgb-case-logos-row{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:center;
  align-items:center;
  padding:10px 0;
}

.cgb-case-logo img{
  height:26px;
  width:auto;
  display:block;
  opacity:0.9;
}

.cgb-case-grid{
  padding-top:10px;
  padding-bottom:22px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

@media (max-width: 980px){
  .cgb-case-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px){
  .cgb-case-grid{ grid-template-columns:1fr; }
}

.cgb-case-card{
  border:1px solid var(--cgb-border);
  border-radius:3px;
  overflow:hidden;
  background:var(--cgb-bg);
  box-shadow:0 2px 8px color-mix(in srgb, var(--cgb-text) 6%, transparent);
  transition:box-shadow .25s ease, transform .25s ease;
  display:flex;
  flex-direction:column;
}

.cgb-case-card:hover{
  box-shadow:0 12px 32px color-mix(in srgb, var(--cgb-text) 12%, transparent);
  transform:translateY(-4px);
}

.cgb-case-card-body{
  padding:20px 22px 22px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.cgb-case-card-thumb{
  display:block;
  aspect-ratio:16 / 9;
  overflow:hidden;
}

.cgb-case-card-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}

.cgb-case-card:hover .cgb-case-card-thumb img{
  transform:scale(1.04);
}

.cgb-case-card-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 22px;
  min-height:56px;
  background:var(--cgb-bg);
  border-bottom:1px solid var(--cgb-border);
}

.cgb-case-card-logo img{
  max-height:36px;
  max-width:160px;
  width:auto;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  object-fit:contain;
}

.cgb-case-card-title{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.3;
  font-weight:700;
}

.cgb-case-card-title a{
  color:inherit;
  text-decoration:none;
}

.cgb-case-card-title a:hover{
  color:var(--cgb-novade-green-dark);
}

.cgb-case-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 14px;
}

.cgb-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:20px;
  border:none;
  background:color-mix(in srgb, var(--cgb-novade-green) 12%, var(--cgb-bg));
  color:var(--cgb-novade-green-dark);
  font-size:12px;
  font-weight:600;
  line-height:1;
}

.cgb-case-card-excerpt{
  color:var(--cgb-muted);
  margin:0 0 16px;
  font-size:14px;
  line-height:1.6;
  flex:1;
}

.cgb-case-card-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--cgb-novade-green);
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  transition:gap .2s ease;
}

.cgb-case-card-link:hover{
  gap:10px;
  color:var(--cgb-novade-green-dark);
}

/* Pagination */
.cgb-case-grid + .page-numbers{
  list-style:none;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:0 0 32px;
  padding:0;
}

.page-numbers li{
  display:flex;
}

.page-numbers li a,
.page-numbers li span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 10px;
  border:1px solid var(--cgb-border);
  border-radius:3px;
  background:var(--cgb-bg);
  color:var(--cgb-text);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}

.page-numbers li a:hover,
.page-numbers li a:focus{
  border-color:var(--cgb-novade-green);
  color:var(--cgb-novade-green);
  background:color-mix(in srgb, var(--cgb-novade-green) 6%, var(--cgb-bg));
}

.page-numbers li span.current{
  background:var(--cgb-novade-green);
  border-color:var(--cgb-novade-green);
  color:#fff;
}

.page-numbers li .dots{
  border:none;
  background:transparent;
  color:var(--cgb-muted);
  min-width:auto;
  padding:0 4px;
}

.page-numbers li .prev,
.page-numbers li .next{
  font-size:13px;
}

.cgb-webinars-archive-hero .cgb-case-archive-title{
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-size:clamp(26px, 4vw, 40px);
}

.cgb-webinars-archive-grid{
  padding-bottom:32px;
}

.cgb-webinar-archive-card{
  height:100%;
}

.cgb-webinar-archive-card-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  height:100%;
}

.cgb-webinar-archive-thumb{
  margin:0;
}

.cgb-webinar-archive-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.cgb-webinar-archive-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(40,100,172,0.08);
  color:var(--cgb-primary);
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.cgb-webinar-archive-title{
  margin-bottom:0;
}

.cgb-webinar-archive-excerpt{
  margin:0;
  flex:1 1 auto;
}

.cgb-webinar-archive-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto;
  padding-top:4px;
}

.cgb-webinar-archive-link,
.cgb-webinar-archive-watch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:4px;
  font-weight:700;
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}

.cgb-webinar-archive-link{
  border:1px solid var(--cgb-border);
  color:var(--cgb-text);
  background:var(--cgb-bg);
}

.cgb-webinar-archive-link:hover,
.cgb-webinar-archive-link:focus{
  border-color:var(--cgb-primary);
  color:var(--cgb-primary);
  text-decoration:none;
}

.cgb-webinar-archive-watch{
  border:1px solid var(--cgb-primary);
  background:var(--cgb-primary);
  color:#fff;
}

.cgb-webinar-archive-watch:hover,
.cgb-webinar-archive-watch:focus{
  background:color-mix(in srgb, var(--cgb-primary) 92%, var(--cgb-text));
  border-color:color-mix(in srgb, var(--cgb-primary) 92%, var(--cgb-text));
  color:#fff;
  text-decoration:none;
}

.cgb-case-archive-cta{
  padding-top:8px;
  padding-bottom:34px;
  text-align:center;
}

.cgb-case-archive-banner{
  margin-top:10px;
  margin-bottom:clamp(40px, 6vw, 70px);
  padding:clamp(28px, 4vw, 48px) clamp(20px, 3vw, 40px);
  border:none;
  border-radius:3px;
  background:linear-gradient(135deg, var(--cgb-novade-blue) 0%, color-mix(in srgb, var(--cgb-novade-blue) 75%, var(--cgb-novade-green)) 100%);
  text-align:center;
  color:#fff;
}

.cgb-case-archive-banner-title{
  margin:0;
  font-size:clamp(22px, 3vw, 34px);
  font-weight:800;
  color:#fff;
}

.cgb-case-archive-banner-desc{
  margin:10px auto 0;
  max-width:50ch;
  font-size:clamp(15px, 1.4vw, 17px);
  line-height:1.5;
  color:rgba(255,255,255,.85);
}

.cgb-case-archive-banner-actions{
  margin:20px 0 14px;
}

.cgb-case-archive-banner-benefits{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 24px;
  color:rgba(255,255,255,.8);
}

.cgb-case-archive-banner-benefits li::before{
  content:"✓";
  color:var(--cgb-novade-green);
  font-weight:800;
  margin-right:8px;
}

/* Scoped button styling (archive banner) */
.cgb-case-archive-banner .cgb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 28px;
  border-radius:3px;
  border:1px solid var(--cgb-border);
  text-decoration:none;
  font-weight:700;
  font-size:15px;
  transition:background .2s ease, transform .15s ease;
}

.cgb-case-archive-banner .cgb-btn-primary{
  background:#fff;
  border-color:#fff;
  color:var(--cgb-novade-blue);
}

.cgb-case-archive-banner .cgb-btn-primary:hover{
  background:var(--cgb-novade-green);
  border-color:var(--cgb-novade-green);
  color:#fff;
  transform:translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE CASE STUDY — WOW REDESIGN
   ═══════════════════════════════════════════════════════════════ */

/* ── 1 · HERO (full-bleed cinematic) ──────────────────────────── */

.cgb-case-single-hero{
  position:relative;
  min-height:clamp(480px, 65vh, 720px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--cgb-hero-bg, none) center/cover no-repeat;
  overflow:hidden;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:100vw;
}

.cgb-case-hero-overlay{
  position:relative;
  z-index:2;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.55) 40%,
    rgba(0,0,0,.25) 70%,
    rgba(0,0,0,.08) 100%
  );
  padding:clamp(48px, 6vw, 80px) var(--cgb-gutter) clamp(32px, 4vw, 48px);
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.cgb-case-hero-container{
  max-width:var(--cgb-container);
  margin:0 auto;
  width:100%;
}

/* breadcrumb */
.cgb-case-single-breadcrumb{
  margin:0 0 clamp(18px, 2.5vw, 28px);
  font-size:13px;
  color:rgba(255,255,255,.6);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}

.cgb-case-single-breadcrumb a{
  color:rgba(255,255,255,.8);
  text-decoration:none;
  font-weight:600;
  transition:color .15s ease;
}

.cgb-case-single-breadcrumb a:hover{
  color:var(--cgb-novade-green);
}

.cgb-case-single-breadcrumb span[aria-hidden]{
  color:rgba(255,255,255,.35);
}

/* client logo badge */
.cgb-case-client-logo{
  margin:0 0 20px;
  padding:10px 18px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:3px;
  display:inline-flex;
  align-items:center;
}

.cgb-case-client-logo img{
  height:clamp(28px, 3vw, 40px);
  width:auto;
  display:block;
  filter:none;
}

/* title, tagline, lead */
.cgb-case-single-title{
  margin:0;
  font-size:clamp(32px, 5vw, 56px);
  line-height:1.06;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#fff;
  max-width:820px;
}

.cgb-case-single-subtitle{
  margin:14px 0 0;
  color:rgba(255,255,255,.7);
  font-size:clamp(16px, 2vw, 20px);
  line-height:1.45;
  max-width:640px;
}

.cgb-case-single-lead{
  margin:14px 0 0;
  color:rgba(255,255,255,.65);
  font-size:clamp(14px, 1.5vw, 16px);
  line-height:1.6;
  max-width:600px;
}

/* hero buttons */
.cgb-case-hero-actions{
  margin-top:clamp(20px, 2.5vw, 32px);
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.cgb-hero-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 30px;
  border-radius:3px;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  transition:background .2s ease, transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}

.cgb-hero-btn svg{
  transition:transform .2s ease;
}

.cgb-hero-btn:hover svg{
  transform:translateX(3px);
}

.cgb-hero-btn-primary{
  background:var(--cgb-novade-green);
  color:#fff;
  border:2px solid var(--cgb-novade-green);
  box-shadow:0 4px 16px rgba(129,191,72,.35);
}

.cgb-hero-btn-primary:hover{
  background:var(--cgb-novade-green-dark);
  border-color:var(--cgb-novade-green-dark);
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(129,191,72,.4);
}

.cgb-hero-btn-ghost{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.35);
}

.cgb-hero-btn-ghost:hover{
  border-color:#fff;
  background:rgba(255,255,255,.1);
  transform:translateY(-2px);
}

.cgb-hero-btn-ghost:hover svg{
  transform:translateY(3px);
}

/* key figures — glass pills at bottom of hero */
.cgb-case-hero-figures{
  position:relative;
  z-index:3;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,.08);
}

.cgb-case-hero-figures-inner{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  justify-content:center;
  max-width:var(--cgb-container);
  margin:0 auto;
  padding:clamp(16px, 2.5vw, 28px) var(--cgb-gutter);
}

.cgb-case-hero-figure{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:130px;
  flex:1 1 0;
  padding:6px 20px;
  position:relative;
}

.cgb-case-hero-figure + .cgb-case-hero-figure::before{
  content:"";
  position:absolute;
  left:0;
  top:10%;
  height:80%;
  width:1px;
  background:rgba(255,255,255,.15);
}

.cgb-case-hero-figure-num{
  font-size:clamp(26px, 3.5vw, 40px);
  font-weight:800;
  line-height:1.1;
  color:#fff;
}

.cgb-case-hero-figure-label{
  margin-top:4px;
  font-size:clamp(12px, 1.3vw, 14px);
  color:rgba(255,255,255,.65);
  font-weight:500;
  max-width:180px;
}

/* text-only figures (no number) — styled as compact fact pills */
.cgb-case-hero-figure--text-only{
  justify-content:center;
}

.cgb-case-hero-figure--text-only .cgb-case-hero-figure-label{
  margin-top:0;
  font-size:clamp(13px, 1.4vw, 15px);
  color:rgba(255,255,255,.85);
  font-weight:600;
  line-height:1.35;
}

@media (max-width:600px){
  .cgb-case-hero-figures-inner{
    flex-direction:column;
    align-items:center;
  }
  .cgb-case-hero-figure{ min-width:auto; }
  .cgb-case-hero-figure + .cgb-case-hero-figure::before{ display:none; }
}

/* ── Section heading with green accent bar ─────────────────────── */

.cgb-case-section-heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 clamp(18px, 2.5vw, 28px);
  font-size:clamp(22px, 3vw, 32px);
  font-weight:800;
  color:var(--cgb-text);
}

.cgb-case-section-accent{
  display:block;
  width:4px;
  height:clamp(22px, 3vw, 32px);
  border-radius:2px;
  background:var(--cgb-novade-green);
  flex-shrink:0;
}

/* ── 2 · OVERVIEW ──────────────────────────────────────────────── */

.cgb-case-overview{
  margin-top:clamp(40px, 5vw, 60px);
  margin-bottom:clamp(40px, 5vw, 60px);
}

.cgb-case-overview-list{
  margin:0;
  padding:0;
  border:1px solid var(--cgb-border);
  border-radius:3px;
  overflow:hidden;
}

.cgb-case-overview-row{
  display:flex;
  gap:clamp(16px, 2vw, 28px);
  padding:clamp(14px, 2vw, 20px) clamp(18px, 2.5vw, 28px);
  border-bottom:1px solid var(--cgb-border);
  transition:background .15s ease;
}

.cgb-case-overview-row:last-child{
  border-bottom:none;
}

.cgb-case-overview-row:nth-child(even){
  background:color-mix(in srgb, var(--cgb-border) 25%, var(--cgb-bg));
}

.cgb-case-overview-row:hover{
  background:color-mix(in srgb, var(--cgb-novade-green) 5%, var(--cgb-bg));
}

.cgb-case-overview-label{
  flex:0 0 clamp(100px, 14vw, 155px);
  margin:0;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--cgb-novade-green-dark);
  font-weight:700;
  padding-top:3px;
}

.cgb-case-overview-value{
  flex:1 1 0%;
  margin:0;
  font-size:clamp(14px, 1.6vw, 16px);
  color:var(--cgb-text);
  line-height:1.6;
}

.cgb-case-overview-value > :first-child{ margin-top:0; }
.cgb-case-overview-value > :last-child{ margin-bottom:0; }

@media (max-width:600px){
  .cgb-case-overview-row{
    flex-direction:column;
    gap:4px;
  }
  .cgb-case-overview-label{
    flex:none;
  }
}

/* ── 3 · VIDEO ─────────────────────────────────────────────────── */

.cgb-case-video{
  margin-top:clamp(36px, 4.5vw, 56px);
  margin-bottom:clamp(36px, 4.5vw, 56px);
}

.cgb-case-video-inner{
  max-width:min(940px, 100%);
  margin:0 auto;
  border-radius:3px;
  overflow:hidden;
  border:1px solid var(--cgb-border);
  background:#000;
  box-shadow:0 8px 40px color-mix(in srgb, var(--cgb-text) 12%, transparent);
}

.cgb-case-video-inner iframe,
.cgb-case-video-inner video{
  width:100%;
  aspect-ratio:16/9;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* ── 4 · BODY CONTENT ──────────────────────────────────────────── */

.cgb-case-single-content{
  padding-top:clamp(28px, 3.5vw, 40px);
  padding-bottom:clamp(28px, 3.5vw, 40px);
}

.cgb-case-single-content img{
  max-width:min(1000px, 100%);
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:3px;
  display:block;
  margin-left:auto;
  margin-right:auto;
}

.cgb-case-single-content h2,
.cgb-case-single-content h3{
  margin-top:clamp(28px, 3.5vw, 40px);
}

.cgb-case-single-content ul,
.cgb-case-single-content ol{
  padding-left:1.4em;
}

/* ── 5 · BLOCKQUOTES ───────────────────────────────────────────── */

.cgb-case-quotes{
  margin-top:clamp(40px, 5vw, 60px);
  margin-bottom:clamp(40px, 5vw, 60px);
}

.cgb-case-quotes-grid{
  display:grid;
  gap:clamp(18px, 2.5vw, 28px);
}

.cgb-case-quote{
  margin:0;
  padding:clamp(28px, 3.5vw, 40px);
  padding-left:clamp(32px, 4vw, 48px);
  border-left:4px solid var(--cgb-novade-green);
  border-radius:0 3px 3px 0;
  background:color-mix(in srgb, var(--cgb-novade-green) 4%, var(--cgb-bg));
  position:relative;
  transition:box-shadow .2s ease, transform .15s ease;
}

.cgb-case-quote:hover{
  box-shadow:0 4px 24px color-mix(in srgb, var(--cgb-novade-green) 12%, transparent);
  transform:translateY(-1px);
}

.cgb-case-quote-icon{
  color:var(--cgb-novade-green);
  opacity:.3;
  margin-bottom:10px;
}

.cgb-case-quote-text{
  font-size:clamp(16px, 1.8vw, 19px);
  line-height:1.7;
  font-style:italic;
  color:var(--cgb-text);
}

.cgb-case-quote-text > :first-child{ margin-top:0; }
.cgb-case-quote-text > :last-child{ margin-bottom:0; }

.cgb-case-quote-attr{
  margin-top:16px;
  font-size:14px;
  color:var(--cgb-muted);
  font-style:normal;
  display:flex;
  align-items:center;
  gap:8px;
}

.cgb-case-quote-attr::before{
  content:"";
  display:block;
  width:24px;
  height:2px;
  background:var(--cgb-novade-green);
  border-radius:1px;
  flex-shrink:0;
}

.cgb-case-quote-attr cite{
  font-style:normal;
}

/* ── 6 · EXPLORE FURTHER ───────────────────────────────────────── */

.cgb-case-explore{
  margin-top:clamp(40px, 5vw, 60px);
  margin-bottom:clamp(40px, 5vw, 60px);
  padding:clamp(28px, 3.5vw, 40px);
  border-radius:3px;
  border:1px solid var(--cgb-border);
  background:var(--cgb-bg);
}

.cgb-case-explore-links{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(10px, 1.5vw, 14px);
}

.cgb-case-explore-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 22px;
  border-radius:3px;
  background:var(--cgb-novade-blue);
  color:#fff;
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  transition:background .2s ease, transform .15s ease, box-shadow .2s ease;
}

.cgb-case-explore-link:hover{
  background:var(--cgb-novade-green-dark);
  transform:translateY(-2px);
  box-shadow:0 4px 16px color-mix(in srgb, var(--cgb-novade-green-dark) 30%, transparent);
}

.cgb-case-explore-link svg{
  transition:transform .2s ease;
}

.cgb-case-explore-link:hover svg{
  transform:translateX(3px);
}

/* ── 7 · FINAL CTA ─────────────────────────────────────────────── */

.cgb-case-final-cta{
  margin-top:clamp(48px, 6vw, 72px);
  margin-bottom:clamp(48px, 6vw, 72px);
  padding:clamp(48px, 6vw, 80px) clamp(28px, 4vw, 48px);
  border-radius:3px;
  background:linear-gradient(135deg, var(--cgb-novade-blue) 0%, color-mix(in srgb, var(--cgb-novade-blue) 65%, var(--cgb-novade-green)) 100%);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.cgb-case-final-cta::before{
  content:'';
  position:absolute;
  top:-30%;
  right:-8%;
  width:400px;
  height:400px;
  background:radial-gradient(circle, rgba(129,191,72,.12) 0%, transparent 65%);
  border-radius:50%;
  pointer-events:none;
}

.cgb-case-final-cta::after{
  content:'';
  position:absolute;
  bottom:-25%;
  left:-5%;
  width:300px;
  height:300px;
  background:radial-gradient(circle, rgba(255,255,255,.04) 0%, transparent 70%);
  border-radius:50%;
  pointer-events:none;
}

.cgb-case-final-cta-inner{
  max-width:660px;
  margin:0 auto;
  position:relative;
  z-index:1;
}

.cgb-case-final-cta-eyebrow{
  margin:0 0 14px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
  color:var(--cgb-novade-green);
}

.cgb-case-final-cta-title{
  margin:0 0 14px;
  font-size:clamp(28px, 4vw, 44px);
  font-weight:800;
  color:#fff;
  line-height:1.12;
}

.cgb-case-final-cta-desc{
  margin:0 0 32px;
  font-size:clamp(15px, 1.6vw, 18px);
  color:rgba(255,255,255,.82);
  line-height:1.55;
}

.cgb-case-final-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:center;
}

.cgb-case-final-cta .cgb-btn-primary{
  background:#fff;
  border:2px solid #fff;
  color:var(--cgb-novade-blue);
  padding:15px 34px;
  border-radius:3px;
  font-size:15px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  transition:background .2s ease, transform .15s ease, box-shadow .2s ease;
  box-shadow:0 4px 20px rgba(0,0,0,.18);
}

.cgb-case-final-cta .cgb-btn-primary:hover{
  background:var(--cgb-novade-green);
  border-color:var(--cgb-novade-green);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}

.cgb-case-final-cta .cgb-btn-primary svg{
  transition:transform .2s ease;
}

.cgb-case-final-cta .cgb-btn-primary:hover svg{
  transform:translateX(3px);
}

.cgb-case-final-cta .cgb-btn-secondary{
  border:2px solid rgba(255,255,255,.4);
  background:transparent;
  color:#fff;
  padding:15px 34px;
  border-radius:3px;
  font-size:15px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  transition:border-color .2s ease, background .2s ease, transform .15s ease;
}

.cgb-case-final-cta .cgb-btn-secondary:hover{
  border-color:#fff;
  background:rgba(255,255,255,.1);
  transform:translateY(-2px);
}

.cgb-case-final-cta .cgb-btn-secondary svg{
  transition:transform .2s ease;
}

.cgb-case-final-cta .cgb-btn-secondary:hover svg{
  transform:translateX(3px);
}

.cgb-case-single-content .wp-block-image{
  margin-top:clamp(20px, 2.5vw, 32px);
  margin-bottom:clamp(20px, 2.5vw, 32px);
  text-align:center;
}

.cgb-case-single-content .wp-block-image.alignfull,
.cgb-case-single-content .wp-block-image.alignwide{
  max-width:min(1000px, 100%);
  margin-left:auto;
  margin-right:auto;
}

.cgb-case-single-content .wp-block-image.alignfull img,
.cgb-case-single-content .wp-block-image.alignwide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:3px;
}

.cgb-case-single-content figure.wp-block-image{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.cgb-no-sticky{
  padding-top:0;
}

/* If sticky header is disabled, still keep content below the admin bar. */
body.admin-bar.cgb-no-sticky{
  padding-top: var(--cgb-adminbar-h);
}

.cgb-header-inner{
  height:var(--cgb-header-h-current);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(16px, 2vw, 28px);
  transition: height 0.3s ease;
}

.cgb-brand a{
  color:var(--cgb-text);
  text-decoration:none;
  font-weight:700;
  letter-spacing:-0.01em;
  font-size:var(--cgb-brand-size);
  transition: opacity 0.2s ease;
}

.cgb-brand a:hover{
  opacity:0.8;
}

.cgb-brand .custom-logo{
  display:block;
  height:var(--cgb-logo-h-current);
  width:auto;
  transition: height 0.25s ease;
}

.cgb-brand .custom-logo-link{
  display:inline-flex;
  align-items:center;
  line-height:1;
}

/* Nav alignment variants */
.cgb-nav-align-left .cgb-primary-nav{ margin-left:0; }
.cgb-nav-align-right .cgb-primary-nav{ margin-left:auto; }
.cgb-nav-align-center .cgb-header-inner{ justify-content:flex-start; }
.cgb-nav-align-center .cgb-primary-nav{ margin-left:auto; margin-right:auto; }

/* ──────────────────────────────────────────────────────────────
   Nav toggle (hamburger / close) — SVG icon approach
   ────────────────────────────────────────────────────────────── */
.cgb-nav-toggle{
  display:none;
  border:0;
  background:transparent;
  cursor:pointer;
  width:44px;
  height:44px;
  padding:0;
  border-radius:4px;
  align-items:center;
  justify-content:center;
  color:var(--cgb-text);
  transition: background-color 0.2s ease, color 0.2s ease;
  box-shadow:none;
  position:relative;
}

.cgb-nav-toggle:hover,
.cgb-nav-toggle:focus-visible{
  background:rgba(0,0,0,0.06);
}

.cgb-nav-toggle:focus-visible{
  outline:2px solid var(--cgb-novade-blue);
  outline-offset:2px;
}

.cgb-nav-toggle-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* SVG icons inside the toggle */
.cgb-nav-icon{
  display:block;
  width:24px;
  height:24px;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
}

/* Show hamburger by default, hide X */
.cgb-nav-icon--close{ display:none; }
.cgb-nav-icon--open{ display:block; }

/* When open, show X, hide hamburger */
.cgb-site-header.cgb-nav-open .cgb-nav-icon--open{ display:none; }
.cgb-site-header.cgb-nav-open .cgb-nav-icon--close{ display:block; }

/* Legacy span icon — hide if still present */
.cgb-nav-toggle-icon{ display:none; }

.cgb-primary-nav{
  display:flex;
  align-items:center;
}

.cgb-primary-nav ul{
  list-style:none;
  margin:0;
  padding:0;
}

.cgb-primary-nav .cgb-primary-nav-scroll > ul{
  display:flex;
  gap:var(--cgb-nav-gap);
  align-items:center;
}

.cgb-primary-nav a{
  color:var(--cgb-text);
  text-decoration:none;
  font-weight:500;
  font-size:14px;
  padding:var(--cgb-nav-link-py) var(--cgb-nav-link-px);
  border-radius:4px;
  transition: color 0.2s ease, background-color 0.2s ease;
}

/* Top-level look */
.cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a{
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-size:12px;
  font-weight:600;
  color:var(--cgb-slate-gray);
}

/* Mega-menu parent: usato come trigger, non come link */
.cgb-primary-nav li.mega-menu > a{
  cursor:default;
}

.cgb-primary-nav a:hover,
.cgb-primary-nav a:focus{
  color:var(--cgb-novade-blue);
  background:rgba(40,100,172,0.05);
  outline:none;
}

/* Desktop: menu buttons (full header height) */
@media (min-width: 901px){
  .cgb-primary-nav .cgb-primary-nav-scroll > ul{
    gap:2px;
    align-items:stretch;
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a{
    display:flex;
    align-items:center;
    height:var(--cgb-header-h-current);
    padding:0 16px;
    border-radius:0;
    background:transparent;
    color:var(--cgb-slate-gray);
    border:0;
    position:relative;
    transition: color 200ms ease, background-color 200ms ease;
  }

  /* Animated underline (desktop) */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a::after{
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    bottom:0;
    height:3px;
    background:var(--cgb-novade-blue);
    border-radius:4px 4px 0 0;
    opacity:1;
    transform:scaleX(0);
    transform-origin:center;
    transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events:none;
  }

  /* CTA button: no underline */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a::after{
    display:none;
  }

  /* Remove the small grey rounded hover background on top-level items */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a:hover,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a:focus{
    background:transparent;
    color:var(--cgb-novade-blue);
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a:hover::after,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a:focus::after,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-open > a::after{
    transform:scaleX(1);
  }

  /* Active/open parent link color */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-open > a{
    color:var(--cgb-novade-blue);
  }

  @media (prefers-reduced-motion: reduce){
    .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a,
    .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a::after{
      transition:none;
    }
  }

  /* LOGIN button: subtle appearance */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a:hover,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a:focus,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a:hover,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a:focus{
    background:transparent;
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a:hover,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a:focus,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a:hover,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a:focus{
    background:rgba(40,100,172,0.04);
  }

  /* Icons: LOGIN + SCHEDULE A DEMO (desktop header only) */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-schedule-demo > a,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a{
    gap:8px;
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a::before,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a::before,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-schedule-demo > a::before,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a::before{
    content:"";
    width:16px;
    height:16px;
    flex:0 0 16px;
    background-color:currentColor;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-position:center;
    -webkit-mask-size:contain;
    mask-repeat:no-repeat;
    mask-position:center;
    mask-size:contain;
    opacity:0.9;
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-login > a::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M12%2012c2.21%200%204-1.79%204-4s-1.79-4-4-4-4%201.79-4%204%201.79%204%204%204zm0%202c-2.67%200-8%201.34-8%204v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M12%2012c2.21%200%204-1.79%204-4s-1.79-4-4-4-4%201.79-4%204%201.79%204%204%204zm0%202c-2.67%200-8%201.34-8%204v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:has(> .sub-menu > li > a[href^="https://s1.novade.net"]) > a::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M12%2012c2.21%200%204-1.79%204-4s-1.79-4-4-4-4%201.79-4%204%201.79%204%204%204zm0%202c-2.67%200-8%201.34-8%204v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M12%2012c2.21%200%204-1.79%204-4s-1.79-4-4-4-4%201.79-4%204%201.79%204%204%204zm0%202c-2.67%200-8%201.34-8%204v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-schedule-demo > a::before,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M19%204h-1V2h-2v2H8V2H6v2H5c-1.1%200-2%20.9-2%202v14c0%201.1.9%202%202%202h14c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2zm0%2016H5V9h14v11zm0-13H5V6h14v1z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M19%204h-1V2h-2v2H8V2H6v2H5c-1.1%200-2%20.9-2%202v14c0%201.1.9%202%202%202h14c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2zm0%2016H5V9h14v11zm0-13H5V6h14v1z'/%3E%3C/svg%3E");
  }
}

/* Dropdown base */
.cgb-primary-nav li{
  position:relative;
}

.cgb-primary-nav .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  background:var(--cgb-bg);
  border:1px solid rgba(0,0,0,0.08);
  border-radius:0 0 4px 4px;
  padding:6px;
  box-shadow:0 12px 40px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.05);
  overflow:visible;
}

/* Dropdown (non mega-menu): top accent border */
.cgb-primary-nav li:not(.mega-menu) > .sub-menu{
  border-top:3px solid var(--cgb-novade-blue);
}

.cgb-primary-nav li:focus-within > .sub-menu,
.cgb-primary-nav li:hover > .sub-menu,
.cgb-primary-nav li.cgb-open > .sub-menu{
  display:block;
}

.cgb-primary-nav .sub-menu a{
  display:block;
  padding:10px 12px;
  font-weight:500;
  border-radius:4px;
  font-size:14px;
  line-height:1.4;
  color:var(--cgb-text);
  transition: background-color 0.15s ease, color 0.15s ease;
  white-space:normal;
  word-wrap:break-word;
  overflow-wrap:break-word;
}

/* Arrow icon before mega-menu third-level sub-items (e.g. Form Template Library, PTWs) */
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu > li > a::before{
  content:'\21B3';
  margin-right:6px;
  opacity:.45;
  font-size:.85em;
}

/* Submenu hover micro-interaction: subtle bg + blue accent
   Applies to all submenu items except primary top-level and mega-menu column headings. */
.cgb-primary-nav li:not(.mega-menu) > .sub-menu a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu a{
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cgb-primary-nav li:not(.mega-menu) > .sub-menu a:hover,
.cgb-primary-nav li:not(.mega-menu) > .sub-menu a:focus,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a:hover,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a:focus,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu a:hover,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu a:focus{
  background:rgba(40,100,172,0.06);
  color:var(--cgb-novade-blue);
  border-radius:4px;
}

/* Selected (current page) state for submenu items */
.cgb-primary-nav .sub-menu a[aria-current="page"],
.cgb-primary-nav .sub-menu a[aria-current="true"],
.cgb-primary-nav li:not(.mega-menu) > .sub-menu li.current-menu-item > a,
.cgb-primary-nav li:not(.mega-menu) > .sub-menu li.current_page_item > a,
.cgb-primary-nav li:not(.mega-menu) > .sub-menu li.current-menu-ancestor > a,
.cgb-primary-nav li:not(.mega-menu) > .sub-menu li.current-menu-parent > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu li.current-menu-item > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu li.current_page_item > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu li.current-menu-ancestor > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu li.current-menu-parent > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu li.current-menu-item > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu li.current_page_item > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu li.current-menu-ancestor > a,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu li.current-menu-parent > a{
  background:rgba(40,100,172,0.08);
  color:var(--cgb-novade-blue);
  border-radius:4px;
  font-weight:600;
}

@media (prefers-reduced-motion: reduce){
  .cgb-primary-nav li:not(.mega-menu) > .sub-menu a,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu a{
    transition:none;
  }

  .cgb-primary-nav li:not(.mega-menu) > .sub-menu a:hover,
  .cgb-primary-nav li:not(.mega-menu) > .sub-menu a:focus,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a:hover,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a:focus,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu a:hover,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu a:focus{
  }
}

/* Menu CTA (stile bottone) */
.cgb-primary-nav li.cgb-cta > a{
  padding:var(--cgb-cta-py, 10px) var(--cgb-cta-px, 14px);
  border-radius:var(--cgb-radius-sm);
  box-shadow:none;
  filter:none;
}

@keyframes cgb-demo-pulse{
  0%, 100%{ transform:scale(1); }
  50%{ transform:scale(1.04); }
}

/* Demo button pulse (5 seconds) */
@media (min-width: 901px){
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-schedule-demo > a{
    animation:cgb-demo-pulse 1s ease-in-out 5;
  }

  /* CTA button: full-height in header */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a{
    display:flex;
    align-items:center;
    height:var(--cgb-header-h-current);
    align-self:stretch;
    box-sizing:border-box;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
  }
}

@media (prefers-reduced-motion: reduce){
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-schedule-demo > a{
    animation:none;
  }
}

/* CTA style variants */
.cgb-cta-solid .cgb-primary-nav li.cgb-cta > a{
  background:var(--cgb-cta-color, var(--cgb-primary));
  color:var(--cgb-cta-text, #fff);
  border:none;
  box-shadow:none;
  filter:none;
}
.cgb-cta-solid .cgb-primary-nav li.cgb-cta > a:hover,
.cgb-cta-solid .cgb-primary-nav li.cgb-cta > a:focus{
  background:var(--cgb-cta-color-hover, var(--cgb-cta-color, var(--cgb-primary)));
  color:var(--cgb-cta-text-hover, var(--cgb-cta-text, #fff));
  border:none;
}

.cgb-cta-outline .cgb-primary-nav li.cgb-cta > a{
  background:transparent;
  color:var(--cgb-cta-color, var(--cgb-primary));
  border:1px solid var(--cgb-cta-color, var(--cgb-primary));
  box-shadow:none;
  filter:none;
}
.cgb-cta-outline .cgb-primary-nav li.cgb-cta > a:hover,
.cgb-cta-outline .cgb-primary-nav li.cgb-cta > a:focus{
  background:color-mix(in srgb, var(--cgb-cta-color-hover, var(--cgb-cta-color, var(--cgb-primary))) 8%, transparent);
  color:var(--cgb-cta-color-hover, var(--cgb-cta-color, var(--cgb-primary)));
}

.cgb-cta-ghost .cgb-primary-nav li.cgb-cta > a{
  background:transparent;
  color:var(--cgb-cta-color, var(--cgb-primary));
  border:1px solid transparent;
  box-shadow:none;
  filter:none;
}
.cgb-cta-ghost .cgb-primary-nav li.cgb-cta > a:hover,
.cgb-cta-ghost .cgb-primary-nav li.cgb-cta > a:focus{
  background:color-mix(in srgb, var(--cgb-cta-color-hover, var(--cgb-cta-color, var(--cgb-primary))) 8%, transparent);
  color:var(--cgb-cta-color-hover, var(--cgb-cta-color, var(--cgb-primary)));
}

/* Mega menu base
   Per attivarlo: aggiungi la classe CSS "mega-menu" al menu item padre (WP > Aspetto > Menu > Classi CSS).
*/
.cgb-primary-nav li.mega-menu > .sub-menu{
  position:fixed;
  left:0;
  right:0;
  /* Keep the panel “attached” to the trigger (prevents hover-gap close) */
  --cgb-mega-hover-bridge: 12px;
  /* backdrop-filter on .cgb-site-header creates a containing block for fixed
     descendants, so this panel is positioned relative to the header, not the
     viewport.  The header already sits at top:var(--cgb-adminbar-h), so we
     must NOT add --cgb-adminbar-h again here. */
  top:var(--cgb-header-h-current);
  width:auto;
  max-width:none;
  border-radius:0 0 4px 4px;
  padding:0;
  box-shadow:0 20px 50px rgba(0,0,0,0.12), 0 6px 16px rgba(0,0,0,0.06);
  border-left:0;
  border-right:0;
  border-bottom:1px solid rgba(0,0,0,0.06);
  border-top:3px solid var(--cgb-novade-blue);
  background:var(--cgb-bg);
  /* Above header, but still below WP admin bar (wpadminbar is higher). */
  z-index:9991;
}

/* Mega menu open animation (desktop): fade + subtle slide */
@media (min-width: 901px){
  .cgb-primary-nav li.mega-menu > .sub-menu{
    /* Override dropdown default (display:none) so we can animate. */
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    align-items:stretch;
    justify-items:stretch;
    gap:0;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    --cgb-mega-ty: var(--cgb-mega-anim-distance, 10px);
    transform:translateY(var(--cgb-mega-ty));

    transition:
      opacity var(--cgb-mega-anim-opacity, 220ms) cubic-bezier(0.16, 1, 0.3, 1),
      transform var(--cgb-mega-anim-transform, 320ms) cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear var(--cgb-mega-anim-transform, 320ms);
    will-change:opacity, transform;
  }

  .cgb-primary-nav li.mega-menu.cgb-open > .sub-menu,
  .cgb-primary-nav li.mega-menu:hover > .sub-menu,
  .cgb-primary-nav li.mega-menu:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    --cgb-mega-ty: 0px;
    transition:
      opacity var(--cgb-mega-anim-opacity, 220ms) cubic-bezier(0.16, 1, 0.3, 1),
      transform var(--cgb-mega-anim-transform, 320ms) cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 0s;
  }

  body.cgb-mega-anim-off .cgb-primary-nav li.mega-menu > .sub-menu{
    transition:none;
    --cgb-mega-ty: 0px;
    will-change:auto;
  }
}

/* Se ci sono solo 2 colonne nel mega menu, rendilo “stretto” e centrato */
@media (min-width: 901px){
  .cgb-primary-nav li.mega-menu > .sub-menu:has(> li:nth-child(2):last-child){
    left:var(--cgb-mega-left, 50%);
    right:auto;
    width:min(calc(100vw - (var(--cgb-gutter) * 2)), 520px);
    transform:translateX(var(--cgb-mega-tx, -50%)) translateY(var(--cgb-mega-ty, 0px));
    border-left:1px solid var(--cgb-border);
    border-right:1px solid var(--cgb-border);
  }
}

/* Hover bridge senza sovrapporre il pannello all'header */
.cgb-primary-nav li.mega-menu:hover::after,
.cgb-primary-nav li.mega-menu:focus-within::after,
.cgb-primary-nav li.mega-menu.cgb-open::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:var(--cgb-mega-hover-bridge, 12px);
}

/* Modalità: contenuto (centrato, larghezza impostabile) */
.cgb-mega-content .cgb-primary-nav li.mega-menu > .sub-menu{
  left:var(--cgb-mega-left, 50%);
  right:auto;
  width:min(calc(100vw - (var(--cgb-gutter) * 2)), var(--cgb-mega-content-w));
  transform:translateX(var(--cgb-mega-tx, -50%)) translateY(var(--cgb-mega-ty, 0px));
  border-left:1px solid var(--cgb-border);
  border-right:1px solid var(--cgb-border);
  border-radius:0;
}

/* Se lo sticky header è disattivato, evita un pannello fixed “staccato” dall’header */
.cgb-no-sticky .cgb-primary-nav li.mega-menu > .sub-menu{
  position:absolute;
  top:calc(100% + 0px);
  left:var(--cgb-mega-left, 50%);
  right:auto;
  transform:translateX(var(--cgb-mega-tx, -50%)) translateY(var(--cgb-mega-ty, 0px));
  width:100vw;
}

@media (prefers-reduced-motion: reduce){
  .cgb-primary-nav li.mega-menu > .sub-menu{
    transition:none;
    --cgb-mega-ty: 0px;
    will-change:auto;
  }
}

/* ── Language Switcher: region-grouped layout ──────────────────────── */

/* Override the default mega-menu grid for the language switcher.
   Desktop: 2 columns, items placed explicitly by region. */
@media (min-width: 901px){
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-auto-rows:auto !important;
    grid-auto-flow:dense !important;
    gap:0 !important;
    width:min(calc(100vw - var(--cgb-gutter)*2), 620px);
    /* Position under the menu item, anchored to the right */
    position:absolute !important;
    left:auto !important;
    right:0 !important;
    top:100% !important;
    transform:translateY(var(--cgb-mega-ty, 0px)) !important;
    border-left:1px solid var(--cgb-border);
    border-right:1px solid var(--cgb-border);
    padding:16px 0 24px !important;
  }

  /* All lang items: reset mega-menu column default styling */
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li{
    padding:0 !important;
    border:0 !important;
    border-left:0 !important;
    background:transparent !important;
    display:block !important;
    flex-direction:unset !important;
    min-width:0;
  }

  /* Separator between left and right column */
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--americas,
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--europe{
    border-left:1px solid var(--cgb-border) !important;
  }

  /* Reset and restyle the <a> link: NOT uppercase, normal weight, primary color */
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li > a{
    font-weight:400 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-size:15px !important;
    color:var(--cgb-primary) !important;
    border:none !important;
    border-bottom:none !important;
    padding:6px 28px !important;
    display:block !important;
    background:transparent !important;
  }
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li > a:hover,
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li > a:focus{
    text-decoration:underline !important;
    background:transparent !important;
    color:var(--cgb-primary) !important;
  }

  /* Region heading: injected via ::before on the first item of each group */
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region-first{
    margin-top:16px;
  }
  /* First region item at top: no extra margin */
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--global.cgb-lang-region-first,
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--americas.cgb-lang-region-first{
    margin-top:0;
  }
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region-first::before{
    content:attr(data-region-label);
    display:block;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.04em;
    font-size:13px;
    color:var(--cgb-text);
    padding:0 28px 6px;
  }

  /* Place items in grid columns: left = Global + Asia Pacific, right = Americas + Europe */
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--global,
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--apac{
    grid-column:1;
  }
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--americas,
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--europe{
    grid-column:2;
  }

  /* Explicit row placement so right column headings align with left column headings.
     Left col:  row 1 = GLOBAL heading+link, row 2 = Asia Pacific first (heading+link = Japan),
                rows 3-5 = China, HK, Indonesia
     Right col: row 1 = AMERICAS heading+link (USA), row 2 = EUROPE first (heading+link = UK),
                rows 3-4 = France, Germany */
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--americas.cgb-lang-region-first{
    grid-row:1;
  }
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region--europe.cgb-lang-region-first{
    grid-row:2;
  }
}

/* Mobile: simple stacked list with region headings */
@media (max-width: 900px){
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li > a{
    font-weight:400 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-size:15px !important;
    color:var(--cgb-primary) !important;
    border:none !important;
    border-bottom:none !important;
    padding:6px 16px !important;
  }
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region-first{
    margin-top:12px;
  }
  .cgb-primary-nav li.cgb-lang-switcher.mega-menu > .sub-menu > li.cgb-lang-region-first::before{
    content:attr(data-region-label);
    display:block;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.04em;
    font-size:12px;
    color:var(--cgb-text);
    padding:0 16px 4px;
    opacity:0.6;
  }
}

/* Layout a colonne del mega menu (secondo livello) */
.cgb-primary-nav li.mega-menu.cgb-open > .sub-menu,
.cgb-primary-nav li.mega-menu:hover > .sub-menu,
.cgb-primary-nav li.mega-menu:focus-within > .sub-menu{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  align-items:stretch;
  gap:0;
  justify-items:stretch;
}

/* In modalità contenuto il mega menu deve essere sempre su 2 colonne */
.cgb-mega-content .cgb-primary-nav li.mega-menu.cgb-open > .sub-menu,
.cgb-mega-content .cgb-primary-nav li.mega-menu:hover > .sub-menu,
.cgb-mega-content .cgb-primary-nav li.mega-menu:focus-within > .sub-menu{
  grid-template-columns:repeat(2, minmax(260px, 1fr));
}

.cgb-primary-nav li.mega-menu > .sub-menu > li{
  min-width:0;
  padding:12px 8px 16px;
  border:0;
  border-radius:0;
  background:transparent;
  display:flex;
  flex-direction:column;
}

/* Colonne a sfondo uniforme con hover leggero */
.cgb-primary-nav li.mega-menu > .sub-menu > li:nth-child(odd){
  background:var(--cgb-bg);
}
.cgb-primary-nav li.mega-menu > .sub-menu > li:nth-child(even){
  background:rgba(0,0,0,0.015);
}

/* Separatore verticale tra colonne (desktop) */
@media (min-width: 901px){
  .cgb-primary-nav li.mega-menu > .sub-menu > li + li{
    border-left:1px solid var(--cgb-border);
  }
}

/* Titolo colonna (2° livello) */
.cgb-primary-nav li.mega-menu > .sub-menu > li > a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-size:11px;
  color:var(--cgb-novade-blue);
  padding:16px 14px 10px;
  border-radius:0;
  background:transparent;
  border-top:0;
  border-bottom:1px solid rgba(40,100,172,0.12);
}

/* Mega menu column icons (enterprise, subtle) */
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon > a{
  position:relative;
  padding-left:40px;
}
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon > a::before{
  content:"";
  position:absolute;
  left:8px;
  top:50%;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  background-color:var(--cgb-muted);
  opacity:0.65;
  -webkit-mask-image:var(--cgb-mm-icon);
  mask-image:var(--cgb-mm-icon);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-key-features > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTEyIDJsMi42IDYuMkwyMSA5bC01IDQuMkwxNy40IDIxIDEyIDE3LjkgNi42IDIxIDggMTMuMiAzIDlsNi40LS44TDEyIDJ6Jy8+PC9zdmc+'); }
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-data-ai > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTkgNGg2djNoMmEyIDIgMCAwIDEgMiAydjZoLTJ2MmgtMnYtMkg5djJIN3YtMkg1VjlhMiAyIDAgMCAxIDItMmgyVjR6bTIgM2gyVjZoLTJ2MXpNNyA5djZoMTBWOUg3eicvPjwvc3ZnPg=='); }
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-phases > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTcgM2gydjJoNlYzaDJ2NEg3VjN6bTIgNmgydjJIOVY5em0wIDRoMnYySDl2LTJ6bTAgNGgydjJIOXYtMnptNC04aDJ2MmgtMlY5em0wIDRoMnYyaC0ydi0yem0wIDRoMnYyaC0ydi0yeicvPjwvc3ZnPg=='); }
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-hse > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTEyIDJsOCA0djZjMCA1LTMuNCA5LjQtOCAxMC00LjYtLjYtOC01LTgtMTBWNmw4LTR6bTAgNmEzIDMgMCAwIDAtMyAzdjJhMyAzIDAgMCAwIDYgMHYtMmEzIDMgMCAwIDAtMy0zeicvPjwvc3ZnPg=='); }
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-quality > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTkuMiAxNi4yIDUuNSAxMi41bDEuNC0xLjQgMi4zIDIuMyA3LTcgMS40IDEuNC04LjQgOC40eicvPjwvc3ZnPg=='); }
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-field-control > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTQgNmgxMHYySDRWNnptMCA1aDE2djJINHYtMnptMCA1aDEydjJINHYtMnptMTQtOWgydjJoLTJWN3ptMCAxMGgydjJoLTJ2LTJ6Jy8+PC9zdmc+'); }
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-customers > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTE2IDExYTQgNCAwIDEgMC04IDAgNCA0IDAgMCAwIDggMHptLTggNmMtMy4zIDAtNiAxLjctNiA0djFoMjB2LTFjMC0yLjMtMi43LTQtNi00SDh6Jy8+PC9zdmc+'); }
.cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon-projects > a{ --cgb-mm-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTQgMjBWOGw4LTQgOCA0djEyaC01di02SDl2Nkg0em03LThoMnYyaC0ydi0yeicvPjwvc3ZnPg=='); }

.cgb-primary-nav li.mega-menu > .sub-menu > li > a:hover,
.cgb-primary-nav li.mega-menu > .sub-menu > li > a:focus{
  background:rgba(40,100,172,0.04);
  color:var(--cgb-novade-blue);
}

/* Se il mega menu ha un terzo livello, trattalo come lista sempre visibile nella colonna */
.cgb-primary-nav li.mega-menu > .sub-menu > li{
  position:static;
}
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu{
  display:block;
  position:static;
  min-width:0;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  margin-top:6px;
  background:transparent;
}

/* Indent delle sottovoci (sul contenitore, non sul link) */
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li{
  padding-left:0;
}
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a{
  display:block;
  width:100%;
  max-width:100%;
  padding:8px 14px;
  font-weight:500;
  font-size:14px;
  color:var(--cgb-text);
  line-height:1.4;
  border-radius:4px;
  text-decoration:none;
}

.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a:hover,
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a:focus{
  background:rgba(40,100,172,0.06);
  color:var(--cgb-novade-blue);
  border-radius:4px;
}

/* Mega menu: no underline animation, use standard hover background */
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a::after{
  content:none;
}

/* Supporto 4° livello (es. Forms -> Form Template Library) */
.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li{
  position:static;
}

.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu{
  display:block;
  position:static;
  min-width:0;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  margin:4px 0 0 0;
  background:transparent;
}

.cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu > li > .sub-menu a{
  display:block;
  width:100%;
  max-width:100%;
  padding:6px 14px 6px 26px;
  font-weight:500;
  font-size:13px;
  color:var(--cgb-text);
  background:transparent;
  border-radius:4px;
  text-decoration:none;
}

.cgb-primary-nav li.mega-menu > .sub-menu a:focus{
  outline:2px solid rgba(37,99,235,0.35);
  outline-offset:2px;
}

/* Evita pannelli enormi: scroll morbido se il mega menu è molto lungo */
.cgb-primary-nav li.mega-menu > .sub-menu{
  max-height:calc(100vh - (var(--cgb-adminbar-h) + var(--cgb-header-offset, var(--cgb-header-h-current))));
  overflow:auto;
}

/* Contenuto pagina */
.cgb-content{
  padding-top:0;
  padding-bottom:0;
}

/* Prevent “mystery gaps” above the footer caused by margin-collapsing
   from the last child inside the main content wrapper. */
.cgb-content > .cgb-container{
  display: flow-root;
}

/* Kill empty <p> tags WP injects after the last block (prefooter → footer gap) */
.cgb-page-content > p:empty,
.cgb-post-content > p:empty{
  display: none;
}
/* When the pre-footer is the last visible block, remove its bottom margin */
.cgb-page-content > .cgb-pre-footer:last-of-type,
.cgb-page-content > .wp-block-ccb-pre-footer:last-of-type{
  margin-bottom: 0;
}

/* Pre-footer menu: top-level section titles (uppercase headings) */
h4.cgb-pre-footer__menu-title,
li.cgb-pre-footer__menu-title .cgb-pre-footer__menu-link{
  font-weight:700 !important;
  font-size:18px !important;
}

/* Pre-footer menu: sub-title items (via WP menu CSS class) */
.cgb-pre-footer__menu-item--sub-title .cgb-pre-footer__menu-link{
  font-weight:700 !important;
  font-size:18px !important;
}

/* Gutenberg full-width blocks inside boxed container.
   The theme wraps content in `.cgb-container`, so `alignfull` needs to break out
   to the viewport width.
*/
.cgb-content .alignfull{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* -------------------------------------------------------------------------- */
/* Gutenberg Buttons (CTA)                                                    */
/* -------------------------------------------------------------------------- */

.cgb-post-content .wp-block-buttons,
.cgb-page-content .wp-block-buttons{
  justify-content:center;
  margin:30px 0;
}

.cgb-post-content .wp-block-buttons > .wp-block-button,
.cgb-page-content .wp-block-buttons > .wp-block-button{
  flex:0 1 70%;
  max-width:70%;
}

/* News page header: inline nav pills on desktop */
.cgb-page-content .wp-block-group.alignfull > .wp-block-buttons > .wp-block-button,
.cgb-page-content .wp-block-cover.alignfull .wp-block-buttons > .wp-block-button{
  flex:0 0 auto;
  max-width:none;
  width:fit-content;
}
.cgb-page-content .wp-block-group.alignfull > .wp-block-buttons > .wp-block-button .wp-block-button__link,
.cgb-page-content .wp-block-cover.alignfull .wp-block-buttons > .wp-block-button .wp-block-button__link{
  width:auto;
  border:none;
}
.cgb-page-content .wp-block-group.alignfull > .wp-block-buttons,
.cgb-page-content .wp-block-cover.alignfull .wp-block-buttons{
  margin:0;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}

.cgb-post-content .wp-block-button__link,
.cgb-page-content .wp-block-button__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  text-align:center;
  text-decoration:none;
  font-weight:700;
  padding:10px 16px;
  border-radius:4px;
  border:1px solid var(--cgb-novade-green);
  background:var(--cgb-novade-green);
  color:var(--cgb-bg);
}

.cgb-post-content .wp-block-button__link:hover,
.cgb-post-content .wp-block-button__link:focus,
.cgb-page-content .wp-block-button__link:hover,
.cgb-page-content .wp-block-button__link:focus{
  background:var(--cgb-novade-green-dark);
  border-color:var(--cgb-novade-green-dark);
  color:var(--cgb-bg);
}

/* -------------------------------------------------------------------------- */
/* Gutenberg Video / Embed blocks (single post body)                           */
/* -------------------------------------------------------------------------- */

/* Full width within the available content column + consistent spacing. */
.cgb-post-content figure.wp-block-video,
.cgb-post-content .wp-block-video,
.cgb-post-content figure.wp-block-embed,
.cgb-post-content .wp-block-embed{
  width:100%;
  max-width:100%;
  margin:30px 0;
  float:none;
}

.cgb-post-content figure.wp-block-video video,
.cgb-post-content .wp-block-video video,
.cgb-post-content figure.wp-block-embed iframe,
.cgb-post-content .wp-block-embed iframe{
  display:block;
  width:100%;
  max-width:100%;
}

/* Fix iframe height: make video embeds responsive (16:9).
   Without this, iframes often keep a small default height. */
.cgb-post-content figure.wp-block-embed.is-type-video .wp-block-embed__wrapper,
.cgb-post-content .wp-block-embed.is-type-video .wp-block-embed__wrapper{
  display:block;
  width:100%;
  aspect-ratio:16/9;
}

.cgb-post-content figure.wp-block-embed.is-type-video iframe,
.cgb-post-content .wp-block-embed.is-type-video iframe{
  width:100%;
  height:100%;
}

/* Native <video> should keep its intrinsic ratio. */
.cgb-post-content figure.wp-block-video video,
.cgb-post-content .wp-block-video video{
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* -------------------------------------------------------------------------- */
/* Contact prefooter – Global Offices (Gutenberg core blocks)                  */
/* -------------------------------------------------------------------------- */

/* Outer wrapper is `alignfull` to span the viewport. */
.cgb-global-offices{
  position:relative;
  z-index:0;
  width:100%;
  max-width:none;
  padding:clamp(28px, 4vw, 56px) 0 clamp(40px, 6vw, 80px);
}

/* Force the grey background to truly span the viewport, even when the block is
   rendered inside a boxed `.cgb-container`. */
.cgb-global-offices::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:var(--cgb-silver);
  z-index:-1;
}

/* Inner constrained container */
.cgb-global-offices__inner{
  width:100%;
  max-width:var(--cgb-container);
  margin:0 auto;
  padding:0 var(--cgb-gutter);
}

.cgb-global-offices__inner > .wp-block-heading{
  margin:0 0 clamp(24px, 4vw, 44px);
  color:var(--cgb-primary);
  font-weight:700;
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.1;
}

.cgb-global-offices__cols{
  gap:clamp(18px, 3vw, 42px);
}

/* Each office is a core Group block with layout:flex */
.cgb-office{
  align-items:flex-start;
  gap:12px;
  margin:0 0 clamp(20px, 3vw, 34px);
}

.cgb-office__icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  color:var(--cgb-primary);
}

.cgb-office__content{
  color:var(--cgb-muted);
}

.cgb-office__content p{ margin:0 0 6px; }

.cgb-office__title{
  margin:0 0 8px;
  color:var(--cgb-primary);
  font-weight:700;
}

.cgb-office__tel{
  margin:10px 0 0;
  color:var(--cgb-text);
  font-weight:600;
}

/* Dashboard Showcase behaves like a photo gallery: make the whole card clickable. */
.ccb-dashboard-showcase__card > a{
  display:block;
  text-decoration:none;
}

/* Legal pages (Privacy / Terms): fixed background + boxed content */
.cgb-legal-parallax{
  position:relative;
  --cgb-legal-overlay-strength: 70%;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:100vh;
  background-color:var(--cgb-text);
  background-image:var(--cgb-legal-bg);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:scroll;
  color:var(--cgb-bg);
}

.cgb-legal-parallax--fixed{
  background-attachment:fixed;
}

.cgb-legal-parallax::before{
  content:"";
  position:absolute;
  inset:0;
  background:color-mix(in srgb, var(--cgb-text) var(--cgb-legal-overlay-strength, 70%), transparent);
}

.cgb-legal-parallax__boxed{
  position:relative;
  max-width:900px;
  margin:0 auto;
  padding:clamp(72px, 8vw, 120px) max(24px, var(--cgb-gutter));
}

.cgb-legal-parallax__title{
  margin:0 0 16px;
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.15;
}

.cgb-legal-parallax__content{
  line-height:1.8;
}

.cgb-legal-parallax__content h2{
  margin-top:42px;
  margin-bottom:12px;
  line-height:1.2;
}

.cgb-legal-parallax__content h3{
  margin-top:28px;
  margin-bottom:10px;
  line-height:1.25;
}

.cgb-legal-parallax__content p,
.cgb-legal-parallax__content ul,
.cgb-legal-parallax__content ol{
  margin-top:0;
  margin-bottom:14px;
}

.cgb-legal-parallax__content a{
  color:var(--cgb-bg);
  text-decoration:underline;
}

@media (max-width: 768px){
  .cgb-legal-parallax--fixed{ background-attachment:scroll; }
}

/* Desktop: when a page starts with the Hero block, avoid any extra top gap
   (usually from block margins / hero margin-top). */
@media (min-width: 901px){
  body.cgb-has-hero .cgb-content .ccb-hero{
    margin-top:0 !important;
  }
  body.cgb-has-hero .cgb-content .wp-block:first-child{
    margin-top:0;
  }

  /* Desktop: the Hero block already has its own top padding.
     With our fixed header + body padding-top, this can look like a “gap”.
     Reduce hero top padding when sticky header is enabled. */
  body.cgb-has-hero:not(.cgb-no-sticky) .cgb-content .ccb-hero{
    --ccb-hero-pt-desktop: 0px;
  }
}

.cgb-site-footer{
  border-top:0;
  background:var(--cgb-footer-bg);
  color:var(--cgb-footer-text);
  font-size:13px;
}

.cgb-footer-inner{
  padding:var(--cgb-footer-py) var(--cgb-gutter);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.cgb-footer-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  font-size:16px;
}

.cgb-footer-menu a{
  color:var(--cgb-footer-text);
  text-decoration:none;
}

.cgb-footer-menu a:hover,
.cgb-footer-menu a:focus{
  color:var(--cgb-footer-text);
  text-decoration:underline;
}

.cgb-site-footer a{color:var(--cgb-footer-text)}
.cgb-site-footer a:hover,
.cgb-site-footer a:focus{color:var(--cgb-footer-text);text-decoration:underline}

.cgb-post-title a{color:var(--cgb-text);text-decoration:none}
.cgb-post-meta{color:var(--cgb-muted);font-size:13px}

/* -------------------------------------------------------------------------- */
/* Single post sidebar (optional per post)                                     */
/* -------------------------------------------------------------------------- */

.cgb-post-page-header{
  position:relative;
  overflow:hidden;
  /* Full-bleed section even inside `.cgb-container` */
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:calc(50px + 5%) 8%;
  background:var(--cgb-primary);
  color:#fff;
}

.cgb-post-page-header__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.cgb-post-page-header--has-image{
  height:300px;
  padding:0;
}
.cgb-post-page-header--has-image .cgb-post-page-header__inner,
.cgb-post-page-header--has-image .cgb-post-page-header__inner--v2{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:calc(50px + 5%) 8%;
  z-index:1;
}

.cgb-post-page-header--v2{
  margin-top:50px;

  /* Boxed (not full-width): center and cap width via Customizer */
  width:min(var(--cgb-single-header-v2-max, var(--cgb-container)), 100vw);
  max-width:100vw;
  margin-left:0;
  margin-right:0;
  left:50%;
  transform:translateX(-50%);
}

.cgb-post-page-header--has-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.35));
}

.cgb-post-page-header__inner{
  position:relative;
  text-align:center;
}

.cgb-post-page-header__inner--v2{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 var(--cgb-gutter);
}

.cgb-post-page-header a{color:currentColor}
.cgb-post-page-header a:hover,
.cgb-post-page-header a:focus{text-decoration:underline}

.cgb-breadcrumbs{
  font-size:13px;
  opacity:0.92;
  margin:0 0 12px;
}

.cgb-breadcrumbs a{text-decoration:none}
.cgb-breadcrumbs__sep{opacity:0.8}

.cgb-post-page-header__title{
  margin:0;
  font-size:clamp(30px, 4vw, 52px);
  line-height:1.05;
}

/* -------------------------------------------------------------------------- */
/* Single post headings                                                       */
/* -------------------------------------------------------------------------- */

body.single-post .cgb-post-page-header__title{
  font-size:clamp(28px, 5vw, 50px);
  color:#FFFFFF !important;
  text-shadow:0em 0em 0.3em rgba(0, 0, 0, 0.4);
}

body.single-post .cgb-post-content h2{
  font-weight:700 !important;
  font-size:36px !important;
  color:#5182BB !important;
  text-align:left !important;
}

/* Responsive padding for post page header (aligned to production) */
@media only screen and (max-width:980px){
  .cgb-post-page-header{ padding:calc(50px + 4%) 8%; }
}
@media only screen and (max-width:767px){
  .cgb-post-page-header{ padding:calc(30px + 3%) 6%; }
}

/* Give main + sidebar a little breathing room from the page header */
.cgb-post-page-header + .cgb-post-layout{ margin-top:clamp(18px, 3vw, 28px); }
.cgb-post-page-header + .cgb-post{ margin-top:clamp(18px, 3vw, 28px); }

.cgb-post-layout{
  display:flex;
  align-items:flex-start;
  gap:clamp(18px, 3vw, 34px);
}

/* Blog single post: narrower container aligned to production (1080px, 80%) */
body.single-post .cgb-container{
  max-width:1080px;
  width:80%;
}

body.single-post .cgb-post-layout{
  gap:5.5%;
}

/* Blog single post: image spacing aligned to production */
body.single-post .cgb-post-content .wp-block-image{
  margin-top:10px;
  margin-bottom:29px;
}

.cgb-post-main{
  flex:1 1 auto;
  min-width:0;
}

.cgb-post-sidebar{
  flex:0 0 320px;
  max-width:320px;
  min-width:260px;
  align-self:stretch;
}

/* When a sidebar is enabled, full-width breakouts would overlap it.
   Keep alignfull constrained to the content column. */
.cgb-post-layout .cgb-post-main .alignfull{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}

@media (max-width: 900px){
  .cgb-post-layout{
    flex-direction:column;
  }

  .cgb-post-sidebar{
    flex:0 0 auto;
    width:100%;
    max-width:none;
    min-width:0;
  }

  .cgb-post-sidebar--empty{display:none}
}

/* -------------------------------------------------------------------------- */
/* Post archives (blog index + archives)                                       */
/* -------------------------------------------------------------------------- */

.cgb-archive-header{
  padding:clamp(18px, 3vw, 28px) 0;
  border-bottom:1px solid var(--cgb-border);
  margin-bottom:clamp(18px, 3vw, 28px);
}

.cgb-archive-title{
  margin:0;
}

.cgb-archive-description{
  margin-top:10px;
  color:var(--cgb-muted);
}

.cgb-post-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:clamp(14px, 2.4vw, 26px);
}

.cgb-post-grid > .cgb-post{
  grid-column:span 12;
  padding:18px;
  border:1px solid var(--cgb-border);
  border-radius:var(--cgb-radius-lg);
  background:var(--cgb-bg);
}

.cgb-post-excerpt{
  color:var(--cgb-muted);
}

.cgb-post-excerpt p:last-child{margin-bottom:0}

@media (min-width: 901px){
  .cgb-post-grid > .cgb-post{
    grid-column:span 6;
  }
}

.cgb-pagination{
  margin:clamp(22px, 3vw, 34px) 0;
}

.cgb-pagination ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.cgb-pagination a,
.cgb-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 12px;
  border:1px solid var(--cgb-border);
  border-radius:var(--cgb-radius-sm);
  text-decoration:none;
  color:var(--cgb-text);
  background:var(--cgb-bg);
}

.cgb-pagination .current{
  border-color:var(--cgb-primary);
  color:var(--cgb-primary);
}

/* -------------------------------------------------------------------------- */
/* Archive bottom: Newsletter iframe section                                   */
/* -------------------------------------------------------------------------- */

.cgb-archive-newsletter{
  background:var(--cgb-novade-blue);
  color:var(--cgb-bg);
  padding:clamp(32px, 5vw, 64px) 0;
}

.cgb-archive-newsletter__inner{
  width:100%;
  max-width:var(--cgb-container);
  margin:0 auto;
  padding:0 var(--cgb-gutter);
}

.cgb-archive-newsletter__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(18px, 4vw, 48px);
}

.cgb-archive-newsletter__title{
  margin:0 0 10px;
  font-size:clamp(26px, 4vw, 44px);
  line-height:1.1;
  font-weight:800;
  color:var(--cgb-bg);
}

.cgb-archive-newsletter__lead{
  margin:0;
  font-size:clamp(14px, 2vw, 18px);
  line-height:1.55;
  color:var(--cgb-bg);
}

.cgb-archive-newsletter__embed iframe{
  display:block;
  width:100%;
  border:0;
}

@media (max-width: 900px){
  .cgb-archive-newsletter__grid{ grid-template-columns:1fr; }
}

/* -------------------------------------------------------------------------- */
/* Widget: Newsletter subscribe (UI only)                                      */
/* -------------------------------------------------------------------------- */

.cgb-sr-only{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.cgb-newsletter-widget{
  background:var(--cgb-primary);
  color:var(--cgb-bg);
  padding:22px;
  padding:clamp(18px, 6cqw, 26px);
  border-radius:0;
  container-type:inline-size;
}

.cgb-newsletter-widget__title{
  margin:0 0 5px;
  font-family:'Lato', Helvetica, Arial, Lucida, sans-serif;
  font-size:24px;
  line-height:1.2;
  font-weight:700;
  color:var(--cgb-bg);
}

.cgb-newsletter-widget__lead{
  margin:0 0 18px;
  font-size:13px;
  line-height:1.5;
  color:var(--cgb-bg);
}

.cgb-newsletter-widget__form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.cgb-newsletter-widget__input{
  width:100%;
  min-height:54px;
  padding:0 18px;
  border:0;
  border-radius:0;
  background:var(--cgb-silver);
  color:var(--cgb-text);
  font-size:22px;
  font-size:16px;
  font-size:clamp(14px, 4.8cqw, 16px);
  outline:none;
}

.cgb-newsletter-widget__input::placeholder{
  color:var(--cgb-muted);
}

.cgb-newsletter-widget__button{
  width:100%;
  min-height:54px;
  padding:0 18px;
  border:0;
  border-radius:0;
  background:var(--cgb-novade-green);
  color:var(--cgb-bg);
  font-family:'Lato', Helvetica, Arial, Lucida, sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:1.7em;
  cursor:pointer;
}

.cgb-newsletter-widget__button:hover,
.cgb-newsletter-widget__button:focus{
  filter:brightness(0.98);
}

/* -------------------------------------------------------------------------- */
/* Widget: CTA button                                                         */
/* -------------------------------------------------------------------------- */

.cgb-post-sidebar .widget + .widget{
  margin-top:18px;
}

.cgb-post-sidebar .cgb-widget--sticky{
  z-index:2;
}

@media (max-width: 900px){
  .cgb-post-sidebar .cgb-widget--sticky{
    position:static;
    top:auto;
  }
}

.cgb-cta-widget{
  background:var(--cgb-primary);
  color:var(--cgb-bg);
  padding:22px;
  padding:clamp(18px, 6cqw, 26px);
  border-radius:0;
  container-type:inline-size;
}

.cgb-cta-widget__lead{
  margin:0 0 18px;
  font-family:'Lato', Helvetica, Arial, Lucida, sans-serif;
  font-size:24px;
  font-weight:700;
  line-height:1.2;
  color:var(--cgb-bg);
}

.cgb-cta-widget__button{
  width:100%;
  min-height:54px;
  padding:0 18px;
  border:0;
  border-radius:0;
  background:var(--cgb-novade-green);
  color:var(--cgb-bg);
  font-family:'Lato', Helvetica, Arial, Lucida, sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:1.7em;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.cgb-cta-widget__button:hover{
  filter:brightness(0.94);
  box-shadow:inset 0 0 0 2px var(--cgb-bg);
}

.cgb-cta-widget__button:focus-visible{
  outline:2px solid var(--cgb-bg);
  outline-offset:3px;
}

/* -------------------------------------------------------------------------- */
/* Widget: Featured topics                                                    */
/* -------------------------------------------------------------------------- */

.cgb-featured-topics-widget{
  background:var(--_ft-bg, #647E9B);
  color:#fff;
  padding:28px 30px;
  border:none;
  border-radius:var(--cgb-radius-lg, 4px);
  container-type:inline-size;
}

.cgb-featured-topics-widget__title{
  margin:0 0 16px;
  font-size:20px;
  font-size:clamp(16px, 6.2cqw, 20px);
  line-height:1.2;
  font-weight:800;
  color:#fff;
}

.cgb-featured-topics-widget__list{
  margin:0;
  padding:0 0 0 20px;
  list-style:disc;
}

.cgb-featured-topics-widget__item + .cgb-featured-topics-widget__item{
  margin-top:10px;
}

.cgb-featured-topics-widget__item{
  color:rgba(255,255,255,0.7);
}

.cgb-featured-topics-widget__link{
  display:inline;
  padding:0;
  border:none;
  color:#fff;
  text-decoration:underline;
  text-underline-offset:2px;
  font-size:clamp(15px, 5.4cqw, 18px);
  line-height:1.4;
}

.cgb-featured-topics-widget__link:hover{
  color:rgba(255,255,255,0.8);
  text-decoration:underline;
}

.cgb-featured-topics-widget__link:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}

/* -------------------------------------------------------------------------- */
/* Widget: Table of contents                                                  */
/* -------------------------------------------------------------------------- */

.cgb-toc-widget{
  background:var(--cgb-bg);
  color:var(--cgb-text);
  padding:22px;
  padding:clamp(18px, 6cqw, 26px);
  border:1px solid var(--cgb-border);
  border-radius:0;
  container-type:inline-size;
}

.cgb-toc-widget__toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  text-align:left;
}

.cgb-toc-widget__toggle::after{
  content:"";
  width:10px;
  height:10px;
  border-right:2px solid var(--cgb-muted);
  border-bottom:2px solid var(--cgb-muted);
  transform:rotate(45deg);
  flex:0 0 10px;
}

.cgb-toc-widget__toggle[aria-expanded="true"]::after{
  transform:rotate(-135deg);
}

.cgb-toc-widget__title{
  margin:0;
  font-size:20px;
  font-size:clamp(16px, 6.2cqw, 20px);
  line-height:1.2;
  font-weight:800;
  color:var(--cgb-text);
}

.cgb-toc-widget__panel{
  margin-top:14px;
}

.cgb-toc-widget__list{
  margin:0;
  padding:0;
  list-style:none;
}

.cgb-toc-widget__item + .cgb-toc-widget__item{
  margin-top:8px;
}

.cgb-toc-widget__link{
  display:block;
  padding:8px 10px;
  border:1px solid var(--cgb-border);
  color:var(--cgb-text);
  text-decoration:none;
  font-size:14px;
  line-height:1.3;
}

/* Sticky: apply to the actual direct child of the sidebar column
  (JS adds the class to whatever wrapper is used on the frontend). */
/* Table of contents sticky (desktop only): stick when it reaches the fixed menu */
.cgb-post-sidebar > .widget.widget_cgb_table_of_contents{
  z-index:2;
}

.cgb-toc-widget--sticky .cgb-toc-widget__panel{
  max-height:55vh;
  overflow:auto;
  padding-right:6px;
}

.cgb-toc-widget__link:hover{
  color:var(--cgb-primary);
  border-color:var(--cgb-primary);
}

.cgb-toc-widget__link:focus-visible{
  outline:2px solid var(--cgb-primary);
  outline-offset:2px;
}

/* Never show the TOC on mobile */
@media (max-width: 900px){
  .cgb-post-sidebar > .widget.widget_cgb_table_of_contents{ display:none !important; }
}

/* Safety: keep WP admin bar visible above the fixed header */
#wpadminbar{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  z-index:100000 !important;
}

/* ══════════════════════════════════════════════════════════════
   MOBILE NAV  (≤ 900 px)
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px){

  /* ── Toggle button ────────────────────────────────────────── */
  .cgb-nav-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
  }

  /* ── Nav container ────────────────────────────────────────── */
  .cgb-primary-nav{
    display:none !important;
    width:100%;
  }

  /* ── Header reset when nav is open ────────────────────────── */
  /* backdrop-filter crea un containing-block: position:fixed
     dei figli diventa relativo all'header → il pannello non
     riesce a coprire il viewport. Lo disattiviamo su mobile. */
  .cgb-site-header.cgb-nav-open{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    background:#fff !important;
    overflow:visible !important;
  }

  /* ── Full-screen slide-down panel ─────────────────────────── */
  .cgb-site-header.cgb-nav-open .cgb-primary-nav{
    display:block !important;
    position:fixed !important;
    top:calc(var(--cgb-adminbar-h) + var(--cgb-header-offset, 56px)) !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    background:var(--cgb-bg) !important;
    z-index:9989 !important;
    border-top:1px solid rgba(0,0,0,0.06);
    padding:0 !important;
    animation:cgb-nav-slide-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }

  @keyframes cgb-nav-slide-in{
    from{ opacity:0; transform:translateY(-8px); }
    to{ opacity:1; transform:translateY(0); }
  }

  /* ── Header inner flex ────────────────────────────────────── */
  .cgb-header-inner{
    flex-wrap:wrap;
    height:100%;
  object-fit:cover;
  object-position:center;
    padding:10px 0;
  }
  .cgb-brand{ flex:1 1 auto; }

  /* ── Scroll container ─────────────────────────────────────── */
  .cgb-site-header.cgb-nav-open .cgb-primary-nav .cgb-primary-nav-scroll{
    padding:8px 20px 120px;
    height:100%;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  /* ── Top-level list ───────────────────────────────────────── */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li{
    border-bottom:1px solid rgba(0,0,0,0.06);
  }
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li:last-child{
    border-bottom:0;
  }

  /* ── All links (hard mobile reset) ────────────────────────── */
  .cgb-primary-nav a,
  .cgb-primary-nav a:link,
  .cgb-primary-nav a:visited,
  .cgb-primary-nav a:hover,
  .cgb-primary-nav a:focus,
  .cgb-primary-nav a:active{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    filter:none !important;
    text-shadow:none !important;
    padding:14px 4px !important;
    min-height:52px;
    font-size:15px;
    font-weight:500;
    color:var(--cgb-text);
    text-decoration:none;
    text-transform:none;
    letter-spacing:0;
  }

  .cgb-primary-nav a:hover,
  .cgb-primary-nav a:focus{
    color:var(--cgb-novade-blue) !important;
  }

  /* Top-level links slightly larger */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a{
    font-size:16px !important;
    font-weight:600 !important;
  }

  /* ── Chevron arrow for items with children ────────────────── */
  .cgb-primary-nav .menu-item-has-children > a::after{
    content:"" !important;
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
    margin-left:auto !important;
    background:currentColor !important;
    opacity:0.3;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6z'/%3E%3C/svg%3E");
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
    transition:transform 250ms ease, opacity 200ms ease;
    transform:rotate(0deg);
    position:static !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .cgb-primary-nav li.cgb-open > a::after{
    transform:rotate(90deg) !important;
    opacity:0.6;
  }

  /* ── Submenus (accordion) ─────────────────────────────────── */
  .cgb-primary-nav .sub-menu,
  .cgb-primary-nav li > .sub-menu,
  .cgb-primary-nav li:not(.mega-menu) > .sub-menu,
  .cgb-primary-nav li.mega-menu > .sub-menu{
    display:none !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    min-width:0 !important;
    transform:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 0 4px 16px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    border-left:2px solid rgba(40,100,172,0.15) !important;
    overflow:visible !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    grid-template-columns:none !important;
  }

  /* Open accordion items */
  .cgb-primary-nav li.cgb-open > .sub-menu,
  .cgb-primary-nav li.mega-menu.cgb-open > .sub-menu{
    display:block !important;
    animation:cgb-submenu-open 0.25s ease;
  }

  @keyframes cgb-submenu-open{
    from{ opacity:0; transform:translateY(-4px); }
    to{ opacity:1; transform:translateY(0); }
  }

  /* ── Submenu links ────────────────────────────────────────── */
  .cgb-primary-nav .sub-menu a,
  .cgb-primary-nav .sub-menu a:link,
  .cgb-primary-nav .sub-menu a:visited{
    padding:12px 4px !important;
    min-height:44px;
    font-size:15px !important;
    font-weight:500 !important;
  }

  /* ── Mega menu: column containers reset ───────────────────── */
  .cgb-primary-nav li.mega-menu > .sub-menu > li{
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    min-width:0 !important;
  }

  /* ── Mega menu: column headings ──────────────────────────── */
  .cgb-primary-nav li.mega-menu > .sub-menu > li > a,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > a:link,
  .cgb-primary-nav li.mega-menu > .sub-menu > li > a:visited{
    font-size:12px !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:0.06em !important;
    padding:12px 4px 8px !important;
    color:var(--cgb-novade-blue) !important;
    border-bottom:1px solid rgba(40,100,172,0.12) !important;
    margin-bottom:2px;
    min-height:100%;
  object-fit:cover;
  object-position:center;
  }

  /* Icons in mega-menu column headings */
  .cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon > a{
    padding-left:32px !important;
  }
  .cgb-primary-nav li.mega-menu > .sub-menu > li.cgb-mm-icon > a::before{
    left:4px;
    width:18px;
    height:18px;
  }

  /* ── Inner submenus inside mega columns ──────────────────── */
  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu{
    border-left:0 !important;
    padding-left:4px !important;
  }

  .cgb-primary-nav li.mega-menu > .sub-menu > li > .sub-menu a::after{
    content:none !important;
  }

  /* ── CTA reset (normal item) ─────────────────────────────── */
  .cgb-primary-nav li.cgb-cta > a,
  .cgb-cta-solid .cgb-primary-nav li.cgb-cta > a,
  .cgb-cta-outline .cgb-primary-nav li.cgb-cta > a,
  .cgb-cta-ghost .cgb-primary-nav li.cgb-cta > a{
    box-shadow:none !important;
    filter:none !important;
  }

  .cgb-primary-nav li.mega-menu > a{ cursor:pointer !important; }

  /* Remove desktop animated underline */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li > a::after{
    content:none !important;
  }

  /* ── Mobile CTA button ───────────────────────────────────── */
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta{
    border-bottom:0;
    margin-top:16px;
    padding:0 4px;
  }
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a:link,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a:visited,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a:hover,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a:focus{
    background:var(--cgb-novade-blue) !important;
    color:#fff !important;
    border-radius:4px !important;
    justify-content:center !important;
    font-weight:700 !important;
    font-size:15px !important;
    min-height:52px;
    letter-spacing:0.02em;
    padding:14px 20px !important;
  }
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a:hover,
  .cgb-primary-nav .cgb-primary-nav-scroll > ul > li.cgb-cta > a:focus{
    background:color-mix(in srgb, var(--cgb-novade-blue) 85%, black) !important;
  }

/* end mobile */
}

  /* -------------------------------------------------------------------------- */
  /*  404 page                                                                   */
  /* -------------------------------------------------------------------------- */

  body.error404{
    min-height:100vh;
    display:flex;
    flex-direction:column;
  }

  body.error404 #main{
    flex:1 0 auto;
    display:flex;
  }

  body.error404 #main > .cgb-container{
    flex:1 0 auto;
    display:flex;
  }

  .cgb-404{
    --cgb-radius-sm:4px;
    --cgb-radius-lg:4px;
    flex:1 0 auto;
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:clamp(24px, 5vw, 64px) 0;
    background:color-mix(in srgb, var(--cgb-silver) 72%, var(--cgb-bg));
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .cgb-404__grid{
    width:100%;
    max-width:820px;
    margin:0 auto;
    padding:0 clamp(18px, 3vw, 28px);
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  @media (max-width: 900px){
    .cgb-404{ align-items:flex-start; }
  }

  .cgb-404__code{
    margin:0;
    font-weight:900;
    letter-spacing:-0.04em;
    line-height:1;
    font-size:clamp(44px, 7vw, 72px);
    color:color-mix(in srgb, var(--cgb-primary) 20%, var(--cgb-muted));
  }

  .cgb-404__title{
    margin:10px 0 0;
    font-size:clamp(24px, 3.6vw, 38px);
    line-height:1.15;
  }

  .cgb-404__lead{
    margin:10px 0 0;
    color:var(--cgb-muted);
    font-size:clamp(15px, 1.7vw, 18px);
    max-width:62ch;
  }

  .cgb-404__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px 12px;
    margin:18px 0 0;
    justify-content:center;
  }

  .cgb-404__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 16px;
    border-radius:var(--cgb-radius-sm);
    border:1px solid var(--cgb-border);
    text-decoration:none;
    font-weight:700;
  }

  .cgb-404__btn--primary{
    background:var(--cgb-primary);
    border-color:var(--cgb-primary);
    color:var(--cgb-bg);
  }

  .cgb-404__btn--primary:hover,
  .cgb-404__btn--primary:focus{
    background:color-mix(in srgb, var(--cgb-primary) 88%, var(--cgb-bg));
    border-color:color-mix(in srgb, var(--cgb-primary) 88%, var(--cgb-bg));
  }

  .cgb-404__btn--secondary{
    background:var(--cgb-bg);
    color:var(--cgb-text);
  }

  .cgb-404__btn--secondary:hover,
  .cgb-404__btn--secondary:focus{
    background:color-mix(in srgb, var(--cgb-bg) 88%, var(--cgb-text));
  }

  .cgb-404__links{
    margin:18px 0 0;
  }

  .cgb-404__links-title{
    margin:0 0 10px;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--cgb-muted);
  }

  .cgb-404__links ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
  }

  .cgb-404__links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border:1px solid var(--cgb-border);
    border-radius:var(--cgb-radius-sm);
    background:var(--cgb-bg);
    color:inherit;
    text-decoration:none;
    font-weight:700;
  }

  .cgb-404__links a:hover,
  .cgb-404__links a:focus{
    background:color-mix(in srgb, var(--cgb-bg) 88%, var(--cgb-text));
  }

  .cgb-404__links a:hover{
    text-decoration:underline;
  }

  .cgb-404__muted{
    margin:0;
    color:var(--cgb-muted);
  }

/* ═══════════════════════════════════════════════════════════════════════
   SINGLE WEBINAR — Clean 2-column layout (v3)
   No hero. Title + meta in main column, sidebar right, speakers inline.
   ═══════════════════════════════════════════════════════════════════════ */

.cgb-webinar-single{
  --wb-accent: var(--cgb-primary, #0073e6);
  --wb-accent-hover: color-mix(in srgb, var(--wb-accent) 82%, #000);
  --wb-accent-light: color-mix(in srgb, var(--wb-accent) 10%, #fff);
  --wb-bg: #f4f6f9;
  --wb-dark: #111420;
  --wb-dark-mid: #1a1e2e;
  --wb-dark-text: #b4b9c6;
  --wb-radius: var(--cgb-radius-sm, 4px);
  --wb-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --wb-shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.06);
  --wb-shadow-lg: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
}

body.single-webinars,
body.post-type-webinars{
  background: #f4f6f9;
}

/* ── Override WP global heading colors inside webinar page ─── */
.cgb-webinar-single h1,
.cgb-webinar-single h2,
.cgb-webinar-single h3,
.cgb-webinar-single h4,
.cgb-webinar-single h5,
.cgb-webinar-single h6{
  color: inherit;
  font-family: inherit;
}

/* ══════════ BREADCRUMB TOP BAR ══════════ */
.cgb-wb-topbar{
  background: var(--wb-bg);
  border-bottom: 1px solid #e8eaf0;
  padding: 12px 24px;
  display: none;
}
.cgb-wb-topbar-inner{
  max-width: 1140px;
  margin: 0 auto;
}
.cgb-wb-breadcrumb{
  font-size: .82rem;
  margin: 0;
  color: var(--cgb-muted, #777);
  letter-spacing: .01em;
}
.cgb-wb-breadcrumb a{
  color: var(--cgb-muted, #777);
  text-decoration: none;
  transition: color .15s;
}
.cgb-wb-breadcrumb a:hover{
  color: var(--wb-accent);
  text-decoration: underline;
}

/* ══════════ BODY (main + sidebar) ══════════ */
.cgb-wb-body{
  background: var(--wb-bg);
  padding: 36px 24px 56px;
}
.cgb-wb-body-inner{
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 36px;
  align-items: start;
}

/* ── Header block (in main column) ───── */
.cgb-wb-header{
  margin-bottom: 24px;
}
.cgb-wb-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 20px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: var(--wb-accent-light);
  color: var(--wb-accent);
  margin-bottom: 12px;
}
.cgb-wb-title{
  font-size: clamp(1.55rem, 3.2vw, 2.3rem);
  line-height: 1.2;
  margin: 0 0 12px;
  font-weight: 800;
  color: var(--cgb-text, #1a1a2e);
  letter-spacing: -.01em;
}
.cgb-wb-lead{
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--cgb-muted, #555);
  margin: 0 0 16px;
  max-width: 680px;
}
.cgb-wb-lead p{ margin: 0; }

/* Meta pills (light version) */
.cgb-wb-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cgb-wb-pill{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: .8rem;
  font-weight: 600;
  background: #fff;
  color: var(--cgb-text, #444);
  border: 1px solid #dfe1e6;
}
.cgb-wb-pill .dashicons{
  font-size: 14px;
  width: 14px;
  height: 14px;
  color: var(--wb-accent);
  opacity: .8;
}

/* ── Featured image ───────────────── */
.cgb-wb-featured{
  margin-bottom: 24px;
  border-radius: var(--wb-radius);
  overflow: hidden;
  box-shadow: var(--wb-shadow-md);
}
.cgb-wb-featured img{
  width: 100%;
  height: auto;
  display: block;
}

/* ── Content sections (white cards) ── */
.cgb-wb-section{
  background: #fff;
  border-radius: var(--wb-radius);
  padding: 24px 28px;
  margin-bottom: 16px;
  box-shadow: var(--wb-shadow-sm);
  border: 1px solid rgba(0,0,0,.04);
  border-left: 3px solid var(--wb-accent);
}
.cgb-wb-section-title{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 12px;
  line-height: 1.3;
  color: var(--cgb-text, #1a1a2e);
}
.cgb-wb-section-icon{
  font-size: 1.1rem;
}
.cgb-wb-prose{
  font-size: .95rem;
  line-height: 1.75;
  color: var(--cgb-text, #444);
}
.cgb-wb-prose ul{ padding-left: 20px; }
.cgb-wb-prose li{ margin-bottom: 6px; }

/* Gutenberg content section — no left border */
.cgb-wb-gutenberg{
  border-left-color: transparent;
}

/* Agenda */
.cgb-wb-agenda-list{
  list-style: none;
  margin: 0;
  padding: 0;
}
.cgb-wb-agenda-item{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid #eef0f3;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--cgb-text, #333);
}
.cgb-wb-agenda-item:last-child{ border-bottom: none; }
.cgb-wb-agenda-check{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--wb-accent-light);
  color: var(--wb-accent);
  font-size: 12px;
  font-weight: 700;
  margin-top: 2px;
}

/* ── Speakers / Moderators (horizontal layout, inside main column) ── */
.cgb-wb-section--people{
  border-left-color: transparent;
}
.cgb-wb-people-list{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cgb-wb-person{
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: var(--wb-bg);
  border-radius: var(--wb-radius);
  border: 1px solid #e8eaf0;
  transition: box-shadow .2s, transform .2s;
}
.cgb-wb-person:hover{
  box-shadow: var(--wb-shadow-md);
  transform: translateY(-2px);
}
.cgb-wb-person-avatar{
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--wb-accent-light);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 1px 6px rgba(0,0,0,.1);
}
.cgb-wb-person-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cgb-wb-person-initial{
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--wb-accent);
}
.cgb-wb-person-info{
  flex: 1;
  min-width: 0;
}
.cgb-wb-person-name{
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 2px;
  color: var(--cgb-text, #1a1a2e);
}
.cgb-wb-person-role{
  font-size: .82rem;
  color: var(--cgb-muted, #666);
  margin: 0 0 6px;
  line-height: 1.4;
}
.cgb-wb-person-bio{
  font-size: .85rem;
  line-height: 1.5;
  color: var(--cgb-text, #555);
}
.cgb-wb-person-bio p{ margin: 0; }

/* ── Sidebar card ──────────────────── */
.cgb-wb-sidebar{
  position: sticky;
  top: 100px;
}
.cgb-wb-card{
  background: #fff;
  border-radius: var(--wb-radius);
  overflow: hidden;
  box-shadow: var(--wb-shadow-lg);
  border: 1px solid rgba(0,0,0,.05);
}
.cgb-wb-card-thumb{
  position: relative;
}
.cgb-wb-card-thumb img{
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}
.cgb-wb-card-play{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.4));
  transition: background .25s;
  text-decoration: none;
}
.cgb-wb-card-play:hover{
  background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.5));
}
.cgb-wb-card-play span{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--wb-accent);
  color: #fff;
  font-size: 18px;
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
  transition: transform .25s;
}
.cgb-wb-card-play:hover span{ transform: scale(1.1); }

.cgb-wb-card-body{
  padding: 20px;
}
.cgb-wb-card-price{
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 16px;
  color: var(--wb-accent);
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.cgb-wb-card-price-free{
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #10b981;
  background: rgba(16,185,129,.1);
  padding: 2px 8px;
  border-radius: 10px;
}

/* Shared button styles */
.cgb-wb-btn-primary,
.cgb-wb-btn-outline{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 18px;
  border-radius: var(--wb-radius);
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  transition: background .2s, border-color .2s, transform .15s, color .2s, box-shadow .2s;
  cursor: pointer;
  border: 2px solid transparent;
}
.cgb-wb-btn-primary{
  background: var(--wb-accent);
  color: #fff;
  border-color: var(--wb-accent);
  margin-bottom: 8px;
  box-shadow: 0 2px 8px rgba(0,115,230,.2);
}
.cgb-wb-btn-primary:hover{
  background: var(--wb-accent-hover);
  border-color: var(--wb-accent-hover);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,115,230,.3);
}
.cgb-wb-btn-outline{
  background: transparent;
  color: var(--cgb-text, #333);
  border-color: #d0d3da;
  margin-bottom: 14px;
}
.cgb-wb-btn-outline:hover{
  border-color: var(--wb-accent);
  color: var(--wb-accent);
  transform: translateY(-1px);
  background: var(--wb-accent-light);
}
.cgb-wb-btn-primary .dashicons,
.cgb-wb-btn-outline .dashicons{
  font-size: 17px;
  width: 17px;
  height: 17px;
}
.cgb-wb-btn-lg{
  padding: 14px 24px;
  font-size: 1rem;
}

.cgb-wb-card-details{
  list-style: none;
  margin: 0;
  padding: 14px 0 0;
  border-top: 1px solid #eef0f3;
}
.cgb-wb-card-details li{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  font-size: .85rem;
  color: var(--cgb-muted, #555);
}
.cgb-wb-card-details .dashicons{
  font-size: 15px;
  width: 15px;
  height: 15px;
  color: var(--wb-accent);
  opacity: .8;
}

/* ══════════ BOTTOM CTA (compact) ══════════ */
.cgb-wb-cta{
  background: var(--wb-dark);
  color: #fff;
  padding: 40px 24px;
  margin-bottom: 80px;
  text-align: center;
}
.cgb-wb-cta-inner{
  max-width: 700px;
  margin: 0 auto;
}
.cgb-wb-cta-title{
  font-size: clamp(1.3rem, 2.5vw, 1.7rem);
  font-weight: 800;
  margin: 0 0 8px;
  color: #fff;
}
.cgb-wb-cta-desc{
  font-size: .97rem;
  line-height: 1.6;
  color: var(--wb-dark-text);
  margin: 0 0 24px;
}
.cgb-wb-cta-actions{
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.cgb-wb-cta .cgb-wb-btn-primary{
  background: var(--wb-accent);
  color: #fff;
  border-color: var(--wb-accent);
  width: auto;
  margin-bottom: 0;
}
.cgb-wb-cta .cgb-wb-btn-primary:hover{
  background: var(--wb-accent-hover);
  border-color: var(--wb-accent-hover);
}
.cgb-wb-cta .cgb-wb-btn-outline{
  border-color: rgba(255,255,255,.25);
  color: #fff;
  width: auto;
  margin-bottom: 0;
}
.cgb-wb-cta .cgb-wb-btn-outline:hover{
  border-color: #fff;
  background: rgba(255,255,255,.08);
  color: #fff;
}

/* ══════════ RESPONSIVE ══════════ */
@media (max-width: 899px) {
  .cgb-wb-body-inner{
    grid-template-columns: 1fr;
  }
  .cgb-wb-sidebar{
    position: static;
    order: -1;
  }
  .cgb-wb-card-thumb img{ height: 170px; }
}
@media (max-width: 600px) {
  .cgb-wb-topbar{ padding: 10px 16px; }
  .cgb-wb-body{ padding: 24px 16px 36px; }
  .cgb-wb-title{ font-size: 1.35rem; }
  .cgb-wb-section{ padding: 18px 16px; border-left-width: 2px; }
  .cgb-wb-person{ flex-direction: column; align-items: center; text-align: center; }
  .cgb-wb-person-bio{ text-align: center; }
  .cgb-wb-cta{ padding: 32px 16px; }
  .cgb-wb-cta-actions{ flex-direction: column; align-items: stretch; }
  .cgb-wb-cta .cgb-wb-btn-primary,
  .cgb-wb-btn-outline{ width: 100%; }
}

/* ══════════ UTILITY – SHADOW ══════════ */
.has-shadow {
  box-shadow: 0px 12px 18px -6px rgba(0,0,0,.3);
}
.wp-block-image.has-shadow img {
  box-shadow: 0px 2px 18px 0px rgba(0,0,0,.3);
}

/* ══════════ CERTIFICATIONS PAGE ══════════ */
@media (max-width: 600px) {
  .wp-block-cover .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .wp-block-cover .wp-block-button__link {
    text-align: center;
  }
}


/* Pardot contact form iframe – override global height:100% */
.cgb-pardot-form-wrap{ min-height:900px; }
.cgb-pardot-form-wrap iframe{ height:900px; object-fit:initial; }

