/*
Theme Name: AdvisoryLoom for MoreNews
Theme URI: https://advisoryloom.com/
Description: AdvisoryLoom's lightweight visual layer for the existing MoreNews site.
Author: AdvisoryLoom
Version: 1.2.1
Template: morenews
Text Domain: advisoryloom-morenews
*/

/* The site retains MoreNews templates, layouts, menus, and Customizer options. */
:root {
  --loom-ink: #15364b;
  --loom-navy: #10364d;
  --loom-teal: #087e78;
  --loom-teal-hover: #07645f;
  --loom-canvas: #f4f8f7;
  --loom-border: #dce8e7;
  --loom-shadow: 0 9px 28px rgba(14, 45, 61, .065);
}

body:not(.aft-dark-mode) {
  --al-navy: var(--loom-navy);
  --al-blue: var(--loom-teal);
  --al-cyan: #41d2c9;
  --al-border: var(--loom-border);
  --al-page: var(--loom-canvas);
  background-color: var(--loom-canvas);
  color: var(--loom-ink);
}

/* Existing brand artwork comes from the configured WordPress custom logo. */
.site-branding .custom-logo,
.site-branding .custom-logo-link img {
  height: auto;
  max-width: min(100%, 320px);
  object-fit: contain;
}

body:not(.aft-dark-mode) #main-navigation-bar {
  background: var(--loom-navy);
}

#main-navigation-bar .main-navigation :is(.menu-desktop, #primary-menu) > li > a,
#main-navigation-bar .main-navigation .menu-desktop > ul > li > a {
  border-radius: 10px;
  transition: background-color .15s ease, color .15s ease;
}

body:not(.aft-dark-mode) :is(.al-intelligence-card, .al-public-cluster) {
  border: 1px solid var(--loom-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--loom-shadow);
  overflow: hidden;
}

/* MoreNews article cards preserve their existing columns and image ratios. */
body:not(.aft-dark-mode) .read-single {
  border-radius: 16px;
  overflow: hidden;
}

body:not(.aft-dark-mode) .read-title h3 a:hover,
body:not(.aft-dark-mode) .al-intelligence-sources a:hover,
body:not(.aft-dark-mode) .al-cluster-source-link:hover {
  color: var(--loom-teal-hover);
}

body:not(.aft-dark-mode) :is(
  .al-intelligence-card,
  .al-public-cluster,
  .al-methodology-priority,
  .al-editorial-notice
) {
  border-radius: 16px;
}

body:not(.aft-dark-mode) :is(
  .al-public-cluster-list li,
  .al-intelligence-card-footer
) {
  border-color: var(--loom-border);
}

/* Status badges and Zero-Day alert colors stay tied to their editorial state. */
body:not(.aft-dark-mode) :is(
  .button,
  button[type="submit"],
  input[type="submit"],
  .wp-block-button__link,
  .al-methodology-site-link a
) {
  border-radius: 999px;
}

body:not(.aft-dark-mode) :is(
  .wp-block-button__link,
  button[type="submit"],
  input[type="submit"]
):not(.al-zero-day-banner button) {
  transition: background-color .15s ease, box-shadow .15s ease;
}

body:not(.aft-dark-mode) :is(
  .wp-block-button__link,
  button[type="submit"],
  input[type="submit"]
):not(.al-zero-day-banner button):hover {
  box-shadow: 0 5px 14px rgba(8, 126, 120, .16);
}

body:not(.aft-dark-mode) :is(input[type="text"], input[type="email"], input[type="search"], select, textarea) {
  border-radius: 10px;
}

body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #12a59b;
  outline-offset: 3px;
}

@media (max-width: 782px) {
  .site-branding .custom-logo,
  .site-branding .custom-logo-link img { max-width: min(76vw, 280px); }
  body:not(.aft-dark-mode) :is(.al-intelligence-card, .al-public-cluster) { border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  #main-navigation-bar .main-navigation a,
  body:not(.aft-dark-mode) :is(.wp-block-button__link, button[type="submit"], input[type="submit"]) {
    transition: none;
  }
}

/* A visible, restrained refresh of the existing MoreNews presentation. */
body.aft-default-mode { background: #f2f7f6; color: #15364b; }
body.aft-default-mode :is(.site-content, #content) { background: #f2f7f6; }
body.aft-default-mode #main-navigation-bar { background: #10364d; border-bottom: 3px solid #13a99e; }
body.aft-default-mode #main-navigation-bar .main-navigation a:hover,
body.aft-default-mode #main-navigation-bar .main-navigation .current-menu-item > a { background: #087e78; color: #fff; }
body.aft-default-mode :is(.read-single, #secondary .morenews-widget, .morenews-widget) {
  background: #fff;
  border: 1px solid #dce8e7;
  border-radius: 18px;
  box-shadow: 0 9px 28px rgba(14, 45, 61, .065);
}
body.aft-default-mode :is(.read-single, #secondary .morenews-widget) { padding: 14px; }
body.aft-default-mode :is(.widget-title, .morenews-widget .widget-title) { border-bottom: 2px solid #13a99e; padding-bottom: 10px; }
body.aft-default-mode :is(.read-title h3 a, .entry-title a):hover { color: #087e78; }
body.aft-default-mode .site-info { background: #10364d; }
body.aft-default-mode :is(.aft-readmore, .read-more, .wp-block-button__link) { border-radius: 999px; }
@media (max-width: 782px) {
  body.aft-default-mode :is(.read-single, #secondary .morenews-widget) { padding: 10px; border-radius: 14px; }
}

/* Image-overlay sliders need their own sizing, without ordinary card padding. */
body #page :is(.af-banner-carousel, .morenews_posts_slider_widget) .read-single {
  position: relative;
  padding: 0;
  margin-bottom: 0;
}

/* The parent caps these at the image height; borders/padding clipped captions. */
body .aft-main-banner-section .af-banner-carousel,
body .aft-main-banner-section .af-banner-carousel.af-carousel-1,
body .morenews_posts_slider_widget .af-posts-slider,
body :is(#sidr, #secondary) .morenews_posts_slider_widget .af-posts-slider {
  max-height: none;
}

/* MoreNews removes first/last link padding, which offsets rounded highlights. */
@media (min-width: 993px) {
  #main-navigation-bar .main-navigation .menu-desktop > li > a,
  #main-navigation-bar .main-navigation .menu-desktop > ul > li > a,
  #main-navigation-bar .main-navigation #primary-menu > ul:not(.menu-mobile) > li > a {
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
  }

  #main-navigation-bar .main-navigation .menu-desktop > li.menu-item-has-children > a,
  #main-navigation-bar .main-navigation .menu-desktop > li.page_item_has_children > a,
  #main-navigation-bar .main-navigation .menu-desktop > ul > li.menu-item-has-children > a,
  #main-navigation-bar .main-navigation .menu-desktop > ul > li.page_item_has_children > a,
  #main-navigation-bar .main-navigation #primary-menu > ul:not(.menu-mobile) > li.menu-item-has-children > a,
  #main-navigation-bar .main-navigation #primary-menu > ul:not(.menu-mobile) > li.page_item_has_children > a {
    padding-right: 30px;
  }

  #main-navigation-bar .main-navigation .menu-desktop > li::after,
  #main-navigation-bar .main-navigation .menu-desktop > ul > li::after {
    left: 15px;
    right: 15px;
  }

  #main-navigation-bar .main-navigation .menu-desktop > li.current-menu-item::after,
  #main-navigation-bar .main-navigation .menu-desktop > li:hover::after,
  #main-navigation-bar .main-navigation .menu-desktop > ul > li.current-menu-item::after,
  #main-navigation-bar .main-navigation .menu-desktop > ul > li:hover::after {
    width: calc(100% - 30px);
  }
}
