/*
 * Tabernacle Animal Hospital – Brand Color Theme Override
 * Palette inspired by www.tabernacleanimalhospital.com
 *
 * Primary Navy Blue  : #1a3a5c   (navbar, footer, headings)
 * Accent Teal/Green  : #2e8b7a   (buttons, highlights, icons)
 * Light Teal         : #3aaf9f   (hover states, subheadings)
 * Warm Cream/Off-White: #f7f9f8  (section backgrounds)
 * Dark Text          : #2c2c2c   (body text)
 * Gold Accent        : #c8922a   (secondary highlights, CTAs)
 * White              : #ffffff
 */

/* ── CSS Variables ─────────────────────────────────────────────────── */
:root {
  --tah-navy:   #1a3a5c;
  --tah-teal:   #2e8b7a;
  --tah-teal-light: #3aaf9f;
  --tah-gold:   #c8922a;
  --tah-cream:  #f7f9f8;
  --tah-dark:   #2c2c2c;
  --tah-white:  #ffffff;
  --tah-gray:   #6c7a89;
  --tah-light-bg: #edf4f2;
}

/* ── Body & Base ────────────────────────────────────────────────────── */
body {
  color: var(--tah-dark);
  background-color: var(--tah-white);
}

/* ── Top Bar ────────────────────────────────────────────────────────── */
.wrap {
  background: var(--tah-navy) !important;
  color: rgba(255,255,255,0.85) !important;
}
.wrap a {
  color: var(--tah-teal-light) !important;
}
.wrap a:hover {
  color: var(--tah-gold) !important;
  text-decoration: none;
}
.wrap .mailus {
  color: rgba(255,255,255,0.6) !important;
}

/* ── Navbar ─────────────────────────────────────────────────────────── */
.ftco-navbar-light,
.ftco_navbar.bg-dark,
nav.ftco_navbar {
  background: var(--tah-navy) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

/* Fix: inner container inherits navy background so white link text is always visible */
.ftco-navbar-light .container {
  background: transparent !important;
}

/* Always-visible navbar: override the scroll-hide (margin-top: -130px) behaviour */
.ftco-navbar-light,
.ftco-navbar-light.scrolled,
.ftco-navbar-light.scrolled.awake,
.ftco-navbar-light.scrolled.sleep {
  position: sticky !important;
  top: 0 !important;
  margin-top: 0 !important;
  z-index: 1030;
}

.ftco-navbar-light .navbar-brand h1,
.navbar-brand h1 {
  color: var(--tah-white) !important;
  font-weight: 700;
}
.ftco-navbar-light .navbar-brand h1 .mini,
.navbar-brand h1 .mini {
  color: var(--tah-teal-light) !important;
  font-weight: 300;
}
.ftco-navbar-light .nav-item .nav-link {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.ftco-navbar-light .nav-item .nav-link:hover,
.ftco-navbar-light .nav-item.active .nav-link {
  color: var(--tah-teal-light) !important;
}
.ftco-navbar-light .nav-item.cta .nav-link {
  background: var(--tah-teal) !important;
  color: var(--tah-white) !important;
  border-radius: 4px;
  padding: 8px 20px !important;
}
.ftco-navbar-light .nav-item.cta .nav-link:hover {
  background: var(--tah-gold) !important;
  color: var(--tah-white) !important;
}

/* ── Buttons ────────────────────────────────────────────────────────── */
.btn-primary,
a.btn-primary {
  background-color: var(--tah-teal) !important;
  border-color: var(--tah-teal) !important;
  color: var(--tah-white) !important;
}
.btn-primary:hover,
a.btn-primary:hover {
  background-color: var(--tah-teal-light) !important;
  border-color: var(--tah-teal-light) !important;
}
.btn-secondary,
a.btn-secondary {
  background-color: var(--tah-navy) !important;
  border-color: var(--tah-navy) !important;
  color: var(--tah-white) !important;
}
.btn-secondary:hover,
a.btn-secondary:hover {
  background-color: var(--tah-gold) !important;
  border-color: var(--tah-gold) !important;
}

/* ── Hero Section ───────────────────────────────────────────────────── */
.hero-wrap .overlay {
  background: linear-gradient(135deg, rgba(26,58,92,0.82) 0%, rgba(46,139,122,0.55) 100%) !important;
}
.hero-wrap .slider-text h1 {
  color: var(--tah-white) !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.hero-wrap .slider-text p {
  color: rgba(255,255,255,0.92) !important;
}

/* ── Section Backgrounds ────────────────────────────────────────────── */
section.bg-light,
.ftco-section.bg-light {
  background: var(--tah-cream) !important;
}
.ftco-section {
  background: var(--tah-white);
}

/* ── Subheadings / Labels ───────────────────────────────────────────── */
.subheading {
  color: var(--tah-teal) !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ── Headings ───────────────────────────────────────────────────────── */
h2, h3 {
  color: var(--tah-navy) !important;
}
.heading-section h2 {
  color: var(--tah-navy) !important;
}
.heading-section-white h2,
.heading-section-white .subheading {
  color: var(--tah-white) !important;
}

/* ── Intro Service Cards ────────────────────────────────────────────── */
section.intro .services {
  background: var(--tah-white);
  border-left: 4px solid var(--tah-teal);
  border-radius: 6px;
  padding: 20px;
  box-shadow: 0 2px 12px rgba(26,58,92,0.08);
}
section.intro .services .icon {
  background: var(--tah-teal) !important;
  color: var(--tah-white) !important;
  border-radius: 50%;
  min-width: 54px;
  height: 54px;
}
section.intro .services .icon span {
  color: var(--tah-white) !important;
}
section.intro .services .heading {
  color: var(--tah-navy) !important;
}
section.intro .services p {
  color: var(--tah-gray) !important;
}

/* ── About / Counter Section ────────────────────────────────────────── */
.ftco-counter .heading-section .subheading {
  color: var(--tah-teal) !important;
}
.list-services .icon {
  background: var(--tah-teal) !important;
}
.list-services .icon span {
  color: var(--tah-white) !important;
}
.list-services p {
  color: var(--tah-navy) !important;
  font-weight: 500;
}

/* ── Appointment Section ────────────────────────────────────────────── */
.ftco-services-2 {
  background: var(--tah-light-bg) !important;
}
.appointment-heading {
  color: var(--tah-navy) !important;
}
.appointment-form .form-control:focus {
  border-color: var(--tah-teal) !important;
  box-shadow: 0 0 0 0.2rem rgba(46,139,122,0.25) !important;
}
.appointment-form input[type="submit"],
.appointment-form .btn {
  background: var(--tah-teal) !important;
  border-color: var(--tah-teal) !important;
  color: var(--tah-white) !important;
}
.appointment-form input[type="submit"]:hover {
  background: var(--tah-navy) !important;
  border-color: var(--tah-navy) !important;
}

/* ── Staff / Team Cards ─────────────────────────────────────────────── */
.staff .text {
  background: var(--tah-white) !important;
  border-top: 3px solid var(--tah-teal);
}
.staff .text h3 {
  color: var(--tah-navy) !important;
}
.staff .text .position {
  color: var(--tah-teal) !important;
  font-weight: 600;
}
.staff .faded {
  background: var(--tah-navy) !important;
}
.ftco-social li a {
  background: var(--tah-teal) !important;
  color: var(--tah-white) !important;
}
.ftco-social li a:hover {
  background: var(--tah-gold) !important;
}

/* ── Testimonials Section ───────────────────────────────────────────── */
.testimony-section .overlay {
  background: linear-gradient(135deg, rgba(26,58,92,0.88) 0%, rgba(46,139,122,0.70) 100%) !important;
}
.testimony-wrap .quote {
  background: var(--tah-teal) !important;
  color: var(--tah-white) !important;
}
.testimony-wrap .name {
  color: var(--tah-white) !important;
  font-weight: 700;
}
.testimony-wrap .position {
  color: var(--tah-teal-light) !important;
}
.testimony-wrap p {
  color: rgba(255,255,255,0.9) !important;
}

/* ── Pricing Cards ──────────────────────────────────────────────────── */
.block-7 {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(26,58,92,0.1);
}
.block-7 .excerpt {
  color: var(--tah-teal) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.block-7 .price {
  color: var(--tah-navy) !important;
}
.block-7 .pricing-text li {
  color: var(--tah-dark) !important;
  border-bottom: 1px solid var(--tah-light-bg);
  padding: 6px 0;
}
.block-7 .pricing-text .fa-check {
  color: var(--tah-teal) !important;
}
.block-7 .btn-primary {
  background: var(--tah-navy) !important;
  border-color: var(--tah-navy) !important;
}
.block-7 .btn-primary:hover {
  background: var(--tah-teal) !important;
  border-color: var(--tah-teal) !important;
}

/* ── Blog Entries ───────────────────────────────────────────────────── */
.blog-entry .heading a {
  color: var(--tah-navy) !important;
}
.blog-entry .heading a:hover {
  color: var(--tah-teal) !important;
}
.blog-entry .meta a {
  color: var(--tah-teal) !important;
}

/* ── Footer ─────────────────────────────────────────────────────────── */
.ftco-footer {
  background: var(--tah-navy) !important;
  color: rgba(255,255,255,0.75);
}
.ftco-footer h2,
.ftco-footer .ftco-heading-2 {
  color: var(--tah-white) !important;
}
.ftco-footer .logo1 span {
  color: var(--tah-white) !important;
}
.ftco-footer .logo1 .sub {
  color: var(--tah-teal-light) !important;
}
.ftco-footer p {
  color: rgba(255,255,255,0.7) !important;
}
.ftco-footer ul li a {
  color: rgba(255,255,255,0.7) !important;
}
.ftco-footer ul li a:hover {
  color: var(--tah-teal-light) !important;
}
.ftco-footer .block-23 ul li .text {
  color: rgba(255,255,255,0.75) !important;
}
.ftco-footer .block-23 ul li .fa {
  color: var(--tah-teal-light) !important;
}
.ftco-footer-social li a {
  background: rgba(255,255,255,0.12) !important;
  color: var(--tah-white) !important;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ftco-footer-social li a:hover {
  background: var(--tah-teal) !important;
}

/* ── Footer Bottom Bar ──────────────────────────────────────────────── */
.bg-primary {
  background: var(--tah-teal) !important;
}
.bg-primary p,
.bg-primary a {
  color: rgba(255,255,255,0.9) !important;
}
.bg-primary a:hover {
  color: var(--tah-gold) !important;
}

/* ── Contact Page ───────────────────────────────────────────────────── */
.contact-info .box {
  background: var(--tah-cream) !important;
  border-top: 4px solid var(--tah-teal);
  border-radius: 6px;
  box-shadow: 0 2px 10px rgba(26,58,92,0.08);
}
.contact-info .icon {
  background: var(--tah-teal) !important;
  color: var(--tah-white) !important;
}
.contact-info .text {
  color: var(--tah-navy) !important;
}
.contact-info h3 {
  color: var(--tah-navy) !important;
}

/* ── Page Header / Breadcrumb ───────────────────────────────────────── */
.ftco-page-cover,
.hero-wrap.hero-wrap-2 .overlay {
  background: linear-gradient(135deg, rgba(26,58,92,0.85) 0%, rgba(46,139,122,0.6) 100%) !important;
}
.hero-wrap.hero-wrap-2 h1 {
  color: var(--tah-white) !important;
}
.ftco-section .bread {
  color: rgba(255,255,255,0.75) !important;
}
.ftco-section .bread a {
  color: var(--tah-teal-light) !important;
}

/* ── Loader ─────────────────────────────────────────────────────────── */
#ftco-loader .path {
  stroke: var(--tah-teal) !important;
}

/* ── Flaticon icon color overrides ─────────────────────────────────── */
.flaticon-stethoscope:before,
.flaticon-pet:before,
.flaticon-cat:before,
.flaticon-house:before,
.flaticon-dog:before,
.flaticon-veterinary:before,
.flaticon-dog-training:before {
  color: inherit;
}

/* ── Services page card grid ────────────────────────────────────────── */
.ftco-services .media {
  border-top: 3px solid var(--tah-teal);
  box-shadow: 0 2px 12px rgba(26,58,92,0.08);
}
.ftco-services .media .icon {
  background: var(--tah-teal) !important;
  color: var(--tah-white) !important;
}
.ftco-services .media h3 a {
  color: var(--tah-navy) !important;
}
.ftco-services .media h3 a:hover {
  color: var(--tah-teal) !important;
}

/* ── Hours box (contact page) ───────────────────────────────────────── */
.contact-info .box em {
  color: var(--tah-teal) !important;
  font-style: italic;
}
.contact-info .fa-clock-o {
  color: var(--tah-navy) !important;
}

/* ══════════════════════════════════════════════════════════════════
   TAH LOGO SIZING & PLACEMENT
   Logo is square (logo.jpg) — always height-constrained, width:auto
   so the image NEVER stretches or distorts.
   ══════════════════════════════════════════════════════════════════ */

/* Navbar logo */
.tah-brand {
  padding: 2px 0;
}
.tah-logo-nav {
  height: 62px;       /* constrains height only */
  width: auto;        /* browser calculates width to preserve aspect ratio */
  display: block;
  object-fit: contain;
}

/* Remove old text/icon brand elements */
.tah-brand h1,
.tah-brand .flaticon {
  display: none !important;
}

/* Hero section logo — floats right so text wraps naturally around it */
.tah-hero-logo {
  float: right;
  margin: 0 0 16px 24px;
  clear: right;
}
.tah-logo-hero {
  height: 200px;      /* constrains height only */
  width: auto;        /* preserves square aspect ratio */
  display: block;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 6px 28px rgba(0,0,0,0.4);
}

/* Footer logo */
.tah-logo-footer {
  height: 110px;      /* constrains height only */
  width: auto;        /* preserves square aspect ratio */
  display: block;
  object-fit: contain;
  border-radius: 10px;
  margin-bottom: 14px;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .tah-hero-logo {
    float: none;
    margin: 0 0 20px 0;
  }
  .tah-logo-hero {
    height: 140px;
  }
}
@media (max-width: 768px) {
  .tah-logo-nav {
    height: 48px;
  }
  .tah-logo-hero {
    height: 110px;
  }
  .tah-logo-footer {
    height: 85px;
  }
}
