/*
 * Exact local-site measurements inside Astra/Gutenberg.
 * Scoped to imported pages so ordinary WordPress posts remain untouched.
 */
body.purrfect-has-site .purrfect-page,
body.purrfect-has-site header.site-header:not(#masthead),
body.purrfect-has-site footer.site-footer:not(#colophon) {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

/* Gentle cursor-like portrait lift and balanced pastel bubbles. */
body.purrfect-has-site .purrfect-page .about-arch-photo.scout {
	transition: transform .45s cubic-bezier(.2,.75,.25,1), box-shadow .45s ease !important;
	will-change: transform;
}
body.purrfect-has-site .purrfect-page .about-arch-photo.scout:hover {
	transform: translateY(-10px) scale(1.018) rotate(.4deg) !important;
	box-shadow: 0 30px 70px rgba(73,45,67,.2), 0 0 0 10px rgba(255,252,240,.5) !important;
}
body.purrfect-has-site .purrfect-page { position: relative; isolation: isolate; overflow: clip; }
body.purrfect-has-site .purrfect-page::before,
body.purrfect-has-site .purrfect-page::after {
	content: ""; position: absolute; display: block; width: clamp(90px,12vw,180px); height: clamp(90px,12vw,180px);
	border-radius: 50%; pointer-events: none; z-index: -1; top: 15%; left: -3%;
	background: rgba(247,141,167,.13); filter: blur(1px); animation: purrfect-bubble-drift 12s ease-in-out infinite alternate;
}
body.purrfect-has-site .purrfect-page::after { top: auto; left: auto; right: -4%; bottom: 8%; width: clamp(110px,14vw,210px); height: clamp(110px,14vw,210px); background: rgba(190,224,180,.16); animation-delay: -5s; }
@keyframes purrfect-bubble-drift { 0% { transform: translate3d(0,0,0) scale(1); } 100% { transform: translate3d(24px,-18px,0) scale(1.08); } }
@media (prefers-reduced-motion: reduce) {
	body.purrfect-has-site .purrfect-page::before, body.purrfect-has-site .purrfect-page::after { animation: none !important; }
}

/* Logo-inspired continuous canvas with balanced pastel bubble accents. */
body.purrfect-has-site {
	background-color: #fff5f2 !important;
	background-image:
		radial-gradient(circle at 7% 14%, rgba(247,141,167,.24) 0 72px, transparent 74px),
		radial-gradient(circle at 93% 22%, rgba(226,239,218,.42) 0 105px, transparent 108px),
		radial-gradient(circle at 12% 83%, rgba(215,232,246,.38) 0 88px, transparent 91px),
		radial-gradient(circle at 88% 88%, rgba(255,224,195,.42) 0 125px, transparent 128px),
		radial-gradient(ellipse at 50% 45%, rgba(255,245,242,.94), rgba(255,245,242,.94)) !important;
	background-attachment: fixed !important;
}
body.purrfect-has-site .purrfect-page,
body.purrfect-has-site .purrfect-page :is(.section, .page-hero, .hero, .soft, .map-section, .trust-section, .final-cta, .about-lessons) {
	background: transparent !important;
	background-color: transparent !important;
}
body.purrfect-has-site .purrfect-page::before,
body.purrfect-has-site .purrfect-page::after {
	z-index: 0 !important;
	opacity: .9;
}
body.purrfect-has-site .purrfect-page > * { position: relative; z-index: 1; }
body.purrfect-has-site .purrfect-page::before {
	top: 9%; left: -5%;
	box-shadow: 56vw 14vh 0 16px rgba(255,224,195,.20), 78vw 55vh 0 28px rgba(215,232,246,.19);
}
body.purrfect-has-site .purrfect-page::after {
	right: -6%; bottom: 7%;
	box-shadow: -48vw -26vh 0 20px rgba(247,141,167,.15), -18vw 12vh 0 12px rgba(226,239,218,.19);
}
@media (max-width: 760px) {
	body.purrfect-has-site .purrfect-page::before { box-shadow: 54vw 17vh 0 10px rgba(255,224,195,.18), 66vw 52vh 0 14px rgba(215,232,246,.17); }
	body.purrfect-has-site .purrfect-page::after { box-shadow: -42vw -22vh 0 12px rgba(247,141,167,.14), -14vw 14vh 0 8px rgba(226,239,218,.18); }
}

/* Match all content photos to the rounded Home hero treatment. */
body.purrfect-has-site .purrfect-page figure.wp-block-image img,
body.purrfect-has-site .purrfect-page .image-frame img,
body.purrfect-has-site .purrfect-page .hero-image img,
body.purrfect-has-site .purrfect-page .portrait img {
	border-radius: 28px;
	box-shadow: 0 18px 48px rgba(73,45,67,.14), 0 0 0 7px rgba(255,252,240,.58);
	transition: transform .45s ease, box-shadow .45s ease;
}
body.purrfect-has-site .purrfect-page figure.wp-block-image:hover img,
body.purrfect-has-site .purrfect-page .image-frame:hover img,
body.purrfect-has-site .purrfect-page .hero-image:hover img,
body.purrfect-has-site .purrfect-page .portrait:hover img {
	transform: scale(1.018);
	box-shadow: 0 26px 62px rgba(73,45,67,.2), 0 0 0 8px rgba(255,252,240,.68);
}
@media (prefers-reduced-motion: reduce) {
	body.purrfect-has-site .purrfect-page figure.wp-block-image img,
	body.purrfect-has-site .purrfect-page .image-frame img,
	body.purrfect-has-site .purrfect-page .hero-image img,
	body.purrfect-has-site .purrfect-page .portrait img { transition: none !important; }
}

body.purrfect-has-site .purrfect-page {
  margin: 0 !important;
}

body.purrfect-has-site header.site-header:not(#masthead) {
  margin: 0 !important;
}

body.purrfect-has-site footer.site-footer:not(#colophon) {
  margin: 80px 0 0 !important;
}

/* Gutenberg flow layout adds a default block gap above every child. The local
   site controls these spaces itself. Keep this low-specificity so intentional
   component margins such as button-row and section-title still win. */
body.purrfect-has-site .purrfect-page :where(.is-layout-flow) > *,
body.purrfect-has-site header.site-header:not(#masthead) :where(.is-layout-flow) > *,
body.purrfect-has-site footer.site-footer:not(#colophon) :where(.is-layout-flow) > * {
  margin-block-start: 0;
}

body.purrfect-has-site .purrfect-page h1 {
  margin: 0 0 24px !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: clamp(2.45rem, 4.8vw, 4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
}

body.purrfect-has-site .purrfect-page h2 {
  margin: 0 0 20px !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

body.purrfect-has-site .purrfect-page h3 {
  margin: 0 0 12px !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: clamp(1.3rem, 2vw, 1.6rem) !important;
  line-height: 1.28 !important;
  letter-spacing: -.015em !important;
}

body.purrfect-has-site .purrfect-page h4 {
  margin-top: 0 !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: 1.12rem !important;
}

body.purrfect-has-site .purrfect-page p {
  margin-top: 0;
}

body.purrfect-has-site .purrfect-page .eyebrow {
  margin: 0 0 16px;
}

body.purrfect-has-site .purrfect-page .price-card .eyebrow,
body.purrfect-has-site .purrfect-page .card p,
body.purrfect-has-site .purrfect-page .steps p,
body.purrfect-has-site .purrfect-page .price-card p {
  margin-bottom: 0;
}

body.purrfect-has-site .purrfect-page .peace-line {
  margin: -4px 0 18px !important;
}

body.purrfect-has-site .purrfect-page .lead {
  margin-top: 0 !important;
}

body.purrfect-has-site .purrfect-page .section-title {
  margin: 0 auto 64px !important;
}

body.purrfect-has-site .purrfect-page .wp-block-buttons.button-row {
  width: auto !important;
  margin: 30px 0 0 !important;
  gap: 14px !important;
}

/* WordPress reconstructs Button blocks without the local .button class. */
body.purrfect-has-site header.site-header:not(#masthead) .wp-block-button__link,
body.purrfect-has-site .purrfect-page .wp-block-button__link,
body.purrfect-has-site footer.site-footer:not(#colophon) .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 13px 27px !important;
  border: 1px solid var(--peace-coral) !important;
  border-radius: 999px !important;
  background: var(--peace-coral) !important;
  color: var(--ink) !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 23.8px !important;
  letter-spacing: .02em !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  box-shadow: 0 10px 25px rgba(125,79,82,.18), inset 0 1px rgba(255,255,255,.32) !important;
  transition: transform .2s, background .2s, box-shadow .2s !important;
}

body.purrfect-has-site .purrfect-page .price-card .wp-block-button__link {
  margin-top: 22px !important;
}

body.purrfect-has-site header.site-header:not(#masthead) .wp-block-button__link:hover,
body.purrfect-has-site .purrfect-page .wp-block-button__link:hover,
body.purrfect-has-site footer.site-footer:not(#colophon) .wp-block-button__link:hover {
  background: var(--peace-coral-dark) !important;
  border-color: var(--peace-coral-dark) !important;
  color: var(--ink) !important;
  transform: translateY(-3px) scale(1.01) !important;
  box-shadow: 0 16px 35px rgba(181,77,81,.25) !important;
}

/* Unified editable button palette: solid pink with a dusty-pink hover. */
body.purrfect-has-site header.site-header:not(#masthead) .wp-block-button__link,
body.purrfect-has-site .purrfect-page .wp-block-button__link,
body.purrfect-has-site footer.site-footer:not(#colophon) .wp-block-button__link,
body.purrfect-has-site .purrfect-page .request-form .button {
  background: #f78da7 !important;
  border-color: #f78da7 !important;
  color: var(--ink) !important;
}

body.purrfect-has-site header.site-header:not(#masthead) .wp-block-button__link:hover,
body.purrfect-has-site .purrfect-page .wp-block-button__link:hover,
body.purrfect-has-site footer.site-footer:not(#colophon) .wp-block-button__link:hover,
body.purrfect-has-site .purrfect-page .request-form .button:hover {
  background: #c78c8c !important;
  border-color: #c78c8c !important;
  color: var(--ink) !important;
}

/* Clear and trustworthy: editable native card layout with a softer, illustrated feel. */
body.purrfect-has-site .purrfect-page .trust-section {
  position: relative;
  overflow: hidden;
  padding-block: clamp(82px, 9vw, 126px) !important;
  background:
    radial-gradient(circle at 7% 12%, rgba(247,141,167,.14) 0 4px, transparent 5px),
    radial-gradient(circle at 93% 78%, rgba(176,138,62,.11) 0 7px, transparent 8px),
    linear-gradient(135deg, #fffaf4 0%, #fffcf0 52%, #fff8f5 100%);
}

body.purrfect-has-site .purrfect-page .trust-section::before,
body.purrfect-has-site .purrfect-page .trust-section::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  pointer-events: none;
}

body.purrfect-has-site .purrfect-page .trust-section::before {
  top: -150px;
  left: -85px;
  background: rgba(255,224,216,.64);
  box-shadow: 76px 50px 0 rgba(255,244,226,.72);
}

body.purrfect-has-site .purrfect-page .trust-section::after {
  right: -118px;
  bottom: -152px;
  background: rgba(230,238,215,.68);
  box-shadow: -48px -54px 0 rgba(255,236,230,.6);
}

body.purrfect-has-site .purrfect-page .trust-section > .container {
  position: relative;
  z-index: 1;
  max-width: 1240px !important;
}

body.purrfect-has-site .purrfect-page .trust-section .section-title {
  max-width: 980px !important;
  margin-bottom: 48px !important;
}

body.purrfect-has-site .purrfect-page .trust-section h2 {
  margin-bottom: 0 !important;
  color: #172b4d !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.2rem, 4.2vw, 3.55rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.035em !important;
}

body.purrfect-has-site .purrfect-page .trust-section h2 em {
  color: #f78da7 !important;
  font-weight: 400 !important;
}

body.purrfect-has-site .purrfect-page .trust-section h2::after {
  content: "";
  display: block;
  margin-top: 17px;
  color: #f78da7;
  font-family: "Material Symbols Outlined";
  font-size: 31px;
  line-height: 1;
}

body.purrfect-has-site .purrfect-page .trust-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

body.purrfect-has-site .purrfect-page .trust-grid > div {
  display: flex !important;
  min-height: 282px !important;
  align-items: stretch !important;
  justify-content: center !important;
  padding: 28px !important;
  overflow: hidden;
  border: 1px solid rgba(70,54,47,.08) !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 18px 46px rgba(78,57,48,.09) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

body.purrfect-has-site .purrfect-page .trust-grid > div::before {
  display: none !important;
}

body.purrfect-has-site .purrfect-page .trust-grid > div:hover {
  transform: translateY(-7px) !important;
  border-color: rgba(247,141,167,.42) !important;
  box-shadow: 0 28px 60px rgba(78,57,48,.15) !important;
}

body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text {
  width: 100%;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  text-align: center;
}

body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text__icon {
  display: grid;
  width: 108px;
  height: 108px;
  place-items: center;
  margin: 0 auto;
  border-radius: 38px;
  font-size: 48px;
  line-height: 1;
  transition: transform .28s ease;
}

body.purrfect-has-site .purrfect-page .trust-grid > div:hover .purrfect-icon-text__icon {
  transform: translateY(-4px) scale(1.06) rotate(-2deg);
}

body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text__label {
  display: flex;
  position: relative;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  max-width: 245px;
  margin: 0 auto;
  color: var(--ink) !important;
  font-size: clamp(1.03rem, 1.55vw, 1.28rem);
  line-height: 1.42;
}

body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text__label::after {
  content: "";
  position: absolute;
  bottom: -20px;
  width: 38px;
  height: 4px;
  border-radius: 99px;
  background: #f7b3c3;
}

body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(1) .purrfect-icon-text__icon { background: #ffe7ed; color: #e76e9a; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(2) .purrfect-icon-text__icon { background: #fff1cb; color: #cb9734; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(3) .purrfect-icon-text__icon { background: #e8f0e4; color: #6b9168; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(4) .purrfect-icon-text__icon { background: #e5f2f7; color: #5e91ae; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(5) .purrfect-icon-text__icon { background: #f1e5f6; color: #9567ac; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(6) .purrfect-icon-text__icon { background: #ffe9e1; color: #cf806e; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(2) .purrfect-icon-text__label::after { background: #f2c762; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(3) .purrfect-icon-text__label::after { background: #bdd786; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(4) .purrfect-icon-text__label::after { background: #a9d2e4; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(5) .purrfect-icon-text__label::after { background: #dbb9ed; }
body.purrfect-has-site .purrfect-page .trust-grid > div:nth-child(6) .purrfect-icon-text__label::after { background: #f2bda9; }

@media (max-width: 760px) {
  body.purrfect-has-site .purrfect-page .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body.purrfect-has-site .purrfect-page .trust-grid > div {
    min-height: 224px !important;
    padding: 20px 14px !important;
    border-radius: 24px !important;
  }

  body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text__icon {
    width: 78px;
    height: 78px;
    border-radius: 28px;
    font-size: 35px;
  }

  body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text__label {
    min-height: 48px;
    font-size: .97rem;
  }
}

@media (max-width: 460px) {
  body.purrfect-has-site .purrfect-page .trust-grid {
    grid-template-columns: 1fr !important;
  }
}

body.purrfect-has-site header.site-header:not(#masthead) a,
body.purrfect-has-site .purrfect-page a,
body.purrfect-has-site footer.site-footer:not(#colophon) a {
  text-decoration: none !important;
}

/* Restore the exact 320px repeating trust items. */
body.purrfect-has-site .purrfect-page .trust-track-group {
  width: 1280px !important;
  min-width: 1280px !important;
  height: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item {
  flex: 0 0 320px !important;
  width: 320px !important;
  min-width: 320px !important;
  max-width: none !important;
  min-height: 92px !important;
  height: 92px !important;
  margin: 0 !important;
  padding: 20px 28px !important;
  gap: 12px !important;
  font-size: 14px !important;
  line-height: 23.8px !important;
  white-space: nowrap !important;
}

body.purrfect-has-site .purrfect-page .trust-marquee,
body.purrfect-has-site .purrfect-page .trust-track {
  height: 92px !important;
}

/* Seamless marquee: matching duplicate groups make the animation continuous
   with even spacing and no blank interval at the loop point. */
body.purrfect-has-site .purrfect-page .trust-track {
  animation: trust-marquee 22s linear infinite !important;
}
body.purrfect-has-site .purrfect-page .trust-track-group {
  width: max-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item {
  flex: 0 0 320px !important;
  width: 320px !important;
}
@media (max-width: 820px) {
  body.purrfect-has-site .purrfect-page .trust-track-group {
    width: max-content !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }
  body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item {
    flex-basis: 275px !important;
    width: 275px !important;
  }
}

/* Dedicated editable map block: same public layout, no Custom HTML block. */
body.purrfect-has-site .purrfect-page .purrfect-map-block {
  width: 100% !important;
  min-width: 0 !important;
  height: clamp(320px, 38vw, var(--purrfect-map-height, 430px)) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: var(--radius) !important;
}

body.purrfect-has-site .purrfect-page .purrfect-map-block iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  body.purrfect-has-site .purrfect-page h1 {
    font-size: clamp(2.15rem, 10vw, 3rem) !important;
  }

  body.purrfect-has-site .purrfect-page h2 {
    font-size: clamp(1.75rem, 8vw, 2.3rem) !important;
  }

  body.purrfect-has-site .purrfect-page h3 {
    font-size: 1.28rem !important;
  }

  body.purrfect-has-site footer.site-footer:not(#colophon) {
    margin-top: 40px !important;
  }

  body.purrfect-has-site .purrfect-page .section-title {
    margin-bottom: 38px !important;
  }

  body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item {
    flex-basis: 250px !important;
    width: 250px !important;
    min-width: 250px !important;
    min-height: 76px !important;
    height: 76px !important;
    padding: 16px !important;
    font-size: 13px !important;
  }

  body.purrfect-has-site .purrfect-page .trust-track-group {
    width: 1000px !important;
    min-width: 1000px !important;
    height: 76px !important;
  }

  body.purrfect-has-site .purrfect-page .trust-marquee,
  body.purrfect-has-site .purrfect-page .trust-track {
    height: 76px !important;
  }
}

/*
 * Site-wide soft pastel collection (v6.7).
 * This layer is deliberately scoped to the imported website so Astra, blog
 * posts, and other WordPress content keep their own design settings.
 */
body.purrfect-has-site {
  --purrfect-pink: #f78da7;
  --purrfect-pink-hover: #c78c8c;
  --purrfect-cream: #fffcf0;
  --purrfect-cream-deep: #fff5df;
  --purrfect-green: #e8f1df;
  --purrfect-blue: #e5f2f7;
  --purrfect-orange: #ffeadc;
  --purrfect-card: rgba(255, 255, 255, .84);
  --purrfect-pastel-line: rgba(96, 77, 68, .11);
  background:
    radial-gradient(circle at 8% 16%, rgba(247, 141, 167, .10), transparent 24%),
    radial-gradient(circle at 92% 36%, rgba(172, 207, 180, .18), transparent 27%),
    linear-gradient(135deg, var(--purrfect-cream), #fff9f3 48%, #f8fbf2);
}

body.purrfect-has-site header.site-header:not(#masthead) {
  background: rgba(255, 252, 240, .94) !important;
  border-bottom-color: rgba(247, 141, 167, .17) !important;
  box-shadow: 0 8px 30px rgba(88, 66, 57, .045) !important;
}

body.purrfect-has-site .purrfect-page > section.section {
  background: var(--purrfect-cream) !important;
}

body.purrfect-has-site .purrfect-page > section.section:nth-of-type(4n + 1) {
  background: linear-gradient(135deg, #fffaf2, var(--purrfect-orange)) !important;
}

body.purrfect-has-site .purrfect-page > section.section:nth-of-type(4n + 2) {
  background: linear-gradient(135deg, var(--purrfect-cream), var(--purrfect-green)) !important;
}

body.purrfect-has-site .purrfect-page > section.section:nth-of-type(4n + 3) {
  background: linear-gradient(135deg, #fffaf5, var(--purrfect-blue)) !important;
}

body.purrfect-has-site .purrfect-page > section.section:nth-of-type(4n) {
  background: linear-gradient(135deg, #fff8f5, #fdeaf0) !important;
}

body.purrfect-has-site .purrfect-page > section.page-hero,
body.purrfect-has-site .purrfect-page > section.hero {
  background:
    radial-gradient(circle at 86% 18%, rgba(229, 242, 247, .88), transparent 34%),
    radial-gradient(circle at 12% 88%, rgba(255, 234, 220, .78), transparent 31%),
    linear-gradient(135deg, var(--purrfect-cream), #fff9f3 48%, var(--purrfect-green)) !important;
}

body.purrfect-has-site .purrfect-page > section.soft {
  background: linear-gradient(135deg, var(--purrfect-green), #fbfff7 53%, var(--purrfect-cream)) !important;
}

body.purrfect-has-site .purrfect-page > section.map-section {
  background: linear-gradient(135deg, var(--purrfect-blue), #f8fcfd 52%, var(--purrfect-cream)) !important;
}

body.purrfect-has-site .purrfect-page > section.final-cta {
  background: linear-gradient(120deg, #fde7ed, var(--purrfect-orange) 50%, var(--purrfect-cream)) !important;
}

/* Pink is the single action and highlighted-word colour across all pages. */
body.purrfect-has-site .purrfect-page :is(.accent-text, .peace-line span, .price, h1 em, h2 em, h3 em),
body.purrfect-has-site .purrfect-page .eyebrow,
body.purrfect-has-site .purrfect-page .about-numbered-list article > .purrfect-inline-item {
  color: var(--purrfect-pink) !important;
}

body.purrfect-has-site .purrfect-page .eyebrow {
  border-color: rgba(247, 141, 167, .32) !important;
  background: rgba(255, 252, 240, .84) !important;
  box-shadow: 0 8px 24px rgba(91, 67, 58, .05), inset 0 1px rgba(255, 255, 255, .9) !important;
}

body.purrfect-has-site .purrfect-page .eyebrow::before {
  background: var(--purrfect-pink) !important;
  box-shadow: 0 0 0 5px rgba(247, 141, 167, .12), 0 0 14px rgba(247, 141, 167, .34) !important;
}

/* Pastel strips remain simple Groups and Icon + Text blocks in List View. */
body.purrfect-has-site .purrfect-page .trust-bar .container.trust-marquee {
  border: 1px solid rgba(247, 141, 167, .16) !important;
  background: linear-gradient(100deg, #f9c8d4 0%, var(--purrfect-orange) 27%, var(--purrfect-blue) 53%, var(--purrfect-green) 76%, #f9c8d4 100%) !important;
  box-shadow: 0 18px 44px rgba(93, 68, 59, .10), inset 0 1px rgba(255, 255, 255, .75) !important;
}

body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item,
body.purrfect-has-site .purrfect-page .trust-track-group .purrfect-icon-text {
  color: var(--ink) !important;
}

body.purrfect-has-site .purrfect-page .services-jump > .purrfect-inline-link:nth-child(4n + 1) > a { background: #fde7ed !important; }
body.purrfect-has-site .purrfect-page .services-jump > .purrfect-inline-link:nth-child(4n + 2) > a { background: var(--purrfect-green) !important; }
body.purrfect-has-site .purrfect-page .services-jump > .purrfect-inline-link:nth-child(4n + 3) > a { background: var(--purrfect-blue) !important; }
body.purrfect-has-site .purrfect-page .services-jump > .purrfect-inline-link:nth-child(4n) > a { background: var(--purrfect-orange) !important; }

/* Soft multicolour surfaces, without changing any editable card content. */
body.purrfect-has-site .purrfect-page :is(.card-grid, .steps, .service-values-grid) > :nth-child(4n + 1),
body.purrfect-has-site .purrfect-page .pricing-grid > :nth-child(4n + 1) {
  background: linear-gradient(145deg, rgba(255, 255, 255, .90), #fdecef) !important;
}

body.purrfect-has-site .purrfect-page :is(.card-grid, .steps, .service-values-grid) > :nth-child(4n + 2),
body.purrfect-has-site .purrfect-page .pricing-grid > :nth-child(4n + 2) {
  background: linear-gradient(145deg, rgba(255, 255, 255, .90), var(--purrfect-green)) !important;
}

body.purrfect-has-site .purrfect-page :is(.card-grid, .steps, .service-values-grid) > :nth-child(4n + 3) {
  background: linear-gradient(145deg, rgba(255, 255, 255, .90), var(--purrfect-blue)) !important;
}

body.purrfect-has-site .purrfect-page :is(.card-grid, .steps, .service-values-grid) > :nth-child(4n) {
  background: linear-gradient(145deg, rgba(255, 255, 255, .90), var(--purrfect-orange)) !important;
}

body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps > article, .text-card, .limitation, .story-feature, .accordion details, .services-boundary-card, .services-location-card) {
  border-color: var(--purrfect-pastel-line) !important;
  box-shadow: 0 18px 48px rgba(81, 61, 53, .08) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps > article, .text-card, .limitation, .story-feature, .accordion details, .services-boundary-card, .services-location-card):hover {
  transform: translateY(-6px) !important;
  border-color: rgba(247, 141, 167, .31) !important;
  box-shadow: 0 27px 62px rgba(81, 61, 53, .13) !important;
}

/* Colourful check circles: each remains an editable Icon + Text block. */
body.purrfect-has-site .purrfect-page .detail-grid > .purrfect-icon-text:nth-child(4n + 1) .purrfect-icon-text__icon { background: #fde7ed !important; border-color: #f3c6d1 !important; }
body.purrfect-has-site .purrfect-page .detail-grid > .purrfect-icon-text:nth-child(4n + 2) .purrfect-icon-text__icon { background: var(--purrfect-green) !important; border-color: #ccdec0 !important; }
body.purrfect-has-site .purrfect-page .detail-grid > .purrfect-icon-text:nth-child(4n + 3) .purrfect-icon-text__icon { background: var(--purrfect-blue) !important; border-color: #c7dfe9 !important; }
body.purrfect-has-site .purrfect-page .detail-grid > .purrfect-icon-text:nth-child(4n) .purrfect-icon-text__icon { background: var(--purrfect-orange) !important; border-color: #efd2be !important; }

body.purrfect-has-site .purrfect-page .detail-grid > .purrfect-icon-text:hover .purrfect-icon-text__icon {
  background: var(--purrfect-pink) !important;
  border-color: var(--purrfect-pink) !important;
  color: var(--ink) !important;
  transform: translateY(-2px) scale(1.05) !important;
}

body.purrfect-has-site footer.site-footer:not(#colophon) {
  background: linear-gradient(135deg, var(--purrfect-green), var(--purrfect-blue) 55%, var(--purrfect-cream)) !important;
  border-top-color: rgba(247, 141, 167, .19) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps > article, .text-card, .limitation, .story-feature, .accordion details, .services-boundary-card, .services-location-card),
  body.purrfect-has-site .purrfect-page .detail-grid .purrfect-icon-text__icon {
    transition: none !important;
  }
}

/* Original decorative cat artwork in the large open editorial spaces. */
body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child,
body.purrfect-has-site .purrfect-page .faq-layout > div:first-child,
body.purrfect-has-site .purrfect-page .booking-layout > div:first-child {
  position: relative !important;
  overflow: hidden !important;
}
body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child::after,
body.purrfect-has-site .purrfect-page .faq-layout > div:first-child::after,
body.purrfect-has-site .purrfect-page .booking-layout > div:first-child::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: clamp(180px, 34vw, 360px) !important;
  aspect-ratio: 2 / 3 !important;
  background: url('../images/cute-pastel-cat-original.png') center bottom / contain no-repeat !important;
  opacity: .72 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  transform: translate(-50%, -42%) !important;
}
body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child > *,
body.purrfect-has-site .purrfect-page .faq-layout > div:first-child > *,
body.purrfect-has-site .purrfect-page .booking-layout > div:first-child > * {
  position: relative !important;
  z-index: 1 !important;
}
body.purrfect-has-site .purrfect-page .about-lessons,
body.purrfect-has-site .purrfect-page .section:has(.faq-layout),
body.purrfect-has-site .purrfect-page .section:has(.booking-layout) {
  position: relative !important;
  overflow: hidden !important;
}
body.purrfect-has-site .purrfect-page .about-lessons::after,
body.purrfect-has-site .purrfect-page .section:has(.faq-layout)::after,
body.purrfect-has-site .purrfect-page .section:has(.booking-layout)::after {
  content: "" !important;
  position: absolute !important;
  left: 25% !important;
  top: auto !important;
  bottom: -18px !important;
  width: clamp(190px, 28vw, 340px) !important;
  aspect-ratio: 2 / 3 !important;
  background: url('../images/cute-pastel-cat-original.png') center / contain no-repeat !important;
  opacity: .72 !important;
  pointer-events: none !important;
  transform: translateX(-50%) !important;
  z-index: 0 !important;
}
body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child::after,
body.purrfect-has-site .purrfect-page .faq-layout > div:first-child::after,
body.purrfect-has-site .purrfect-page .booking-layout > div:first-child::after { display: none !important; }
@media (max-width: 640px) {
  body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child::after,
  body.purrfect-has-site .purrfect-page .faq-layout > div:first-child::after,
  body.purrfect-has-site .purrfect-page .booking-layout > div:first-child::after {
    width: clamp(150px, 58vw, 240px) !important;
    opacity: .58 !important;
  }
  body.purrfect-has-site .purrfect-page .about-lessons::after,
  body.purrfect-has-site .purrfect-page .section:has(.faq-layout)::after,
  body.purrfect-has-site .purrfect-page .section:has(.booking-layout)::after {
    left: 50% !important;
    top: auto !important;
    bottom: -10px !important;
    width: clamp(150px, 56vw, 240px) !important;
    opacity: .58 !important;
    transform: translateX(-50%) !important;
  }
}

/* Visit details: use a balanced three-column editable grid on desktop and
   remove any decorative top highlight from the check circles. */
body.purrfect-has-site .purrfect-page .detail-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
body.purrfect-has-site .purrfect-page .detail-grid > .purrfect-icon-text {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: initial !important;
  gap: 14px !important;
  text-align: left !important;
}
body.purrfect-has-site .purrfect-page .detail-grid .purrfect-icon-text__icon {
  background-image: none !important;
  box-shadow: none !important;
}
body.purrfect-has-site .purrfect-page .detail-grid .purrfect-icon-text__icon::before,
body.purrfect-has-site .purrfect-page .detail-grid .purrfect-icon-text__icon::after,
body.purrfect-has-site .purrfect-page .detail-grid > .purrfect-icon-text::before {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}
@media (max-width: 900px) {
  body.purrfect-has-site .purrfect-page .detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  body.purrfect-has-site .purrfect-page .detail-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Why Us: varied editable card surfaces and a staggered layout. */
body.purrfect-has-site .purrfect-page-how .steps.large > article:nth-child(1) { background: #fde7ed !important; border-radius: 30px 18px 30px 18px !important; }
body.purrfect-has-site .purrfect-page-how .steps.large > article:nth-child(2) { background: #e8f0e4 !important; border-radius: 18px 30px 18px 30px !important; transform: translateY(14px); }
body.purrfect-has-site .purrfect-page-how .steps.large > article:nth-child(3) { background: #e5f2f7 !important; border-radius: 30px 18px 30px 18px !important; }
body.purrfect-has-site .purrfect-page-how .steps.large > article { transition: transform .28s ease, box-shadow .28s ease; }
body.purrfect-has-site .purrfect-page-how .steps.large > article:hover { transform: translateY(-5px); box-shadow: 0 22px 42px rgba(47,47,47,.13); }
body.purrfect-has-site .purrfect-page-how .card-grid.three > .card:nth-child(1) { background: #fde7ed !important; border-radius: 30px 18px 30px 18px !important; }
body.purrfect-has-site .purrfect-page-how .card-grid.three > .card:nth-child(2) { background: #e8f0e4 !important; border-radius: 18px 30px 18px 30px !important; transform: translateY(14px); }
body.purrfect-has-site .purrfect-page-how .card-grid.three > .card:nth-child(3) { background: #e5f2f7 !important; border-radius: 30px 18px 30px 18px !important; }
@media (max-width: 900px) {
  body.purrfect-has-site .purrfect-page-how .steps.large { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.purrfect-has-site .purrfect-page-how .steps.large > article:nth-child(2), body.purrfect-has-site .purrfect-page-how .card-grid.three > .card:nth-child(2) { transform: none; }
}
@media (max-width: 560px) {
  body.purrfect-has-site .purrfect-page-how .steps.large { grid-template-columns: 1fr !important; }
}

/* Continuous trust strip: matching groups loop smoothly with no separator lines. */
body.purrfect-has-site .purrfect-page .trust-track { animation: trust-marquee 32s linear infinite !important; will-change: transform; transform: translate3d(0,0,0); }
body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item { border-left: 0 !important; }
body.purrfect-has-site .purrfect-page .trust-bar:hover .trust-track,
body.purrfect-has-site .purrfect-page .trust-bar:focus-within .trust-track { animation-play-state: running !important; }

/* The licensed-business card uses a book mark to represent clear information. */
body.purrfect-has-site .purrfect-page .trust-grid > div:first-child .purrfect-icon-text__icon,
body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item:first-child .purrfect-icon-text__icon { font-size: 0 !important; }
body.purrfect-has-site .purrfect-page .trust-grid > div:first-child .purrfect-icon-text__icon::after,
body.purrfect-has-site .purrfect-page .trust-track-group > .purrfect-inline-item:first-child .purrfect-icon-text__icon::after { content: "\f02d" !important; font-family: "Material Symbols Outlined" !important; font-size: 20px !important; }
body.purrfect-has-site .purrfect-page .trust-grid > div:first-child .purrfect-icon-text__icon::after { content: "\f02d" !important; display: block !important; margin: 0 auto !important; font-family: "Material Symbols Outlined" !important; font-size: 48px !important; line-height: 1 !important; }
body.purrfect-has-site .purrfect-page .trust-section .trust-grid > div:first-child { display: none !important; }

/* Flowing page canvas: imported sections blend into one continuous pastel background. */
body.purrfect-has-site { background-image: radial-gradient(ellipse at 8% 12%, rgba(247,141,167,.16), transparent 28%), radial-gradient(ellipse at 92% 28%, rgba(202,226,210,.42), transparent 31%), radial-gradient(ellipse at 46% 92%, rgba(215,232,246,.42), transparent 36%) !important; background-attachment: fixed; }
body.purrfect-has-site .purrfect-page .section,
body.purrfect-has-site .purrfect-page .page-hero,
body.purrfect-has-site .purrfect-page .hero,
body.purrfect-has-site .purrfect-page .soft,
body.purrfect-has-site .purrfect-page .map-section,
body.purrfect-has-site .purrfect-page .trust-section,
body.purrfect-has-site .purrfect-page .final-cta { background-color: transparent !important; border-color: transparent !important; }

/* Reference-inspired finishing layer: one memorable pastel-orchid accent,
   quiet feature cards, and FAQ surfaces that remain ordinary editable blocks. */
body.purrfect-has-site {
  --purrfect-highlight: #b86ad9;
  --purrfect-highlight-soft: #f3e4fa;
}
body.purrfect-has-site .purrfect-page .eyebrow {
  border-color: color-mix(in srgb, var(--purrfect-highlight) 32%, #fff 68%) !important;
}
body.purrfect-has-site .purrfect-page .eyebrow::before {
  background: var(--purrfect-highlight) !important;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--purrfect-highlight) 14%, transparent) !important;
}
body.purrfect-has-site .purrfect-page :is(.section-title h2 em, .peace-line span) {
  color: var(--purrfect-highlight) !important;
}

/* The reference uses a calm 3-up feature grid with one unmistakable featured
   card. The markup is still native Group/Icon + Text blocks. */
body.purrfect-has-site .purrfect-page .trust-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
}
body.purrfect-has-site .purrfect-page .trust-grid > div {
  min-height: 238px !important;
  padding: 30px 24px 26px !important;
  border: 1px solid rgba(184,106,217,.14) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 16px 34px rgba(67,45,64,.08) !important;
  transition: transform .24s ease, box-shadow .24s ease !important;
}
body.purrfect-has-site .purrfect-page .trust-grid > div:first-child {
  display: flex !important;
  background: linear-gradient(145deg, var(--purrfect-highlight-soft), rgba(255,255,255,.88)) !important;
  border-color: color-mix(in srgb, var(--purrfect-highlight) 34%, #fff 66%) !important;
}
body.purrfect-has-site .purrfect-page .trust-grid > div:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 44px rgba(67,45,64,.14) !important;
}
body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text__icon {
  width: 78px !important;
  height: 78px !important;
  min-width: 78px !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}
body.purrfect-has-site .purrfect-page .trust-grid .purrfect-icon-text__label {
  font-size: clamp(1rem, 1.5vw, 1.18rem) !important;
  line-height: 1.45 !important;
}

/* Give feature, service, and FAQ panels the same soft product-page rhythm. */
body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps > article, .text-card, .limitation, .story-feature, .accordion details, .services-boundary-card, .services-location-card) {
  border-radius: 24px !important;
  box-shadow: 0 14px 32px rgba(67,45,64,.07) !important;
}
body.purrfect-has-site .purrfect-page :is(.accordion details, .faq-layout details) {
  border-left: 4px solid color-mix(in srgb, var(--purrfect-highlight) 72%, #fff 28%) !important;
}
body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps > article):hover {
  box-shadow: 0 22px 42px rgba(67,45,64,.13) !important;
}
@media (max-width: 900px) {
  body.purrfect-has-site .purrfect-page .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  body.purrfect-has-site .purrfect-page .trust-grid { grid-template-columns: 1fr !important; }
  body.purrfect-has-site .purrfect-page .trust-grid > div { min-height: 190px !important; }
}

/* Final palette pass: pale pink is the shared signature accent. */
body.purrfect-has-site header.site-header:not(#masthead) {
  background: #ffe1eb !important;
  border-bottom-color: rgba(247,141,167,.32) !important;
}
body.purrfect-has-site footer.site-footer:not(#colophon) {
  background: #ffe1eb !important;
  color: var(--ink) !important;
}
body.purrfect-has-site .purrfect-page .trust-bar {
  background: linear-gradient(90deg, #ffd9e5 0%, #ffe9d8 34%, #e4f2f7 68%, #e8f1df 100%) !important;
}
body.purrfect-has-site .purrfect-page .trust-bar .purrfect-icon-text__icon,
body.purrfect-has-site .purrfect-page .trust-bar .purrfect-icon-text__label::before {
  color: #c94f7f !important;
}
body.purrfect-has-site .purrfect-page .button-row:not(.map-location-button-row) .wp-block-button.is-style-outline {
  display: none !important;
}
body.purrfect-has-site footer.site-footer:not(#colophon) .footer-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(180px, .75fr) minmax(0, 1fr) !important;
  gap: clamp(24px, 5vw, 72px) !important;
}
body.purrfect-has-site footer.site-footer:not(#colophon) .footer-grid > * {
  min-width: 0 !important;
}
@media (max-width: 760px) {
  body.purrfect-has-site footer.site-footer:not(#colophon) .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* Version 9.3.3: one editable licensed-business card and pale-pink signature actions. */
body.purrfect-has-site {
  --purrfect-highlight: #f78da7;
  --purrfect-highlight-soft: #ffe1eb;
}
body.purrfect-has-site .purrfect-page .trust-section .trust-grid > div:first-child {
  display: flex !important;
}
body.purrfect-has-site .purrfect-page :is(.wp-block-button__link, .button),
body.purrfect-has-site header.site-header:not(#masthead) .wp-block-button__link {
  background: #f78da7 !important;
  border-color: #f78da7 !important;
}
body.purrfect-has-site .purrfect-page :is(.wp-block-button__link, .button):hover,
body.purrfect-has-site header.site-header:not(#masthead) .wp-block-button__link:hover {
  background: #c78c8c !important;
  border-color: #c78c8c !important;
}
/* v9.4: keep pages clear and editable: no decorative cat illustrations behind content. */
body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child,
body.purrfect-has-site .purrfect-page .faq-layout > div:first-child,
body.purrfect-has-site .purrfect-page .booking-layout > div:first-child,
body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child::after,
body.purrfect-has-site .purrfect-page .faq-layout > div:first-child::after,
body.purrfect-has-site .purrfect-page .booking-layout > div:first-child::after,
body.purrfect-has-site .purrfect-page .section:has(.faq-layout)::after,
body.purrfect-has-site .purrfect-page .section:has(.booking-layout)::after {
	background-image: none !important;
}
body.purrfect-has-site .purrfect-page .about-lessons-grid > div:first-child::after,
body.purrfect-has-site .purrfect-page .faq-layout > div:first-child::after,
body.purrfect-has-site .purrfect-page .booking-layout > div:first-child::after,
body.purrfect-has-site .purrfect-page .section:has(.faq-layout)::after,
body.purrfect-has-site .purrfect-page .section:has(.booking-layout)::after {
	content: none !important;
	display: none !important;
}

/* Contact page: two simple Gutenberg groups, stacked on small screens. */
body.purrfect-has-site .contact-details-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
	gap: clamp(24px, 4vw, 64px) !important;
	align-items: center !important;
}
body.purrfect-has-site .contact-details-section .text-card {
	padding: clamp(28px, 4vw, 48px) !important;
}
@media (max-width: 760px) {
	body.purrfect-has-site .contact-details-grid { grid-template-columns: 1fr !important; }
}

/* Scout's photo is a gentle, circular keepsake portrait. */
body.purrfect-has-site .purrfect-page .about-arch-photo.scout {
	width: clamp(280px, 38vw, 560px) !important;
	height: clamp(280px, 38vw, 560px) !important;
	aspect-ratio: 1 !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	animation: purrfect-scout-float 6s ease-in-out infinite !important;
}
body.purrfect-has-site .purrfect-page .about-arch-photo.scout img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}
@keyframes purrfect-scout-float {
	50% { transform: translateY(-12px) scale(1.012); }
}
@media (max-width: 760px) {
	body.purrfect-has-site .purrfect-page .about-arch-photo.scout {
		width: min(88vw, 460px) !important;
		height: min(88vw, 460px) !important;
		margin-inline: auto !important;
	}
}
@media (prefers-reduced-motion: reduce) {
	body.purrfect-has-site .purrfect-page .about-arch-photo.scout { animation: none !important; }
}

/* A consistent, lightweight hover lift for every content card. */
body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps article, .trust-grid > div, .detail-grid > *, .gallery-item, .text-card, .limitation) {
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
	will-change: transform;
}
body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps article, .trust-grid > div, .detail-grid > *, .gallery-item, .text-card, .limitation):hover {
	transform: translateY(-8px) !important;
	box-shadow: 0 24px 52px rgba(74, 49, 53, .16) !important;
}
@media (prefers-reduced-motion: reduce) {
	body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps article, .trust-grid > div, .detail-grid > *, .gallery-item, .text-card, .limitation) {
		transition: none !important;
	}
	body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps article, .trust-grid > div, .detail-grid > *, .gallery-item, .text-card, .limitation):hover {
		transform: none !important;
	}
}

/* Shared page-canvas bubbles: visual-only, behind every editable section. */
body.purrfect-has-site .purrfect-page {
	background-image:
		radial-gradient(circle at 5% 7%, rgba(247,141,167,.16) 0 18px, transparent 19px),
		radial-gradient(circle at 94% 13%, rgba(215,232,246,.28) 0 46px, transparent 47px),
		radial-gradient(circle at 9% 36%, rgba(255,224,195,.30) 0 28px, transparent 29px),
		radial-gradient(circle at 90% 42%, rgba(226,239,218,.30) 0 62px, transparent 63px),
		radial-gradient(circle at 4% 66%, rgba(215,232,246,.24) 0 38px, transparent 39px),
		radial-gradient(circle at 95% 72%, rgba(247,141,167,.17) 0 24px, transparent 25px),
		radial-gradient(circle at 13% 92%, rgba(226,239,218,.28) 0 50px, transparent 51px),
		radial-gradient(circle at 86% 91%, rgba(255,224,195,.32) 0 34px, transparent 35px) !important;
	background-repeat: no-repeat !important;
	background-size: 100% 100% !important;
}
@media (max-width: 760px) {
	body.purrfect-has-site .purrfect-page {
		background-image:
			radial-gradient(circle at 7% 6%, rgba(247,141,167,.14) 0 12px, transparent 13px),
			radial-gradient(circle at 94% 19%, rgba(215,232,246,.24) 0 28px, transparent 29px),
			radial-gradient(circle at 7% 48%, rgba(255,224,195,.26) 0 20px, transparent 21px),
			radial-gradient(circle at 94% 64%, rgba(226,239,218,.26) 0 32px, transparent 33px),
			radial-gradient(circle at 12% 91%, rgba(215,232,246,.20) 0 24px, transparent 25px) !important;
	}
}

/* Final responsive guard: keeps Gutenberg and Spectra content within desktop, tablet, and phone viewports. */
html, body.purrfect-has-site { max-width: 100%; overflow-x: clip; }
body.purrfect-has-site .purrfect-page :is(img, video, iframe, svg) { max-width: 100%; }
body.purrfect-has-site .purrfect-page :is(.hero-grid, .split, .map-layout, .text-card, .limitation, .faq-layout, .booking-layout) > * { min-width: 0; }
@media (max-width: 900px) {
	body.purrfect-has-site .purrfect-page :is(.hero-grid, .split, .map-layout, .text-card, .limitation, .faq-layout, .booking-layout) { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
	body.purrfect-has-site .purrfect-page .button-row { width: 100%; }
	body.purrfect-has-site .purrfect-page .button-row .wp-block-button,
	body.purrfect-has-site .purrfect-page .button-row .wp-block-button__link { width: 100%; }
	body.purrfect-has-site .purrfect-page :is(.card, .price-card, .steps article, .text-card, .limitation) { min-width: 0; }
}
/* Editable Contact details: balanced two-column layout with a clean mobile stack. */
body.purrfect-has-site .purrfect-page .contact-details-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 84px);
}
body.purrfect-has-site .purrfect-page .contact-details-card {
  padding: clamp(30px, 4vw, 52px);
}
body.purrfect-has-site .purrfect-page .contact-details-card h4 {
  margin: 22px 0 4px;
  font-size: 17px;
}
body.purrfect-has-site .purrfect-page .contact-details-card p {
  margin: 0;
}
body.purrfect-has-site .purrfect-page .contact-details-card a {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 800px) {
  body.purrfect-has-site .purrfect-page .contact-details-layout {
    grid-template-columns: 1fr;
  }
}

/* Pricing cards: keep both calls-to-action on one shared baseline. */
body.purrfect-has-site .purrfect-page .pricing-grid {
	align-items: stretch !important;
}
body.purrfect-has-site .purrfect-page .pricing-grid > .price-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	height: 100% !important;
	min-height: 400px !important;
	box-sizing: border-box !important;
}
body.purrfect-has-site .purrfect-page .pricing-grid > .price-card > p:not(.eyebrow):not(.price) {
	min-height: 60px !important;
	margin-bottom: 0 !important;
}
body.purrfect-has-site .purrfect-page .pricing-grid > .price-card > .wp-block-button {
	margin-top: auto !important;
}
@media (max-width: 900px) {
	body.purrfect-has-site .purrfect-page .pricing-grid > .price-card {
		min-height: 0 !important;
	}
	body.purrfect-has-site .purrfect-page .pricing-grid > .price-card > p:not(.eyebrow):not(.price) {
		min-height: 0 !important;
	}
}

