/*!
Theme Name: HappyDogTheme
Theme URI: https://happydogtheme.sweepandgo.com/
Author: Sweep&Go
Author URI: https://www.sweepandgo.com
Description: HappyDogTheme - Professional Poop Scoop WordPress Theme.
Version: 0.4.0
Tested up to: 5.4
Requires PHP: 5.6
Text Domain: happydog-theme
Tags: sweep&go, sweep&go client onboarding, elementor, scooper theme, poop scoop theme

*/

/*** GENERAL ***/

:hover {
  transition: all 0.3s;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

.container {
  display: flex;
  align-items: center;
  padding: 0px 150px;
}

.section-container {
  width: 100%;
  position: relative;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="password"],
select {
  line-height: 1.7;
  background-color: #fafafa;
  border: 2px dotted #646464;
  outline: none;
  height: auto;
  display: block;
  width: fit-content;
  border-radius: 30px;
  padding: 10px 15px !important;
  font-size: 16px;
  color: #000;
  min-height: 47px;
}

textarea {
  line-height: 1.7;
  background-color: #fafafa;
  border: 2px dotted #646464;
  outline: none;
  height: auto;
  display: block;
  border-radius: 30px;
  padding: 10px 15px;
  font-size: 16px;
  color: #000;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
input[type="number"]:focus,
input[type="url"]:focus,
input[type="password"]:focus {
  border: 2px dotted #646464;
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
textarea::placeholder,
input[type="number"]::placeholder,
input[type="url"]::placeholder,
input[type="password"]::placeholder {
  color: #a7a7a7;
}

input[type="submit"],
button,
.button-404 {
  text-decoration: none;
  padding: 20px 35px;
  font-size: 16px;
  border-radius: 30px;
  color: #fff;
  width: fit-content;
  border: none;
  text-transform: uppercase;
  outline: none;
  display: block;
  font-weight: bold;
  cursor: pointer;
}

.field-wrap input[type="submit"] {
  font-size: 20px;
  font-weight: 700;
  text-transform: capitalize;
  line-height: 25px;
  background-color: var(--e-global-color-accent, #ffa31f);
  color: var(--e-global-color-text, #000000);
  border-radius: 34px;
  padding: 12px 32px;
}

.nf-form-fields-required {
  display: none;
}

.label-above .nf-field-label {
  margin-bottom: 0px !important;
}

.nf-field-label .nf-label-span,
.nf-field-label label {
  font-size: 16px !important;
  font-weight: 400 !important;
}

.nf-after-field .nf-error-msg,
.nf-error-msg {
  font-size: 16px;
}

.nf-response-msg {
  background-color: var(--e-global-color-hdcream, #fff9ef);
  padding: 20px 40px;
  border-radius: 30px;
}

h3.elementor-icon-box-title span {
  font-family: inherit;
}

.elementor-icon-box-icon span.elementor-icon {
  margin-top: 15px;
}

.elementor-icon-box-title {
  margin-top: 10px;
}

.elementor-widget .elementor-icon-list-items.elementor-inline-items {
  gap: 20px;
}

.elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text {
  font-family: inherit;
}

.elementor-toggle .elementor-tab-title {
  line-height: 2;
}

.elementor-toggle-icon {
  margin-top: 0px;
}

.elementor a {
  color: inherit;
}

.elementor-testimonial-wrapper {
  display: flex;
  flex-direction: column-reverse;
}

.elementor-testimonial-wrapper .elementor-testimonial-content {
  margin-bottom: 0px;
}

.elementor-testimonial-wrapper .elementor-testimonial-meta {
  margin-bottom: 20px;
}

.content-shrink {
  margin-left: calc((100vw - 1366px) / 2);
}

.underline {
  position: relative;
  display: inline-block;
}

.underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 10px;
  background: url(/wp-content/themes/happydog-theme/assets/img/underline.svg)
    no-repeat;
  background-size: cover;
  pointer-events: none;
}

.underline.light::after {
  background: url(/wp-content/themes/happydog-theme/assets/img/underline-light.svg)
    no-repeat;
}

button:hover,
.elementor-button-wrapper a:hover,
.all-articles-container a:hover,
.elementor-button:hover,
input[type="submit"]:hover {
  opacity: 0.8;
}

.elementor p a {
  text-decoration: underline;
}

.logo-img img {
  border-radius: 0px;
}

/* HEADER */

/* Top Header */

.scoopy-top-bar {
  background-color: var(--e-global-color-hdpeach, #ffd69b);
}

.scoopy-top-bar p {
  margin: 0px;
}

.sub-menu a.hfe-sub-menu-item:hover {
  border-radius: 18px;
  transition: none !important;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-menu {
  padding: 15px 0px;
}

.hfe-nav-menu li.menu-item.current_page_item,
.hfe-nav-menu li.menu-item.current-menu-parent {
  border-bottom: none;
}

footer .hfe-nav-menu li.menu-item.current_page_item,
footer .hfe-nav-menu li.menu-item.current-menu-parent {
  border: none;
}

.elementor-button span {
  font-family: inherit;
}

.social-column .social-icons-list {
  flex-direction: column;
  align-items: flex-end;
}

.social-column .social-icons-list li a {
  color: #fff;
}

header p span a {
  color: #000 !important;
}

header p span a:hover {
  opacity: 0.7;
}

.elementor-heading-title[class*="elementor-size-"] > a:hover {
  opacity: 0.7;
}

.header-popup-btn span.elementor-button-text {
  text-align: left;
}

.header-popup-btn span.elementor-button-text span {
  display: block;
  text-transform: math-auto;
  font-size: 12px;
  line-height: 22px;
}

.header-popup-btn span.elementor-button-icon svg path {
  width: 36px;
  height: 36px;
}

/* Phone tile: 67px black square, asymmetric corners (set in Elementor) */
.header-phone-btn .elementor-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease-in-out;
}

/* Free Quote: lift on hover, as in the design's hover state */
.header-popup-btn .elementor-button {
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.header-popup-btn .elementor-button:hover {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
}

/* "Client portal" menu item gets a ↗ icon (menu class: menu-item-external) */
/* Ultimate Addons uses a.hfe-menu-item::after for its hover pointer (absolute, left: 0),
   so position/size/opacity are reset here to keep the arrow after the text. */
.hfe-nav-menu .menu-item-external > a.hfe-menu-item,
.hfe-nav-menu .menu-item-external > a {
  display: inline-flex;
  align-items: center;
}

.hfe-nav-menu .menu-item-external > a.hfe-menu-item::after,
.hfe-nav-menu .menu-item-external > a::after {
  content: "" !important;
  position: static !important;
  display: inline-block !important;
  flex: 0 0 20px;
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 6px !important;
  inset: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  border: none !important;
  vertical-align: middle;
  background-color: currentColor !important;
  -webkit-mask: url("https://happydogtheme.sweepandgo.com/wp-content/uploads/2026/10/arrow-up-right-03-stroke-rounded.svg")
    center / contain no-repeat;
  mask: url("https://happydogtheme.sweepandgo.com/wp-content/uploads/2026/10/arrow-up-right-03-stroke-rounded.svg")
    center / contain no-repeat;
}

.header-phone-btn .elementor-icon:hover {
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

/* Zip checker (shortcode + popup) – HappyDog design: cream box, asymmetric corners, no border */
.elementor-shortcode .sng-zip-code,
#zipCheckerWrapper #zipCodeWrapper .sng-zip-code {
  display: flex;
  align-items: center;
  position: relative;
  max-width: 470px;
  min-height: 80px;
  padding: 5px 5px 5px 20px;
  background: var(--e-global-color-hdcream, #fff9ef);
  border: none;
  border-radius: 32px 0 66px 0;
}

.elementor-shortcode .sng-zip-code input,
#zipCheckerWrapper #zipCodeWrapper .sng-zip-code input {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  font-family: "Outfit", sans-serif;
  font-size: 19px;
  color: #000000;
}

.elementor-shortcode .sng-zip-code input::placeholder,
#zipCheckerWrapper #zipCodeWrapper .sng-zip-code input::placeholder {
  color: #000000;
  opacity: 1;
}

.sng-zip-code-form {
  position: relative;
}

.sng-zip-code > * {
  display: block !important;
}

.sng-zip-code .is-label-invalid {
  position: absolute;
  width: fit-content;
  top: calc(100% + 5px);
  background: #b00020;
  color: #fff !important;
  padding: 10px;
  border-radius: 0px;
  font-size: 14px;
  z-index: 1;
}

.elementor-toggle .elementor-tab-title,
.elementor-toggle .elementor-tab-content {
  border-bottom: 2px dotted #d5d8dc;
}

.elementor-shortcode .sng-zip-code button,
#zipCheckerWrapper #zipCodeWrapper .sng-zip-code button {
  flex: 0 0 auto;
  width: auto;
  margin-left: 0px;
  padding: 22px 36px;
  border: none;
  border-radius: 22px 0 56px 0;
  font-family: "Original Surfer", sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 38px;
  text-transform: none;
  white-space: nowrap;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.elementor-shortcode .sng-zip-code button:hover,
#zipCheckerWrapper #zipCodeWrapper .sng-zip-code button:hover {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
}

/* Zip checker popup (XD: "Sign up pop up") – markup comes from the ScooperTheme widgets plugin */
body #overlay {
  background-color: rgba(34, 38, 12, 0.8);
}

body #zipCheckerWrapper {
  width: 480px;
  max-width: calc(100% - 40px);
  padding: 50px 30px 40px;
  border: none;
  border-radius: 50px 0 30px 0;
  background-color: #ffffff;
}

body #zipCheckerWrapper .wpb_wrapper {
  width: 100%;
}

body #zipCheckerWrapper #zipCodeWrapper {
  text-align: left;
}

body #zipCheckerWrapper .popUpZipTitle {
  margin: 0 0 24px;
  font-family: "Original Surfer", sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 46px;
  letter-spacing: -1.6px;
  color: #000000;
}

body #zipCheckerWrapper #zipCodeWrapper .sng-zip-code {
  max-width: none;
  min-height: 104px;
  padding: 11px 11px 11px 20px;
}

body #zipCheckerWrapper #zipCodeWrapper .sng-zip-code button {
  margin-left: 0;
  padding: 21px 32px;
  font-size: 28px;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
}

@media only screen and (max-width: 768px) {
  /* keep the input and button side by side, as in the phone design */
  body #zipCheckerWrapper {
    padding: 40px 21px 30px;
  }

  #zipCheckerWrapper #zipCodeWrapper .sng-zip-code {
    flex-direction: column;
    gap: 10px;
  }

  body #zipCheckerWrapper .popUpZipTitle {
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -1.28px;
  }

  body #zipCheckerWrapper #zipCodeWrapper .sng-zip-code {
    flex-direction: column;
    gap: 5px;
  }

  body #zipCheckerWrapper #zipCodeWrapper .sng-zip-code button {
    width: 100%;
  }

  .elementor-shortcode .sng-zip-code input,
  body #zipCheckerWrapper #zipCodeWrapper .sng-zip-code input {
    max-width: none;
    width: 100%;
    font-size: 16px;
  }

  .elementor-shortcode .sng-zip-code button,
  body #zipCheckerWrapper #zipCodeWrapper .sng-zip-code button {
    padding: 18px 24px;
    font-size: 22px;
    line-height: 28px;
  }

  .hd-archive-featured__title a,
  .hd-archive-card__title a {
    line-height: 24px;
  }
}

/* Footer */

/* White footer with the HappyDog paw/bone pattern (design: Graphics-Backgrounds/background-pattern.svg) */
.hd-pattern-bg {
  background-image: url("assets/img/background-pattern.svg");
  background-repeat: repeat;
  background-size: 736px auto;
}

footer .footer-contact-widget-container {
  line-height: 34px;
}

footer .footer-contact-widget-container .footer-widget-info div {
  color: var(--e-global-color-text, #000000);
}

footer .footer-contact-widget-container .footer-widget-info a {
  color: inherit !important;
  text-decoration: none;
}

footer .footer-contact-widget-container .footer-widget-info a:hover {
  color: var(--e-global-color-primary, #7db82a) !important;
}

/* Outlined social icons from the design (Facebook / Instagram / Yelp); other networks keep the Font Awesome glyph */
footer .social-icons-list li a i.fa-facebook,
footer .social-icons-list li a i.fa-facebook-f,
footer .social-icons-list li a i.fa-facebook-square,
footer .social-icons-list li a i.fa-instagram,
footer .social-icons-list li a i.fa-square-instagram,
footer .social-icons-list li a i.fa-yelp {
  display: block;
  width: 34px;
  height: 40px;
  background-color: currentColor;
  -webkit-mask: var(--hd-icon) center / contain no-repeat;
  mask: var(--hd-icon) center / contain no-repeat;
}

footer .social-icons-list li a i.fa-facebook::before,
footer .social-icons-list li a i.fa-facebook-f::before,
footer .social-icons-list li a i.fa-facebook-square::before,
footer .social-icons-list li a i.fa-instagram::before,
footer .social-icons-list li a i.fa-square-instagram::before,
footer .social-icons-list li a i.fa-yelp::before {
  content: none;
}

footer .social-icons-list i.fa-facebook,
footer .social-icons-list i.fa-facebook-f,
footer .social-icons-list i.fa-facebook-square {
  --hd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28.976' height='40.537' viewBox='0 0 28.976 40.537'%3E %3Cpath id='facebook-02-stroke-rounded' d='M7.277,18.057C5.393,18.057,5,18.427,5,20.2v3.211c0,1.771.393,2.141,2.277,2.141h4.554V38.4c0,1.771.393,2.141,2.277,2.141h4.554c1.884,0,2.277-.37,2.277-2.141V25.55h5.114c1.429,0,1.8-.261,2.19-1.553l.976-3.211c.672-2.213.258-2.729-2.19-2.729H20.94V12.7a2.212,2.212,0,0,1,2.277-2.141H29.7c1.884,0,2.277-.37,2.277-2.141V4.141C31.976,2.37,31.582,2,29.7,2H23.217C16.929,2,11.831,6.793,11.831,12.7v5.352Z' transform='translate(-4 -1)' fill='none' stroke='black' stroke-linejoin='round' stroke-width='2' fill-rule='evenodd'/%3E %3C/svg%3E");
}

footer .social-icons-list i.fa-instagram,
footer .social-icons-list i.fa-square-instagram {
  --hd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38.61' height='38.609' viewBox='0 0 38.61 38.609'%3E %3Cg id='instagram-stroke-rounded' transform='translate(1 1)'%3E %3Cpath id='Path_23' data-name='Path 23' d='M2.5,20.8c0-8.629,0-12.944,2.681-15.624S12.176,2.5,20.8,2.5s12.943,0,15.624,2.681,2.681,7,2.681,15.624,0,12.944-2.681,15.624-7,2.681-15.624,2.681-12.943,0-15.624-2.681S2.5,29.434,2.5,20.8Z' transform='translate(-2.5 -2.5)' fill='none' stroke='black' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath id='Path_24' data-name='Path 24' d='M24.841,16.171A8.671,8.671,0,1,1,16.171,7.5,8.671,8.671,0,0,1,24.841,16.171Z' transform='translate(2.134 2.134)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_25' data-name='Path 25' d='M17.516,6.5H17.5' transform='translate(11.401 1.207)' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3C/g%3E %3C/svg%3E");
}

footer .social-icons-list i.fa-yelp {
  --hd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32.768' height='40.37' viewBox='0 0 32.768 40.37'%3E %3Cg id='yelp-stroke-rounded' transform='translate(1 0.919)'%3E %3Cpath id='Path_26' data-name='Path 26' d='M4.232,13.883A15.157,15.157,0,0,0,4,16.531q0,.509.033,1.01c.1,1.544.153,2.316.9,2.826s1.6.227,3.309-.339l1.562-.519c3.788-1.258,5.682-1.887,5.752-3.158s-1.744-2.107-5.372-3.779l-1.5-.69c-1.633-.753-2.45-1.129-3.251-.705S4.5,12.362,4.232,13.883Z' transform='translate(-4 6.342)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_27' data-name='Path 27' d='M22.329,16.319l-.908.222c-4.295,1.047-6.442,1.571-7.2.52s.531-2.753,3.117-6.157l.542-.713C18.967,8.754,19.513,8.035,20.454,8s1.455.544,2.483,1.7a14.576,14.576,0,0,1,1.7,2.343c.769,1.319,1.153,1.978.78,2.8S24.139,15.878,22.329,16.319Z' transform='translate(5.268 3.561)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_28' data-name='Path 28' d='M21.591,22.9a15.323,15.323,0,0,0,1.12-1.7c.729-1.286,1.094-1.929.845-2.783-.009-.03-.023-.074-.033-.1-.293-.837-1.053-1.116-2.574-1.674-3.964-1.456-5.945-2.184-6.686-1.148q-.044.061-.083.126c-.663,1.1.553,2.992,2.984,6.776.933,1.452,1.4,2.178,2.2,2.24.029,0,.072,0,.1,0C20.268,24.643,20.709,24.062,21.591,22.9Z' transform='translate(5.268 10.049)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_29' data-name='Path 29' d='M15.707,23.855v-.574c0-4.511,0-6.767-1.127-7.213S12.2,17.382,9.7,20.9l-.32.45C8.36,22.8,7.848,23.52,8.04,24.425s.829,1.231,2.1,1.883a12.407,12.407,0,0,0,2.229.882c1.356.39,2.035.584,2.686.013S15.707,25.707,15.707,23.855Z' transform='translate(-0.293 10.976)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_30' data-name='Path 30' d='M17.561,5.626v5.169c0,5.419,0,8.129-1.5,8.507s-3.03-1.946-6.094-6.593L7.219,8.539c-.937-1.42-1.4-2.131-1.151-2.914s.977-1.106,2.422-1.751A22.92,22.92,0,0,1,13.5,2.3c1.7-.325,2.546-.488,3.3.071S17.561,3.826,17.561,5.626Z' transform='translate(-2.147 -2)' fill='none' stroke='black' stroke-width='2'/%3E %3C/g%3E %3C/svg%3E");
}

footer .social-icons-list li a:hover i {
  opacity: 0.7;
}

footer .footer-contact-widget-container .footer-widget-info i,
footer
  .footer-contact-widget-container
  .footer-contact-widget-call
  .footer-widget-info
  i {
  display: none;
}

footer .footer-contact-widget-container .footer-widget-info div span {
  font-weight: 400;
  font-size: 16px;
}

footer .footer-contact-widget-container .footer-widget-info div {
  font-weight: bold;
  font-size: 16px;
}

footer
  .footer-contact-widget-container
  .footer-contact-widget-call
  .footer-widget-info
  a {
  color: inherit !important;
}

footer .social-icons-list,
.elementor-element .social-icons-list {
  display: flex;
  align-items: center;
  gap: 40px;
  margin: 0px;
  padding: 0px;
}

footer .social-icons-list li,
.elementor-element .social-icons-list li {
  list-style-type: none;
  border-radius: 0px;
  text-align: center;
  transition: opacity 0.3s;
  cursor: pointer;
  background: transparent;
}

footer .social-icons-list li a i,
.elementor-element .social-icons-list li a i {
  font-size: 29px;
}

.elementor-testimonial-wrapper .elementor-testimonial-content {
  order: 2;
}

.elementor-testimonial-wrapper .elementor-testimonial-meta {
  order: 1;
  margin-bottom: 0px;
  margin-top: 40px;
}

/* Blog Posts */

.sng-blog-posts-grid .post-item {
  padding: 30px;
  box-shadow: none;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
  overflow: hidden;
}

.sng-blog-posts-grid .post-item img {
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.sng-blog-posts-grid .post-item:hover img {
  transform: scale(1.05);
}

.sng-blog-posts-grid .post-item .post-content p {
  display: none;
}

.sng-blog-posts-grid .post-item img {
  border-radius: 10px !important;
}

.widget_scoop_latest_post_widget
  .sng-latest-post
  .sng-latest-single
  .sng-latest-info
  a {
  color: #1a1a1d;
}

.widget_scoop_latest_post_widget
  .sng-latest-post
  .sng-latest-single
  .sng-latest-info
  a:hover {
  color: var(--e-global-color-accent);
}

/* Residential */

#pricing-table th,
#pricing-table td {
  border-bottom: 2px dotted #000000;
}

/* Single Page */

.no-elementor-container {
  padding-top: 152px;
  max-width: 1366px;
  width: 100%;
  margin: 0 auto;
}

.no-elementor-container .content-sidebar {
  max-width: 881px;
  width: 100%;
}

.no-elementor-container .content-sidebar .entry-content p:last-child {
  margin-bottom: 0px;
}

.no-elementor-container .content-sidebar .entry-content p a {
  color: var(--e-global-color-accent) !important;
}

/* Single Post */

.content-layout {
  display: flex;
  gap: 40px;
  max-width: 1290px;
  margin: 0 auto;
  padding: 152px 0px 0px;
  align-items: flex-start;
}

.content-sidebar article .entry-meta {
  color: var(--e-global-color-secondary) !important;
  font-size: 14px;
  font-weight: 400;
}

.content-sidebar article h1.entry-title {
  font-size: 40px;
  margin-top: 10px;
}

.content-sidebar article .post-thumbnail img {
  width: 100%;
  height: auto;
}

.main-content {
  flex: 3;
  background: #fff;
  border-radius: 30px;
  padding: 0px;
}

.sidebar {
  background: var(--e-global-color-hdcream, #fff9ef);
  padding: 40px 30px;
  border-radius: 30px;
  flex: 1;
}

.widget_scoop_latest_post_widget .search-widget form {
  display: none;
}

.search-widget {
  display: none;
}

.widget_scoop_latest_post_widget .sng-latest-post {
  margin-top: 0px;
}

.widget_scoop_latest_post_widget .sng-latest-post h5 {
  font-size: 40px;
  line-height: 46px;
  margin-bottom: 35px;
  margin-top: 0px;
}

.widget_scoop_latest_post_widget .sng-latest-post .sng-latest-single {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 25px;
}

.widget_scoop_latest_post_widget
  .sng-latest-post
  .sng-latest-single:last-child {
  margin-bottom: 0px;
}

.widget_scoop_latest_post_widget
  .sng-latest-post
  .sng-latest-single
  .sng-latest-info {
  display: flex;
  flex-direction: column;
}

.widget_scoop_latest_post_widget
  .sng-latest-post
  .sng-latest-single
  .sng-latest-info
  a {
  font-size: 16px;
  font-weight: 500;
  line-height: 25px;
}

.widget_scoop_latest_post_widget
  .sng-latest-post
  .sng-latest-single
  .sng-latest-info
  span {
  font-size: 13px;
  color: #606060;
  margin-top: 10px;
}

.widget_scoop_latest_post_widget .sng-latest-post .sng-latest-thumbnail img {
  width: 45px;
  height: 45px;
  border-radius: 5px;
}

aside h2.widget-title {
  font-size: 31px;
  line-height: 30px;
  margin-bottom: 20px;
  color: #000000;
  font-family: "Sniglet", Sans-serif;
}

/* Client Onboarding
 * XD board: "Client Onboarding – Pricing".
 * Colours marked (Redux) come from Theme Options > Client Onboarding.
 * The number-of-dogs / frequency sliders are styled by Sweep&Go, not here. */

.is-label-invalid,
.just-validate-success-label {
  font-size: 13px;
}

body.sng_page-template-sng-client-onboarding-template header#masthead,
body.sng_page-template-sng-out-of-area-template header#masthead {
  display: none;
}

body.sng_page-template-sng-client-onboarding-template footer,
body.sng_page-template-sng-out-of-area-template footer {
  display: none;
}

/* Page: cream + paw pattern (Redux: background type / pattern / body color) */
body.sng_page-template-sng-client-onboarding-template .content-area,
body.sng_page-template-sng-out-of-area-template .content-area {
  padding: 0px 38px 100px;
  background-repeat: repeat;
  background-position: center top;
}

/* Form card (Redux: form background color) */
body.sng_page-template-sng-client-onboarding-template-php
  .content-area
  .type-sng-page,
body.sng_page-template-sng-out-of-area-template .content-area .type-sng-page {
  width: 100%;
  max-width: 626px;
  margin: 0 auto;
  padding: 80px 99px 90px;
  border-radius: 200px 0 150px 0;
  box-sizing: border-box;
}

body.sng_page-template-sng-client-onboarding-template-php .content-area iframe {
  border-radius: 100px 0 150px 0;
}

/* Title (Redux: title color) */
body.sng_page-template-sng-client-onboarding-template-php
  .content-area
  .type-sng-page
  .page-header
  h1.entry-title,
body.sng_page-template-sng-out-of-area-template
  .content-area
  .type-sng-page
  .page-header
  h1.entry-title {
  width: 100%;
  margin: 0 auto;
  padding: 0 0 34px;
  font-family: "Original Surfer", sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 46px;
  text-align: center !important;
}

form#client_onboarding_form,
form#sng_out_of_area_form {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  font-family: "Outfit", sans-serif;
}

/* Top callout (Redux: top callout background + border) */
.sng-top-callout {
  margin-bottom: 26px;
  padding: 16px 20px;
  border-radius: 20px 0 10px 0;
  font-size: 16px;
  line-height: 24px;
}

/* Field groups + labels (Redux: general form text color) */
#client_onboarding_form .sng-form-group,
#client_onboarding_form .sng-dog-fields-wrapper,
#sng_out_of_area_form .sng-form-group {
  margin-bottom: 23px;
}

#client_onboarding_form .sng-form-group label,
#client_onboarding_form .sng-dog-fields-wrapper label,
#sng_out_of_area_form .sng-form-group label {
  display: block;
  padding-bottom: 7px;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}

.sng-div-number-of-dogs {
  margin-top: 2.5rem !important;
  margin-bottom: 4rem !important;
}

.sng-div-clean-up-frequency {
  margin-top: 2.5rem !important;
  margin-bottom: 7.5rem !important;
}

.sng-slider-space .sng-sliders {
  font-size: 16px;
}

/* Text inputs */
#client_onboarding_form input[type="text"],
#client_onboarding_form input[type="email"],
#client_onboarding_form input[type="tel"],
#client_onboarding_form input[type="number"],
#sng_out_of_area_form input[type="text"],
#sng_out_of_area_form input[type="email"],
#sng_out_of_area_form input[type="tel"] {
  display: block;
  width: 100%;
  height: 60px;
  min-height: 60px;
  margin: 0;
  padding: 15px 15px !important;
  box-sizing: border-box;
  background-color: #ffffff;
  border: 1px solid #e3e3e3;
  border-radius: 20px 0 10px 0;
  box-shadow: none;
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  line-height: 28px;
  color: #000000;
}

#client_onboarding_form input[type="text"]:focus,
#client_onboarding_form input[type="email"]:focus,
#client_onboarding_form input[type="tel"]:focus,
#client_onboarding_form input[type="number"]:focus,
#sng_out_of_area_form input[type="text"]:focus,
#sng_out_of_area_form input[type="email"]:focus,
#sng_out_of_area_form input[type="tel"]:focus {
  border: 1px solid var(--e-global-color-primary, #7db82a);
  outline: none;
}

#client_onboarding_form input.sng-readonly,
#sng_out_of_area_form input.sng-readonly {
  color: #646464;
}

form#client_onboarding_form input[type="text"]::placeholder,
form#sng_out_of_area_form input[type="text"]::placeholder {
  color: #a5a5a5;
  font-size: 17px;
  font-weight: 400;
}

#client_onboarding_form .sng-input-control.is-invalid,
#sng_out_of_area_form .sng-input-control.is-invalid {
  border-color: #b81111;
}

/* Helper text under a field */
#client_onboarding_form small,
#sng_out_of_area_form small,
.sng-cc-note {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  line-height: 16px;
  color: #646464;
}

.sng-cc-note {
  margin-bottom: 10px;
}

/* Selects (TomSelect) */
#client_onboarding_form .ts-wrapper,
#sng_out_of_area_form .ts-wrapper {
  width: 100%;
  min-height: 0;
}

#client_onboarding_form .ts-control,
#client_onboarding_form .ts-wrapper.single.input-active .ts-control,
#sng_out_of_area_form .ts-control {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 60px !important;
  height: auto;
  padding: 15px 44px 15px 15px !important;
  box-sizing: border-box;
  background: #ffffff !important;
  border: 1px solid #e3e3e3 !important;
  border-radius: 20px 0 10px 0 !important;
  box-shadow: none !important;
  outline: none;
  font-family: "Outfit", sans-serif;
  font-size: 17px !important;
  line-height: 28px !important;
  color: #000000 !important;
}

#client_onboarding_form .ts-wrapper.focus .ts-control,
#sng_out_of_area_form .ts-wrapper.focus .ts-control {
  border-color: var(--e-global-color-primary, #7db82a) !important;
}

#client_onboarding_form .ts-control .item,
#client_onboarding_form .ts-control input,
#client_onboarding_form .ts-control input::placeholder,
#sng_out_of_area_form .ts-control .item,
#sng_out_of_area_form .ts-control input,
#sng_out_of_area_form .ts-control input::placeholder {
  font-size: 17px !important;
  line-height: 28px;
  color: #000000;
}

#client_onboarding_form .ts-control input,
#sng_out_of_area_form .ts-control input {
  min-height: 0 !important;
  height: auto;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

#client_onboarding_form .ts-wrapper.single .ts-control::after,
#sng_out_of_area_form .ts-wrapper.single .ts-control::after {
  right: 18px;
  margin-top: -3px;
  border-width: 7px 6px 0 6px;
  border-color: #a5a5a5 transparent transparent transparent;
}

#client_onboarding_form .ts-wrapper.single.dropdown-active .ts-control::after,
#sng_out_of_area_form .ts-wrapper.single.dropdown-active .ts-control::after {
  margin-top: -4px;
  border-width: 0 6px 7px 6px;
  border-color: transparent transparent #a5a5a5 transparent;
}

#client_onboarding_form .ts-wrapper.multi .ts-control > div,
#client_onboarding_form .ts-wrapper.multi .ts-control [data-value] {
  margin: 2px 6px 2px 0;
  padding: 0 8px;
  background: var(--e-global-color-hdcream, #fff9ef);
  border-radius: 8px 0 4px 0;
  color: #000000;
  font-size: 15px !important;
}

#client_onboarding_form .ts-dropdown,
#sng_out_of_area_form .ts-dropdown {
  margin-top: 4px;
  border: 1px solid #e3e3e3 !important;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  color: #000000;
  overflow: hidden;
}

#client_onboarding_form .ts-dropdown .option,
#sng_out_of_area_form .ts-dropdown .option {
  padding: 10px 15px;
}

#client_onboarding_form .ts-dropdown .active,
#client_onboarding_form .ts-dropdown .option:hover,
#sng_out_of_area_form .ts-dropdown .active,
#sng_out_of_area_form .ts-dropdown .option:hover {
  background: var(--e-global-color-hdcream, #fff9ef);
  color: #000000;
}

#client_onboarding_form .ts-dropdown .dropdown-input {
  height: 44px;
  min-height: 44px;
  padding: 8px 15px !important;
  border: none !important;
  border-bottom: 1px solid #e3e3e3 !important;
  border-radius: 0;
}

/* Checkboxes + radios */
#client_onboarding_form input[type="checkbox"],
#client_onboarding_form input[type="radio"],
#sng_out_of_area_form input[type="checkbox"] {
  width: 15px;
  height: 15px;
  min-height: 0;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #22260c;
}

#client_onboarding_form .sng-radio-group {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 22px;
}

#client_onboarding_form .sng-radio-group label {
  display: inline;
}

/* SMS marketing consent */
body.sng_page-template-sng-client-onboarding-template-php
  #client_onboarding_form
  .sng-input-group,
body.sng_page-template-sng-out-of-area-template
  #sng_out_of_area_form
  .sng-form-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

#client_onboarding_form .sng-note.sng-marketing,
#sng_out_of_area_form .sng-note.sng-marketing {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 10px;
  margin: -8px 0 23px !important;
  padding: 0;
  font-style: normal;
}

#client_onboarding_form .sng-note.sng-marketing input,
#sng_out_of_area_form .sng-note.sng-marketing input {
  margin-top: 3px;
}

body.sng_page-template #client_onboarding_form .sng-note.sng-marketing,
body.sng_page-template #sng_out_of_area_form .sng-note.sng-marketing {
  flex-wrap: nowrap;
  align-items: flex-start;
}

#client_onboarding_form .sng-note.sng-marketing label,
#sng_out_of_area_form .sng-note.sng-marketing label {
  flex: 1 1 0;
  min-width: 0;
}

#client_onboarding_form label[for="sng_advertiser_privacy_policy"],
#sng_out_of_area_form label[for="sng_advertiser_privacy_policy"] {
  display: inline-block !important;
  padding: 0;
  font-size: 13px !important;
  font-style: normal;
  line-height: 19px;
  color: #646464;
  text-decoration: none;
}

#client_onboarding_form label[for="sng_advertiser_privacy_policy"] a {
  color: var(--e-global-color-secondary, #4b760e) !important;
  text-decoration: underline;
}

/* Card details */
#client_onboarding_form .stripe-label {
  display: block;
  padding-bottom: 7px;
  font-size: 16px;
  line-height: 20px;
  color: #000000;
}

#client_onboarding_form #card-element,
#client_onboarding_form .StripeElement {
  height: 60px;
  padding: 20px 15px;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #e3e3e3;
  border-radius: 20px 0 10px 0;
  box-shadow: none;
}

#client_onboarding_form .StripeElement--focus {
  border-color: var(--e-global-color-primary, #7db82a);
}

#client_onboarding_form iframe#tokenFrame {
  width: 100%;
  border-radius: 0;
}

/* Pricing card (Redux: pricing table background / top background / title / price / interval / callout colors) */
body.sng_page-template-sng-client-onboarding-template .sng-pricing-table,
.sng-no-pricing {
  margin: 10px 0 34px;
  padding: 40px 30px 30px;
  border: none;
  border-radius: 50px 0 100px 0;
  text-align: center;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  span.title,
body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  .sng-custom-short {
  display: block;
  margin: 0 0 18px;
  font-family: "Original Surfer", sans-serif;
  font-size: 33px;
  font-weight: 400;
  line-height: 36px;
  text-align: center;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  .sng-price,
body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  .sng-billing-interval,
body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  .sng-initial-price {
  display: block;
  margin: 0;
  padding: 0;
  font-family: "Original Surfer", sans-serif;
  font-size: 55px;
  font-style: normal;
  font-weight: 400;
  line-height: 55px;
  text-align: center;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  .sng-billing-interval:not(.sng-no-per-cleanup) {
  margin-top: 8px;
  font-size: 24px;
  line-height: 30px;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  .sng-interval {
  display: block;
  margin: 2px 0 0;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-pricing
  .sng-custom-long {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-pricing-table
  #sng-callout {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 14px 10px 22px;
  font-size: 15px;
  font-style: italic;
  font-weight: 400;
  line-height: 24px;
  text-align: center;
}

/* Initial cleanup box (Redux: initial estimate background) */
.sng-pricing-table #sng-initial-estimate {
  width: 100%;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 22px 26px 26px;
  box-sizing: border-box;
  border: none;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 400;
  text-align: left;
}

.sng-pricing-table #sng-initial-estimate .sng-initial-cleanup-message,
.sng-pricing-table #sng-initial-estimate .sng-custom-short {
  display: block;
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  text-transform: none;
}

.sng-pricing-table #sng-initial-estimate .sng-price-not-defined,
.sng-pricing-table #sng-initial-estimate .sng-custom-long,
.sng-pricing-table #sng-initial-estimate .sng-initial-price {
  display: block;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 400 !important;
  line-height: 24px;
}

.sng-pricing-table #sng-initial-estimate .sng-initial-price {
  text-align: center;
  font-weight: 700 !important;
}

/* Disclaimers */
.sng-pricing-table .sng-note {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 0 12px;
  font-size: 13px;
  font-style: normal;
  line-height: 18px;
  text-align: center;
}

.sng-pricing-table .sng-note.sng-tax-note {
  padding: 4px 0 0;
  font-size: 12px;
  line-height: 16px;
}

/* Coupon (Redux: coupon code border) */
#sng-coupon {
  margin: 6px 0 16px;
  padding: 14px 18px;
  border-radius: 20px 0 10px 0;
  text-align: center;
}

#sng-coupon h5 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}

/* Special promo (Redux: special promo background) */
.sng-special-promo {
  display: flex;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 0 0 14px;
  padding: 16px 20px;
  box-sizing: border-box;
  border: none;
  border-radius: 20px;
  text-align: left;
}

.sng-special-promo-input {
  display: flex;
  align-items: flex-start;
  padding-top: 3px;
}

.sng-promo {
  padding-left: 0;
}

.sng-promo .sng-promo-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}

.sng-promo .sng-promo-description {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
}

.sng-no-pricing {
  background: var(--e-global-color-hdlgrn0, #b1e36a);
}

.sng-no-pricing h3 {
  margin: 0 0 10px;
  font-family: "Original Surfer", sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 34px;
}

/* "Sign up" heading */
.sng-call-to-action h3 {
  margin: 34px 0 22px;
  font-family: "Original Surfer", sans-serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 36px;
}

/* Additional services (Redux: additional service background + price color) */
#sng-cross-sells-bottom,
#sng-cross-sells-top {
  margin: 0 0 24px;
  padding: 30px 20px 14px;
  border-radius: 20px;
}

#sng-cross-sells-top {
  margin-top: 6px;
}

.sng-cross-sells .sng-additional-services,
#sng-cross-sells-bottom .sng-additional-services {
  margin: 0 0 16px;
  font-family: "Original Surfer", sans-serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 36px;
  text-align: left;
}

.sng-cross-sells .sng-cross-sell {
  padding: 14px 0;
  border-bottom: 1px solid #ffc169;
  text-align: left;
}

.sng-cross-sells .sng-cross-sell:last-child {
  border-bottom: none;
}

.sng-cross-sells .sng-cross-sell div:first-child {
  grid-template-columns: 15px 1fr;
  column-gap: 8px;
}

.sng-cross-sells .sng-cross-sell div:first-child span:nth-child(2) {
  margin-left: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
}

.sng-cross-sells .sng-cross-sell div:first-child span.price {
  margin-left: 23px;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}

.sng-cross-sells .sng-cross-sell div:nth-child(2) {
  margin-left: 23px;
}

#client_onboarding_form
  .sng-cross-sells
  .sng-cross-sell
  div:nth-child(2)
  small.description,
.sng-cross-sells .sng-cross-sell div:nth-child(2) small.description {
  margin-top: 4px;
  font-size: 14px;
  line-height: 21px;
}

/* Lists inside notes */
body.sng_page-template-sng-client-onboarding-template .sng-note ul,
body.sng_page-template-sng-out-of-area-template .sng-note ul {
  margin: 0;
  padding-left: 15px;
}

body.sng_page-template-sng-client-onboarding-template .sng-note ul li,
body.sng_page-template-sng-out-of-area-template .sng-note ul li {
  margin-bottom: 12px;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 19px;
  text-align: left;
}

body.sng_page-template-sng-client-onboarding-template
  .sng-note
  ul
  li:last-child,
body.sng_page-template-sng-out-of-area-template .sng-note ul li:last-child {
  margin-bottom: 6px;
}

/* Terms of service */
#terms_of_service,
#sng_advertiser_privacy_policy {
  width: auto;
}

#client_onboarding_form #terms_of_service {
  display: inline-block;
  margin: 0 8px 0 0;
  vertical-align: middle;
}

#client_onboarding_form label[for="terms_of_service"] {
  display: inline-block !important;
  vertical-align: middle;
  padding: 0;
  font-size: 16px;
  line-height: 22px;
  text-decoration: none;
}

#client_onboarding_form label[for="terms_of_service"] a {
  color: var(--e-global-color-accent, #ffa31f) !important;
  text-decoration: none;
}

#client_onboarding_form label[for="terms_of_service"] a:hover {
  text-decoration: underline;
}

/* Submit buttons (Redux: submit button + text color) */
body.sng_page-template .sng-submit-button {
  display: block;
  width: 100%;
  min-height: 71px;
  margin-top: 12px;
  padding: 16px 20px;
  border: none;
  border-radius: 22px 0 56px 0;
  font-family: "Original Surfer", sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 36px;
  text-transform: none;
  cursor: pointer;
  transition: filter 0.2s ease;
}

body.sng_page-template .sng-submit-button:hover {
  filter: brightness(0.94);
}

.sng-privacy-policy-group {
  margin-top: 14px;
}

.sng-privacy-policy-group a.sng-privacy-policy-link {
  font-size: 14px;
  line-height: 20px;
  color: #646464;
  text-decoration: underline;
}

#sng_free_quote_disclaimer {
  margin: -6px 0 20px;
  font-size: 12px;
  line-height: 17px;
  color: #646464;
  text-align: center;
}

.sng-spinner img {
  border-radius: 0 !important;
}

@media only screen and (max-width: 767px) {
  body.sng_page-template-sng-client-onboarding-template .content-area,
  body.sng_page-template-sng-out-of-area-template .content-area {
    padding: 0px 20px 60px;
  }

  body.sng_page-template-sng-client-onboarding-template-php
    .content-area
    .type-sng-page,
  body.sng_page-template-sng-out-of-area-template .content-area .type-sng-page {
    padding: 60px 20px 50px;
    border-radius: 100px 0 80px 0;
  }

  body.sng_page-template-sng-client-onboarding-template-php
    .content-area
    .type-sng-page
    .page-header
    h1.entry-title,
  body.sng_page-template-sng-out-of-area-template
    .content-area
    .type-sng-page
    .page-header
    h1.entry-title {
    font-size: 34px;
    line-height: 40px;
  }

  body.sng_page-template-sng-client-onboarding-template .sng-pricing-table {
    padding: 34px 18px 24px;
    border-radius: 40px 0 70px 0;
  }

  body.sng_page-template-sng-client-onboarding-template
    .sng-pricing-table
    #sng-pricing
    span.title {
    font-size: 28px;
    line-height: 32px;
  }

  body.sng_page-template-sng-client-onboarding-template
    .sng-pricing-table
    #sng-pricing
    .sng-price {
    font-size: 46px;
    line-height: 48px;
  }

  .sng-pricing-table #sng-initial-estimate {
    padding: 20px 18px 22px;
  }

  .sng-call-to-action h3,
  .sng-cross-sells .sng-additional-services,
  #sng-cross-sells-bottom .sng-additional-services {
    font-size: 30px;
    line-height: 34px;
  }

  body.sng_page-template .sng-submit-button {
    font-size: 26px;
  }
}

/* Sweep&Go Thank You Pages */

body.sng_page-template-default.single.single-sng_page .content-layout .sidebar {
  display: none;
}

body.sng_page-template-default.single.single-sng_page
  .content-layout
  .main-content {
  background: transparent;
  padding: 0px;
}

body.sng_page-template-default.single.single-sng_page
  .content-layout
  .main-content
  article
  h1.entry-title {
  font-size: 80px;
  font-weight: bold;
  line-height: 1;
  margin-top: 53px;
  margin-bottom: 53px;
}

body.sng_page-template-default.single.single-sng_page
  .content-layout
  .main-content
  article
  .entry-content {
  max-width: 881px;
  width: 100%;
}

body.sng_page-template-default.single.single-sng_page footer {
  display: block;
}

/* Service Plans */
/* XD board: "Client Onboarding – Service Packages".
 * Markup + base layout come from Sweep&Go (service-plans-pricing-table.php + functions.js).
 * If "plugin styling" is enabled in Sweep&Go, its per-plan colours are overridden here by the ID selectors. */

#client_onboarding_form[data-form="service_plans"] #sng-cross-sells-bottom {
  display: none !important;
}

#client_onboarding_form[data-form="service_plans"] .sng-pricing-table {
  margin: 100px 0 30px; /* room for the white band, which starts 96px above the title */
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent !important;
  text-align: left;
}

#client_onboarding_form[data-form="service_plans"] .sng-choose-plan-title,
#client_onboarding_form[data-form="service_plans"] .sng-call-to-action h3 {
  margin: 0 0 30px;
  font-family: "Original Surfer", sans-serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 36px;
  text-align: left;
}

#client_onboarding_form[data-form="service_plans"] .sng-choose-plan-title {
  position: relative;
  z-index: 2;
}

#client_onboarding_form[data-form="service_plans"] .sng-call-to-action h3 {
  margin-top: 34px;
  margin-bottom: 22px;
}

#client_onboarding_form[data-form="service_plans"] #sng-cross-sells-top {
  padding: 30px 20px 14px;
}

/* White band: wider than the form card, centred on the form */
#client_onboarding_form .sng-service-plans-wrap {
  position: relative;
  width: 1310px;
  max-width: calc(100vw - 56px);
  min-height: 0;
  margin-left: 50%;
  margin-top: -96px; /* band starts above the "Choose your Service Plan" title */
  padding: 126px 0 34px;
  box-sizing: border-box;
  transform: translateX(-50%);
  background: #ffffff;
  border-radius: 100px 0 150px 0;
}

#client_onboarding_form .sng-service-plans-wrap #sng-service-plans-pricing {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 20px;
  padding: 0 28px;
}

/* Plan cards */
#client_onboarding_form .sng-service-plans-wrap .sng-service-plan {
  position: relative;
  flex: 1 1 0;
  min-height: 593px;
  gap: 0;
  padding: 0 30px 40px;
  box-sizing: border-box;
  overflow: hidden;
  background-color: var(--e-global-color-hdcream, #fff9ef);
  border: 2px solid transparent;
  color: #000000;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan.sng-service-plan-position-1 {
  border-radius: 0 100px 0 150px;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan.sng-service-plan-position-2 {
  flex-grow: 1.15;
  border-radius: 100px 0 150px 0;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan.sng-service-plan-position-3 {
  border-radius: 150px 0 150px 0;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan[data-featured="true"],
#client_onboarding_form .sng-service-plans-wrap .sng-service-plan.selected {
  background-color: #ddefb5;
}

#client_onboarding_form .sng-service-plans-wrap .sng-service-plan.selected {
  border-color: var(--e-global-color-secondary, #4b760e);
}

/* "Best choice" label */
#client_onboarding_form .sng-service-plans-wrap .sng-service-plan-featured {
  align-self: flex-end;
  min-height: 55px;
  margin: 0 -30px 0 0;
  padding: 15px 30px;
  box-sizing: border-box;
  background-color: #22260c;
  border-radius: 0 0 0 26px;
  color: #ffffff;
  font-family: "Outfit", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 25px;
  text-align: center;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-name {
  margin: 45px 0 6px;
  font-family: "Original Surfer", sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 46px;
  text-align: left;
  color: #000000;
}

/* "$69.00 per month" */
#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price,
#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price-interval {
  font-family: "Outfit", sans-serif;
  font-size: 20px;
  line-height: 48px;
  color: #000000;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price
  .sng-price,
#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price-interval
  .sng-price {
  font-size: 20px;
  font-weight: 400;
  line-height: 48px;
  color: #000000;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price
  .sng-interval,
#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price-interval
  .sng-interval {
  margin-left: 0;
  font-size: 20px;
  font-weight: 400;
  color: #000000;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price-interval {
  font-size: 16px;
  line-height: 24px;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price-interval
  .sng-price,
#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-price-interval
  .sng-interval {
  font-size: 16px;
  line-height: 24px;
  color: #646464;
}

#client_onboarding_form .sng-service-plans-wrap .sng-service-plan #sng-coupon {
  max-width: 100%;
  margin: 12px 0 0;
  padding: 12px 16px;
  border-radius: 20px 0 10px 0;
  font-size: 15px;
  line-height: 22px;
  text-align: left;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
  border-radius: 0px !important;
}

/* Select button */
#client_onboarding_form .sng-select-service-plan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 83px;
  margin-top: 18px;
  padding: 16px 20px;
  border: none;
  border-radius: 22px 0 56px 0;
  background-color: var(--e-global-color-accent, #ffa31f);
  color: #000;
  font-family: "Original Surfer", sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 36px;
  text-transform: none;
  cursor: pointer;
  transition: filter 0.2s ease;
}

#client_onboarding_form .sng-select-service-plan:hover {
  filter: brightness(0.94);
}

#client_onboarding_form .selected .sng-select-service-plan {
  background-color: var(--e-global-color-secondary, #4b760e);
  color: #ffffff;
}

#client_onboarding_form .selected .sng-select-service-plan .sng-check-icon {
  display: inline-block;
  width: auto;
  height: auto;
  background: none !important;
  -webkit-mask: none;
  mask: none;
}

#client_onboarding_form
  .selected
  .sng-select-service-plan
  .sng-check-icon::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-size: 22px;
  font-weight: 900;
  color: #e2f0be;
}

/* Frequency + feature list */
#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-frequency {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  text-transform: capitalize;
  color: #646464;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-callouts
  ul {
  margin: 0;
  padding: 6px 0 0;
  background: transparent;
  border-radius: 0;
  list-style-type: none;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-callouts
  ul
  li {
  display: flex;
  align-items: baseline;
  font-size: 16px;
  font-weight: 400;
  line-height: 40px;
  color: #646464;
}

#client_onboarding_form
  .sng-service-plans-wrap
  .sng-service-plan
  .sng-service-plan-callouts
  ul
  li:before {
  content: "\f00c";
  flex: 0 0 auto;
  padding-right: 12px;
  font-family: "Font Awesome 6 Free";
  font-size: 14px;
  font-weight: 900;
  color: var(--e-global-color-accent, #ffa31f);
}

#client_onboarding_form .sng-service-plans-disclaimer {
  align-self: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 24px 28px 0;
  background: transparent;
  color: #000000;
  font-size: 15px !important;
  font-style: italic;
  font-weight: 400;
  line-height: 24px;
  text-align: center;
}

#client_onboarding_form .sng-service-plans-disclaimer:empty {
  display: none;
}

/* SNG Pet Yard Tracker */

.sng-counter-icon {
  flex-direction: column;
  gap: 5px;
}

.sng-counter-icon .sng-counter-content {
  text-align: center;
}

.sng-counter-icon .sng-counter-content span {
  color: #ffffff;
  font-size: 70px !important;
  font-weight: bold;
}

.sng-counter-icon .sng-counter-content p {
  color: var(--e-global-color-text, #000000);
  font-size: 18px !important;
  font-weight: bold;
}

@media only screen and (max-width: 1024px) {
  .content-shrink {
    margin-left: 0px;
  }

  .header-phone-btn {
    width: 55px;
    height: 40px;
    padding: 0px !important;
    background-color: transparent;
    margin-right: 0px;
  }

  .header-phone-btn .elementor-icon {
    height: 40px;
    width: 40px;
  }

  .mobile-right-container {
    justify-content: flex-end;
  }

  .ekit_sidebar-widget-container .footer-contact-widget-container {
    gap: 20px;
    display: flex;
    flex-direction: column;
  }

  .ekit_sidebar-widget-container
    .footer-contact-widget-container
    .footer-contact-widget-call {
    gap: 20px;
    display: flex;
    flex-direction: column;
  }

  .ekit_sidebar-widget-container
    .footer-contact-widget-container
    .footer-widget-info {
    justify-content: flex-start;
    display: flex;
    color: #000;
    gap: 20px;
  }

  .ekit_sidebar-widget-container
    .footer-contact-widget-container
    .footer-widget-info
    i {
    margin-top: 6px;
  }

  .ekit_sidebar-widget-container
    .footer-contact-widget-container
    .footer-widget-info
    div
    span {
    display: none;
  }

  .ekit_sidebar-widget-container
    .footer-contact-widget-container
    .footer-widget-info
    a {
    color: #000;
  }

  .ekit_sidebar-widget-container .client-login-url {
    color: #fff;
    font-family: "Outfit", Sans-serif;
    font-weight: 500;
  }

  .ekit_sidebar-widget-container .social-icons-list {
    display: flex;
    gap: 30px;
  }

  .ekit_sidebar-widget-container .social-icons-list li {
    list-style-type: none;
    border-radius: 0px;
    text-align: center;
    transition: opacity 0.3s;
    cursor: pointer;
    background: transparent;
  }

  .ekit-widget-area-container .social-icons-list li a i {
    font-size: 31px;
  }

  .elementor-shortcode .sng-zip-code input {
    max-width: none;
  }

  .elementor-shortcode .sng-zip-code button {
    margin-left: 0px;
    margin-top: 0px;
  }

  footer .hfe-nav-menu li.menu-item {
    margin-bottom: 28px !important;
  }

  .elementor-button {
    width: 100%;
  }

  .sng-blog-posts-grid .post-item {
    padding: 20px;
  }

  .no-elementor-container {
    padding: 152px 20px 0px;
  }

  .no-elementor-container header.entry-header .page-breadcrumbs h1.entry-title {
    margin-top: 0px;
  }

  .content-layout {
    flex-direction: column;
    padding: 152px 20px 0px;
  }

  .sidebar {
    margin-top: 0px;
  }

  /* Client Onboarding – Service Plans (tablet + mobile: cards stack inside the form card) */
  #client_onboarding_form[data-form="service_plans"] .sng-pricing-table {
    margin-top: 10px;
  }

  #client_onboarding_form .sng-service-plans-wrap {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-top: 0;
    padding: 0;
    transform: none;
    background: transparent;
    border-radius: 0;
  }

  #client_onboarding_form .sng-service-plans-wrap #sng-service-plans-pricing {
    flex-direction: column;
    gap: 20px;
    padding: 0;
  }

  #client_onboarding_form .sng-service-plans-wrap .sng-service-plan {
    flex: 0 0 auto;
    min-height: 0;
    padding: 0 20px 30px;
  }

  #client_onboarding_form
    .sng-service-plans-wrap
    .sng-service-plan.sng-service-plan-position-1 {
    border-radius: 0 60px 0 80px;
  }

  #client_onboarding_form
    .sng-service-plans-wrap
    .sng-service-plan.sng-service-plan-position-2 {
    border-radius: 60px 0 80px 0;
  }

  #client_onboarding_form
    .sng-service-plans-wrap
    .sng-service-plan.sng-service-plan-position-3 {
    border-radius: 80px 0 80px 0;
  }

  #client_onboarding_form .sng-service-plans-wrap .sng-service-plan-featured {
    margin-right: -20px;
  }

  #client_onboarding_form
    .sng-service-plans-wrap
    .sng-service-plan
    .sng-service-plan-name {
    margin-top: 24px;
    font-size: 34px;
    line-height: 40px;
  }

  #client_onboarding_form
    .sng-service-plans-wrap
    .sng-service-plan
    .sng-service-plan-callouts
    ul
    li {
    margin-bottom: 10px;
    line-height: 22px;
  }

  #client_onboarding_form
    .sng-service-plans-wrap
    .sng-service-plan
    .sng-service-plan-callouts
    ul
    li:last-child {
    margin-bottom: 0;
  }

  #client_onboarding_form .sng-select-service-plan {
    min-height: 71px;
    font-size: 26px;
  }

  #client_onboarding_form .sng-service-plans-disclaimer {
    padding: 20px 0 0;
  }

  body.sng_page-template-sng-client-onboarding-template
    .content-area
    #content.type-sng-page,
  body.sng_page-template-sng-out-of-area-template
    .content-area
    #content.type-sng-page {
    padding: 50px 20px 20px;
    margin-left: 0px;
    margin-right: 0px;
  }

  body.sng_page-template-sng-client-onboarding-template-php
    .content-area
    .type-sng-page
    .page-header
    h1.entry-title,
  body.sng_page-template-sng-out-of-area-template
    .content-area
    .type-sng-page
    .page-header
    h1.entry-title,
  body.sng_page-template-sng-out-of-area-template
    .content-area
    #content.type-sng-page
    .page-header
    h1.entry-title {
    font-size: 26px;
    line-height: 36px;
    width: 100%;
  }
  .sng-top-callout {
    line-height: 19px;
    font-size: 16px;
  }

  body.sng_page-template-sng-client-onboarding-template
    .sng-pricing-table
    #sng-pricing
    span.title {
    font-size: 18px;
  }

  body.sng_page-template-sng-client-onboarding-template
    .sng-pricing-table
    #sng-pricing
    .sng-price,
  body.sng_page-template-sng-client-onboarding-template
    .sng-pricing-table
    #sng-pricing
    .sng-initial-price {
    font-size: 36px;
  }

  body.sng_page-template-sng-client-onboarding-template-php
    #client_onboarding_form
    label[for="sng_advertiser_privacy_policy"],
  body.sng_page-template-sng-out-of-area-template
    #sng_out_of_area_form
    label[for="sng_advertiser_privacy_policy"] {
    display: contents !important;
  }

  body.sng_page-template-default.single.single-sng_page
    .content-layout
    .main-content
    article
    h1.entry-title {
    font-size: 52px;
    line-height: 1.15;
  }

  body.sng_page-template-sng-client-onboarding-template-php
    .content-area
    iframe {
    width: 100%;
  }
}

@media only screen and (max-width: 414px) {
  .sng-zip-code .is-label-invalid {
    padding: 0px;
  }
  /* h1.elementor-heading-title {
    font-size: 38px;
  } */
}

@media only screen and (max-width: 395px) {
  .header-client-portal span.elementor-button-text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 375px) {
  .header-client-portal span.elementor-button-text {
    font-size: 11px;
    margin-right: 3px;
  }

  .header-popup-btn .elementor-button {
    padding: 3px 10px !important;
    font-size: 13px !important;
  }

  .header-phone-btn {
    height: 36px;
  }
  .header-phone-btn .elementor-icon {
    height: 36px;
    width: 36px;
    font-size: 16px !important;
  }
}

@media only screen and (max-width: 325px) {
  .header-client-portal span.elementor-button-text {
    margin-right: 0px;
  }
}

/* =========================================================
   HappyDog – Home page (XD: Home – Desktop / Home - iPhone)
   ========================================================= */

/* Page background: white with the paw/bone pattern on every page
   (client onboarding pages paint their own Theme Options background over .content-area) */
body {
  background-image: url("assets/img/background-pattern.svg");
  background-repeat: repeat;
  background-size: 736px auto;
}

/* Stacking for the overlapping sections (services photos sit over the About band, its photo over the map) */
.hd-z1,
.hd-z2,
.hd-z3 {
  position: relative;
}
.hd-z1 {
  z-index: 1;
}
.hd-z2 {
  z-index: 2;
}
.hd-z3 {
  z-index: 3;
}

/* Buttons: lift on hover (design hover state) */
.hd-btn .elementor-button {
  white-space: nowrap;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.hd-btn .elementor-button:hover {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
}

/* Zip checker: white box with grey outline (hero) or cream box (service area, CTA) */
.hd-zip .elementor-shortcode .sng-zip-code {
  max-width: 493px;
  min-height: 100px;
  align-items: center;
  padding: 5px 5px 5px 5px;
  background: #ffffff;
  border: 2px solid #d6d6d6;
  border-radius: 32px 0 66px 0;
}
.hd-zip--cream .elementor-shortcode .sng-zip-code {
  max-width: 470px;
  min-height: 103px;
  background: var(--e-global-color-hdcream, #fff9ef);
  border: none;
}
.hd-zip .elementor-shortcode .sng-zip-code input {
  max-width: none;
  flex: 1;
  border: none;
  background: transparent;
  font-family: "Outfit", sans-serif;
  font-size: 19px;
  color: #000000;
}
.hd-zip .elementor-shortcode .sng-zip-code input::placeholder {
  color: #000000;
  opacity: 1;
}
.hd-zip .elementor-shortcode .sng-zip-code button {
  width: auto;
  flex: 0 0 auto;
  padding: 26px 44px;
  border-radius: 22px 0 56px 0;
  font-family: "Original Surfer", sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 38px;
}

/* Testimonial cards: big decorative quote mark behind the text */
.hd-quote-card {
  position: relative;
  overflow: hidden;
}
.hd-quote-card > * {
  position: relative;
  z-index: 1;
}
.hd-quote-card::before {
  content: "\201C";
  position: absolute;
  left: 12px;
  top: 92px;
  font-family: "Outfit", sans-serif;
  font-size: 100px;
  font-weight: 700;
  line-height: 80px;
  color: #97c74e;
  pointer-events: none;
}
.hd-quote-card--peach::before {
  color: #f2c17b;
}

/* Service area map: 524px tall, same corner shape as the photos */
.hd-area-map,
.hd-area-map iframe {
  border-radius: 150px 0 100px 0;
  overflow: hidden;
}
.hd-area-map iframe {
  display: block;
  width: 100%;
  height: 524px;
  border: 0;
}

/* FAQ: solid sand-coloured rules between questions (overrides the dotted default) */
.hd-faq .elementor-toggle .elementor-tab-title {
  border-bottom: 2px solid #ebbb74 !important;
}
.hd-faq
  .elementor-toggle
  .elementor-toggle-item:first-child
  .elementor-tab-title {
  border-top: 2px solid #ebbb74;
}
.hd-faq .elementor-toggle .elementor-tab-content {
  border-bottom: 2px solid #ebbb74 !important;
}

/* News cards: cream card, photo on top, excerpt visible */
.hd-news .sng-blog-posts-grid .post-item {
  padding: 0;
  background: var(--e-global-color-hdcream, #fff9ef);
  border-radius: 50px 0 30px 0;
}
.hd-news .sng-blog-posts-grid .post-item img {
  width: 100%;
  height: 256px;
  object-fit: cover;
  border-radius: 50px 0 0 0 !important;
}
.hd-news .sng-blog-posts-grid .post-item .post-content {
  padding: 30px;
}
.hd-news .sng-blog-posts-grid .post-item .post-content p {
  display: block;
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  line-height: 30px;
  color: #646464;
}

@media (max-width: 767px) {
  .hd-zip .elementor-shortcode .sng-zip-code {
    min-height: 80px;
  }
  .hd-zip .elementor-shortcode .sng-zip-code input {
    font-size: 16px;
  }
  .hd-zip .elementor-shortcode .sng-zip-code button {
    padding: 18px 24px;
    font-size: 22px;
    line-height: 28px;
  }
  .hd-quote-card::before {
    top: 10px;
  }
  .hd-area-map,
  .hd-area-map iframe {
    border-radius: 80px 0 50px 0;
  }
  .hd-news .sng-blog-posts-grid .post-item img {
    height: 159px;
  }
}

/* =========================================================
   HappyDog – Commercial page: Free Consultation form (Ninja Forms #3)
   ========================================================= */
.hd-consult-form .nf-form-content {
  padding: 0;
  max-width: none;
}
.hd-consult-form .nf-field-container {
  margin-bottom: 18px;
}
.hd-consult-form .nf-field-label label {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #000000;
}
.hd-consult-form .nf-field-element input:not([type="submit"]),
.hd-consult-form .nf-field-element textarea {
  height: 60px;
  padding: 0 18px;
  background: #ffffff;
  border: 1px solid #e3e3e3;
  border-radius: 20px 0 10px 0;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
}
.hd-consult-form .nf-field-element textarea {
  height: 120px;
  padding-top: 14px;
}
.hd-consult-form .submit-container .nf-field-element {
  text-align: center;
}
.hd-consult-form .field-wrap input[type="submit"] {
  height: auto;
  padding: 16px 44px;
  background-color: var(--e-global-color-secondary, #4b760e);
  color: #ffffff;
  border: none;
  border-radius: 22px 0 56px 0;
  font-family: "Original Surfer", sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 38px;
  cursor: pointer;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.hd-consult-form .field-wrap input[type="submit"]:hover {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
}

/* =========================================================
   HappyDog – Location / About / Contact / FAQ / plain pages
   ========================================================= */

/* Location hero video: corner shape from the design */
.hd-video .elementor-wrapper {
  border-radius: 50px 0 100px 0;
  overflow: hidden;
}

/* Contact map */
.hd-round-map,
.hd-round-map iframe {
  border-radius: 150px 0 100px 0;
  overflow: hidden;
  display: block;
}

/* Contact info card links (phone / email in green) */
.hd-contact-info a {
  color: inherit !important;
  text-decoration: none;
}
.hd-contact-info a:hover {
  opacity: 0.75;
}
/* Same outlined social icons on the Contact page */
.hd-socials .social-icons-list li a i.fa-facebook,
.hd-socials .social-icons-list li a i.fa-facebook-f,
.hd-socials .social-icons-list li a i.fa-facebook-square,
.hd-socials .social-icons-list li a i.fa-instagram,
.hd-socials .social-icons-list li a i.fa-square-instagram,
.hd-socials .social-icons-list li a i.fa-yelp {
  display: block;
  width: 34px;
  height: 40px;
  background-color: currentColor;
  -webkit-mask: var(--hd-icon) center / contain no-repeat;
  mask: var(--hd-icon) center / contain no-repeat;
}

.hd-socials .social-icons-list li a i.fa-facebook::before,
.hd-socials .social-icons-list li a i.fa-facebook-f::before,
.hd-socials .social-icons-list li a i.fa-facebook-square::before,
.hd-socials .social-icons-list li a i.fa-instagram::before,
.hd-socials .social-icons-list li a i.fa-square-instagram::before,
.hd-socials .social-icons-list li a i.fa-yelp::before {
  content: none;
}

.hd-socials .social-icons-list i.fa-facebook,
.hd-socials .social-icons-list i.fa-facebook-f,
.hd-socials .social-icons-list i.fa-facebook-square {
  --hd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28.976' height='40.537' viewBox='0 0 28.976 40.537'%3E %3Cpath id='facebook-02-stroke-rounded' d='M7.277,18.057C5.393,18.057,5,18.427,5,20.2v3.211c0,1.771.393,2.141,2.277,2.141h4.554V38.4c0,1.771.393,2.141,2.277,2.141h4.554c1.884,0,2.277-.37,2.277-2.141V25.55h5.114c1.429,0,1.8-.261,2.19-1.553l.976-3.211c.672-2.213.258-2.729-2.19-2.729H20.94V12.7a2.212,2.212,0,0,1,2.277-2.141H29.7c1.884,0,2.277-.37,2.277-2.141V4.141C31.976,2.37,31.582,2,29.7,2H23.217C16.929,2,11.831,6.793,11.831,12.7v5.352Z' transform='translate(-4 -1)' fill='none' stroke='black' stroke-linejoin='round' stroke-width='2' fill-rule='evenodd'/%3E %3C/svg%3E");
}

.hd-socials .social-icons-list i.fa-instagram,
.hd-socials .social-icons-list i.fa-square-instagram {
  --hd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38.61' height='38.609' viewBox='0 0 38.61 38.609'%3E %3Cg id='instagram-stroke-rounded' transform='translate(1 1)'%3E %3Cpath id='Path_23' data-name='Path 23' d='M2.5,20.8c0-8.629,0-12.944,2.681-15.624S12.176,2.5,20.8,2.5s12.943,0,15.624,2.681,2.681,7,2.681,15.624,0,12.944-2.681,15.624-7,2.681-15.624,2.681-12.943,0-15.624-2.681S2.5,29.434,2.5,20.8Z' transform='translate(-2.5 -2.5)' fill='none' stroke='black' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath id='Path_24' data-name='Path 24' d='M24.841,16.171A8.671,8.671,0,1,1,16.171,7.5,8.671,8.671,0,0,1,24.841,16.171Z' transform='translate(2.134 2.134)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_25' data-name='Path 25' d='M17.516,6.5H17.5' transform='translate(11.401 1.207)' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3C/g%3E %3C/svg%3E");
}

.hd-socials .social-icons-list i.fa-yelp {
  --hd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32.768' height='40.37' viewBox='0 0 32.768 40.37'%3E %3Cg id='yelp-stroke-rounded' transform='translate(1 0.919)'%3E %3Cpath id='Path_26' data-name='Path 26' d='M4.232,13.883A15.157,15.157,0,0,0,4,16.531q0,.509.033,1.01c.1,1.544.153,2.316.9,2.826s1.6.227,3.309-.339l1.562-.519c3.788-1.258,5.682-1.887,5.752-3.158s-1.744-2.107-5.372-3.779l-1.5-.69c-1.633-.753-2.45-1.129-3.251-.705S4.5,12.362,4.232,13.883Z' transform='translate(-4 6.342)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_27' data-name='Path 27' d='M22.329,16.319l-.908.222c-4.295,1.047-6.442,1.571-7.2.52s.531-2.753,3.117-6.157l.542-.713C18.967,8.754,19.513,8.035,20.454,8s1.455.544,2.483,1.7a14.576,14.576,0,0,1,1.7,2.343c.769,1.319,1.153,1.978.78,2.8S24.139,15.878,22.329,16.319Z' transform='translate(5.268 3.561)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_28' data-name='Path 28' d='M21.591,22.9a15.323,15.323,0,0,0,1.12-1.7c.729-1.286,1.094-1.929.845-2.783-.009-.03-.023-.074-.033-.1-.293-.837-1.053-1.116-2.574-1.674-3.964-1.456-5.945-2.184-6.686-1.148q-.044.061-.083.126c-.663,1.1.553,2.992,2.984,6.776.933,1.452,1.4,2.178,2.2,2.24.029,0,.072,0,.1,0C20.268,24.643,20.709,24.062,21.591,22.9Z' transform='translate(5.268 10.049)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_29' data-name='Path 29' d='M15.707,23.855v-.574c0-4.511,0-6.767-1.127-7.213S12.2,17.382,9.7,20.9l-.32.45C8.36,22.8,7.848,23.52,8.04,24.425s.829,1.231,2.1,1.883a12.407,12.407,0,0,0,2.229.882c1.356.39,2.035.584,2.686.013S15.707,25.707,15.707,23.855Z' transform='translate(-0.293 10.976)' fill='none' stroke='black' stroke-width='2'/%3E %3Cpath id='Path_30' data-name='Path 30' d='M17.561,5.626v5.169c0,5.419,0,8.129-1.5,8.507s-3.03-1.946-6.094-6.593L7.219,8.539c-.937-1.42-1.4-2.131-1.151-2.914s.977-1.106,2.422-1.751A22.92,22.92,0,0,1,13.5,2.3c1.7-.325,2.546-.488,3.3.071S17.561,3.826,17.561,5.626Z' transform='translate(-2.147 -2)' fill='none' stroke='black' stroke-width='2'/%3E %3C/g%3E %3C/svg%3E");
}

.hd-socials .social-icons-list li a:hover i {
  opacity: 0.7;
}

.hd-socials .social-icons-list {
  display: flex;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Contact form: Send button on the right */
.hd-form-submit-right .submit-container .nf-field-element {
  text-align: right;
}

/* FAQ page toggle: no rules between questions */
.hd-faq-plain .elementor-toggle .elementor-tab-title,
.hd-faq-plain .elementor-toggle .elementor-tab-content {
  border: none !important;
}

/* Plain WordPress pages (Privacy Policy, Terms…): title, cream content box, pale-green "Explore" sidebar */
.no-elementor-container {
  padding: 165px 38px 0;
}
.no-elementor-container header.entry-header .page-breadcrumbs h1.entry-title {
  margin: 0 0 30px;
  font-family: "Original Surfer", sans-serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 100px;
  letter-spacing: -4px;
  color: #000000;
}
.hd-simple-page {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 31px;
}
.hd-simple-page .content-sidebar {
  flex: 0 1 850px;
  max-width: 850px;
  padding: 50px 30px;
  background: var(--e-global-color-hdcream, #fff9ef);
  border-radius: 100px 0 50px 0;
}
.hd-simple-page .entry-content {
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  line-height: 28.9px;
  color: #646464;
}
.hd-simple-sidebar {
  flex: 0 0 409px;
  padding: 60px 30px 40px;
  background: #ddefb5;
  border-radius: 0 100px 0 50px;
}
.hd-simple-sidebar__title {
  margin: 0 0 24px;
  font-family: "Original Surfer", sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 46px;
  letter-spacing: -1.6px;
  color: #1a1a1d;
}
.hd-simple-sidebar__menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.hd-simple-sidebar__menu li + li {
  margin-top: 26px;
}
.hd-simple-sidebar__menu a {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 25px;
  letter-spacing: 0.64px;
  color: #000000;
  text-decoration: none;
}
.hd-simple-sidebar__menu a:hover,
.hd-simple-sidebar__menu .current-menu-item > a {
  color: var(--e-global-color-primary, #7db82a);
}

@media (max-width: 1024px) {
  .hd-simple-page {
    flex-direction: column;
  }
  .hd-simple-page .content-sidebar,
  .hd-simple-sidebar {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 767px) {
  .no-elementor-container {
    padding: 160px 20px 0;
  }
  .no-elementor-container header.entry-header .page-breadcrumbs h1.entry-title {
    font-size: 60px;
    line-height: 60px;
    letter-spacing: -2.4px;
  }
  .hd-simple-page .content-sidebar {
    padding: 36px 20px;
    border-radius: 50px 0 30px 0;
  }
  .hd-simple-sidebar {
    padding: 36px 20px;
    border-radius: 0 50px 0 30px;
  }
  .hd-video .elementor-wrapper {
    border-radius: 30px 0 50px 0;
  }
  .hd-round-map,
  .hd-round-map iframe {
    border-radius: 80px 0 50px 0;
  }
}

/* =========================================================
   HappyDog – Recent News & Articles ([happydog_news] shortcode)
   ========================================================= */
.hd-archive-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 444px;
  overflow: hidden;
  background: var(--e-global-color-hdcream, #fff9ef);
  border-radius: 100px 0 50px 0;
}
.hd-archive-featured__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 444px;
  object-fit: cover;
}
.hd-archive-featured__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 40px 60px 58px;
}
.hd-archive-meta {
  display: flex;
  gap: 40px;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  line-height: 36px;
  color: var(--e-global-color-primary, #7db82a);
}
.hd-archive-featured__title {
  margin: 0 0 16px;
  font-family: "Outfit", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 46px;
  letter-spacing: 0;
}
.hd-archive-featured__title a,
.hd-archive-card__title a {
  color: #1a1a1d;
  text-decoration: none;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0 !important;
}
.hd-archive-featured__title a:hover,
.hd-archive-card__title a:hover {
  color: var(--e-global-color-secondary, #4b760e);
}
.hd-archive-excerpt {
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  line-height: 30px;
  color: #646464;
}
.hd-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 31px;
  margin-top: 50px;
}
.hd-archive-card {
  overflow: hidden;
  background: var(--e-global-color-hdcream, #fff9ef);
  border-radius: 47px 0 59px 0;
}
.hd-archive-card__image img {
  display: block;
  width: 100%;
  height: 256px;
  object-fit: cover;
  border-radius: 47px 0 0 0;
  transition: transform 0.3s ease;
}
.hd-archive-card:hover .hd-archive-card__image img {
  transform: scale(1.03);
}
.hd-archive-card__body {
  padding: 30px 30px 40px;
}
.hd-archive-card__title {
  margin: 0 0 16px;
  font-family: "Outfit", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 35px;
  letter-spacing: 0;
}
.hd-archive-more {
  margin-top: 50px;
  text-align: center;
}
.hd-archive-more__button {
  display: inline-block;
  padding: 14px 40px;
  background: var(--e-global-color-primary, #7db82a);
  color: #ffffff;
  border-radius: 17px 0 34px 0;
  font-family: "Original Surfer", sans-serif;
  font-size: 28px;
  line-height: 38px;
  text-decoration: none;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.hd-archive-more__button:hover {
  color: #ffffff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
}
@media (max-width: 1024px) {
  .hd-archive-featured {
    grid-template-columns: 1fr;
  }
  .hd-archive-featured__image img {
    min-height: 0;
    height: 320px;
  }
  .hd-archive-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .hd-archive-featured {
    border-radius: 50px 0 30px 0;
  }
  .hd-archive-featured__body {
    padding: 30px 20px;
  }
  .hd-archive-featured__title {
    font-size: 28px;
    line-height: 34px;
  }
  .hd-archive-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 30px;
  }
  .hd-archive-card__image img {
    height: 200px;
  }
  .hd-archive-card__body {
    padding: 24px 20px 30px;
  }
  .hd-archive-more__button {
    font-size: 22px;
    padding: 12px 28px;
  }
}
