/* ========== T.P. HOGAN DESIGN SYSTEM v2.0 ========== */
/* Professional painting & cleaning website for T.P. Hogan, Ottawa ON */

:root {
  --navy: #1B2A4A;
  --navy-light: #243558;
  --navy-dark: #111D33;
  --cream: #F5F0EB;
  --gold: #C9A96E;
  --gold-light: #D4B97E;
  --gold-dark: #B8944F;
  --white: #FFFFFF;
  --gray-100: #F8F9FA;
  --gray-200: #E9ECEF;
  --gray-300: #DEE2E6;
  --gray-500: #6C757D;
  --gray-600: #495057;
  --gray-700: #343A40;
  --gray-800: #212529;
  --shadow-sm: 0 2px 8px rgba(27,42,74,0.08);
  --shadow-md: 0 4px 20px rgba(27,42,74,0.12);
  --shadow-lg: 0 8px 40px rgba(27,42,74,0.16);
  --shadow-xl: 0 12px 60px rgba(27,42,74,0.20);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ========== FIX 1: FULL-WIDTH LAYOUT ========== */
/* Break out of Salient's .container.main-content constraint */
body.page .container-wrap {
  padding: 0 !important;
}
body.page .container.main-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.page .container.main-content > .row {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}
/* Remove Salient default page padding */
body.page #ajax-content-wrap .container-wrap {
  padding-top: 0 !important;
}
body.page .main-content > .row > .col.span_12 {
  padding: 0 !important;
}
body.page .main-content > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Remove Salient bottom padding */
body.page .container-wrap {
  padding-bottom: 0 !important;
}

/* ========== FIX 2: DROPDOWN MENU ========== */
/* Force proper dropdown styling - Salient minimal dropdown */
body[data-dropdown-style="minimal"] #header-outer .sf-menu ul {
  background-color: var(--navy) !important;
  border: none !important;
}
body[data-dropdown-style="minimal"] #header-outer .sf-menu ul li a,
body #header-outer nav > ul > li > ul > li > a,
body #header-outer .sf-menu > li > ul > li > a,
#header-outer .sf-menu ul li a {
  color: #FFFFFF !important;
  background-color: transparent !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 24px !important;
  transition: all 0.2s ease !important;
}
body[data-dropdown-style="minimal"] #header-outer .sf-menu ul li a:hover,
body[data-dropdown-style="minimal"] #header-outer .sf-menu ul li.sfHover > a,
body #header-outer nav > ul > li > ul > li > a:hover,
body #header-outer .sf-menu > li > ul > li > a:hover,
#header-outer .sf-menu ul li a:hover,
#header-outer .sf-menu ul li.sfHover > a {
  color: var(--gold) !important;
  background-color: var(--navy-light) !important;
}
/* Dropdown container styling */
body[data-dropdown-style="minimal"] #header-outer .sf-menu > .sfHover > ul,
body[data-dropdown-style="minimal"] #header-outer .sf-menu > li:hover > ul,
#header-outer .sf-menu > .sfHover > ul {
  background-color: var(--navy) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.25) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  min-width: 240px !important;
}
/* Sub-dropdown items */
#header-outer .sf-menu ul ul {
  background-color: var(--navy) !important;
}
#header-outer .sf-menu ul ul li a {
  color: #FFFFFF !important;
}
#header-outer .sf-menu ul ul li a:hover {
  color: var(--gold) !important;
  background-color: var(--navy-light) !important;
}
/* Dropdown separator lines */
body[data-dropdown-style="minimal"] #header-outer .sf-menu ul li {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
body[data-dropdown-style="minimal"] #header-outer .sf-menu ul li:last-child {
  border-bottom: none !important;
}

/* ========== FIX 3: HEADER STYLING ========== */
#header-outer {
  box-shadow: 0 2px 20px rgba(0,0,0,0.08) !important;
}
#header-outer[data-header-color="custom"] {
  background-color: var(--white) !important;
}
/* Main nav links */
body #header-outer #top nav > ul > li > a,
body #header-outer[data-lhe="default"] #top nav > ul > li > a {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: var(--navy) !important;
  transition: color 0.2s ease !important;
}
body #header-outer #top nav > ul > li > a:hover,
body #header-outer #top nav > ul > li.sfHover > a,
body #header-outer[data-lhe="default"] #top nav > ul > li > a:hover {
  color: var(--gold) !important;
}
/* Active/current page nav highlight */
body #header-outer #top nav > ul > li.current-menu-item > a,
body #header-outer #top nav > ul > li.current_page_item > a {
  color: var(--gold) !important;
}

/* ========== Reset & Base ========== */
.tph-page * { box-sizing: border-box; }
.tph-page {
  font-family: 'Montserrat', sans-serif;
  color: var(--gray-700);
  line-height: 1.7;
  overflow-x: hidden;
}
.tph-page img { max-width: 100%; height: auto; }
.tph-page a { text-decoration: none; color: inherit; transition: var(--transition); }

/* ========== Typography ========== */
.tph-page h1, .tph-page h2, .tph-page h3, .tph-page h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: var(--navy);
}
.tph-page h1 { font-size: clamp(36px, 5vw, 64px); letter-spacing: -1px; }
.tph-page h2 { font-size: clamp(28px, 3.5vw, 48px); }
.tph-page h3 { font-size: clamp(20px, 2.5vw, 28px); }
.tph-page .script-text {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
}
.tph-page .section-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
  display: inline-block;
}

/* ========== Container ========== */
.tph-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.tph-container-wide { max-width: 1400px; margin: 0 auto; padding: 0 24px; }

/* ========== HERO SECTIONS ========== */
.tph-hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  width: 100%;
}
.tph-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(17,29,51,0.92) 0%, rgba(27,42,74,0.78) 50%, rgba(27,42,74,0.65) 100%);
}
.tph-hero-content {
  position: relative;
  z-index: 2;
  color: var(--white);
  max-width: 720px;
}
.tph-hero-content h1 {
  color: var(--white);
  margin-bottom: 8px;
  font-weight: 800;
}
.tph-hero-content .script-text {
  font-size: clamp(20px, 2.5vw, 32px);
  color: var(--gold);
  margin-bottom: 24px;
  display: block;
}
.tph-hero-content p {
  font-size: 18px;
  line-height: 1.8;
  opacity: 0.9;
  margin-bottom: 32px;
  font-weight: 300;
}

.tph-hero-mini {
  position: relative;
  min-height: 45vh;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  width: 100%;
}
.tph-hero-mini::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(17,29,51,0.93) 0%, rgba(27,42,74,0.82) 100%);
}
.tph-hero-mini .tph-hero-content { max-width: 800px; }

/* Breadcrumb */
.tph-breadcrumb {
  position: relative;
  z-index: 2;
  margin-bottom: 16px;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
}
.tph-breadcrumb a { color: var(--gold); }
.tph-breadcrumb a:hover { color: var(--gold-light); }
.tph-breadcrumb span { margin: 0 8px; }

/* ========== BUTTONS ========== */
.tph-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 36px;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  border-radius: 50px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: var(--transition);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1.2;
}
.tph-btn i { font-size: 14px; transition: var(--transition); }
.tph-btn:hover i { transform: translateX(3px); }

.tph-btn-gold {
  background: var(--gold);
  color: var(--white);
  border-color: var(--gold);
}
.tph-btn-gold:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(201,169,110,0.4);
  color: var(--white);
}

.tph-btn-outline {
  background: transparent;
  color: var(--white);
  border-color: rgba(255,255,255,0.4);
}
.tph-btn-outline:hover {
  background: var(--white);
  color: var(--navy);
  border-color: var(--white);
  transform: translateY(-2px);
}

.tph-btn-navy {
  background: var(--navy);
  color: var(--white);
  border-color: var(--navy);
}
.tph-btn-navy:hover {
  background: var(--navy-light);
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  color: var(--white);
}

.tph-btn-sm { padding: 12px 24px; font-size: 13px; }

.tph-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

/* ========== SECTIONS ========== */
.tph-section {
  padding: 100px 0;
  width: 100%;
}
.tph-section-cream { background: var(--cream); }
.tph-section-navy {
  background: var(--navy);
  color: var(--white);
}
.tph-section-navy h2,
.tph-section-navy h3 { color: var(--white); }
.tph-section-gray { background: var(--gray-100); }

.tph-section-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 60px;
}
.tph-section-header p {
  font-size: 17px;
  color: var(--gray-500);
  margin-top: 16px;
  line-height: 1.8;
}

/* Gold decorative line under section headers */
.tph-section-header h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  margin: 20px auto 0;
  border-radius: 2px;
}

/* ========== CARDS ========== */
.tph-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 40px 32px;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.tph-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}
.tph-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold), var(--navy));
  transform: scaleX(0);
  transition: transform 0.4s ease;
  transform-origin: left;
}
.tph-card:hover::after { transform: scaleX(1); }

.tph-card-icon {
  width: 72px;
  height: 72px;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--cream), rgba(201,169,110,0.15));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  font-size: 28px;
  color: var(--gold);
}

.tph-card h3 { margin-bottom: 12px; font-size: 20px; }
.tph-card p { color: var(--gray-500); font-size: 15px; line-height: 1.7; }

/* Card link at bottom */
.tph-card a[style*="color: var(--gold)"] {
  display: inline-flex !important;
}

/* Grid Layouts */
.tph-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.tph-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.tph-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* ========== STATS ========== */
.tph-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
  padding: 60px 0;
}
.tph-stat-item h3 {
  font-size: 48px;
  font-weight: 800;
  color: var(--gold);
  margin-bottom: 8px;
}
.tph-section-navy .tph-stat-item h3 { color: var(--gold); }
.tph-stat-item p {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.8;
}

/* ========== TESTIMONIALS ========== */
.tph-testimonial {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 48px;
  box-shadow: var(--shadow-md);
  position: relative;
  height: 100%;
}
.tph-testimonial::before {
  content: '\201C';
  position: absolute;
  top: 20px;
  left: 32px;
  font-size: 80px;
  font-family: 'Playfair Display', serif;
  color: var(--gold);
  opacity: 0.2;
  line-height: 1;
}
.tph-testimonial-stars { color: #F59E0B; font-size: 18px; margin-bottom: 16px; }
.tph-testimonial p {
  font-size: 17px;
  line-height: 1.8;
  font-style: italic;
  color: var(--gray-600);
  margin-bottom: 20px;
}
.tph-testimonial-author { font-weight: 600; color: var(--navy); font-size: 15px; }
.tph-testimonial-location { font-size: 13px; color: var(--gray-500); }

/* ========== IMAGE SECTIONS ========== */
.tph-img-rounded {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.tph-img-rounded img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tph-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.tph-split-reverse { direction: rtl; }
.tph-split-reverse > * { direction: ltr; }

/* ========== CTA BANNER ========== */
.tph-cta-banner {
  position: relative;
  padding: 100px 0;
  background-size: cover;
  background-position: center;
  text-align: center;
  width: 100%;
}
.tph-cta-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(17,29,51,0.93) 0%, rgba(27,42,74,0.85) 100%);
}
.tph-cta-banner .tph-container { position: relative; z-index: 2; }
.tph-cta-banner h2 { color: var(--white); margin-bottom: 16px; }
.tph-cta-banner p {
  color: rgba(255,255,255,0.8);
  font-size: 18px;
  margin-bottom: 32px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.tph-cta-banner .tph-btn-group { justify-content: center; }

/* ========== FAQ ========== */
.tph-faq-item {
  background: var(--white);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: var(--transition);
}
.tph-faq-item:hover {
  box-shadow: var(--shadow-md);
}
.tph-faq-q {
  padding: 24px 32px;
  font-weight: 600;
  color: var(--navy);
  font-size: 16px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: var(--transition);
  user-select: none;
}
.tph-faq-q:hover { color: var(--gold); }
.tph-faq-q i { color: var(--gold); font-size: 14px; transition: var(--transition); }
.tph-faq-a {
  padding: 0 32px 24px;
  color: var(--gray-500);
  line-height: 1.8;
  font-size: 15px;
  display: none;
}
.tph-faq-item.active .tph-faq-a { display: block; }
.tph-faq-item.active .tph-faq-q i { transform: rotate(180deg); }
.tph-faq-item.active .tph-faq-q { color: var(--gold); }

/* ========== GALLERY ========== */
.tph-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.tph-gallery-item {
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/3;
  cursor: pointer;
}
.tph-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.tph-gallery-item:hover img { transform: scale(1.08); }
.tph-gallery-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(27,42,74,0.6) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.tph-gallery-item:hover::after { opacity: 1; }

/* ========== CONTACT FORM ========== */
.tph-form-group { margin-bottom: 20px; }
.tph-form-group label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 8px;
  color: var(--navy);
}
.tph-form-input {
  width: 100%;
  padding: 14px 20px;
  border: 2px solid var(--gray-200);
  border-radius: var(--radius-sm);
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  transition: var(--transition);
  background: var(--white);
}
.tph-form-input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(201,169,110,0.15);
}
textarea.tph-form-input { min-height: 140px; resize: vertical; }

/* ========== CONTACT INFO ========== */
.tph-contact-item { display: flex; gap: 20px; margin-bottom: 28px; }
.tph-contact-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: 20px;
  flex-shrink: 0;
}
.tph-contact-item h4 { font-size: 16px; margin-bottom: 4px; }
.tph-contact-item p { color: var(--gray-500); font-size: 15px; }
.tph-contact-item a { color: var(--gold); }
.tph-contact-item a:hover { color: var(--navy); }

/* ========== FLOATING CTA ========== */
.tph-floating-cta {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: var(--white) !important;
  padding: 16px 28px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 16px;
  box-shadow: 0 8px 30px rgba(201,169,110,0.5);
  display: flex;
  align-items: center;
  gap: 10px;
  transition: var(--transition);
  text-decoration: none;
  font-family: 'Montserrat', sans-serif;
}
.tph-floating-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(201,169,110,0.6);
  color: var(--white) !important;
}

/* ========== TRUST BADGES ========== */
.tph-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: var(--white);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}
.tph-badge i { font-size: 24px; color: var(--gold); }
.tph-badge span { font-weight: 600; font-size: 14px; color: var(--navy); }

/* Trust bar display fix */
.tph-badge[style*="border: none"] {
  display: inline-flex !important;
}

/* ========== TIMELINE ========== */
.tph-timeline { position: relative; padding-left: 40px; }
.tph-timeline::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--gold);
}
.tph-timeline-item { position: relative; margin-bottom: 40px; }
.tph-timeline-item::before {
  content: '';
  position: absolute;
  left: -33px;
  top: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--gold);
  border: 3px solid var(--white);
  box-shadow: var(--shadow-sm);
}
.tph-timeline-item h4 { color: var(--navy); font-size: 18px; margin-bottom: 4px; }
.tph-timeline-item .tph-timeline-year {
  color: var(--gold);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
  display: block;
}
.tph-timeline-item p { color: var(--gray-500); font-size: 15px; }

/* ========== PROMO BAR ========== */
.tph-promo-bar {
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  color: var(--white);
  text-align: center;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 600;
  width: 100%;
}
.tph-promo-bar i { margin-right: 8px; }
.tph-promo-bar a {
  color: var(--white) !important;
}

/* ========== SERVICE AREA ========== */
.tph-area-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.tph-area-tag {
  background: var(--cream);
  color: var(--navy);
  padding: 8px 20px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 500;
  transition: var(--transition);
}
.tph-area-tag:hover {
  background: var(--gold);
  color: var(--white);
}

/* ========== DIVIDER ========== */
.tph-divider {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  border-radius: 2px;
  margin: 20px 0;
}

/* ========== ANIMATIONS ========== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes countUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.tph-animate {
  opacity: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.8s;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.tph-animate-up { animation-name: fadeInUp; }
.tph-animate-left { animation-name: fadeInLeft; }
.tph-animate-right { animation-name: fadeInRight; }
.tph-animate-scale { animation-name: scaleIn; }
.tph-delay-1 { animation-delay: 0.1s; }
.tph-delay-2 { animation-delay: 0.2s; }
.tph-delay-3 { animation-delay: 0.3s; }
.tph-delay-4 { animation-delay: 0.4s; }
.tph-delay-5 { animation-delay: 0.5s; }
.tph-delay-6 { animation-delay: 0.6s; }

/* ========== WPAUTOP CLEANUP ========== */
/* Hide empty <p> tags injected by wpautop */
.tph-page > p:empty,
.tph-page .tph-container > p:empty,
.tph-page .tph-section > p:empty,
.tph-page .tph-hero > p:empty,
.tph-page .tph-hero-content > p:empty {
  display: none;
  margin: 0;
  padding: 0;
}

/* Remove stray <p> tags that break flex/grid layouts */
.tph-btn-group > p,
.tph-grid-2 > p,
.tph-grid-3 > p,
.tph-grid-4 > p,
.tph-stats > p,
.tph-badge > p {
  display: none;
}

/* Fix display:flex on trust bar */
div[style*="gap: 40px"][style*="padding: 24px"] {
  display: flex !important;
}

/* Fix display:flex on social links and other inline-flex containers */
div[style*="gap: 12px"][style*="margin-top: 20px"] {
  display: flex !important;
}
a[style*="border-radius: 50%"][style*="align-items: center"] {
  display: inline-flex !important;
}

/* Fix display: flex on various utility containers */
div[style*="flex-direction: column"] {
  display: flex !important;
}

/* Fix link display in cards */
a[style*="align-items: center"][style*="color: var(--gold)"] {
  display: inline-flex !important;
}

/* ========== SALIENT THEME OVERRIDES ========== */
/* Remove Salient's default page header if our hero exists */
body.page #page-header-wrap,
body.page #page-header-bg {
  display: none !important;
}

/* Remove Salient footer when we have our own */
body.page:has(.tph-page) #footer-outer {
  display: none !important;
}

/* Ensure our page takes full width */
.tph-page {
  width: 100%;
  max-width: 100%;
}

/* Fix Salient's row constraints */
body.page .main-content .row {
  max-width: 100% !important;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px) {
  .tph-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .tph-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .tph-split { grid-template-columns: 1fr; gap: 40px; }
  .tph-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .tph-hero {
    min-height: 70vh;
    background-attachment: scroll;
  }
  .tph-hero-mini { min-height: 35vh; }
  .tph-section { padding: 60px 0; }
  .tph-grid-2,
  .tph-grid-3 { grid-template-columns: 1fr; }
  .tph-grid-4 { grid-template-columns: 1fr 1fr; }
  .tph-gallery { grid-template-columns: 1fr 1fr; }
  .tph-stats { grid-template-columns: 1fr 1fr; gap: 24px; }
  .tph-stat-item h3 { font-size: 36px; }
  .tph-testimonial { padding: 32px 24px; }
  .tph-btn { padding: 14px 28px; font-size: 14px; }
  .tph-container { padding: 0 16px; }
  .tph-split-reverse { direction: ltr; }

  /* Mobile dropdown - use normal colors since mobile overlay */
  body #header-outer .sf-menu ul li a {
    color: var(--navy) !important;
  }
}

@media (max-width: 480px) {
  .tph-grid-4 { grid-template-columns: 1fr; }
  .tph-stats { grid-template-columns: 1fr; }
  .tph-btn-group {
    flex-direction: column;
    align-items: stretch;
  }
  .tph-btn { justify-content: center; }
  .tph-floating-cta {
    bottom: 16px;
    right: 16px;
    padding: 12px 20px;
    font-size: 14px;
  }
}

/* ========== PRINT STYLES ========== */
@media print {
  .tph-floating-cta,
  .tph-promo-bar { display: none; }
  .tph-hero { min-height: auto; padding: 40px 0; }
  .tph-section { padding: 30px 0; }
}

/* Logo sizing - 200% larger */
#header-outer #logo img {
    max-height: 120px !important;
    height: 120px !important;
    width: auto !important;
}
#header-outer[data-header-resize="1"].scrolled-down #logo img {
    max-height: 80px !important;
    height: 80px !important;
}
#header-outer {
    min-height: 140px;
}
@media (max-width: 999px) {
    #header-outer #logo img {
        max-height: 60px !important;
        height: 60px !important;
    }
}

/* ========== LOGO SIZE UPDATE - 90px (75% of 120px) ========== */
#header-outer #logo img {
    max-height: 90px !important;
    height: 90px !important;
}
#header-outer[data-header-resize="1"].scrolled-down #logo img {
    max-height: 60px !important;
    height: 60px !important;
}
#header-outer {
    min-height: 110px;
}
@media (max-width: 999px) {
    #header-outer #logo img {
        max-height: 50px !important;
        height: 50px !important;
    }
    #header-outer {
        min-height: 70px;
    }
}

/* ========== FOOTER TEXT WHITE ========== */
#footer-outer,
#footer-outer *,
#footer-outer a,
#footer-outer p,
#footer-outer li,
#footer-outer h1,
#footer-outer h2,
#footer-outer h3,
#footer-outer h4,
#footer-outer h5,
#footer-outer h6,
#footer-outer .widget,
#footer-outer .widget *,
#footer-outer .widget a,
#footer-outer .widget p,
#footer-outer .widget li,
.tph-footer,
.tph-footer *,
.tph-footer a,
.tph-footer p,
.tph-footer li,
.tph-footer h3,
.tph-footer h4 {
    color: #FFFFFF !important;
}
#footer-outer a:hover,
.tph-footer a:hover {
    color: #C9A96E !important;
}
#footer-outer {
    background: #1B2A4A !important;
}

/* ========== FOOTER - FORCE WHITE TEXT ON NAVY ========== */
#footer-outer[data-custom-color="true"] {
    background-color: #1B2A4A !important;
}
#footer-outer[data-custom-color="true"] #footer-widgets,
#footer-outer[data-custom-color="true"] #footer-widgets .col,
#footer-outer[data-custom-color="true"] #footer-widgets .widget,
#footer-outer[data-custom-color="true"] #footer-widgets .widget *,
#footer-outer[data-custom-color="true"] #footer-widgets p,
#footer-outer[data-custom-color="true"] #footer-widgets li,
#footer-outer[data-custom-color="true"] #footer-widgets a,
#footer-outer[data-custom-color="true"] #footer-widgets h1,
#footer-outer[data-custom-color="true"] #footer-widgets h2,
#footer-outer[data-custom-color="true"] #footer-widgets h3,
#footer-outer[data-custom-color="true"] #footer-widgets h4,
#footer-outer[data-custom-color="true"] #footer-widgets h5,
#footer-outer[data-custom-color="true"] #footer-widgets span,
#footer-outer[data-custom-color="true"] .widget h4,
#footer-outer .container *,
#footer-outer .row * {
    color: #FFFFFF !important;
}
#footer-outer[data-custom-color="true"] a:hover {
    color: #C9A96E !important;
}
#footer-outer #copyright,
#footer-outer #copyright *,
#footer-outer #copyright p,
#footer-outer #copyright a,
#footer-outer #copyright span {
    color: #CCCCCC !important;
    background-color: #111D33 !important;
}
#footer-outer #copyright a:hover {
    color: #C9A96E !important;
}

/* ========== PAGE CONTENT FOOTER - FORCE WHITE TEXT ========== */
/* The custom footer lives inside page content, not Salient widget area */

/* Any element inside a navy-background section */
.tph-section-navy,
.tph-section-navy *,
.tph-section-navy a,
.tph-section-navy span,
.tph-section-navy p,
.tph-section-navy div,
.tph-section-navy h4,
.tph-section-navy li {
    color: #FFFFFF !important;
}
.tph-section-navy a:hover {
    color: #C9A96E !important;
}

/* Catch-all for inline style navy backgrounds in page content */
.container.main-content div[style*="navy"] *,
.container.main-content div[style*="1B2A4A"] *,
.container.main-content div[style*="111D33"] * {
    color: #FFFFFF !important;
}
.container.main-content div[style*="navy"] a:hover,
.container.main-content div[style*="1B2A4A"] a:hover {
    color: #C9A96E !important;
}

/* Copyright bar */
.container.main-content div[style*="padding: 24px"] p,
.container.main-content div[style*="padding: 24px"] span {
    color: rgba(255,255,255,0.6) !important;
}

/* Salient's actual footer widget area - also force white */
#footer-outer[data-custom-color="true"] {
    background-color: #1B2A4A !important;
}
#footer-outer[data-custom-color="true"] *,
#footer-outer[data-custom-color="true"] a,
#footer-outer[data-custom-color="true"] p,
#footer-outer[data-custom-color="true"] span,
#footer-outer[data-custom-color="true"] h4,
#footer-outer[data-custom-color="true"] li {
    color: #FFFFFF !important;
}
#footer-outer[data-custom-color="true"] a:hover {
    color: #C9A96E !important;
}
#footer-outer #copyright {
    background-color: #111D33 !important;
}
#footer-outer #copyright *,
#footer-outer #copyright p,
#footer-outer #copyright a {
    color: rgba(255,255,255,0.6) !important;
}

/* ========== FOOTER LINKS INHERIT WHITE ========== */
div[style*="navy-dark"] a,
div[style*="navy-dark"] a:visited,
div[style*="navy-dark"] span,
div[style*="navy-dark"] p {
    color: #FFFFFF !important;
}
div[style*="navy-dark"] a:hover {
    color: #C9A96E !important;
}

/* ========== TRUST BADGES - FORCE DARK TEXT ========== */
.tph-badge span {
    color: #1B2A4A !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}
.tph-badge i {
    color: #C9A96E !important;
    font-size: 24px !important;
}
.tph-badge {
    color: #1B2A4A !important;
    background: #FFFFFF !important;
}

/* ========== TRUST BADGES - FORCE NAVY TEXT (highest specificity) ========== */
body .container.main-content .tph-badge span,
body .container.main-content .tph-badge span[style],
body div div div .tph-badge span,
.tph-badge span {
    color: #1B2A4A !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: inline !important;
}
body .container.main-content .tph-badge i,
body div div div .tph-badge i,
.tph-badge i {
    color: #C9A96E !important;
    font-size: 24px !important;
}
body .container.main-content .tph-badge,
body div div div .tph-badge,
.tph-badge {
    color: #1B2A4A !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}
/* Override the nuclear white rules for trust bar area */
div[style*="var(--white)"] *,
div[style*="var(--white)"] span,
div[style*="var(--white)"] a {
    color: #1B2A4A !important;
}
div[style*="var(--white)"] .tph-badge i,
div[style*="var(--white)"] i.fas,
div[style*="var(--white)"] i.fab {
    color: #C9A96E !important;
}

/* ========== SCOPED FIX: white-bg sections inside navy parents ========== */
/* Reset color for any white-background section inside a navy parent */
div[style*="navy"] div[style*="var(--white)"],
div[style*="navy"] div[style*="var(--white)"] * {
    color: #1B2A4A !important;
}
div[style*="navy"] div[style*="var(--white)"] a:hover {
    color: #C9A96E !important;
}

/* ========== SERVICE PAGE HERO PADDING ========== */
.tph-hero-mini {
    padding: 80px 0 !important;
}
.tph-hero-mini .tph-container {
    padding-top: 0;
    padding-bottom: 0;
}
@media (max-width: 768px) {
    .tph-hero-mini {
        padding: 60px 0 !important;
    }
}

/* ========== GRAVITY FORMS - FORCE VISIBLE ========== */
.gform_wrapper {
    display: block !important;
}
.gform_wrapper .gform_body {
    display: block !important;
}
.gform_wrapper .gform_footer {
    display: block !important;
}

/* GF Styling to match T.P. Hogan brand */
.gform_wrapper .gfield_label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #1B2A4A !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea,
.gform_wrapper select {
    border: 1px solid #DEE2E6 !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #1B2A4A !important;
    background: #FFFFFF !important;
    transition: border-color 0.3s ease !important;
}
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    border-color: #1B2A4A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(27, 42, 74, 0.1) !important;
}
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button {
    background: #1B2A4A !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 16px 40px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button:hover {
    background: #C9A96E !important;
}
.gform_wrapper .gsection .gsection_title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #1B2A4A !important;
    border-bottom: 2px solid #C9A96E !important;
    padding-bottom: 10px !important;
}
.gform_wrapper .gfield_description {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    color: #666 !important;
}
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
    font-family: 'Montserrat', sans-serif !important;
    color: #1B2A4A !important;
}

/* ========== BLUE BUTTONS - WHITE TEXT ========== */
.tph-btn,
a.tph-btn,
.tph-btn-gold,
a.tph-btn-gold,
.tph-btn-outline,
a.tph-btn-outline {
    color: #FFFFFF !important;
}
.tph-btn:hover,
a.tph-btn:hover,
.tph-btn-gold:hover,
a.tph-btn-gold:hover {
    color: #FFFFFF !important;
}
.tph-btn-outline:hover,
a.tph-btn-outline:hover {
    color: #FFFFFF !important;
}
