/*
Theme Name: CT Pest Control
Theme URI: https://example.com/
Author: AMBA Media
Description: Clean responsive WordPress theme for Connecticut pest control sites with a black menu header, full-width pest control banner, large readable content, and three-column black footer.
Version: 1.3.6
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: ct-pest-control
*/

:root {
  --pc-black: #050505;
  --pc-blue: #BEDA3A;
  --pc-deep-blue: #BEDA3A;
  --pc-white: #ffffff;
  --pc-light: #f6f9ff;
  --pc-text: #111111;
  --pc-max-width: 1180px;
  --pc-side-pad: 40px;
}

* { box-sizing: border-box; }

html { font-size: 19px; }

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--pc-text);
  background: var(--pc-white);
  line-height: 1.65;
}

a { color: var(--pc-deep-blue); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

.site-header {
  background: var(--pc-black);
  color: var(--pc-white);
  min-height: 128px;
  display: flex;
  align-items: center;
}

.header-inner {
  width: min(var(--pc-max-width), calc(100% - var(--pc-side-pad) * 2));
  margin: 0 auto;
  padding: 20px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.site-branding,
.site-title {
  display: none;
}

.primary-navigation {
  position: relative;
}

.primary-navigation .menu,
.primary-navigation .menu > li,
.primary-navigation .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}


.primary-navigation .menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px 42px;
  flex-wrap: wrap;
}

.primary-navigation .menu > li {
  position: relative;
}

.primary-navigation a {
  display: block;
  color: var(--pc-blue);
  font-weight: 900;
  font-size: 1.12rem;
  letter-spacing: .02em;
  text-transform: none;
}

.primary-navigation a:hover,
.primary-navigation a:focus {
  color: var(--pc-white);
  text-decoration: none;
}

.hero-banner {
  height: 480px;
  width: 100%;
  background-image: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.08)), url('assets/images/pest-connecticut-banner.png');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  border-radius: 0;
}

.hero-content {
  width: min(var(--pc-max-width), calc(100% - var(--pc-side-pad) * 2));
  height: 100%;
  margin: 0 auto;
  position: relative;
}


.hero-title {
  position: absolute;
  left: 0;
  top: 42px;
  right: 0;
  color: var(--pc-black);
  font-size: clamp(2.4rem, 5vw, 4.25rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-shadow: 0 2px 6px rgba(255,255,255,.30);
  white-space: nowrap;
}

.hero-phone {
  position: absolute;
  left: 0;
  right: auto;
  top: 132px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--pc-black);
  background: transparent;
  border: 0;
  padding: 0 0 24px;
  border-radius: 0;
  font-size: clamp(1.9rem, 3.4vw, 2.85rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: .02em;
  box-shadow: none;
  text-shadow: 0 1px 3px rgba(255,255,255,.45);
}

.hero-phone::before {
  content: "☎";
  display: inline-block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  font-size: .82em;
  line-height: 1;
}

.hero-phone::after {
  content: "Call today for your Pest Inspection!";
  display: block;
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  font-size: 1rem !important;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .02em;
  white-space: nowrap;
}

.hero-phone:hover,
.hero-phone:focus {
  color: var(--pc-black);
  background: transparent;
  text-decoration: none;
}

.site-main {
  width: min(var(--pc-max-width), calc(100% - var(--pc-side-pad) * 2));
  margin: 0 auto;
  padding: 56px 0 24px;
}

article,
.entry-content,
.entry-content > * {
  max-width: 100%;
}

.entry-header,
.page-header { margin-bottom: 22px; }

.entry-title,
.page-title,
h1, h2, h3, h4, h5, h6 {
  color: var(--pc-black);
  font-weight: 900;
  line-height: 1.2;
}

.entry-title,
.page-title,
h1 { font-size: clamp(2rem, 4vw, 3.1rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.45rem); }
h3 { font-size: clamp(1.45rem, 2.3vw, 1.9rem); }

.entry-content {
  font-size: 1.18rem;
}

.entry-content p,
.entry-content ul,
.entry-content ol {
  margin-bottom: 1.15rem;
}

.entry-content hr {
  border: 0;
  border-top: 2px solid #d8d8d8;
  margin: 36px 0;
}

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

.button,
.wp-block-button__link {
  background: var(--pc-deep-blue);
  color: var(--pc-white);
  padding: 14px 26px;
  border-radius: 0;
  font-weight: 900;
  display: inline-block;
  text-transform: uppercase;
}

.button:hover,
.wp-block-button__link:hover {
  background: var(--pc-black);
  color: var(--pc-white);
  text-decoration: none;
}

.site-footer {
  background: var(--pc-black);
  color: var(--pc-white);
  margin-top: 0;
}

.footer-widgets {
  width: min(var(--pc-max-width), calc(100% - var(--pc-side-pad) * 2));
  margin: 0 auto;
  padding: 48px 0 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
}

.footer-widget h2,
.footer-widget h3,
.footer-widget .widget-title {
  color: var(--pc-blue);
  font-size: 1.35rem;
  margin-top: 0;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.footer-widget p,
.footer-widget li { color: var(--pc-white); }
.footer-widget a { color: var(--pc-white); }
.footer-widget a:hover,
.footer-widget a:focus { color: var(--pc-blue); }
.footer-widget ul { margin: 0; padding-left: 20px; }

.site-info {
  text-align: center;
  color: var(--pc-blue);
  padding: 22px 20px 30px;
  border-top: 1px solid rgba(255,255,255,.16);
  font-size: 1rem;
  font-weight: 700;
}

@media (max-width: 900px) {
  :root { --pc-side-pad: 28px; }
  .site-header { min-height: 113px; }
  .header-inner { padding: 18px 0; }
  .primary-navigation ul { gap: 10px 24px; }
  .hero-banner { height: 360px; }
  .hero-title { top: 36px; font-size: clamp(1.8rem, 5vw, 3.1rem); white-space: normal; }
  .hero-phone {
    top: 112px;
    font-size: clamp(1.55rem, 4.2vw, 2.2rem);
    padding-bottom: 22px;
  }
  .hero-phone::before {
    font-size: .8em;
  }
  .hero-phone::after {
    font-size: .86rem !important;
  }
  .footer-widgets { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 560px) {
  :root { --pc-side-pad: 18px; }
  html { font-size: 16px; }
  .primary-navigation ul { justify-content: center; gap: 8px 16px; }
  .primary-navigation a { font-size: .9rem; }
  .hero-banner { height: 300px; }
  .hero-title { top: 26px; font-size: clamp(1.55rem, 8vw, 2.35rem); white-space: normal; }
  .hero-phone {
    left: 0;
    right: auto;
    top: 86px;
    gap: 7px;
    padding-bottom: 30px;
    font-size: clamp(1.2rem, 6vw, 1.65rem);
  }
  .hero-phone::before {
    font-size: .78em;
  }
  .hero-phone::after {
    left: 0;
    right: auto;
    bottom: 2px;
    text-align: left;
    font-size: .74rem !important;
    line-height: 1.2;
    white-space: nowrap;
  }
  .site-main { padding: 38px 0; }
}



/* Force post/page title links to black */
.entry-title a,
.entry-title a:visited,
.page-title a,
.page-title a:visited {
    color: #050505 !important;
    text-decoration: none;
}

.entry-title a:hover,
.page-title a:hover {
    color: #050505 !important;
    text-decoration: underline;
}


/* Small footer disclaimer text */
.footer-smallprint,
.footer-smallprint p,
.footer-smallprint li,
.footer-smallprint span,
.footer-smallprint a {
    font-size: 9px;
    line-height: 1.4;
    color: #777777;
    text-decoration: none;
}

/* Make links look like normal text */
.footer-smallprint a:hover,
.footer-smallprint a:focus,
.footer-smallprint a:visited,
.footer-smallprint a:active {
    color: #777777;
    text-decoration: none;
}  


/* Footer city links fine print
   Targets the WordPress block widget containing the long city link list.
   Keeps links looking like soft gray print instead of blue navigation. */
.site-footer #block-10,
.site-footer #block-10 *,
.footer-widgets #block-10,
.footer-widgets #block-10 * {
	font-size: 10px !important;
	line-height: 1.4 !important;
	color: #929292 !important;
	text-decoration: none !important;
	font-weight: normal !important;
}

/* Remove all link styling from that footer city list */
.site-footer #block-10 a,
.site-footer #block-10 a:link,
.site-footer #block-10 a:visited,
.site-footer #block-10 a:hover,
.site-footer #block-10 a:focus,
.site-footer #block-10 a:active,
.footer-widgets #block-10 a,
.footer-widgets #block-10 a:link,
.footer-widgets #block-10 a:visited,
.footer-widgets #block-10 a:hover,
.footer-widgets #block-10 a:focus,
.footer-widgets #block-10 a:active {
    color: #929292 !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: none;
}

/* Optional reusable fine-print class for any future footer text */
.footer-smallprint,
.footer-smallprint * {
    font-size: 9px !important;
    line-height: 1.4 !important;
    color: #929292 !important;
    text-decoration: none !important;
    font-weight: normal !important;
}

.footer-smallprint a,
.footer-smallprint a:link,
.footer-smallprint a:visited,
.footer-smallprint a:hover,
.footer-smallprint a:focus,
.footer-smallprint a:active {
    color: #929292 !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}


/* Desktop primary menu: match the Water Analysis theme */
@media (min-width: 769px) {
  .primary-navigation {
    width: auto;
  }

  .primary-navigation .menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center;
  }

  .primary-navigation .menu > li {
    display: block;
    position: relative;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
  }
}

/* ===========================
   PRIMARY AND DROPDOWN MENUS
   =========================== */

.menu-toggle {
  display: none;
  background: transparent;
  border: 0;
  color: var(--pc-blue);
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.primary-navigation .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 310px;
  background: var(--pc-black);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .38);
  z-index: 99999;
}

.primary-navigation .sub-menu::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 10px;
}

.primary-navigation .menu > li:hover > .sub-menu,
.primary-navigation .menu > li:focus-within > .sub-menu {
  display: block;
}

.primary-navigation .sub-menu li {
  display: block;
  position: relative;
  width: 100%;
}

.primary-navigation .sub-menu a {
  display: block;
  width: 100%;
  padding: 12px 18px;
  color: var(--pc-blue);
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.primary-navigation .sub-menu li:last-child > a {
  border-bottom: 0;
}

.primary-navigation .sub-menu a:hover,
.primary-navigation .sub-menu a:focus {
  color: var(--pc-white);
  background: #151515;
}

.primary-navigation .menu-item-has-children > a::after {
  content: " \25BE";
  font-size: .7em;
}

@media (max-width: 768px) {
  .site-header {
    min-height: 90px;
  }

  .header-inner {
    flex-direction: column;
    width: 100%;
    padding: 16px var(--pc-side-pad);
  }

  .menu-toggle {
    display: block;
    margin: 0 auto;
  }

  .primary-navigation {
    width: 100%;
  }

  .primary-navigation .menu {
    display: none;
    width: 100%;
    margin-top: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    text-align: left;
  }

  .primary-navigation.toggled .menu {
    display: flex;
  }

  .primary-navigation .menu > li {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .10);
  }

  .primary-navigation .menu > li > a {
    padding: 12px 8px;
    text-align: center;
  }

  /* Mobile submenus must stay closed until their own parent is tapped. */
  .primary-navigation .menu-item-has-children > .sub-menu,
  .primary-navigation .menu > li:hover > .sub-menu,
  .primary-navigation .menu > li:focus-within > .sub-menu {
    display: none !important;
    position: static;
    min-width: 0;
    width: calc(100% - 28px);
    margin: 0 14px 10px;
    background: #111111;
    box-shadow: none;
  }

  .primary-navigation .menu-item-has-children.submenu-open > .sub-menu,
  .primary-navigation .menu > li.menu-item-has-children.submenu-open:hover > .sub-menu,
  .primary-navigation .menu > li.menu-item-has-children.submenu-open:focus-within > .sub-menu {
    display: block !important;
  }

  .primary-navigation .sub-menu::before {
    display: none;
  }

  .primary-navigation .sub-menu a {
    padding: 10px 16px 10px 28px;
    text-align: left;
    font-size: .9rem;
  }

  .primary-navigation .menu-item-has-children > a::after {
    content: " \25BE";
    display: inline-block;
    transition: transform .2s ease;
  }

  .primary-navigation .menu-item-has-children.submenu-open > a::after {
    transform: rotate(180deg);
  }
}

/* ===========================
   PEST CONTROL HOMEPAGE
   Strong selectors prevent WordPress block styles from overriding these rules.
   =========================== */

.entry-content .pest-control-home p {
  margin-top: 0 !important;
  margin-bottom: 1.15rem !important;
}

.entry-content .pest-control-home ul {
  margin-top: 1.15rem !important;
  margin-bottom: 1.15rem !important;
  padding-left: 28px !important;
}

.entry-content .pest-control-home ul > li {
  margin-top: 0 !important;
  margin-bottom: 1.15rem !important;
  padding: 0 !important;
  line-height: 1.65 !important;
}

.entry-content .pest-control-home ul > li:last-child {
  margin-bottom: 0 !important;
}

.entry-content .pest-control-home ul > li strong {
  color: var(--pc-black) !important;
  font-weight: 900 !important;
}

.entry-content .pest-control-home h2 {
  margin-top: 55px !important;
  margin-bottom: 20px !important;
}

.entry-content .pest-control-call {
  display: block !important;
  text-align: center !important;
  margin: 50px 0 20px !important;
  font-size: 1.4rem !important;
  line-height: 1.45 !important;
}

.entry-content .pest-control-call > strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--pc-black) !important;
  font-weight: 900 !important;
}

.entry-content .pest-control-call > a,
.entry-content .pest-control-call > a:link,
.entry-content .pest-control-call > a:visited,
.entry-content p.pest-control-call > a,
.entry-content p.pest-control-call > a:link,
.entry-content p.pest-control-call > a:visited {
  display: inline-block !important;
  color: var(--pc-blue) !important;
  font-weight: 900 !important;
  font-size: 2rem !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.entry-content .pest-control-call > a:hover,
.entry-content .pest-control-call > a:focus,
.entry-content p.pest-control-call > a:hover,
.entry-content p.pest-control-call > a:focus {
  color: var(--pc-deep-blue) !important;
  text-decoration: underline !important;
}

@media (max-width: 560px) {
  .entry-content .pest-control-home h2 {
    margin-top: 42px !important;
  }

  .entry-content .pest-control-home ul {
    padding-left: 22px !important;
  }

  .entry-content .pest-control-call {
    margin-top: 40px !important;
    font-size: 1.2rem !important;
  }

  .entry-content .pest-control-call > a,
  .entry-content .pest-control-call > a:link,
  .entry-content .pest-control-call > a:visited,
  .entry-content p.pest-control-call > a,
  .entry-content p.pest-control-call > a:link,
  .entry-content p.pest-control-call > a:visited {
    font-size: 1.7rem !important;
  }
}

/* ===========================
   CERTIFIED PEST CONTROL IMAGE
   =========================== */

.entry-content .certified-pest-control-image {
  float: left;
  width: 500px;
  max-width: 50%;
  margin: 0 30px 20px 0;
}

.entry-content .certified-pest-control-image img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #d9e6f2;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}

@media (max-width: 768px) {
  .entry-content .certified-pest-control-image {
    float: none;
    width: 100%;
    max-width: 500px;
    margin: 20px auto;
  }
}


/* ===========================
   PEST CONTROL PAGE BANNERS
   =========================== */

.pest-control-banner {
    margin: 0 0 40px 0;
    text-align: center;
}

.pest-control-banner img {
    display: block;
    width: 100%;
    max-width: 1600px;
    height: auto;
    margin: 0 auto;
}

/* ===========================
   FOOTER PHONE — EXACT BLOCK-10 OVERRIDE
   Must stay at the very end of this stylesheet.
   =========================== */

.site-footer #block-10,
.footer-widgets #block-10 {
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    color: var(--pc-blue) !important;
    font-weight: 900 !important;
}

.site-footer #block-10 p,
.footer-widgets #block-10 p {
    margin: 0 0 16px !important;
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    color: var(--pc-blue) !important;
    font-weight: 900 !important;
}

.site-footer #block-10 p a,
.site-footer #block-10 p a:link,
.site-footer #block-10 p a:visited,
.footer-widgets #block-10 p a,
.footer-widgets #block-10 p a:link,
.footer-widgets #block-10 p a:visited {
    display: inline-block !important;
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    color: var(--pc-blue) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.site-footer #block-10 p a:hover,
.site-footer #block-10 p a:focus,
.footer-widgets #block-10 p a:hover,
.footer-widgets #block-10 p a:focus {
    color: var(--pc-deep-blue) !important;
    text-decoration: underline !important;
	
}

/* ===========================
   FOOTER EMAIL LINK
   =========================== */

#block-11,
#block-11 p {
    margin: 0 0 12px 0;
}

#block-11 a,
#block-11 a:link,
#block-11 a:visited {
    color: var(--pc-blue) !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

#block-11 a:hover,
#block-11 a:focus {
    color: var(--pc-deep-blue) !important;
    text-decoration: underline !important;
}


/* ===========================
   SOCIAL SHARE BAR
   Sits above the footer, not inside a footer widget.
   =========================== */

.social-share-wrap {
  width: min(var(--pc-max-width), calc(100% - var(--pc-side-pad) * 2));
  margin: 10px auto 22px;
  text-align: center;
}

.social-share-label {
  display: block;
  margin: 0 0 9px;
  color: #333333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.social-share-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  margin: 0;
}

.social-share-bar a,
.social-share-bar button {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #2f2f2f;
  cursor: pointer;
  border: 1px solid #8f8f8f;
  border-radius: 50%;
  background: linear-gradient(
    145deg,
    #ffffff 0%,
    #c9c9c9 25%,
    #f2f2f2 48%,
    #9f9f9f 72%,
    #ececec 100%
  );
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.95),
    inset 0 -1px 2px rgba(0,0,0,.18),
    0 2px 4px rgba(0,0,0,.22);
  text-decoration: none !important;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.social-share-bar a:hover,
.social-share-bar a:focus-visible,
.social-share-bar button:hover,
.social-share-bar button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.1);
  outline: none;
}

.social-share-bar svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.share-copy-message {
  display: block;
  min-height: 0;
  margin-top: 5px;
  color: #555555;
  font-size: 13px;
  line-height: 1.2;
}

@media (max-width: 560px) {
  .site-main {
    padding: 38px 0 18px;
  }

  .social-share-wrap {
    margin-top: 8px;
    margin-bottom: 18px;
  }

  .social-share-bar a,
  .social-share-bar button {
    width: 44px;
    height: 44px;
  }
}

/* ===========================
   HERO BANNER LINKS — FINAL OVERRIDE
   Keeps the linked hero title white and unlined regardless
   of whether the link wraps the title or sits inside it.
   The phone button keeps its separate background and layout.
   =========================== */

.hero-banner a,
.hero-banner a:link,
.hero-banner a:visited,
.hero-banner a:hover,
.hero-banner a:focus,
.hero-banner a:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.hero-banner .hero-title,
.hero-banner .hero-title a,
.hero-banner .hero-title a:link,
.hero-banner .hero-title a:visited,
.hero-banner .hero-title a:hover,
.hero-banner .hero-title a:focus,
.hero-banner .hero-title a:active {
  color: var(--pc-black) !important;
}

.hero-banner .hero-phone,
.hero-banner .hero-phone:link,
.hero-banner .hero-phone:visited,
.hero-banner .hero-phone:hover,
.hero-banner .hero-phone:focus,
.hero-banner .hero-phone:active {
  color: var(--pc-black) !important;
}

/* Keep the text-only phone CTA clean on hover */
.hero-banner .hero-phone:hover,
.hero-banner .hero-phone:focus {
  color: var(--pc-black) !important;
  background: transparent;
  text-decoration: none !important;
}



/* ===========================
   FOOTER PEST CONTROL LINKS
   =========================== */

.pest-control-page-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer .pest-control-page-links,
.footer-widgets .pest-control-page-links {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer .pest-control-page-links li,
.footer-widgets .pest-control-page-links li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

.site-footer .pest-control-page-links li + li,
.footer-widgets .pest-control-page-links li + li {
    margin-top: 0 !important;
}

.pest-control-page-links a,
.pest-control-page-links a:link,
.pest-control-page-links a:visited {
    color: var(--pc-blue) !important;
    text-decoration: none !important;
    font-size: inherit;
    font-weight: normal;
}

.pest-control-page-links a:hover,
.pest-control-page-links a:focus {
    color: var(--pc-blue) !important;
    text-decoration: underline !important;
}
/* ===========================
   FOOTER CONTACT CARD
   =========================== */

.footer-contact-card {
    width: 100%;
    margin: 0;
    text-align: center;
}

.footer-contact-card-image-link {
    display: block;
    width: 100%;
    max-width: 390px;
    margin: 0 auto 14px;
    text-decoration: none !important;
}

.footer-contact-card-image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    border: 0;
}

.footer-contact-card-details {
    margin-top: 10px;
    text-align: center;
}

.footer-contact-card-phone,
.footer-contact-card-phone:link,
.footer-contact-card-phone:visited {
    display: block;
    margin: 0 0 6px;
    color: var(--pc-blue) !important;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.3;
    text-decoration: none !important;
}

.footer-contact-card-email,
.footer-contact-card-email a,
.footer-contact-card-email a:link,
.footer-contact-card-email a:visited {
    display: block;
    color: var(--pc-blue) !important;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-decoration: none !important;
}

.footer-contact-card-phone:hover,
.footer-contact-card-phone:focus,
.footer-contact-card-email a:hover,
.footer-contact-card-email a:focus {
    color: var(--pc-deep-blue) !important;
    text-decoration: underline !important;
}

.footer-contact-card-noscript {
    display: block;
    color: #929292;
    font-size: 12px;
    line-height: 1.4;
}

/* Reusable right-floated content image */
.content-image-right {
    float: right;
    width: 600px;
    max-width: 50%;
    margin: 5px 0 25px 35px;
}

.content-image-right img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

/* Clear the float before headings and full-width sections */
.entry-content h2,
.entry-content h3,
.entry-content .clear-float {
    clear: both;
}

/* Stack images normally on tablets and phones */
@media screen and (max-width: 900px) {
    .content-image-right {
        float: none;
        width: 100%;
        max-width: 600px;
        margin: 25px auto;
    }
}

/* Reusable left-floated content image */
.content-image-left {
    float: left;
    width: 600px;
    max-width: 50%;
    margin: 5px 35px 25px 0;
}

.content-image-left img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

@media screen and (max-width: 900px) {
    .content-image-left {
        float: none;
        width: 100%;
        max-width: 600px;
        margin: 25px auto;
    }
}

/* Full-width content banner */
.content-banner {
    clear: both;
    width: 100%;
    margin: 30px 0;
    text-align: center;
}

.content-banner img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* ===========================
   HERO PHONE CTA — FINAL SIZE PROTECTION
   Keeps hero text independent from footer fine-print rules.
   =========================== */

.hero-banner .hero-phone::before {
  content: "☎" !important;
}

.hero-banner .hero-phone::after {
  content: "Call today for your Pest Inspection!" !important;
  color: var(--pc-black) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

@media (max-width: 900px) {
  .hero-banner .hero-phone::after {
    font-size: .86rem !important;
  }
}

@media (max-width: 560px) {
  .hero-banner .hero-phone::after {
    font-size: .74rem !important;
  }
}

/* ===========================
   FINAL MOBILE NAV + HERO FIXES
   =========================== */


@media (max-width: 560px) {
  .hero-banner .hero-phone {
    top: 86px !important;
    padding-bottom: 30px !important;
  }

  .hero-banner .hero-phone::after {
    bottom: 2px !important;
    white-space: nowrap !important;
  }
}

