/*
Theme Name: Fox Behavioral Theme
Theme URI: https://fox-behavioral.local
Author: Fox Valley Behavioral Health
Author URI: https://fox-behavioral.local
Description: A lightweight, Elementor-optimized theme for Fox Valley Behavioral Health. Built as a drop-in alternative to Hello Elementor with the brand's Valley Navy / Sage palette and serif-sans pairing baked in. Full Elementor Pro Theme Builder support (header, footer, single, archive, 404, search).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fox-behavioral-theme
Tags: elementor, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ------------------------------------------------------------------
   Brand tokens, pulled from the Fox Valley design system
   ------------------------------------------------------------------ */
:root {
  --fox-navy-900:#122E48;
  --fox-navy-700:#1F4E79;   /* PRIMARY brand navy */
  --fox-navy-500:#3D72A4;
  --fox-navy-100:#E2EDF7;
  --fox-sage-700:#4F7A6B;
  --fox-sage-600:#61907E;   /* SECONDARY brand sage */
  --fox-sage-100:#ECF4EF;
  --fox-clay:#C4703E;       /* warm accent */
  --fox-ink-900:#14222E;
  --fox-ink-700:#33485A;
  --fox-ink-500:#6B7E8D;
  --fox-ink-200:#DCE3E9;
  --fox-cream:#FBF1E9;
  --fox-linen:#FEF9F4;
  --fox-white:#FFFFFF;

  /* Brand pairing, loaded via Google Fonts in functions.php */
  --fox-font-body: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --fox-font-head: "Newsreader", Georgia, "Times New Roman", serif;
  --fox-content-width: 1140px;
}

/* ------------------------------------------------------------------
   Minimal, non-opinionated base, stays out of Elementor's way
   ------------------------------------------------------------------ */
* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--fox-linen);
  color: var(--fox-ink-900);
  font-family: var(--fox-font-body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fox-font-head);
  color: var(--fox-navy-700);
  line-height: 1.2;
  margin: 0 0 0.5em;
}

a { color: var(--fox-navy-700); text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: var(--fox-clay); }

img { max-width: 100%; height: auto; }

/* Skip link (accessibility) */
.skip-link.screen-reader-text {
  position: absolute; left: -9999px; top: 0; z-index: 100000;
  background: var(--fox-navy-700); color: #fff; padding: 10px 16px; border-radius: 0 0 8px 0;
}
.skip-link.screen-reader-text:focus { left: 0; }
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
}

/* ------------------------------------------------------------------
   Fallback layout, ONLY used when no Elementor template is applied
   (Elementor full-width / canvas templates override all of this)
   ------------------------------------------------------------------ */
.fox-container { width: 100%; max-width: var(--fox-content-width); margin: 0 auto; padding: 0 24px; }

.fox-site-header {
  background: var(--fox-white); border-bottom: 1px solid var(--fox-ink-200);
}
.fox-site-header .fox-container {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px;
}
.fox-site-branding a, .fox-logo-link { text-decoration: none; display: inline-flex; align-items: center; }
/* Custom-logo output from WordPress + our bundled brand logo */
.fox-brand-logo, .custom-logo { display: block; height: 48px; width: auto; }
@media (max-width: 640px) { .fox-brand-logo, .custom-logo { height: 40px; } }

.fox-nav ul { list-style: none; display: flex; gap: 22px; margin: 0; padding: 0; flex-wrap: wrap; }
.fox-nav a { text-decoration: none; font-size: 15px; font-weight: 600; color: var(--fox-ink-700); }
.fox-nav a:hover, .fox-nav .current-menu-item > a { color: var(--fox-navy-700); }

.fox-site-main { padding: 48px 0 72px; }

.fox-entry { background: var(--fox-white); border: 1px solid var(--fox-ink-200); border-radius: 14px; padding: 32px; margin-bottom: 28px; }
.fox-entry-title { font-size: 30px; margin-bottom: 12px; }
.fox-entry-title a { text-decoration: none; }
.fox-entry-meta { font-size: 13px; color: var(--fox-ink-500); margin-bottom: 18px; }
.fox-entry-content > * { margin-top: 0; }

.fox-btn {
  display: inline-block; background: var(--fox-navy-700); color: #fff !important; text-decoration: none;
  padding: 11px 20px; border-radius: 10px; font-weight: 600; font-size: 15px;
}
.fox-btn:hover { background: var(--fox-navy-900); }

.fox-site-footer {
  background: var(--fox-navy-900); color: var(--fox-navy-100);
  padding: 40px 0; text-align: center; font-size: 14px;
}
.fox-site-footer a { color: var(--fox-white); }
.fox-footer-brand { margin-bottom: 18px; }
.fox-footer-brand .fox-brand-logo { height: 46px; margin: 0 auto; }

.fox-pagination { margin-top: 8px; }
.fox-pagination .page-numbers {
  display: inline-block; padding: 8px 13px; margin: 0 3px; border-radius: 8px;
  border: 1px solid var(--fox-ink-200); text-decoration: none; color: var(--fox-ink-700);
}
.fox-pagination .page-numbers.current { background: var(--fox-navy-700); color: #fff; border-color: var(--fox-navy-700); }

/* ------------------------------------------------------------------
   Subpage hero — fallback Page layout (e.g. /privacy-policy/).
   Flat brand background (no image), breadcrumb + title in a hero band
   with a sage brand mark top-right; page content flows full width
   beneath it with no card wrapper.
   ------------------------------------------------------------------ */
.fox-page-hero {
  position: relative;
  overflow: hidden;
  background: var(--fox-cream);
  border-bottom: 1px solid var(--fox-ink-200);
  padding: 44px 0 46px;
}
.fox-page-hero-mark {
  position: absolute; z-index: 1;
  width: 360px; height: auto;
  top: -70px; right: -40px;
  opacity: 0.08;
  transform: rotate(-8deg);
  pointer-events: none; user-select: none;
}
.fox-page-hero .fox-container { position: relative; z-index: 2; }
.fox-crumbs { font-size: 14px; color: var(--fox-ink-500); margin-bottom: 14px; }
.fox-crumbs a { color: var(--fox-ink-700); text-decoration: none; }
.fox-crumbs a:hover { color: var(--fox-clay); text-decoration: underline; }
.fox-crumbs-sep { margin: 0 8px; color: var(--fox-ink-500); }
.fox-page-hero-title { font-size: clamp(32px, 5vw, 46px); margin: 0; }

.fox-page-main { padding: 48px 0 72px; }
.fox-page-entry { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; }
.fox-page-entry .fox-entry-content > :first-child { margin-top: 0; }

@media (max-width: 640px) {
  .fox-site-header .fox-container { flex-direction: column; align-items: flex-start; padding-top: 14px; padding-bottom: 14px; }
  .fox-entry { padding: 22px; }
  .fox-page-hero { padding: 28px 0 30px; }
}

.fv-cc-map-cap {
	color: #fff !important;
}