/*
 * pages-global.css
 * Shared elegance styles for all Nice Maids inner pages.
 * Works on top of custom.css + Bootstrap.
 */

/* ─── Variables ──────────────────────────────────────────────── */
:root {
  --pg-primary:   #0f4c5f;
  --pg-secondary: #d28fb2;
  --pg-dark:      #1a2e35;
  --pg-text:      #4a5568;
  --pg-text-light:#718096;
  --pg-bg-soft:   #f8fbfc;
  --pg-radius:    18px;
  --pg-radius-lg: 24px;
  --pg-shadow:    0 10px 35px rgba(15,76,95,0.10);
  --pg-shadow-hover: 0 16px 50px rgba(15,76,95,0.16);
}

/* ─── Base Body ──────────────────────────────────────────────── */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--pg-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

/* ─── Hero Sections ──────────────────────────────────────────── */
.hero-section,
.hero-section .hero-bg {
  position: relative;
  overflow: hidden;
}

.hero-section .hero-bg {
  display: flex;
  align-items: center;
  min-height: 520px;
}

/* Sharper text in hero */
.hero-section h1,
section[style*="background"] h1 {
  font-size: clamp(2.2rem, 5vw, 3.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.22) !important;
}

.hero-section .lead,
section[style*="background"] .lead {
  font-size: clamp(1.05rem, 2vw, 1.22rem) !important;
  line-height: 1.75 !important;
  opacity: 0.95;
}

/* Hero badge pill */
.hero-section .badge,
section[style*="background"] .badge {
  border-radius: 999px !important;
  padding: 0.55rem 1.4rem !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase;
  background-color: var(--pg-secondary) !important;
  box-shadow: 0 4px 14px rgba(210,143,178,0.35);
}

/* Hero CTA buttons */
.hero-section .btn,
section[style*="background"] .d-flex > .btn,
section[style*="background"] .d-flex > a.btn {
  border-radius: 999px !important;
  padding: 0.9rem 2.2rem !important;
  font-weight: 700 !important;
  font-size: 1.02rem !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}

.hero-section .btn:hover,
section[style*="background"] .d-flex > .btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.22) !important;
}

/* ─── Section Titles ─────────────────────────────────────────── */
.section-title,
h2.fw-bold,
h2.section-title {
  font-size: clamp(1.85rem, 3.5vw, 2.65rem) !important;
  font-weight: 800 !important;
  color: var(--pg-primary) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  margin-bottom: 1rem !important;
}

/* Eyebrow badges above section titles */
.section-eyebrow,
.badge.rounded-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.4rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(210,143,178,0.14), rgba(210,143,178,0.2)) !important;
  color: white !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

/* Title accent line */
.title-line {
  width: 64px;
  height: 4px;
  background: linear-gradient(90deg, var(--pg-secondary), var(--pg-primary));
  border-radius: 999px;
  margin: 0.75rem auto 1.5rem;
}

.title-line.text-start,
.section-intro--left .title-line {
  margin-left: 0;
}

/* Section lead text */
.section-title + .lead,
h2 + .lead,
.text-center .lead {
  color: rgb(175, 174, 174) !important;
  font-size: 1.1rem !important;
  line-height: 1.75 !important;
  max-width: 70ch;
}

/* ─── Section Wrappers ───────────────────────────────────────── */
section.py-5,
section.py-4 {
  padding-top: clamp(3.5rem, 8vw, 5.5rem) !important;
  padding-bottom: clamp(3.5rem, 8vw, 5.5rem) !important;
}

section.bg-light,
.bg-light {
  background: linear-gradient(180deg, #f8fbfc 0%, #fff 100%) !important;
}

/* ─── Feature / Service Cards ────────────────────────────────── */
.feature-card,
.card.border-0.shadow-sm,
.card.border-0 {
  border-radius: var(--pg-radius-lg) !important;
  border: 1px solid rgba(210,143,178,0.14) !important;
  box-shadow: var(--pg-shadow) !important;
  transition: all 0.3s ease !important;
  overflow: hidden;
  background: #fff !important;
}

.feature-card:hover,
.card.border-0.shadow-sm:hover,
.card.border-0:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--pg-shadow-hover) !important;
  border-color: rgba(210,143,178,0.3) !important;
}

.feature-card .card-body,
.card.border-0 .card-body {
  padding: 2.25rem 1.75rem !important;
}

/* Feature icon circles */
.feature-icon,
.feature-card .feature-icon {
  width: 72px !important;
  height: 72px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(210,143,178,0.14), rgba(210,143,178,0.22)) !important;
  color: var(--pg-secondary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 1.4rem;
  font-size: 1.75rem;
}

.feature-card h3,
.feature-card .h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--pg-primary) !important;
  margin-bottom: 0.85rem !important;
}

.feature-card p,
.card.border-0 .card-text {
  color: var(--pg-text) !important;
  line-height: 1.75 !important;
  font-size: 1rem !important;
}

/* ─── Benefit / Feature Lists ────────────────────────────────── */
.benefit-list,
ul.list-unstyled.benefit-list {
  padding: 0;
  list-style: none;
}

.benefit-item,
.benefit-list li,
.list-unstyled .d-flex.align-items-start {
  background: #fff;
  border-radius: var(--pg-radius) !important;
  padding: 1.1rem 1.35rem !important;
  margin-bottom: 1rem !important;
  box-shadow: 0 4px 18px rgba(15,76,95,0.07) !important;
  border: 1px solid rgba(210,143,178,0.12) !important;
  transition: all 0.3s ease;
}

.benefit-item:hover,
.benefit-list li:hover {
  transform: translateX(4px);
  border-color: rgba(210,143,178,0.28) !important;
  box-shadow: 0 6px 22px rgba(15,76,95,0.1) !important;
}

.benefit-item h5,
.benefit-list li h5 {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  margin-bottom: 0.3rem !important;
}

.benefit-item p,
.benefit-list li p {
  color: var(--pg-text-light) !important;
  font-size: 0.97rem !important;
  margin: 0 !important;
}

/* Check / icon circles in benefit lists */
.benefit-item .flex-shrink-0,
.benefit-list .flex-shrink-0,
.d-flex.align-items-start > .flex-shrink-0 {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(15,76,95,0.08), rgba(15,76,95,0.14)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.benefit-item .flex-shrink-0 i,
.benefit-list .flex-shrink-0 i {
  color: var(--pg-primary) !important;
  font-size: 1.25rem !important;
}

/* ─── Inline Icon Rows (col-md-6 d-flex) ────────────────────── */
.d-flex.align-items-center .flex-shrink-0,
.d-flex.align-items-center .rounded-circle {
  background: linear-gradient(135deg, rgba(15,76,95,0.08), rgba(210,143,178,0.12)) !important;
  transition: all 0.3s ease;
}

.d-flex.align-items-center:hover .flex-shrink-0 {
  background: linear-gradient(135deg, rgba(15,76,95,0.14), rgba(210,143,178,0.2)) !important;
}

.d-flex.align-items-center h5 {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
}

/* ─── Checklist Items (ul > li with fa-check) ────────────────── */
ul li .fa-check,
ul li .fas.fa-check,
ul li .far.fa-check-circle {
  color: var(--pg-secondary) !important;
  font-size: 0.95rem;
}

/* ─── CTA Section ────────────────────────────────────────────── */
.cta-section,
section.cta-section,
.bg-primary.text-white,
section[style*="background:#0f4c5f"],
section[style*="background: #0f4c5f"],
section[style*="background-color: #0f4c5f"] {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 55%, rgba(210,143,178,0.85) 100%) !important;
  position: relative;
  overflow: hidden;
}

.cta-section h2,
.cta-section h3,
.bg-primary h2 {
  font-size: clamp(2rem, 4.5vw, 3rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
}

/* ─── Buttons (global inner-page style) ──────────────────────── */
.btn-primary:not(.hero-section .btn):not(.about-cta .btn),
a.btn.btn-primary {
  background: linear-gradient(90deg, var(--pg-primary) 0%, #126c88 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.85rem 2.25rem !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  box-shadow: 0 8px 24px rgba(15,76,95,0.22) !important;
  transition: all 0.3s ease !important;
  color: #fff !important;
}

.btn-primary:not(.hero-section .btn):hover,
a.btn.btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(15,76,95,0.3) !important;
}

.btn-outline-light,
a.btn.btn-outline-light {
  border-radius: 999px !important;
  padding: 0.85rem 2.25rem !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  backdrop-filter: blur(8px);
  transition: all 0.3s ease !important;
}

.btn-outline-light:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.7) !important;
  transform: translateY(-2px) !important;
}

/* ─── Images ─────────────────────────────────────────────────── */
.rounded-4 {
  border-radius: var(--pg-radius-lg) !important;
}

.img-fluid.rounded-4,
.img-fluid.rounded-3 {
  box-shadow: 0 16px 40px rgba(15,76,95,0.14);
}

/* ─── Area / Location Pages ──────────────────────────────────── */
.location-checklist {
  list-style: none;
  padding: 0;
}

.location-checklist li {
  padding: 0.55rem 0;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: var(--pg-text);
  font-size: 1.02rem;
  line-height: 1.65;
}

.location-checklist li::before {
  content: '\f058';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: var(--pg-secondary);
  margin-top: 0.1rem;
  flex-shrink: 0;
}

/* ─── Lead / Body Copy ───────────────────────────────────────── */
.lead {
  font-size: 1.12rem !important;
  line-height: 1.8 !important;
  color: var(--pg-text) !important;
}

p {
  color: var(--pg-text);
  line-height: 1.75;
}

/* ─── Pricing / Plan Cards ───────────────────────────────────── */
.pricing-card,
.plan-card {
  border-radius: var(--pg-radius-lg) !important;
  border: 1px solid rgba(210,143,178,0.18) !important;
  box-shadow: var(--pg-shadow) !important;
  transition: all 0.3s ease !important;
  overflow: hidden;
  background: #fff;
}

.pricing-card:hover,
.plan-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--pg-shadow-hover) !important;
}

/* ─── Review / Testimonial Cards ─────────────────────────────── */
.review-card,
.testimonial-card {
  border-radius: var(--pg-radius-lg) !important;
  border: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.07) !important;
  background: #fff !important;
  transition: all 0.3s ease !important;
}

.review-card:hover,
.testimonial-card:hover {
  box-shadow: 0 14px 42px rgba(0,0,0,0.12) !important;
  transform: translateY(-3px) !important;
}

/* ─── FAQ Accordion ──────────────────────────────────────────── */
.accordion-item {
  border-radius: var(--pg-radius) !important;
  border: 1px solid rgba(210,143,178,0.16) !important;
  margin-bottom: 0.85rem !important;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(15,76,95,0.06);
}

.accordion-button {
  font-weight: 700 !important;
  color: var(--pg-primary) !important;
  font-size: 1.05rem !important;
  background: #fff !important;
  padding: 1.25rem 1.5rem !important;
}

.accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, rgba(15,76,95,0.04), rgba(210,143,178,0.08)) !important;
  color: var(--pg-primary) !important;
  box-shadow: none !important;
}

.accordion-body {
  color: var(--pg-text) !important;
  line-height: 1.75 !important;
  padding: 1.25rem 1.5rem !important;
}

/* ─── Map / iFrame Container ─────────────────────────────────── */
iframe[src*="maps.google"],
iframe[src*="google.com/maps"] {
  border-radius: var(--pg-radius-lg) !important;
  box-shadow: var(--pg-shadow) !important;
  display: block;
  width: 100%;
}

/* ─── Stat / Badge Rows ──────────────────────────────────────── */
.stat-badge,
.d-inline-flex.align-items-center[style*="background: white"],
.d-inline-flex.align-items-center[style*="background:white"] {
  border-radius: 999px !important;
  padding: 0.6rem 1.4rem !important;
  background: #fff !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.09) !important;
  font-weight: 600;
  transition: all 0.3s ease;
}

/* ─── Image accent shape (used on airbnb page etc.) ──────────── */
.image-accent-shape {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(210,143,178,0.22) 0%, transparent 70%);
  pointer-events: none;
}

/* ─── General Section Intro Block ───────────────────────────── */
.row.mb-5 .col-12.text-center h2.section-title {
  position: relative;
}

.row.mb-5 .col-12.text-center .title-line {
  background: linear-gradient(90deg, var(--pg-secondary), var(--pg-primary));
  width: 60px;
  height: 4px;
  border-radius: 999px;
  margin: 0.6rem auto 1.4rem;
}

/* ─── Responsive ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .hero-section .hero-bg {
    min-height: 420px;
  }

  .hero-section h1,
  section[style*="background"] h1 {
    font-size: clamp(1.9rem, 7vw, 2.5rem) !important;
  }

  section.py-5,
  section.py-4 {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
  }

  .feature-card .card-body {
    padding: 1.75rem 1.4rem !important;
  }

  .benefit-item,
  .benefit-list li {
    padding: 0.9rem 1rem !important;
  }
}

@media (max-width: 480px) {
  .hero-section .btn,
  section[style*="background"] .d-flex > .btn {
    padding: 0.85rem 1.5rem !important;
    font-size: 0.95rem !important;
    width: 100%;
    justify-content: center;
  }

  section[style*="background"] .d-flex.gap-3,
  section[style*="background"] .d-flex.flex-wrap {
    flex-direction: column !important;
  }
}

/* ─── Divider (inline section accent) ───────────────────────── */
.divider-custom {
  width: 64px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--pg-secondary), var(--pg-primary)) !important;
  border-radius: 999px !important;
  margin-bottom: 1.5rem !important;
  border: none;
}

/* ─── Service Cards (Airbnb / specialty pages) ───────────────── */
.service-card {
  border-radius: var(--pg-radius-lg) !important;
  border: 1px solid rgba(210,143,178,0.14) !important;
  box-shadow: var(--pg-shadow) !important;
  transition: all 0.3s ease !important;
  background: #fff;
  overflow: hidden;
}

.service-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--pg-shadow-hover) !important;
  border-color: rgba(210,143,178,0.3) !important;
}

.service-icon-wrapper {
  position: relative;
}

.service-icon {
  width: 72px !important;
  height: 72px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(15,76,95,0.08), rgba(15,76,95,0.14)) !important;
  color: var(--pg-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.7rem;
  transition: all 0.3s ease;
}

.service-card:hover .service-icon {
  background: linear-gradient(135deg, rgba(210,143,178,0.15), rgba(210,143,178,0.25)) !important;
  color: var(--pg-secondary) !important;
}

.service-card h5,
.service-card .fw-bold {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  font-size: 1.12rem !important;
}

.service-card p {
  color: var(--pg-text) !important;
  line-height: 1.75 !important;
}

.service-shape {
  position: absolute;
  bottom: -30px;
  right: -30px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(210,143,178,0.14) 0%, transparent 70%);
  pointer-events: none;
}

/* ─── Process Steps ──────────────────────────────────────────── */
.process-step {
  position: relative;
  padding-bottom: 1rem;
}

.process-step h3,
.process-step .h5 {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  margin-top: 0.75rem;
}

.process-step p {
  color: var(--pg-text-light) !important;
  font-size: 0.95rem !important;
}

.process-icon-wrapper {
  width: 90px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.process-icon {
  width: 90px !important;
  height: 90px !important;
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 100%) !important;
  color: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 10px 28px rgba(15,76,95,0.28) !important;
  transition: all 0.3s ease;
}

.process-step:hover .process-icon {
  transform: scale(1.06);
  box-shadow: 0 14px 35px rgba(15,76,95,0.38) !important;
}

.process-number {
  background: linear-gradient(135deg, var(--pg-secondary) 0%, #c17fa3 100%) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 0.92rem !important;
  box-shadow: 0 4px 12px rgba(210,143,178,0.4) !important;
  border: 2px solid #fff !important;
}

/* ─── Neighborhood Items ─────────────────────────────────────── */
.neighborhood-item {
  transition: all 0.2s ease;
}

.neighborhood-item .rounded-circle {
  width: 42px !important;
  height: 42px !important;
  background: linear-gradient(135deg, rgba(210,143,178,0.14), rgba(210,143,178,0.22)) !important;
  transition: all 0.3s ease;
}

.neighborhood-item:hover .rounded-circle {
  background: linear-gradient(135deg, rgba(210,143,178,0.22), rgba(210,143,178,0.35)) !important;
  transform: scale(1.08);
}

.neighborhood-item h5 {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}

/* Zip code pills */
.badge.rounded-pill[style*="rgba(15,76,95,0.1)"],
.badge[style*="rgba(15,76,95,0.1)"] {
  background: linear-gradient(135deg, rgba(15,76,95,0.08), rgba(15,76,95,0.13)) !important;
  color: var(--pg-primary) !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 999px !important;
}

/* ─── Horizontal Service Cards (image + text side by side) ───── */
.card .row.g-0 > .col-md-4 {
  border-radius: var(--pg-radius-lg) 0 0 var(--pg-radius-lg);
  overflow: hidden;
}

.card .row.g-0 > .col-md-4 > div {
  background: linear-gradient(135deg, rgba(15,76,95,0.07), rgba(210,143,178,0.1)) !important;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem !important;
  min-height: 120px;
}

.card h4.card-title {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--pg-primary) !important;
  margin-bottom: 0.6rem !important;
}

/* Hover shadow utility (used on horizontal cards) */
.hover-shadow {
  transition: all 0.3s ease !important;
}

.hover-shadow:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--pg-shadow-hover) !important;
}

/* ─── Testimonial Cards ──────────────────────────────────────── */
.testimonial-card {
  border-radius: var(--pg-radius-lg) !important;
  border: 1px solid rgba(210,143,178,0.14) !important;
  box-shadow: var(--pg-shadow) !important;
  transition: all 0.3s ease !important;
  background: #fff !important;
}

.testimonial-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--pg-shadow-hover) !important;
  border-color: rgba(210,143,178,0.28) !important;
}

.testimonial-card .card-body {
  padding: 2rem 1.75rem !important;
}

.testimonial-quote {
  font-size: 1.02rem !important;
  line-height: 1.78 !important;
  color: var(--pg-text) !important;
  font-style: italic;
  position: relative;
  padding-left: 1.25rem;
  border-left: 3px solid rgba(210,143,178,0.4);
  margin: 1rem 0 1.5rem !important;
}

.testimonial-author p.fw-bold {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  margin-bottom: 0.15rem !important;
}

.testimonial-author p.small {
  color: var(--pg-text-light) !important;
}

.testimonial-rating i {
  color: var(--pg-secondary) !important;
  font-size: 1rem;
}

/* ─── Checklist Items (inline ul > li with fa icons) ─────────── */
.list-unstyled li {
  padding: 0.3rem 0;
  line-height: 1.65;
  color: var(--pg-text);
}

.list-unstyled li .fa-check-circle,
.list-unstyled li .fas.fa-check-circle {
  color: var(--pg-secondary) !important;
}

.list-unstyled li .fa-plus-circle,
.list-unstyled li .fas.fa-plus-circle {
  color: var(--pg-secondary) !important;
}

.list-unstyled li .fa-calendar-check,
.list-unstyled li .fas.fa-calendar-check {
  color: var(--pg-secondary) !important;
}

/* ─── Light Navy Section Backgrounds ─────────────────────────── */
.row[style*="background-color: rgba(15,76,95,0.03)"],
div[style*="background-color: rgba(15,76,95,0.03)"],
.row[style*="background: rgba(15,76,95,0.03)"] {
  background: linear-gradient(135deg, rgba(15,76,95,0.03) 0%, rgba(210,143,178,0.04) 100%) !important;
  border-radius: var(--pg-radius-lg) !important;
  padding: 2.5rem !important;
}

/* ─── Icon Feature Blocks (col text-center with fa-3x) ───────── */
.col-md-4 > .text-center > .fa-3x,
.col-md-3 > .text-center > .fa-3x {
  color: var(--pg-secondary) !important;
  margin-bottom: 1rem;
  filter: drop-shadow(0 4px 8px rgba(210,143,178,0.3));
  transition: all 0.3s ease;
}

.col-md-4 > .text-center:hover > .fa-3x,
.col-md-3 > .text-center:hover > .fa-3x {
  filter: drop-shadow(0 6px 12px rgba(210,143,178,0.45));
  transform: translateY(-3px);
}

.col-md-4 > .text-center h5,
.col-md-3 > .text-center h5 {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  font-size: 1.08rem !important;
}

/* ─── Inline CTA Banner (non-toxic products / eco highlight) ──── */
.card.border-0[style*="rgba(210,143,178,0.05)"],
.card[style*="rgba(210,143,178,0.05)"] {
  background: linear-gradient(135deg, rgba(210,143,178,0.06), rgba(15,76,95,0.04)) !important;
  border: 1px solid rgba(210,143,178,0.2) !important;
  border-radius: var(--pg-radius-lg) !important;
  box-shadow: 0 6px 20px rgba(15,76,95,0.06) !important;
}

/* ─── Info Highlight Boxes ───────────────────────────────────── */
.rounded[style*="rgba(210,143,178,0.1)"],
div[style*="background-color: rgba(210,143,178,0.1)"] {
  background: linear-gradient(135deg, rgba(210,143,178,0.08), rgba(210,143,178,0.14)) !important;
  border-radius: var(--pg-radius) !important;
  border-left: 3px solid var(--pg-secondary);
}

/* ─── Section with body-copy h2 (inline pages, location pages) ── */
main.container h2.fw-bold,
.container h2.fw-bold:not(.section-title) {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: var(--pg-text-white) !important;
  line-height: 1.25 !important;
  margin-bottom: 1rem !important;
}

/* ─── Contact / Book Now page-specific ──────────────────────── */
.contact-form-section,
.book-now-section {
  background: linear-gradient(180deg, #f8fbfc 0%, #fff 100%);
}

/* ─── Thank You page ─────────────────────────────────────────── */
.thank-you-hero,
section.thank-you {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 55%, rgba(210,143,178,0.9) 100%) !important;
  color: #fff;
  text-align: center;
  padding: clamp(4rem, 12vw, 8rem) 0;
}

/* ─── Privacy / Terms pages ──────────────────────────────────── */
.legal-content h2,
.privacy-section h2,
.terms-section h2 {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
  font-size: 1.5rem !important;
}

.legal-content h3,
.privacy-section h3 {
  color: var(--pg-primary) !important;
  font-weight: 600 !important;
  font-size: 1.15rem !important;
  margin-top: 1.75rem !important;
}

/* ─── Service Areas page grid ────────────────────────────────── */
.service-area-card {
  border-radius: var(--pg-radius-lg) !important;
  border: 1px solid rgba(210,143,178,0.14) !important;
  box-shadow: var(--pg-shadow) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  background: #fff;
  display: block;
}

.service-area-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--pg-shadow-hover) !important;
  border-color: rgba(210,143,178,0.3) !important;
}

/* ─── Gift Cards page ────────────────────────────────────────── */
.gift-card-visual {
  border-radius: var(--pg-radius-lg) !important;
  overflow: hidden;
  box-shadow: var(--pg-shadow) !important;
}

/* ─── Additional responsive tweaks ──────────────────────────── */
@media (max-width: 992px) {
  .neighborhood-item .rounded-circle {
    width: 36px !important;
    height: 36px !important;
  }

  .process-icon {
    width: 76px !important;
    height: 76px !important;
  }

  .process-icon-wrapper {
    width: 76px !important;
  }
}

@media (max-width: 576px) {
  .service-card {
    margin-bottom: 1rem;
  }

  .testimonial-card .card-body {
    padding: 1.5rem 1.25rem !important;
  }

  .row[style*="background-color: rgba(15,76,95,0.03)"],
  .row[style*="background: rgba(15,76,95,0.03)"] {
    padding: 1.5rem !important;
  }
}

/* ─── Accordion (inline style override) ─────────────────────── */
.accordion-button[style*="rgba(15,76,95,0.05)"] {
  background: linear-gradient(135deg, rgba(15,76,95,0.04), rgba(210,143,178,0.05)) !important;
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  font-size: 1.03rem !important;
  padding: 1.2rem 1.5rem !important;
  border-radius: var(--pg-radius) !important;
}

.accordion-button[style*="rgba(15,76,95,0.05)"]:not(.collapsed) {
  background: linear-gradient(135deg, rgba(15,76,95,0.07), rgba(210,143,178,0.08)) !important;
  box-shadow: none !important;
}

.accordion-item.border-0.rounded-3.shadow-sm {
  border-radius: var(--pg-radius) !important;
  border: 1px solid rgba(210,143,178,0.14) !important;
  box-shadow: 0 4px 16px rgba(15,76,95,0.06) !important;
  overflow: hidden;
  margin-bottom: 0.85rem !important;
}

/* ─── Hero Services Overlay (services page) ──────────────────── */
.hero-services,
section.hero-services {
  position: relative;
  overflow: hidden;
  min-height: 480px;
}

.hero-full-img {
  width: 100%;
  object-fit: cover;
  max-height: 520px;
  display: block;
}

.hero-overlay {
  background: linear-gradient(135deg, rgba(15,76,95,0.88) 0%, rgba(18,108,136,0.82) 55%, rgba(210,143,178,0.78) 100%) !important;
}

.hero-overlay h1 {
  font-size: clamp(2.2rem, 5vw, 3.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
}

.hero-overlay .lead {
  color: rgba(255,255,255,0.95) !important;
  font-size: 1.15rem !important;
}

/* ─── LP pages hero section (position-relative with bg) ──────── */
section.py-5.bg-white + div.container,
.lp-hero {
  position: relative;
}

/* ─── LP Booking Form Container ──────────────────────────────── */
.booking-form-container {
  border: 2px solid rgba(15,76,95,0.2) !important;
  border-radius: var(--pg-radius-lg) !important;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(15,76,95,0.12) !important;
  background: #fff;
}

.booking-form-header {
  background: linear-gradient(120deg, #0f4c5f, #126c88) !important;
  padding: 1.25rem 1.5rem !important;
  text-align: center;
  border-bottom: 3px solid var(--pg-secondary) !important;
}

.booking-form-header h3 {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1.35rem !important;
  margin: 0 !important;
}

/* Form controls enhancement */
.form-control,
.form-select {
  border-radius: 10px !important;
  border: 1.5px solid rgba(15,76,95,0.18) !important;
  padding: 0.65rem 1rem !important;
  font-size: 1rem !important;
  color: var(--pg-dark) !important;
  transition: all 0.25s ease;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--pg-secondary) !important;
  box-shadow: 0 0 0 3px rgba(210,143,178,0.2) !important;
  outline: none;
}

.form-label {
  font-weight: 600 !important;
  color: var(--pg-primary) !important;
  font-size: 0.92rem !important;
  margin-bottom: 0.4rem !important;
}

/* ─── Dark testimonial card (navy gradient - location pages) ──── */
.testimonial-card[style*="gradient"][style*="#0f4c5f"],
.testimonial-card[style*="background: linear-gradient"],
.card[style*="background: linear-gradient"][style*="#0f4c5f"] {
  border-radius: var(--pg-radius-lg) !important;
  box-shadow: 0 16px 45px rgba(15,76,95,0.3) !important;
  overflow: hidden;
}

/* ─── Final CTA Card (gradient overlay in location pages) ───────  */
.card.border-0.rounded-4.shadow-lg.overflow-hidden {
  border-radius: var(--pg-radius-lg) !important;
  box-shadow: 0 20px 55px rgba(15,76,95,0.2) !important;
  overflow: hidden;
}

/* CTA buttons inside overlay cards */
.position-absolute .btn[style*="border-radius: 50px"],
.position-absolute .btn[style*="border-radius:50px"] {
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 0.85rem 1.5rem !important;
  transition: all 0.3s ease !important;
}

/* ─── Breadcrumb Navigation ──────────────────────────────────── */
nav[aria-label="breadcrumb"] {
  background: linear-gradient(180deg, rgba(15,76,95,0.04), rgba(15,76,95,0.02)) !important;
  border-bottom: 1px solid rgba(210,143,178,0.15);
  padding: 0.5rem 1rem;
}

.breadcrumb {
  font-size: 0.875rem;
  margin: 0;
  padding: 0;
  background: transparent;
  list-style: none;
}

.breadcrumb-item {
  display: inline-block;
}

.breadcrumb-item a {
  color: #0f4c5f !important;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.breadcrumb-item a:hover {
  color: #d28fb2 !important;
  text-decoration: underline;
}

.breadcrumb-item.active {
  color: #6c757d !important;
  font-weight: 400;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  padding: 0 0.5rem;
  color: rgba(15,76,95,0.35);
  font-weight: 400;
  font-size: 1.1rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  nav[aria-label="breadcrumb"] {
    padding: 0.4rem 0.75rem;
  }
  
  .breadcrumb {
    font-size: 0.8rem;
  }
  
  .breadcrumb-item + .breadcrumb-item::before {
    padding: 0 0.35rem;
  }
}

/* ─── Video embed ─────────────────────────────────────────────── */
.ratio.ratio-16x9.rounded-4 {
  border-radius: var(--pg-radius-lg) !important;
  overflow: hidden;
  box-shadow: 0 12px 38px rgba(15,76,95,0.14) !important;
  border: 2px solid rgba(15,76,95,0.2) !important;
}

/* ─── Badge group (LP trust badges) ─────────────────────────── */
.badge.bg-primary {
  background: linear-gradient(135deg, var(--pg-primary), #126c88) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 0.55rem 1.25rem !important;
}

.badge.bg-secondary {
  background: linear-gradient(135deg, var(--pg-secondary), #c17fa3) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 0.55rem 1.25rem !important;
}

.badge.bg-success {
  background: linear-gradient(135deg, #2d7d4e, #3a9961) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 0.55rem 1.25rem !important;
}

/* ─── Service icons (fa-2x in service feature grid) ─────────── */
.text-center .fa-2x,
.text-center .fas.fa-2x {
  transition: all 0.3s ease;
}

.text-center:hover .fa-2x,
.text-center:hover .fas.fa-2x {
  transform: translateY(-3px);
  filter: drop-shadow(0 4px 8px rgba(210,143,178,0.4));
}

/* ─── Services/areas intro feature grid (col-md-3 col-6) ──────── */
.col-md-3.col-6 > .text-center.p-3 {
  border-radius: var(--pg-radius) !important;
  transition: all 0.3s ease;
}

.col-md-3.col-6 > .text-center.p-3:hover {
  background: rgba(15,76,95,0.03) !important;
  transform: translateY(-3px);
}

.col-md-3.col-6 h6.fw-bold {
  color: var(--pg-primary) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  margin-top: 0.25rem;
}

/* ─── display-5 / display-4 headings in content pages ───────── */
h1.display-4.fw-bold,
h2.display-5.fw-bold {
  letter-spacing: -0.02em;
}

/* ─── Final responsive ───────────────────────────────────────── */
@media (max-width: 576px) {
  .booking-form-container {
    border-radius: var(--pg-radius) !important;
  }

  .hero-full-img {
    max-height: 340px;
  }

  .hero-overlay h1 {
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
  }
}

/* ─── Thank You page ─────────────────────────────────────────── */
.ty-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(15,76,95,0.04) 0%, rgba(210,143,178,0.06) 100%);
  padding: 3rem 1rem;
}

.ty-card {
  background: #fff;
  border-radius: var(--pg-radius-lg);
  box-shadow: 0 20px 60px rgba(15,76,95,0.12);
  overflow: hidden;
  max-width: 520px;
  width: 100%;
  border: 1px solid rgba(210,143,178,0.15);
}

.ty-card-header {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 55%, var(--pg-secondary) 100%);
  color: #fff;
  padding: 2.5rem 2rem 2rem;
  text-align: center;
}

.ty-card-header h1 {
  font-size: clamp(2rem, 5vw, 2.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  margin: 0 !important;
}

.ty-icon {
  font-size: 3.5rem;
  margin-bottom: 0.75rem;
  color: rgba(255,255,255,0.95);
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
}

.ty-card-body {
  padding: 2rem 2.25rem 2.5rem;
  text-align: center;
}

.ty-card-body .lead {
  color: var(--pg-primary) !important;
  font-weight: 600 !important;
  font-size: 1.15rem !important;
}

.ty-card-body p {
  color: var(--pg-text) !important;
  line-height: 1.75;
}

.ty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, var(--pg-primary), #126c88);
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  padding: 0.9rem 2.25rem !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(15,76,95,0.25) !important;
  transition: all 0.3s ease !important;
  margin-top: 1.25rem;
}

.ty-btn:hover {
  background: linear-gradient(135deg, #126c88, var(--pg-secondary)) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(15,76,95,0.32) !important;
}

/* ─── Contact Us Hero Banner (section only, not div.hero-banner) ─ */
section.hero-banner {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 55%, rgba(210,143,178,0.8) 100%) !important;
  padding: clamp(3rem, 8vw, 5rem) 0 !important;
  color: #fff;
  position: relative;
  overflow: hidden;
}

section.hero-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

section.hero-banner h1,
.hero-banner h1 {
  font-size: clamp(2rem, 5vw, 3rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  color: #fff !important;
}

section.hero-banner .lead,
.hero-banner .lead {
  color: rgba(255,255,255,0.92) !important;
  font-size: 1.15rem !important;
}

/* ─── div.hero-banner (move-in-out image wrapper) ─────────────── */
div.hero-banner {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  display: flex;
  align-items: center;
}

div.hero-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(15,76,95,0.25) 100%);
  pointer-events: none;
  z-index: 1;
}

div.hero-banner > .container {
  position: relative;
  z-index: 2;
}

/* ─── Contact Form Container (contact-us page) ───────────────── */
.contact-form-container {
  border-radius: var(--pg-radius-lg);
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(15,76,95,0.1);
  border: 1px solid rgba(210,143,178,0.15);
}

.contact-form-container > .text-center[style*="background-color: #0f4c5f"],
.contact-form-container > .text-center[style*="background:#0f4c5f"] {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 100%) !important;
  padding: 1.75rem 2rem !important;
  border-bottom: 3px solid var(--pg-secondary) !important;
  border-radius: var(--pg-radius-lg) var(--pg-radius-lg) 0 0 !important;
}

.contact-form-container h2.section-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin: 0 0 0.35rem !important;
}

/* ─── Special Offer Banner (book-now page) ───────────────────── */
.special-offer-banner {
  background: linear-gradient(135deg, var(--pg-secondary) 0%, #e8a3c4 50%, #c17fa3 100%) !important;
  color: #fff !important;
  padding: 1.5rem 0 !important;
  text-align: center;
}

.special-offer-banner h2 {
  font-size: clamp(1.25rem, 3vw, 1.6rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 !important;
}

.special-offer-banner .display-5 {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

.special-offer-banner .lead {
  color: rgba(255,255,255,0.95) !important;
}

/* ─── Privacy / Terms blockquote ─────────────────────────────── */
blockquote.blockquote[style*="border-left:4px solid #d28fb2"],
blockquote[style*="border-left:4px solid #d28fb2"],
blockquote[style*="border-left: 4px solid #d28fb2"] {
  background: linear-gradient(135deg, rgba(210,143,178,0.07), rgba(15,76,95,0.04)) !important;
  border-left: 4px solid var(--pg-secondary) !important;
  border-radius: 0 var(--pg-radius) var(--pg-radius) 0 !important;
  padding: 1.25rem 1.75rem !important;
  font-style: italic;
  color: var(--pg-text) !important;
  box-shadow: 0 4px 14px rgba(210,143,178,0.1);
}

/* Privacy h3 subheadings with pink color */
h3[style*="color:#d28fb2"],
h3[style*="color: #d28fb2"] {
  color: var(--pg-secondary) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  margin-top: 1.75rem !important;
}

/* ─── Contact Section ─────────────────────────────────────────── */
.contact-section {
  padding: 4rem 0;
  background: linear-gradient(180deg, #f8fbfc 0%, #fff 100%);
}

/* ─── Gift Cards Hero (inline gradient section) ──────────────── */
section[style*="background:linear-gradient(120deg,#0f4c5f"],
section[style*="background: linear-gradient(120deg,#0f4c5f"],
section[style*="background:linear-gradient(120deg, #0f4c5f"] {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 55%, var(--pg-secondary) 100%) !important;
}

/* Decorative background icon in gift cards / LP pages */
.position-absolute .fa[style*="font-size:300px"],
.position-absolute .fas[style*="font-size:300px"] {
  opacity: 0.06 !important;
}

/* ─── Book-Now dark header subblock ─────────────────────────── */
.text-center[style*="background-color: #0f4c5f"],
.text-center[style*="background:#0f4c5f"] {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 100%) !important;
  border-radius: var(--pg-radius) !important;
  padding: 1.5rem 2rem !important;
}

.text-center[style*="background-color: #0f4c5f"] h2,
.text-center[style*="background:#0f4c5f"] h2 {
  color: #fff !important;
  font-weight: 700 !important;
}

/* ─── LP Contact / Booking page sections ─────────────────────── */
section.py-5.bg-light {
  background: linear-gradient(180deg, #f4f8f9 0%, #f8fbfd 100%) !important;
}

/* ─── Map iframe styling ──────────────────────────────────────── */
iframe[src*="google.com/maps"] {
  border-radius: var(--pg-radius-lg);
  box-shadow: 0 8px 30px rgba(15,76,95,0.12);
  border: none !important;
}

/* ─── Solid navy CTA sections (background-color: #0f4c5f inline) ── */
section[style*="background-color: #0f4c5f"],
section[style*="background-color:#0f4c5f"] {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 60%, rgba(210,143,178,0.18) 100%) !important;
  padding: clamp(3rem, 8vw, 5rem) 0 !important;
}

section[style*="background-color: #0f4c5f"] h2,
section[style*="background-color:#0f4c5f"] h2,
section[style*="background-color: #0f4c5f"] .h3,
section[style*="background-color:#0f4c5f"] .h3 {
  color: #fff !important;
  font-weight: 700 !important;
}

section[style*="background-color: #0f4c5f"] .lead,
section[style*="background-color:#0f4c5f"] .lead {
  color: rgba(255,255,255,0.92) !important;
}

/* ─── Fixed-header page offset ──────────────────────────────────── */
.page-content[style*="margin-top:80px"],
.page-content[style*="margin-top: 80px"] {
  padding-top: 0.5rem;
}

/* ─── Site header (service-areas fixed nav) ──────────────────── */
.site-header.fixed-top {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  background: rgba(255,255,255,0.97) !important;
  border-bottom: 1px solid rgba(15,76,95,0.08);
}

/* ─── Brand color overrides for Bootstrap text-primary / bg-primary ── */
.text-primary {
  color: var(--pg-primary) !important;
}

.bg-primary {
  background-color: var(--pg-primary) !important;
}

/* CTA section bg-primary white text */
section.bg-primary.text-white {
  background: linear-gradient(135deg, var(--pg-primary) 0%, #126c88 60%, rgba(210,143,178,0.25) 100%) !important;
  padding: clamp(3rem, 8vw, 5rem) 0 !important;
}

section.bg-primary.text-white h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
}

section.bg-primary.text-white .lead {
  color: rgba(255,255,255,0.92) !important;
}

/* ─── Final responsive additions ─────────────────────────────── */
@media (max-width: 768px) {
  section.hero-banner {
    padding: 2.5rem 0 !important;
  }

  .ty-card-header {
    padding: 2rem 1.5rem 1.75rem;
  }

  .ty-card-body {
    padding: 1.75rem 1.5rem 2rem;
  }
}

@media (max-width: 576px) {
  .special-offer-banner h2 {
    font-size: 1.15rem !important;
  }

  .contact-form-container {
    border-radius: var(--pg-radius);
  }
}

/* ─── Blurred background hero (deep-cleaning + subdirectory pages) ── */
.hero-img {
  transition: transform 8s ease;
}
.hero-img:hover {
  transform: scale(1.04);
}

/* Hero wrapper that uses .hero-img + .hero-overlay pattern */
section:has(.hero-img) {
  min-height: 460px;
  display: flex;
  align-items: center;
}

.hero-overlay {
  transition: opacity 0.4s ease;
}

/* Text shadow utility used in hero headings */
.text-shadow,
h1.text-shadow {
  text-shadow: 0 3px 16px rgba(0,0,0,0.30) !important;
}

/* ─── Feature blocks (alternating image/text) ────────────────── */
.feature-block {
  padding: 2rem 0;
  border-bottom: 1px solid rgba(15,76,95,0.06);
}

.feature-block:last-of-type {
  border-bottom: none;
}

.feature-block .rounded-circle[style*="background-color: #d28fb2"],
.feature-block .rounded-circle[style*="background-color:#d28fb2"] {
  background: linear-gradient(135deg, var(--pg-secondary), #e5a8c7) !important;
  box-shadow: 0 4px 14px rgba(210,143,178,0.30) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  min-width: 44px;
  min-height: 44px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.feature-block .rounded-circle[style*="background-color: #0f4c5f"],
.feature-block .rounded-circle[style*="background-color:#0f4c5f"] {
  background: linear-gradient(135deg, var(--pg-primary), #126c88) !important;
  box-shadow: 0 4px 14px rgba(15,76,95,0.25) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  min-width: 44px;
  min-height: 44px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ─── Hover cards (service/feature cards with shadow on hover) ── */
.hover-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  box-shadow: 0 4px 20px rgba(15,76,95,0.08) !important;
}

.hover-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--pg-shadow-hover) !important;
}

/* ─── Card decoration circles ────────────────────────────────── */
.card-decoration {
  pointer-events: none;
  transition: transform 0.5s ease;
}

.hover-card:hover .card-decoration {
  transform: scale(1.15);
}

/* ─── Icon circle containers in service cards ────────────────── */
.rounded-circle.bg-pink {
  background-color: rgba(210,143,178,0.12) !important;
}

.card-body .rounded-circle[style*="box-shadow: 0 5px 15px rgba(210, 143, 178"] {
  background: linear-gradient(135deg, rgba(210,143,178,0.12), rgba(210,143,178,0.06)) !important;
  border: 1.5px solid rgba(210,143,178,0.18) !important;
  transition: box-shadow 0.3s ease !important;
}

/* ─── Separator / divider line ───────────────────────────────── */
.separator-line {
  background: linear-gradient(90deg, transparent, var(--pg-secondary) 30%, var(--pg-secondary) 70%, transparent) !important;
  height: 3px !important;
  border-radius: 999px !important;
  opacity: 0.85;
}

/* ─── Checklist section (badge icon + text pattern) ─────────── */
.checklist-section .badge.rounded-pill[style*="background-color: #0f4c5f"] {
  background: linear-gradient(135deg, var(--pg-primary), #126c88) !important;
  box-shadow: 0 3px 10px rgba(15,76,95,0.22) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}

/* ─── Internal link sections (services + nearby areas) ────────── */
section.py-5.bg-light ul.list-unstyled a {
  transition: color 0.2s ease, padding-left 0.2s ease !important;
  padding: 0.2rem 0 !important;
}

section.py-5.bg-light ul.list-unstyled a:hover {
  color: var(--pg-secondary) !important;
  padding-left: 4px !important;
}

/* ─── Article intro lead paragraphs ─────────────────────────── */
article > div .lead {
  color: var(--pg-text) !important;
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
}

/* ─── Section heading with pink separator (subdirectory pages) ─ */
.py-5 .text-center .h2.fw-bold[style*="color: #0f4c5f"],
.py-5 .text-center h2.fw-bold[style*="color: #0f4c5f"],
.py-5 .text-center h2.h2.fw-bold[style*="color: #0f4c5f"] {
  color: var(--pg-primary) !important;
  font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
  line-height: 1.2 !important;
}

/* ─── Rounded images in content ─────────────────────────────── */
img.rounded-4.shadow,
img.rounded-4.shadow-lg {
  box-shadow: 0 12px 40px rgba(15,76,95,0.13) !important;
  transition: box-shadow 0.3s ease, transform 0.4s ease !important;
}

img.rounded-4.shadow:hover,
img.rounded-4.shadow-lg:hover {
  box-shadow: 0 20px 55px rgba(15,76,95,0.20) !important;
  transform: translateY(-3px);
}

/* ─── Responsive additions for subdirectory pages ───────────── */
@media (max-width: 768px) {
  section:has(.hero-img) {
    min-height: 340px;
  }

  .feature-block {
    padding: 1.5rem 0;
  }
}
