/* Services visit guide — approved Home-inspired Figma concept. */
.svc-visit-section {
 --visit-green:#56825f; --visit-brown:#60351f; --visit-cream:#f4efda; --visit-copy:#4a5549;
 position:relative;isolation:isolate;width:100%;padding:64px 32px 76px!important;
 background:#fffdfa;font-family:"IBM Plex Sans Thai",sans-serif;
}
.svc-visit-section::before,.svc-visit-section::after {
 content:"";position:absolute;width:110px;height:94px;background:url('../images/paw-chocolate.svg') center/contain no-repeat;opacity:.09;pointer-events:none;z-index:-1;
}
.svc-visit-section::before {top:28px;right:3%;left:auto;}
.svc-visit-section::after {bottom:100px;left:1.5%;right:auto;top:auto;width:95px;height:81px;transform:rotate(-15deg);}
.svc-visit-inner {display:grid!important;grid-template-columns:minmax(0,508fr) minmax(0,692fr);gap:64px!important;width:100%;max-width:1264px;margin:0 auto;padding:0!important;align-items:start;}
.svc-visit-intro,.svc-visit-details {width:100%!important;min-width:0;padding:0!important;gap:0!important;}
.svc-visit-title .elementor-heading-title {font:600 clamp(30px,3vw,42px)/1.5 "IBM Plex Sans Thai",sans-serif;color:var(--visit-green);margin:0;}
.svc-visit-lead {font:400 18px/1.7 "IBM Plex Sans Thai",sans-serif;color:var(--visit-copy);max-width:470px;margin-top:12px;}
.svc-visit-section p {margin:0;color:inherit;}
.svc-visit-photo {margin-top:30px;width:100%;overflow:hidden;border-radius:24px;}
.svc-visit-photo img {display:block;width:100%;aspect-ratio:508/380;object-fit:cover;border-radius:24px;transition:transform 0.65s cubic-bezier(0.25, 1, 0.5, 1);}
.svc-visit-photo:hover img {transform:scale(1.025);}
.svc-visit-caption {font:400 16px/1.7 "IBM Plex Sans Thai",sans-serif;color:var(--visit-copy);margin-top:20px;max-width:440px;}
.svc-visit-group {width:100%;padding:0!important;gap:0!important;}
.svc-visit-group + .svc-visit-group {margin-top:44px;}
.svc-visit-group-title .elementor-heading-title {font:600 25px/1.5 "IBM Plex Sans Thai",sans-serif;color:var(--visit-brown);padding-bottom:18px;border-bottom:1px solid #d5ddcf;}
.svc-visit-item {padding:0!important;margin-top:24px;gap:7px!important;}
.svc-visit-item-title .elementor-heading-title {font:600 21px/1.5 "IBM Plex Sans Thai",sans-serif;color:var(--visit-green);}
.svc-visit-copy {font:400 17px/1.8 "IBM Plex Sans Thai",sans-serif;color:var(--visit-copy);}
.svc-visit-actions {display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:16px!important;margin-top:40px;padding:0!important;}
.svc-visit-button {width:auto!important;max-width:100%;}
.svc-visit-button .elementor-button {
 display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:10px 12px 10px 22px;border-radius:16px;border:1px solid transparent;
 font:600 17px/1.5 "IBM Plex Sans Thai",sans-serif;text-decoration:none;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.svc-visit-button .elementor-button-content-wrapper {display:flex;align-items:center;gap:18px;}
.svc-visit-button .elementor-button-text {flex-grow:0;order:1;}
.svc-visit-button .elementor-button-icon {display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;margin:0!important;order:2;transition:transform .18s ease;}
.svc-visit-button .elementor-button-icon svg {width:13px;height:13px;fill:currentColor;}
.svc-visit-primary .elementor-button {background:var(--visit-green);color:#fff;}
.svc-visit-primary .elementor-button-icon {background:#fff;color:#43684a;}
.svc-visit-primary .elementor-button:hover {background:#43684a;color:#fff;box-shadow:0 6px 16px #294d3626;transform:translateY(-2px);}
.svc-visit-secondary .elementor-button {border-color:#56825f;background:transparent;color:#43684a;}
.svc-visit-secondary .elementor-button-icon {background:#56825f14;color:#43684a;}
.svc-visit-secondary .elementor-button:hover {background:#fffdfa;color:#294d36;transform:translateY(-2px);}
.svc-visit-button .elementor-button:hover .elementor-button-icon {transform:translateX(2px);}
.svc-visit-button a:focus-visible {outline:3px solid #60351f!important;outline-offset:4px!important;}
.svc-visit-button a:active {transform:translateY(0);box-shadow:none;}
.svc-visit-section ::selection {background:#56825f;color:#fff;}
@media(max-width:1024px){.svc-visit-inner{gap:36px!important;}.svc-visit-section{padding:48px 28px 64px!important;}.svc-visit-actions{gap:12px!important;}.svc-visit-button .elementor-button{font-size:16px;}}
@media(max-width:767px){.svc-visit-section{padding:36px 20px 54px!important;}.svc-visit-inner{grid-template-columns:minmax(0,1fr);gap:36px!important;}.svc-visit-title .elementor-heading-title{font-size:30px;}.svc-visit-lead{font-size:16px;margin-top:12px;}.svc-visit-photo{margin-top:24px;}.svc-visit-photo img{aspect-ratio:342/236;border-radius:18px;}.svc-visit-caption{font-size:14px;margin-top:14px;}.svc-visit-group-title .elementor-heading-title{font-size:23px;}.svc-visit-item-title .elementor-heading-title{font-size:20px;}.svc-visit-copy{font-size:16px;}.svc-visit-group + .svc-visit-group{margin-top:36px;}.svc-visit-actions{flex-direction:column!important;align-items:stretch;gap:12px!important;margin-top:30px;}.svc-visit-button,.svc-visit-button .elementor-button{width:100%!important;}.svc-visit-button .elementor-button-content-wrapper{width:100%;justify-content:space-between;}.svc-visit-section::before{width:60px;height:52px;top:16px;right:12px;}.svc-visit-section::after{display:none;}}
@media(prefers-reduced-motion:reduce){.svc-visit-button .elementor-button,.svc-visit-button .elementor-button-icon{transition:none;transform:none!important;}}

/* Alternate section surfaces so the overview, guide and FAQ read separately. */
.page-id-44 {--svc-faq-surface:#eaf0e6;}
.page-id-44 .elementor-element-svfaq01 {background:var(--svc-faq-surface)!important;}
.svc-visit-section > .elementor-shape-bottom .elementor-shape-fill {fill:#eaf0e6!important;}
.elementor-element-svftit1 .elementor-heading-title {color:#56825f!important;}
.vet-faq-accordion .elementor-accordion-item {background:#fffdfa;}
.vet-faq-accordion .elementor-tab-title,
.vet-faq-accordion .elementor-tab-title a,
.vet-faq-accordion .elementor-accordion-icon {color:#43684a!important;}
.vet-faq-accordion .elementor-accordion-icon svg {fill:#43684a!important;}
.vet-faq-accordion .elementor-tab-title:hover,
.vet-faq-accordion .elementor-tab-title.elementor-active,
.vet-faq-accordion .elementor-tab-title:hover a {color:#294d36!important;}

/* Match the contact brush edge to the final FAQ surface. */
.page-id-44 .elementor-element-cliniccontact {--clinic-transition-color:var(--svc-faq-surface)!important;}

/* Soft transition from the cream service overview into the warm-white guide. */
.elementor-element-svsection > .elementor-shape-bottom {bottom:-1px;pointer-events:none;}
.elementor-element-svsection > .elementor-shape-bottom .elementor-shape-fill {fill:#fffdfa!important;}
.elementor-element-svsection > .elementor-shape-bottom svg {height:36px;}
@media(max-width:767px){.elementor-element-svsection > .elementor-shape-bottom svg{height:22px;}}

/* Give expanded FAQ questions an unmistakable active state. */
.vet-faq-accordion .elementor-tab-title {
 background:#fffdfa;transition:background-color .18s ease,color .18s ease;
}
.vet-faq-accordion .elementor-tab-title:not(.elementor-active):hover {background:#dfe9da;}
.vet-faq-accordion .elementor-tab-title.elementor-active {background:#56825f!important;}
.vet-faq-accordion .elementor-tab-title.elementor-active,
.vet-faq-accordion .elementor-tab-title.elementor-active :is(a,span,i,svg) {color:#fff!important;fill:#fff!important;}
.vet-faq-accordion .elementor-tab-content {padding-top:18px;background:#fffdfa;}
.vet-faq-accordion .elementor-tab-title:focus-visible {outline:3px solid #60351f!important;outline-offset:-4px;}
@media(prefers-reduced-motion:reduce){.vet-faq-accordion .elementor-tab-title{transition:none;}}


/* Synchronized section entrance for 'เข้ารับบริการอย่างไร' */
.svc-visit-section.svc-visit-inited .svc-visit-inner {
 opacity: 0;
 transform: translateY(34px);
 transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
 will-change: opacity, transform;
}
.svc-visit-section.svc-visit-inited.is-visible .svc-visit-inner {
 opacity: 1;
 transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
 .svc-visit-section.svc-visit-inited .svc-visit-inner {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
 }
}
