/*
Theme Name: CLV Shared Astra Child
Description: Versioned CLV local-service visual system. Configure public site values in clv-site-config.php.
Author: Cascade Local Ventures
Template: astra
Version: 1.0.0
Text Domain: clv-shared
*/

/* WordPress/Astra bridge. This is intentionally small; visual rules live in clv-core.css. */
.main-header-bar, .ast-primary-header-bar { display: none; }
.site-content, .ast-container, #primary, #main { max-width: none; margin: 0; padding: 0; }
.entry-header, .entry-meta, .ast-single-post-order, .ast-breadcrumbs-wrapper { display: none; }
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.main-nav .sub-menu { display: none; }
.main-nav .menu-item-has-children { position: relative; }
.main-nav .menu-item-has-children:hover > .sub-menu,
.main-nav .menu-item-has-children:focus-within > .sub-menu { display: block; }
.main-nav .sub-menu { position: absolute; top: 100%; left: 0; min-width: 230px; padding: 8px 0; margin: 0; list-style: none; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow-md); z-index: 100; }
.main-nav .sub-menu a { display: block; padding: 9px 18px; white-space: nowrap; }
.main-nav .ast-menu-toggle, #ast-scroll-top { display: none !important; }
.mobile-cta-bar { display: none; }

@media (max-width: 900px) {
  .header-inner { padding: 12px 16px; gap: 10px; }
  .header-phone { font-size: 0; }
  .header-phone::before { font-size: 1.25rem; content: "☎"; }
  .header-cta .btn { padding: 10px 12px; font-size: .85rem; }
  .nav-toggle { display: inline-flex; }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--color-border); padding: 16px 24px; }
  .main-nav.is-open { display: block; }
  .main-nav ul, .main-nav .sub-menu { display: block; position: static; min-width: 0; border: 0; box-shadow: none; padding: 0; }
  .main-nav li { margin: 0; }
  .main-nav a { display: block; padding: 10px 0; }
  .main-nav .menu-item-has-children > .sub-menu { display: block; padding-left: 16px; }
  .mobile-cta-bar { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 600; box-shadow: 0 -3px 16px rgba(35,39,43,.18); }
  .mobile-cta-bar a { display: block; padding: 14px 10px; text-align: center; font-weight: 800; text-decoration: none; }
  .mobile-cta-bar .call-half { background: var(--color-charcoal); color: #fff; }
  .mobile-cta-bar .quote-half { background: var(--color-orange); color: #fff; }
  body { padding-bottom: 55px; }
}
