/* =============================================================================
   SHEBI.NEWS brand layer — loaded AFTER /css/main.css on every route group.
   Implements shebi_news_brand_kit (locked palette, typography, tokens).
   Brand rule: credible form, incredible face.
   ========================================================================== */

/* ---- Self-hosted webfonts (Inter is SIL OFL — bundling permitted) ---- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/brand/fonts/inter-latin-400-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/brand/fonts/inter-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/brand/fonts/inter-latin-700-normal.woff2") format("woff2");
}

/* ---- Locked design tokens (kit: web/tokens.css) ---- */
:root {
  --shebi-ink: #111111;
  --shebi-green: #0a5c36;
  --shebi-yellow: #ffc300;
  --shebi-paper: #fffbf5;
  --shebi-white: #ffffff;
  --shebi-red: #ff2e2e;
  /* breaking-alert dot only */

  /* Typography stacks — Tiempos Headline is licence-gated, so the editorial
     serif falls back to the already self-hosted Source Serif 4, then Georgia. */
  --font-headline: "Tiempos Headline", "Source Serif 4", "Liberation Serif", Georgia, serif;
  --font-body: "Inter", "General Sans", "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-label: "Inter", "General Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --headline-size-desktop: 48px;
  --headline-size-mobile: 32px;
  --body-size: 17px;
  --body-line-height: 1.7;
  --body-max-width: 70ch;
  --category-label-size: 12px;
  --face-logo-gap: 28px;
}

/* ---- Palette hookup: page background = Paper (#FFFBF5), brand colour = Palm Green (#0A5C36)
   ---- White card surfaces per brand kit spec: Paper surface with crisp white cards ---- */
:root,
[data-bs-theme="light"] {
  --bs-primary: #0a5c36;
  --bs-primary-rgb: 10, 92, 54;
  --bs-body-bg: #fffbf5;
  --bs-body-color: #111111;
  --bs-heading-color: #111111;
  --bs-link-color: #0a5c36;
  --bs-link-color-rgb: 10, 92, 54;
  --bs-link-hover-color: #084a2b;
  --bs-link-hover-color-rgb: 8, 74, 43;
}

html,
body {
  background-color: var(--shebi-paper) !important;
  color: var(--shebi-ink) !important;
  font-family: var(--font-body);
  overflow-x: hidden;
  max-width: 100vw;
}

/* ---- Typography scale and smoothing ---- */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--shebi-ink);
}

a {
  color: var(--shebi-green);
  text-decoration-color: var(--shebi-green);
}

/* ---- Brand badges ---- */
.shebi-satire-badge {
  background: var(--shebi-yellow) !important;
  color: var(--shebi-ink) !important;
  font-weight: 700;
  text-transform: uppercase;
}

.shebi-report-label,
.shebi-primary-button,
.shebi-link {
  color: var(--shebi-green) !important;
}

.shebi-breaking-dot {
  background: var(--shebi-red) !important;
}

/* ---- Card / Block surfaces: Pure White cards on Paper page ---- */
.adw-block,
.homepage-billboard-block,
.wp-block-adw-blocks-newsletter-subscription-form,
.single-post article,
.post-container-custom-block,
.homepage-post-container-custom-block,
.homepage-list-block {
  background-color: var(--shebi-white);
}

/* ---- Ads gate ----------------------------------------------------------------
   With no ad inventory, every ad-only zone collapses to nothing (no blank
   boxes, no reserved gaps). One flag drives this: lib/ads.ts ADS_ENABLED →
   <body data-ads="off">.
   --------------------------------------------------------------------------- */
body[data-ads="off"] .ad-zone,
body[data-ads="off"] .htl-ad-wrapper,
body[data-ads="off"] .ad-slot-reserved,
body[data-ads="off"] .adw-fga-ad-slot,
body[data-ads="off"] .mobile-video-ad-space,
body[data-ads="off"] .homepage-billboard-mobile-ad {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- Masthead ("credible form, incredible face") -----------------------------
   Professional treatment: black wordmark on Paper / White,
   Palm Green band for section nav with Danfo Yellow active/hover accent.
   --------------------------------------------------------------------------- */
.shebi-masthead {
  background: var(--shebi-white);
  border-bottom: 2px solid var(--shebi-green);
}

.shebi-masthead #aw-nav-root {
  background: var(--shebi-white) !important;
}

.shebi-masthead .user-nav a,
.shebi-masthead #aw-nav-drawer .d-lg-none a,
.shebi-masthead #aw-nav-menu-icon {
  color: var(--shebi-ink);
}

/* ---- The NAV band: Palm Green band with white section links ---- */
.shebi-masthead .adw-nav-list {
  background: var(--shebi-green);
  border-radius: 0 25px 0 25px;
  padding: 0.55em 1.25em;
}

.shebi-masthead .adw-nav-list li,
.shebi-masthead .adw-nav-list a {
  color: #ffffff;
}

.shebi-masthead .adw-nav-list a:hover,
.shebi-masthead .adw-nav-list a.text-primary,
.shebi-masthead .adw-nav-list .text-hover-primary:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-decoration-color: var(--shebi-yellow);
  text-decoration-thickness: 3px;
  text-underline-offset: 6px;
}

.shebi-masthead .text-hover-primary:hover {
  color: var(--shebi-green);
}

.shebi-masthead #aw-nav-drawer {
  background: var(--shebi-green);
  border-bottom-color: var(--shebi-yellow);
}

.shebi-masthead #aw-nav-drawer .nav-link {
  color: #ffffff;
}

.shebi-masthead #aw-nav-drawer .nav-link:hover {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: var(--shebi-yellow);
  text-underline-offset: 5px;
}

/* =============================================================================
   LAYOUT & FLOATING ELEMENT FIXES
   ============================================================================= */

/* ---- 1. Vertical logo on homepage sidebar ----
   Prevent the 500px width / 200px height override from bleeding off-screen. */
.aw-logo-wrapper-vertical {
  width: 100% !important;
  max-width: 100% !important;
  height: 711px !important;
  top: 0 !important;
  left: 0 !important;
  margin-left: 0 !important;
  overflow: hidden !important;
  display: block !important;
}

@media (max-width: 991.98px) {
  .aw-logo-wrapper-vertical {
    display: none !important;
  }
}

/* ---- 2. Left sidebar layout containment ----
   Prevent sidebar from blowing up to 487px and overlapping middle column. */
.adw-homepage-sidebar--left {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.adw-homepage-sidebar--left .adw-hp-block {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.homepage-latest-block {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.homepage-latest-item {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.homepage-latest-item img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover;
}

/* ---- 3. Numbered list vertical labels & spacing ----
   Prevent "MOST SHARED" and "STARBUCKS" side tabs from overlapping text. */
.homepage-list-block {
  position: relative !important;
  overflow: visible !important;
  background-color: var(--shebi-white) !important;
}

@media (min-width: 992px) {
  .homepage-list-vertical-list {
    padding-left: 28px !important;
  }
}

@media (max-width: 991.98px) {
  .homepage-list-block {
    margin: 20px 0 !important;
    padding: 1.5rem !important;
  }

  .homepage-list-title {
    position: static !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    font-size: clamp(32px, 7vw, 56px) !important;
    line-height: 1.1 !important;
    margin-bottom: 1rem !important;
    text-align: left !important;
    padding: 0 !important;
  }

  .homepage-list-vertical-list {
    padding-left: 0 !important;
  }
}

/* ---- 4. Branded Squares Under ("LEADERSHIP VOICES") ----
   Give container left padding so cards are never obscured by the vertical label. */
.branded-squares-under-block {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (min-width: 992px) {
  .branded-squares-under-container {
    padding-left: 120px !important;
    padding-right: 1rem !important;
  }
}

@media (max-width: 991.98px) {
  .branded-squares-under-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .branded-squares-under-block .section__label {
    position: static !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    width: 100% !important;
    text-align: center !important;
    font-size: clamp(32px, 7vw, 64px) !important;
    padding: 1rem 0 !important;
  }
}

/* ---- 5. Sponsored Carousel ("SPONSORED") ----
   Prevent label from floating to top of page and prevent track overflow. */
.branded-squares-row-block {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (min-width: 992px) {
  .branded-squares-row-container {
    padding-left: 120px !important;
  }
}

@media (max-width: 991.98px) {
  .branded-squares-row-container {
    padding-left: 0 !important;
  }

  .branded-squares-row-block .section__label {
    position: static !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    width: 100% !important;
    text-align: center !important;
    font-size: clamp(32px, 7vw, 64px) !important;
    padding: 1rem 0 !important;
  }
}

/* ---- 6. Article page sidebar headers & mobile overflow prevention ---- */
@media (max-width: 991.98px) {

  .sidebar header,
  .label-lg,
  header.section__label,
  .section__label.font-pre-heading.h4,
  .section__label.font-label.label-lg {
    font-size: clamp(28px, 7vw, 44px) !important;
    line-height: 1.15 !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  .sidebar,
  .w-100-in-sidebar {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

/* ---- 7. Connatix Recommended Videos & Section header sizing ---- */
body .label-lg,
body .section__label.label-lg,
body .section__label.font-label.label-lg.h2.text-uppercase,
body header.section__label.font-label.label-lg.h2.text-uppercase,
body .section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title),
body header.section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title),
body .aw-connatix-module header.section__label,
body .aw-connatix-module header.section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title) {
  font-size: clamp(24px, 4vw, 44px) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em;
}

@media (max-width: 768px) {

  body .label-lg,
  body .section__label.label-lg,
  body .section__label.font-label.label-lg.h2.text-uppercase,
  body header.section__label.font-label.label-lg.h2.text-uppercase,
  body .section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title),
  body header.section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title),
  body .aw-connatix-module header.section__label,
  body .aw-connatix-module header.section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title) {
    font-size: clamp(20px, 5.5vw, 28px) !important;
    line-height: 1.2 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }
}

/* ---- 8. Billboard block responsive scaling ---- */
@media (max-width: 991.98px) {
  .homepage-billboard-block .font-pre-heading.fw-bold {
    font-size: clamp(32px, 8vw, 56px) !important;
    line-height: 1.1 !important;
    height: auto !important;
  }

  .homepage-billboard-block .d-flex.align-items-center.mb-5 {
    height: auto !important;
    margin-bottom: 1.5rem !important;
  }
}

/* ---- 9. Mobile Header Face Logo & Newswire Autoscroller Marquee ---- */
@media (max-width: 991.98px) {
  #aw-nav-root {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    gap: 0.45rem !important;
  }

  .aw-logo-wrapper {
    flex-shrink: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  .aw-logo-wrapper img.shebi-face-logo {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 48px !important;
    object-fit: contain !important;
    border-radius: 50% !important;
    display: block !important;
  }

  .aw-logo-wrapper img.shebi-logo-horizontal {
    display: none !important;
  }

  .nav-right-col {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
  }

  .nav-right-col .row {
    margin-top: 0 !important;
    padding: 0 !important;
  }

  #aw-nav-menu-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #aw-nav-menu-icon svg {
    width: 2.2em !important;
    height: auto !important;
  }
}

@media (min-width: 992px) {
  .aw-logo-wrapper img.shebi-logo-horizontal {
    display: block !important;
  }

  .aw-logo-wrapper img.shebi-face-logo {
    display: none !important;
  }
}

.mobile-newswire-wrapper {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Desktop Newswire Autoscroller Marquee Container */
@media (min-width: 992px) {
  #adw-nav-alerts {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #adw-nav-alerts .pat-marquee-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 42px !important;
    padding: 2px 12px 2px 6px !important;
    margin: 0 !important;
  }
}

@media (max-width: 991.98px) {
  #adw-nav-alerts {
    display: none !important;
  }
}

.live-pulse-dot {
  animation: shebi-pulse-live 2s infinite ease-in-out !important;
}

@keyframes shebi-pulse-live {

  0%,
  100% {
    transform: scale(0.92);
    opacity: 0.75;
  }

  50% {
    transform: scale(1.2);
    opacity: 1;
  }
}

.pat-marquee-container,
.pat-marquee-container.wp-container-core-group-is-layout-e148e5c0 {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(10, 92, 54, 0.22) !important;
  border-radius: 9999px !important;
  height: 38px !important;
  padding: 2px 6px 2px 4px !important;
  box-shadow: 0 1px 4px rgba(10, 92, 54, 0.06) !important;
  overflow: hidden !important;
  position: relative !important;
  gap: 0 !important;
}

.pat-marquee-container>*,
.pat-marquee-container>.pat-marquee-title,
.pat-marquee-container>.pat-marquee-list {
  margin: 0 !important;
}

.pat-marquee-title {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  padding-right: 6px !important;
  border-right: 1px solid rgba(17, 17, 17, 0.15) !important;
  margin: 0 4px 0 0 !important;
  z-index: 3 !important;
  gap: 0 !important;
}

.pat-marquee-title .section-label,
.pat-marquee-title .wp-container-core-group-is-layout-52b12321 {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pat-marquee-title .section-label__icon {
  background-color: var(--shebi-green, #0A5C36) !important;
  color: #FFFFFF !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: 0 1px 2px rgba(10, 92, 54, 0.2) !important;
}

.pat-marquee-title .section-label__icon p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.pat-marquee-title .section-label__icon svg {
  width: 12px !important;
  height: 12px !important;
  fill: #FFFFFF !important;
  display: block !important;
}

.pat-marquee-title h3#h-newswire {
  font-family: var(--font-label, Inter, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--shebi-green, #0A5C36) !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 4px 0 0 !important;
  white-space: nowrap !important;
}

@media (min-width: 992px) {
  .pat-marquee-title h3#h-newswire {
    font-size: 13.5px !important;
    padding: 0 6px 0 0 !important;
  }
}

.pat-marquee-list {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  overflow: hidden !important;
  position: relative !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  mask-image: linear-gradient(90deg, transparent 0%, black 6px, black calc(100% - 8px), transparent 100%) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 6px, black calc(100% - 8px), transparent 100%) !important;
}

.pat-marquee-list .wp-block-query {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.amplify-storytelling-marquee {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}

.amplify-marquee-track {
  display: flex !important;
  width: max-content !important;
  align-items: center !important;
  will-change: transform !important;
  animation: shebi-marquee-left 42s linear infinite !important;
}

.amplify-storytelling-marquee--pause-on-hover:hover .amplify-marquee-track,
.amplify-storytelling-marquee--pause-on-hover:active .amplify-marquee-track {
  animation-play-state: paused !important;
}

@keyframes shebi-marquee-left {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.pat-marquee-list ul.wp-block-post-template {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.pat-marquee-list li.wp-block-post {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 14px 0 0 !important;
  white-space: nowrap !important;
}

@media (min-width: 992px) {
  .pat-marquee-list li.wp-block-post {
    padding: 0 20px 0 0 !important;
  }
}

.pat-marquee-list h3.wp-block-post-title {
  margin: 0 !important;
  font-family: var(--font-body, Inter, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  border-right: 1px solid rgba(17, 17, 17, 0.16) !important;
  padding-right: 14px !important;
}

@media (min-width: 992px) {
  .pat-marquee-list h3.wp-block-post-title {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    padding-right: 20px !important;
  }
}

.pat-marquee-list a.wp-block-group__link {
  color: var(--shebi-ink, #111111) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 0.15s ease !important;
}

.pat-marquee-list a.wp-block-group__link:hover {
  color: var(--shebi-green, #0A5C36) !important;
  text-decoration: underline !important;
}


/* Ensure no horizontal overflow anywhere */
.adw-homepage-layout,
.adw-homepage-row,
.adw-homepage-maxwidth {
  max-width: 100%;
  padding-top: 10px;
}

.red {
  border: 2px solid red !important;
}