/*
Theme Name: Urban Futures (SaaS demo)
Template: twentytwentyfive
Description: Urban Futures brand child theme — navy + warm gold over Twenty Twenty-Five.
Version: 0.8
Text Domain: uf-saas
*/

/* === Navy gradient blocks: force readable contrast. */
.uf-on-navy,
.uf-on-navy p,
.uf-on-navy li,
.uf-on-navy ul,
.uf-on-navy ol,
.uf-on-navy strong { color: #e2eaf3 !important; }
.uf-on-navy h1,
.uf-on-navy h2,
.uf-on-navy h3,
.uf-on-navy h4 { color: #ffffff !important; }
.uf-on-navy li::marker { color: #b48a3c; }
.uf-on-navy a:not(.wp-block-button__link) { color: #b48a3c !important; text-decoration: none; }
.uf-on-navy a:not(.wp-block-button__link):hover { color: #ffffff !important; text-decoration: underline; }
.uf-on-navy .wp-block-button__link { color: #ffffff !important; }
.uf-on-navy .wp-block-button__link:hover { color: #ffffff !important; }
.uf-on-navy .uf-eyebrow { color: #b48a3c !important; }

/* === Light cards: list items must be readably dark. */
.wp-block-list,
.wp-block-list li,
.wp-block-group:not(.uf-on-navy) .wp-block-list,
.wp-block-group:not(.uf-on-navy) .wp-block-list li { color: #334155; }
.wp-block-list li::marker { color: #b48a3c; }

/* === Buttons. */
.wp-block-button__link { color: #ffffff !important; }
.wp-block-button.is-style-outline .wp-block-button__link { color: #1d3e5e !important; }
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #1d3e5e !important;
  color: #ffffff !important;
}

/* === Kill TT5's automatic block-gap and root padding. */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.entry-content > * + * { margin-block-start: 0 !important; }
:where(.wp-site-blocks) { padding-top: 0 !important; }
.wp-block-post-content { padding-top: 0 !important; }

/* === Site logo: full requested size. */
.wp-block-site-logo img { max-width: none; }
.wp-block-site-logo a img { display: block; }

/* === Footer: tight. */
footer.wp-block-template-part { padding: 0 !important; }
.uf-footer { border-top: 1px solid #e2e8f0; }

/* === Header: collapse nav to hamburger below 1024px. */
@media (max-width: 1023.98px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
  }

  /* Render the open menu as a compact dropdown panel anchored to the
     top-right of the viewport instead of WP's default full-screen overlay.
     Keeps the rest of the page visible behind/around it. */
  .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 60px !important;
    right: 16px !important;
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
    min-width: 140px;
    max-width: calc(100vw - 32px);
    height: auto !important;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18) !important;
    padding: 8px !important;
    align-items: flex-start !important;
  }
  /* Reset internal padding so the dropdown sits flush */
  .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-close,
  .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-dialog,
  .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
  /* Stack menu items vertically, full-width, tight padding */
  .wp-block-navigation .is-menu-open .wp-block-navigation__container,
  .wp-block-navigation .is-menu-open ul {
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 2px !important;
  }
  .wp-block-navigation .is-menu-open li {
    width: 100% !important;
  }
  .wp-block-navigation .is-menu-open .wp-block-navigation-item__content {
    display: block !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    color: #1d3e5e !important;
    font-weight: 500;
  }
  .wp-block-navigation .is-menu-open .wp-block-navigation-item__content:hover {
    background: #f4f7fb !important;
  }
  /* Close X button: small and top-right inside the panel */
  .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-close {
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    padding: 4px !important;
    z-index: 1;
    display: none !important; /* user can click outside to close; X redundant in compact panel */
  }
  /* Kill the modal background dimmer */
  .has-modal-open { overflow: visible !important; }
}
