/* ============================================================
   Alamo Fire & Water Restoration — main.css
   Modern interpretation of the original navy/gold identity
   ============================================================ */

:root {
  --alamo-navy: #00539F;
  --alamo-navy-dark: #003C73;
  --alamo-gold: #FFE463;
  --alamo-orange: #F58220;
  --alamo-ink: #1A2A3A;
  --alamo-line: #D9E2EC;
}

/* ---- Header ---------- */
.alamo-header {
  background: linear-gradient(160deg, var(--alamo-navy) 0%, var(--alamo-navy-dark) 100%);
  border-bottom: 5px solid var(--alamo-gold);
}
.alamo-header .wp-block-site-logo img,
.alamo-header .custom-logo {
  max-width: 230px;
  height: auto;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

/* Inline SVG logo — transparent, sits directly on the navy header */
.alamo-logo-link { display: inline-block; line-height: 0; }
.alamo-logo-svg {
  width: 230px;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

/* Primary navigation */
.alamo-header .wp-block-navigation {
  --wp--style--block-gap: 0;
}
.alamo-header .wp-block-navigation a,
.alamo-header .wp-block-navigation .wp-block-navigation-item__content,
.alamo-header .wp-block-navigation .wp-block-navigation-item a {
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .92rem;
  padding: .35rem .2rem;
  border-bottom: 2px solid transparent;
  transition: border-color .15s ease, color .15s ease;
  text-decoration: none;
}
.alamo-header .wp-block-navigation a:hover,
.alamo-header .wp-block-navigation .current-menu-item > a,
.alamo-header .wp-block-navigation .current_page_item > a {
  color: var(--alamo-gold) !important;
  border-bottom-color: var(--alamo-gold);
}
/* Submenus (dropdowns): white background, black text; orange text on hover */
.alamo-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container,
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container {
  background: #ffffff !important;
  border: 1px solid var(--alamo-line);
  border-top: 3px solid var(--alamo-gold);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  border-radius: 0 0 6px 6px;
}
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container a,
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container li a,
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container a:visited {
  color: #000000 !important;
  background: #ffffff !important;
  border-bottom: none;
  text-transform: none;
  letter-spacing: 0;
  padding: .4rem 1rem;
}
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover,
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container a:focus,
.alamo-header .wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item > a {
  color: var(--alamo-orange) !important;
  background: #ffffff !important;
}

/* Phone call-to-action in header */
.alamo-phone {
  font-family: Georgia, serif;
  font-weight: 700;
  font-size: 1.35rem;
  color: var(--alamo-gold);
  white-space: nowrap;
}
.alamo-phone a { color: var(--alamo-gold); text-decoration: none; }
.alamo-phone a:hover { color: #fff; }

/* Mobile hamburger / overlay menu */
.alamo-header .wp-block-navigation__responsive-container-open,
.alamo-header .wp-block-navigation__responsive-container-close {
  color: #ffffff !important;
}
.alamo-header .wp-block-navigation__responsive-container-open svg,
.alamo-header .wp-block-navigation__responsive-container-close svg {
  fill: #ffffff;
}
/* Overlay panel: navy background, white links, including submenus */
.alamo-header .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--alamo-navy-dark);
}
.alamo-header .wp-block-navigation__responsive-container.is-menu-open a,
.alamo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: #ffffff !important;
  text-transform: uppercase;
}
.alamo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  background: transparent !important;
  border: none;
  box-shadow: none;
}
.alamo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a {
  color: #cfe0f2 !important;
  background: transparent !important;
  text-transform: none;
}

/* ---------- Hero / welcome ---------- */
.alamo-hero {
  background: #fff;
}
.alamo-hero h1,
.alamo-welcome-title {
  font-family: Georgia, serif;
  color: var(--alamo-navy);
}
.alamo-tagline {
  color: var(--alamo-orange);
  font-style: italic;
  font-family: Georgia, serif;
}

/* ---------- Mold sign call-out cards ---------- */
.alamo-callout {
  border: 1px solid var(--alamo-line);
  border-top: 4px solid var(--alamo-gold);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}
.alamo-callout:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0,83,159,.14);
}
.alamo-callout .alamo-callout__head {
  background: var(--alamo-navy);
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: .6rem 1rem;
  font-size: .95rem;
}
.alamo-callout__img img { width: 100%; height: auto; display: block; }

/* ---------- Embroidery patch accent ---------- */
.alamo-patch img {
  max-width: 240px;
  height: auto;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.2));
}

/* ---------- FAQ (core/details accordion) ---------- */
.alamo-faq .wp-block-details {
  border: 1px solid var(--alamo-line);
  border-radius: 6px;
  margin-bottom: .6rem;
  background: #fff;
  overflow: hidden;
}
.alamo-faq .wp-block-details > summary {
  cursor: pointer;
  list-style: none;
  padding: .85rem 2.4rem .85rem 1rem;
  font-family: Georgia, serif;
  font-weight: 700;
  color: var(--alamo-navy);
  background: #f4f7fb;
  position: relative;
  transition: background .15s ease;
}
.alamo-faq .wp-block-details > summary:hover { background: #eaf1f9; }
.alamo-faq .wp-block-details > summary::-webkit-details-marker { display: none; }
.alamo-faq .wp-block-details > summary::after {
  content: "+";
  position: absolute;
  right: 1rem; top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem; line-height: 1;
  color: var(--alamo-orange);
}
.alamo-faq .wp-block-details[open] > summary::after { content: "\2013"; }
.alamo-faq .wp-block-details > *:not(summary) { padding: 0 1rem 1rem; }
.alamo-faq-img {
  float: right;
  max-width: 160px;
  height: auto;
  margin: 0 0 .6rem 1rem;
  border: 1px solid var(--alamo-line);
  border-radius: 4px;
}
.alamo-fungal-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 1rem 0 1.5rem;
}
.alamo-fungal-gallery img {
  width: 180px;
  height: 130px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--alamo-line);
}

/* ---------- General content ---------- */
.entry-content img { max-width: 100%; height: auto; border-radius: 4px; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content table td, .entry-content table th { padding: .4rem .6rem; vertical-align: top; }

/* Legacy red question headings from old FAQ content */
.entry-content font[color="#FF0000"],
.alamo-faq font[color="#FF0000"] { color: var(--alamo-navy) !important; }

/* ---------- Footer ---------- */
.alamo-footer {
  background: var(--alamo-navy-dark);
  color: #cfe0f2;
  font-size: .92rem;
}
.alamo-footer a { color: #fff; }
.alamo-footer a:hover { color: var(--alamo-gold); }
.alamo-footer .alamo-footer__bar {
  background: var(--alamo-gold);
  color: var(--alamo-navy-dark);
  font-weight: 700;
  text-align: center;
  padding: .6rem 1rem;
  font-size: .85rem;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}
.alamo-footer .alamo-footer__bar p { color: var(--alamo-navy-dark); }

/* ---------- Responsive niceties ---------- */
@media (max-width: 600px) {
  .alamo-phone { font-size: 1.1rem; }
  .alamo-header .wp-block-site-logo img { max-width: 180px; }
}
@media (max-width: 420px) {
  .alamo-header__top {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
    gap: .5rem;
  }
  .alamo-header__top .wp-block-group { justify-content: center !important; align-items: center !important; }
  .alamo-logo-link, .alamo-logo-svg { margin-left: auto; margin-right: auto; }
  .alamo-phone { text-align: center; width: 100%; }
}
