/* Bloomberg — project styles layered on the Understrap child theme.
   Only additions/overrides needed by the rebuilt pages live here. */

/* ------------------------------------------------ base / images */
img { max-width: 100%; height: auto; }
img.article-item__img { display: block; object-fit: cover; }
.article-item--lg .article-item__img-container { display: block; overflow: hidden; }
.article-item--lg .article-item__img { width: 100%; height: auto; }
.article-item--xs .article-item__img { object-fit: cover; }
.post-wrapper .post-image img.bg-img { object-fit: cover; }
.entry-content .wp-block-image img,
.entry-hero img { display: block; width: 100%; height: auto; }
.entry-content .wp-block-image { margin: 1.5rem 0; }
.entry-content figcaption { font-size: 0.8em; color: #adb5bd; text-align: center; margin-top: 0.4rem; }

/* ------------------------------------------------ brand */
.navbar-brand { display: inline-flex; align-items: center; padding-top: 0.25rem; padding-bottom: 0.25rem; }
h1.navbar-brand { font-size: inherit; font-weight: inherit; line-height: inherit; margin: 0; }
.navbar-brand .brand-svg { height: 40px; width: auto; display: block; }
#wrapper-footer .navbar-brand .brand-svg { height: 48px; }
@media (max-width: 575.98px) {
  .navbar-brand .brand-svg { height: 32px; }
}

/* ------------------------------------------------ nav toggler states */
.navbar-toggler-content { align-items: center; }
.navbar-toggler-open { display: none; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-closed { display: none; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-open { display: inline-flex; }
.navbar-toggler-title { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; margin-right: 0.4rem; }
.navbar-primary .search a { color: #fff; display: inline-flex; }
.navbar-secondary .trending strong { display: inline-flex; align-items: center; }
.navbar-secondary .trending svg { margin-right: 0.35rem; }

/* ------------------------------------------------ slideout */
#navbarNavSlideout {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 300px;
  max-width: 86vw;
  padding: 1.25rem 1rem 2rem;
  background: #111;
  color: #fff;
  z-index: 10050;
  overflow-y: auto;
  transform: translateX(-105%);
  transition: transform 0.25s ease;
}
#navbarNavSlideout.is-open { transform: translateX(0); }
#navbarNavSlideout ul { list-style: none; margin: 0; padding: 0; }
#navbarNavSlideout li { border-bottom: 1px solid #2a2a2a; }
#navbarNavSlideout li a { display: flex; align-items: center; gap: 0.6rem; color: #fff; padding: 0.85rem 0.25rem; text-decoration: none; }
#navbarNavSlideout li a:hover { color: #e91d1f; }
#navbarNavSlideout .theme-controls { margin-bottom: 1rem; display: flex; align-items: center; gap: 0.5rem; }
#navbarNavSlideout .switch-label { color: #fff; }
body.slideout-open { overflow: hidden; }

/* ------------------------------------------------ search overlay */
#searchOverlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.94);
  color: #fff;
  display: none;
  overflow-y: auto;
}
#searchOverlay.is-open { display: block; }
#searchOverlay .row { margin-top: 12vh; }
#searchOverlayClose { position: absolute; top: 1rem; right: 1.5rem; color: #fff; font-size: 1.1rem; text-decoration: none; }
#searchOverlayQuery {
  width: 100%;
  border: 0;
  border-bottom: 2px solid #e91d1f;
  background: transparent;
  color: #fff;
  font-size: 2rem;
  padding: 0.5rem 3rem 0.5rem 0;
  outline: none;
}
#searchOverlayQuery::placeholder { color: #777; }
#searchOverlaySearch { position: absolute; right: 1rem; top: 0.9rem; color: #fff; }
.search-overlay-results { margin-top: 1.25rem; }
.search-result {
  display: block;
  padding: 0.75rem 0.9rem;
  border-left: 3px solid transparent;
  color: #fff;
  text-decoration: none;
}
.search-result:hover, .search-result:focus {
  border-left-color: #e91d1f;
  background: rgba(255, 255, 255, 0.06);
  text-decoration: none;
}
.search-result strong { display: block; font-size: 1.05rem; }
.search-result span { display: block; color: #b5b5b5; font-size: 0.85rem; margin-top: 0.15rem; }
.search-empty { color: #b5b5b5; }
body.search-open { overflow: hidden; }

/* ------------------------------------------------ sticky navbar */
#wrapper-navbar.is-stuck {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

/* ------------------------------------------------ page bits */
#primary { padding-top: 1rem; }
.breadcrumbs { font-size: 0.8rem; color: #adb5bd; margin-bottom: 0.75rem; }
.breadcrumbs a { color: #e91d1f; text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.entry-title { margin-bottom: 0.5rem; }
.page-lede { font-size: 1.15rem; color: #d0d0d0; font-style: italic; margin-bottom: 1.5rem; }
.entry-meta { display: flex; flex-wrap: wrap; gap: 1rem; font-size: 0.8rem; color: #adb5bd; margin-bottom: 1.25rem; padding-top: 0; }
.entry-meta a { color: #fff; }
.entry-hero { margin: 0 0 1.5rem; }
.postmatter { font-size: 0.8rem; }

/* mirror list styling but calmer for the table of contents */
.entry-content .table-of-contents { margin: 1.5rem 0 2rem; padding: 1rem 1.25rem; background: rgba(114, 114, 114, 0.1); border-left: 5px solid #e91d1f; }
.entry-content .table-of-contents p { margin: 0 0 0.4rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.75rem; }
.entry-content .table-of-contents ol { margin: 0; padding: 0; }
.entry-content .table-of-contents ol li { background: none; border-left: 0; padding: 0.15rem 0; margin: 0; }
.entry-content .table-of-contents a { color: inherit; text-decoration: none; }
.entry-content .table-of-contents a:hover { color: #e91d1f; }

/* key facts */
.key-facts { margin: 1.5rem 0; padding: 1rem 1.25rem; border: 1px solid #2d2d2d; background: rgba(114, 114, 114, 0.08); }
.key-facts-title { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.5rem; }
.key-facts ul { margin: 0; }
.entry-content .key-facts ul li { background: none; border-left: 3px solid #e91d1f; padding: 0.25rem 0.6rem; margin-bottom: 0.15rem; }

/* pull quote — neutralise the theme's brand watermark */
.entry-content blockquote.pull-quote,
.pull-quote {
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
  background: #e91d1f;
  background-image: none;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.4;
  border-left: 0;
}
.pull-quote p { margin: 0; }

.source-note, .further-reading { font-size: 0.85rem; color: #adb5bd; }
.home-sources { font-size: 0.85rem; color: #adb5bd; margin: 2rem 0 1rem; }
.home-sources a { color: #e91d1f; }
.home-intro, .category-intro { max-width: 860px; margin: 0 0 1.75rem; }
.home-intro h2, .category-intro h2 { font-size: 1.45rem; margin-top: 1.35rem; }
.home-intro p, .category-intro p { color: #d0d0d0; }

/* category header */
.page-header { padding: 0.5rem 0 1rem; border-bottom: 1px solid #2d2d2d; margin-bottom: 1.5rem; }
.page-title { font-size: 2rem; }
.taxonomy-description { color: #d0d0d0; max-width: 760px; }
.related-section { margin-top: 2.5rem; }
.related-section h2 { margin-bottom: 1rem; }

/* ------------------------------------------------ newsletter + modal */
.widget-ahsubscribe .title { display: flex; align-items: center; gap: 0.5rem; font-style: normal; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.85rem; }
.widget-ahsubscribe .title svg { color: #e91d1f; }
.widget-ahsubscribe .text { font-size: 0.85rem; color: #adb5bd; margin: 0.35rem 0 0.75rem; }
.mc4wp-response { margin-top: 0.75rem; font-size: 0.85rem; padding: 0.5rem 0.75rem; }
.mc4wp-response.is-success { background: rgba(40, 167, 69, 0.15); border-left: 3px solid #28a745; }
.mc4wp-response.is-error { background: rgba(220, 53, 69, 0.15); border-left: 3px solid #dc3545; }
.btn-link-plain { background: none; border: 0; padding: 0; color: inherit; text-align: left; cursor: pointer; }
.btn-link-plain:hover { color: #e91d1f; }
#signup-modal { position: fixed; inset: 0; z-index: 10060; background: rgba(0, 0, 0, 0.82); overflow-y: auto; }
#signup-modal #mc-form { position: relative; max-width: 460px; margin: 12vh auto; background: #151515; border-top: 4px solid #e91d1f; padding: 1.5rem 1.75rem 2rem; }
.signup-modal-close { position: absolute; top: 0.5rem; right: 0.75rem; background: none; border: 0; color: #fff; font-size: 1.1rem; cursor: pointer; }

/* ------------------------------------------------ light theme */
body:not(.dark) { background: #fff; color: #141414; }
body:not(.dark) a { color: #141414; }
body:not(.dark) .navbar-primary { background: #141414 !important; }
body:not(.dark) .navbar-primary a { color: #fff; }
body:not(.dark) .post-meta, body:not(.dark) .entry-meta, body:not(.dark) .breadcrumbs { color: #555; }
body:not(.dark) .entry-meta a, body:not(.dark) .post-meta strong a { color: #141414; }
body:not(.dark) .article-item--lg .article-item__entry { background-color: #f2f2f2; }
body:not(.dark) .article-item--lg .article-item__entry .post-title a { color: #141414; }
body:not(.dark) .article-item--lg .article-item__entry .author-url { color: #141414; }
body:not(.dark) .article-item--xs a, body:not(.dark) .article-item--sm a { color: #141414; }
body:not(.dark) .post-thumbnail-wrapper { background: #fff; border-color: #e2e2e2; }
body:not(.dark) .page-header { border-bottom-color: #e2e2e2; }
body:not(.dark) .taxonomy-description, body:not(.dark) .page-lede { color: #333; }
body:not(.dark) .entry-content blockquote.pull-quote { color: #fff; }
body:not(.dark) .key-facts { border-color: #ddd; background: #f7f7f7; }
body:not(.dark) .entry-content .table-of-contents { background: #f7f7f7; }
body:not(.dark) .widget-ahsubscribe .text, body:not(.dark) .home-sources, body:not(.dark) .source-note, body:not(.dark) .further-reading { color: #555; }
body:not(.dark) .entry-content figcaption { color: #666; }
body:not(.dark) .site-footer { color: #141414; }

/* ------------------------------------------------ footer */
#wrapper-footer {
  background: #111;
  color: #b9b9b9;
  padding: 3.25rem 0 0;
  border-top: 1px solid #2a2a2a;
}
#wrapper-footer .container-fluid { max-width: 1320px; }
#wrapper-footer .footer-main { padding-bottom: 2.25rem; }
.footer-brand { padding-bottom: 1.5rem; }
.footer-logo { display: inline-block; margin-bottom: 1.1rem; }
.footer-logo .brand-svg { height: 58px; width: auto; display: block; }
.footer-desc { color: #a3a3a3; font-size: 0.95rem; line-height: 1.65; max-width: 360px; margin-bottom: 1rem; }
.footer-email { margin-bottom: 0; }
.footer-email a { color: #e91d1f; font-weight: 600; text-decoration: none; }
.footer-email a:hover { color: #ff4b4d; text-decoration: underline; }
.footer-heading { color: #fff; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 1.1rem; }
#wrapper-footer .footer-col ul { list-style: none; margin: 0; padding: 0; }
#wrapper-footer .footer-col li { margin-bottom: 0.6rem; }
#wrapper-footer .footer-col a { color: #b9b9b9; font-size: 0.95rem; text-decoration: none; }
#wrapper-footer .footer-col a:hover { color: #fff; text-decoration: underline; }
.footer-bottom {
  border-top: 1px solid #2a2a2a;
  padding: 1.25rem 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
}
.footer-copy { margin: 0; color: #8c8c8c; font-size: 0.85rem; }
.footer-bottom-links { display: flex; flex-wrap: wrap; gap: 1.75rem; }
.footer-bottom-links a { color: #8c8c8c; font-size: 0.85rem; text-decoration: none; }
.footer-bottom-links a:hover { color: #fff; }

/* footer — light theme */
body:not(.dark) #wrapper-footer { background: #f7f7f7; border-top-color: #e2e2e2; }
body:not(.dark) .footer-heading { color: #141414; }
body:not(.dark) .footer-desc,
body:not(.dark) .footer-copy,
body:not(.dark) .footer-col a,
body:not(.dark) .footer-bottom-links a { color: #555; }
body:not(.dark) .footer-col a:hover,
body:not(.dark) .footer-bottom-links a:hover { color: #141414; }
body:not(.dark) .footer-bottom { border-top-color: #e2e2e2; }
@media (max-width: 575.98px) {
  #wrapper-footer { padding-top: 2.25rem; }
  .footer-logo .brand-svg { height: 44px; }
}

/* ---- Floating WhatsApp popup ---- */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:99999;display:flex;align-items:center;gap:10px;text-decoration:none;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.35;outline:none;}
.wa-float-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.24);transition:transform .2s ease,box-shadow .2s ease;flex:0 0 auto;}
.wa-float-btn svg{width:32px;height:32px;display:block;}
.wa-float:hover .wa-float-btn,.wa-float:focus .wa-float-btn{transform:scale(1.07);box-shadow:0 10px 28px rgba(0,0,0,.3);}
.wa-float-pop{display:block;max-width:235px;background:#fff;color:#141414;border-radius:12px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:13px;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;}
.wa-float-pop strong{display:block;font-size:14px;margin-bottom:2px;}
.wa-float-pop span{display:block;color:#444;}
.wa-float-pop .wa-float-num{color:#128c7e;font-weight:700;margin-top:4px;}
.wa-float:hover .wa-float-pop,.wa-float:focus .wa-float-pop{opacity:1;transform:translateY(0);}
@media (max-width:600px){.wa-float{right:14px;bottom:14px;}.wa-float-btn{width:54px;height:54px;}.wa-float-pop{display:none;}}

/* ------------------------------------------------ category further reading */
.further-reading { color: #adb5bd; font-size: 0.9rem; }
.further-reading a { color: #e91d1f; text-decoration: underline; }

