
/* DAV23 Suite minimal styling (theme-friendly) */
.dav23-btn{
  display:inline-block;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:6px;
  text-decoration:none !important;
  font-weight:600;
  margin:2px 4px 2px 0;
}
.dav23-chip{
  display:inline-block;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  margin:2px 6px 2px 0;
  font-size:.9em;
}
.dav23-card{
  border:1px solid rgba(0,0,0,.15);
  border-radius:10px;
  padding:14px 16px;
  margin:14px 0;
  background:rgba(255,255,255,.03);
}
.dav23-card-title{ margin:0 0 8px; }
.dav23-card-body p:last-child{ margin-bottom:0; }

.dav23-cal-head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.dav23-cal-title{
  font-size:1.25em;
  font-weight:800;
  padding:0 12px;
}
.dav23-cal-grid{
  width:100%;
  border-collapse:collapse;
}
.dav23-cal-grid th, .dav23-cal-grid td{
  border:1px solid rgba(0,0,0,.15);
  vertical-align:top;
  padding:8px;
}
.dav23-cal-grid td.out-month{
  opacity:.55;
}
.dav23-cal-daynum{
  font-weight:800;
  margin-bottom:6px;
}
.dav23-cal-events{
  list-style:none;
  padding:0;
  margin:0;
}
.dav23-cal-events li{
  margin:0 0 6px;
  font-size:.95em;
}
.dav23-cal-time{
  opacity:.8;
  margin-left:6px;
  font-size:.9em;
}
.dav23-help-strip{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999;
  background:#111;
  color:#fff;
  border-top:2px solid rgba(255,255,255,.15);
}

/* Reserve space for the fixed help strip so footer content/buttons are not hidden behind it. */
body.dav23-has-help-strip{
  padding-bottom: var(--dav23-help-strip-height, 60px) !important;
  scroll-padding-bottom: var(--dav23-help-strip-height, 60px);
}


/* iOS safe area support (safe to ignore in browsers that don't support env()) */
.dav23-help-strip{
  padding-bottom: 0;
  padding-bottom: env(safe-area-inset-bottom);
}
.dav23-help-strip-inner{
  max-width:1200px;
  margin:0 auto;
  padding:10px 14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}
.dav23-help-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.dav23-help-link{
  color:#fff !important;
  text-decoration:underline;
  font-weight:700;
}
.dav23-help-text{
  opacity:.9;
}
.dav23-alert{
  padding:10px 12px;
  border-radius:8px;
  margin:10px 0;
}
.dav23-alert-success{ background:rgba(0,128,0,.12); border:1px solid rgba(0,128,0,.25); }
.dav23-alert-error{ background:rgba(180,0,0,.12); border:1px solid rgba(180,0,0,.25); }

/* Small helper text under form fields (e.g., phone formatting hint) */
.dav23-field-help{
  display:block;
  margin-top:4px;
  color:#666;
  font-size:0.9em;
}

.dav23-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:12px;
}

.dav23-legacy-list{ list-style:disc; padding-left:20px; }


/* VSO directory */
.dav23-card-grid{
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.dav23-card-media{
  flex:0 0 120px;
}
.dav23-avatar{
  border-radius:10px;
  width:120px;
  height:auto;
  display:block;
}
.dav23-avatar-placeholder{
  width:120px;
  height:120px;
  border-radius:10px;
  background:rgba(0,0,0,.1);
}
.dav23-card-content{
  flex:1 1 auto;
  min-width:200px;
}
.dav23-contact div{
  margin:2px 0;
}
@media (max-width:600px){
  .dav23-card-grid{ flex-direction:column; }
  .dav23-card-media{ width:100%; max-width:240px; }
  .dav23-avatar, .dav23-avatar-placeholder{ width:100%; max-width:240px; }
}


/*
  Theme compatibility fixes (DAV23 Military theme v4+)

  - Removes stray list bullets ("dots") in the header navigation
  - Makes submenu items (Legacy, Get Help dropdown) hidden until click/hover
  - Centers header logo + site title/description (requested)
*/

/* Center header logo + text */
.site-header .brand{
  justify-content:center;
  text-align:center;
  align-items:center;
}
.site-header .brand .logo{
  /* Do NOT use auto margins in a flex row (it pushes the title block to the far right). */
  margin:0;
}
.site-header .nav{
  justify-content:center;
}

/* Make the header more compact and bring the title/description closer to the logo */
.site-header .container{
  padding-top:0.4rem;
  padding-bottom:0.4rem;
}
.site-header .brand{
  /* Slightly tighter spacing between logo and text */
  gap:0.20rem;
}
.site-header .brand .site-title{
  line-height:1.15;
  margin-bottom:0;
}
.site-header .brand .site-desc{
  line-height:1.2;
}
.site-header .custom-logo,
.site-header .custom-logo-link img,
.site-header .logo img{
  /* Requested desktop size: larger */
  max-height:288px;
  width:auto;
  height:auto;
}
.site-header .nav{
  margin-top:0.25rem;
  gap:0.5rem 0.8rem;
}
.site-header .nav a{
  padding:0.32rem 0.52rem;
}

/* Keep the header usable on small screens */
@media (max-width:600px){
  .site-header .custom-logo,
  .site-header .custom-logo-link img,
  .site-header .logo img{
    max-height:140px;
  }
}

/* Remove bullets / spacing from wp_nav_menu list items inside the header */
.site-header .nav,
.site-header .nav ul,
.site-header .nav li{
  list-style:none;
  margin:0;
  padding:0;
}
.site-header .nav > li{
  margin:0;
}

/* Dropdown menus: hide submenus until hover/click */
.site-header .nav li{ position:relative; }
.site-header .nav li > ul.sub-menu{
  display:none;
  position:absolute;
  left:0;
  top:calc(100% + 6px);
  min-width:220px;
  z-index:9999;
  background:rgba(15,23,42,.98);
  border:1px solid rgba(36,48,69,.9);
  border-radius:12px;
  padding:8px;
}
.site-header .nav li > ul.sub-menu li{
  display:block;
  margin:0;
}
.site-header .nav li > ul.sub-menu a{
  display:block;
  padding:8px 10px;
  border-radius:10px;
}

/* Open states: click (JS) + keyboard focus + hover */
.site-header .nav li.dav23-open > ul.sub-menu,
.site-header .nav li:focus-within > ul.sub-menu,
.site-header .nav li:hover > ul.sub-menu{
  display:block;
}

@media (max-width: 900px){
  /* On small screens, show dropdown as an indented block list */
  .site-header .nav li > ul.sub-menu{
    position:static;
    min-width:0;
    border-radius:12px;
    margin-top:6px;
  }
}
