/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Developer
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*Start Globle CSS */
p {margin-bottom: 0;}
/*End Globle CSS */


/*Start Custom btn hover*/
.yellow-btn a, 
.hero-banner .elementor-button{position: relative; overflow: hidden; z-index: 1; background: #2f4858 !important;color: #fff;}
.yellow-btn a:hover .elementor-button-text{color:#fff;}
.yellow-btn a:after, 
.hero-banner .elementor-button:after{content: ""; position: absolute; width: 100%; inset: 0; background: #ffc857 !important; transition: transform 0.5s ease; z-index: -1; }
.yellow-btn a { color: #2f4858 !important; }
.yellow-btn a:hover::after, 
.hero-banner .elementor-button:hover::after{transform: translateY(100%);}
.hero-banner  a.swiper-slide-inner { width: 100%; max-width: 1440px; }
.hero-banner .elementor-button:hover{ color:#fff !important;}

.dark-blue-btn a{position: relative; overflow: hidden; z-index: 1; background: #ffc857 !important;}
.dark-blue-btn a:hover .elementor-button-text{color:#2f4858;}
.dark-blue-btn a:after{content: ""; position: absolute; width: 100%; inset: 0; background: #2f4858 !important; transition: transform 0.5s ease; z-index: -1; }
.dark-blue-btn a:hover::after{transform: translateY(100%);}
/*End Custom btn hover*/


/*Start Site Header */
.hfe-nav-menu nav {width: 100% !important;}
.header_insta span.elementor-icon-list-text { white-space: nowrap !important; }
.main_menu ul.sub-menu {overflow: hidden;}
.elementor-widget-social-icons .elementor-social-icon-instagram {background-color: transparent;box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;}
.text-left .elementor-icon-box-wrapper .elementor-icon-box-content ul.approach-list {text-align: left;padding-left: 0px;margin-top: 15px;}
.text-left .elementor-icon-box-wrapper .elementor-icon-box-content ul.approach-list li { margin-bottom: 10px; line-height: 1.2; font-family: "Work Sans", Sans-serif; font-size: 18px; font-weight: 400; color: #000000; }
.text-left .elementor-icon-box-wrapper .elementor-icon-box-content ul.approach-list li { list-style: none; position: relative; padding-left: 20px; }
.text-left .elementor-icon-box-wrapper .elementor-icon-box-content ul.approach-list li:before { content: ""; background: #ffc857; width: 7px; height: 7px; display: inline-block; border-radius: 50%; position: absolute; left: 0; top: 8px; }
/*End Site Header */


/*Start Hero Banner*/
.hero-banner .hero-slide .swiper-slide-bg{position:relative;}
.hero-banner .hero-slide .swiper-slide-bg:before {content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 55%; background: linear-gradient( 90deg, #2F4858 0%, rgba(47, 72, 88, 0) 100%);}
/*End Hero Banner*/


/*Start broken sec*/
.broken-grid .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon { width: 105px; height: 105px; display: flex; justify-content: center; margin: auto; align-items: center; border: 1px solid #FFC857; border-radius: 50%; }
.broken-grid .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon svg{animation: zoom-in-zoom-out 2s ease-out infinite;}
@keyframes zoom-in-zoom-out {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1.2);
  }
  100% {
    transform: scale(1, 1);
  }
}
/*End broken sec*/


/*Start Personalised Sec*/
.Personalised-item{overflow:hidden;}
.Personalised-item .elementor-widget-image::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.10); clip-path: circle(75% at 50% 50%); transition: clip-path 0.9s ease; }
.Personalised-item .elementor-widget-image:hover::after {clip-path: circle(0% at 50% 50%);}
.Personalised-item:hover .elementor-widget-image img.attachment-full{transform: scale(1.2);}
.Personalised-item .elementor-widget-image img.attachment-full {height: 410px;object-fit: cover;transition: 0.5s;}
.Personalised-item .elementor-widget-icon-box {margin-top: -100px !important;background-size: 100% 100% !important;}
.Personalised-item .elementor-widget-icon-box .elementor-icon-box-wrapper {padding: 20px 30px 35px;}
.Personalised-item .elementor-widget-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon { margin-top: -55px; }
/*End Personalised Sec*/


/*Start testimonial sec*/
.testimonial-sec .sp-testimonial-free-section{justify-content:center;margin:0 !important;}
.testimonial-sec .sp-testimonial-free{position:relative;z-index:1;}
.testimonial-sec .sp-testimonial-free:before { content:""; background-image: url(https://kintsugiphysiocare.com/wp-content/uploads/2026/04/BigQuoteRight.svg) !important; background-size: 170px !important; background-position: center center !important; background-repeat: no-repeat !important; position:absolute; left:0; right:0; top:0; bottom:0; z-index: -1; opacity: 10%;}
.testimonial-sec .sp-testimonial-free { padding: 28px 25px 30px 35px; }
.testimonial-sec .sp-testimonial-free .sp-testimonial-client-image {text-align: left !important;margin-bottom: 10px;line-height:1;}
.testimonial-sec .sp-testimonial-title .sp-testimonial-post-title { text-align: left !important; font-family: Cormorant; font-weight: 700; font-size: 30px; line-height: 38px; letter-spacing: 0%; color: #2F4858; }
.testimonial-sec .sp-testimonial-free .sp-testimonial-content p { padding: 0; text-align: left; font-family: Work Sans; font-weight: 400; font-size: 16px; line-height: 1.4; letter-spacing: -1%; vertical-align: middle; text-transform: capitalize; color: #000; }
.testimonial-sec .testimonial-nav-arrow { position: static !important; transform: none; margin-top: 50px; border-radius: 50%; width: 50px !important; height: 50px !important; background: #FFC857 !important; color: #fff !important; opacity: 1 !important; font-size: 25px !important; }
.testimonial-sec .testimonial-nav-arrow.swiper-button-prev {margin-right: 5px;}
.testimonial-sec .testimonial-nav-arrow.swiper-button-next {margin-left: 5px;}
/*End testimonial sec*/


/*Start below footer-sec*/
.main-footer .hfe-site-logo .hfe-site-logo-container .hfe-site-logo-img {/*background: #fff;border-radius: 50%;*/height: 140px;object-fit: contain;}
.below-footer-sec{position:relative;}
.below-footer-sec:before {content: ""; position: absolute; left: 0; right: 0; width: 55%; margin-right: 0; margin-left: auto; background: linear-gradient(90deg, rgba(134, 187, 216, 0) 0%, rgba(134, 187, 216, 0.338301) 22.98%, rgba(134, 187, 216, 0.75) 47.12%, #86BBD8 100%);}
.floting-whatsapp { position: fixed; opacity: 1 !important; visibility: visible !important; right: 20px; bottom: 20px; width: fit-content !important; z-index: 1009; }
.floting-whatsapp a.whatsapp { display: flex; align-items: center; background: #29a71a; color: #fff; border-radius: 20px; padding: 2px 15px 2px 12px; }
.floting-whatsapp a.whatsapp img {width: 40px;} 

/*End below footer-sec*/


/*Start Contact Page*/
.contact-information ul li .elementor-icon-list-icon {width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }
.contact-information ul li .elementor-icon-list-icon svg {margin-right: 0 !important;}
.contact-information ul li .elementor-icon-list-text {padding-left: 10px !important;}

/*custom form*/
.custom-form .gform_heading .gform_title { margin-bottom: 25px; color: #ffffff; line-height: 1.1; font-size: 40px; font-weight: 600; font-family: "Cormorant", Sans-serif; margin-top: 0; }
.custom-form .gform_heading .gform_description {margin-bottom: 18px; font-size: 16px;font-family: "Satoshi", Sans-serif; font-weight: 500; color: #000; line-height: 1.3; display: block; }
.custom-form .gform_wrapper .gform_fields {row-gap:0;}
.custom-form .gform_wrapper .gform_fields .gfield {margin-bottom: 15px !important; margin-top: 0 !important;}
.custom-form .gform_wrapper .gform_fields .gfield .ginput_container_textarea {line-height: 1; }
.custom-form .gform_wrapper .gform_fields .gfield input { height: 50px; border: 1px solid #ddd; background: #ffffff; border-radius:5px; color: #222; padding: 10px 18px !important; font-size: 16px !important; font-weight: 400; font-family: "Satoshi", Sans-serif !important; width: 100% !important; margin: 0 !important; }
.custom-form .gform_wrapper .gform_fields .gfield textarea {height: 90px !important; border: 1px solid #ddd; background: #ffffff; border-radius:5px; color: #222; padding: 10px 18px !important; font-size: 16px !important; font-weight: 400; font-family: "Satoshi", Sans-serif !important; width: 100% !important; margin: 0 !important; }
.custom-form .gform_wrapper .gform_fields .gfield input::placeholder, 
.custom-form .gform_wrapper .gform_fields .gfield textarea::placeholder {color: #999;}
.custom-form .gform_wrapper .gform_fields .gfield input:focus, 
.custom-form .gform_wrapper .gform_fields .gfield textarea:focus {outline: none; border-color: #ffc857; }
.custom-form .gform_wrapper .gform_fields .gfield .ginput_container_checkbox input {height: 20px !important; padding: 0 !important; width: 20px !important;}
.custom-form .gform_wrapper .gform_fields .gfield .ginput_container_checkbox input[type=checkbox]:after {border-color: #222; transform: rotate(45deg) !important; }
.custom-form .gform_wrapper .gform_fields .gfield label {color: #fff; }

.custom-form .gform_wrapper .gform_footer { background: #ffc857 !important; border-radius: 0px !important; font-size: 20px; color: #2f4858 !important; line-height: 1.1; font-weight: 500; width: fit-content; margin-inline: auto; padding: 0 !important; position: relative; overflow: hidden; font-family: "Work Sans", Sans-serif; }
#page .custom-form .gform_wrapper .gform_footer .gform_button { border: none; margin: 0; padding-inline: 30px; background: none !important; padding-block: 16px; color: #2f4858; font-family: "Satoshi", Sans-serif; font-size: 20px; line-height: 100%; z-index: 2; position: relative; }
.custom-form .gform_wrapper .gform_footer::before { content: ""; position: absolute; inset: 0; background: #ffffff; transform: translateY(-100%); transition: transform 0.4s ease;}
.custom-form .gform_wrapper .gform_footer:hover::before { transform: translateY(0); }
.custom-form .gform_wrapper .gform_footer:hover .gform_button { color: #2f4858 !important; }
.custom-form .gform_wrapper .gform_footer .gform_ajax_spinner { position: absolute; right: 3px; top: 47%; transform: translateY(-50%); }
.custom-form .gform_wrapper .gform_fields .gfield label a {color: #fff; font-weight: 600;}
.custom-form .gform_wrapper .gform_fields .gfield label a:hover {color: #ffc857;}

#page .gform_wrapper .gform_validation_errors {display: none !important; }
#page .gform_wrapper .gform_fields .gfield.gfield_error {padding: 0 !important; border: none; background: transparent; font-size: 14px; line-height: 1; margin-top: 4px; }
#page .gform_wrapper .validation_message { background: #790000; font-weight: 400; letter-spacing: normal; color: #fff; width: fit-content; padding: 4px 10px !important; border-radius: 3px; margin-top: 4px; }
#page .gform_wrapper .gform_fields .gfield.gfield_error input, 
#page .gform_wrapper .gform_fields .gfield.gfield_error select, 
#page .gform_wrapper .gform_fields .gfield.gfield_error textarea {border-color: #c02b0a !important; }
#page .gform_confirmation_message {text-align: center; background: #fff; font-size: 16px; line-height: 1.2; padding: 14px 20px; border-radius: 6px; color: #008000; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }
/*custom  form*/
/*End Contact Page*/


/*Start Service Sec*/
.services-flex { display: flex; flex-wrap: wrap; gap: 30px; }
.service-item {flex: 1 1 48%;}
.services-flex .service-item .service-inner {background: #f6f5f5;padding: 0px;}
.services-flex .service-item .service-inner img {min-height: 470px;object-fit: cover;}
.service-item {width:50%; perspective: 1000px; }
.service-item a { display: block; text-decoration: none; }
.service-inner { position: relative; width: 100%; aspect-ratio: 3 / 2; transform-style: preserve-3d; transition: transform 0.6s cubic-bezier(.4, 0, .2, 1); }
.service-item:hover .service-inner { transform: rotateY(180deg); }
.service-image-wrapper { inset: 0; backface-visibility: hidden; border-radius: 0px; overflow: hidden; position:relative; }
.service-image-wrapper:after { content: ""; position: absolute; inset: 0; background: #302d2252; }
.service-image-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; }
.service-image-wrapper h3 { position: absolute; top: auto; left: 50%; transform: translate(-50%, -50%); margin: 0; text-align: center; padding: 0; width: 100%; bottom: 0; font-family: "Cormorant", Sans-serif; font-size: 40px; font-weight: 500; color: #ffffff; z-index: 1; width: 80%;line-height:1; }
.service-content-wrapper { position: absolute; inset: 0; background: #ffc857; border-radius: 0px; transform: rotateY(180deg); backface-visibility: hidden; display: flex; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; }
.service-content-wrapper p { margin: 0; font-size: 22px; color: #2f4858; text-align: center; line-height: 1.3; max-width: 424px; width: 100%; }
/*End Service Sec*/


/*Start Cookies Popup*/
.cky-consent-container .cky-notice .cky-title { font-family: "Cormorant", Sans-serif !important; font-size: 36px !important; font-weight: 500 !important; line-height: 1; color:#2f4858 !important;}
.cky-consent-container .cky-notice-group .cky-notice-btn-wrapper button.cky-btn {font-family: "Work Sans", Sans-serif; font-size: 16px; font-weight: 400; padding: 13px 14px; line-height: 1.1; }
.cky-consent-container .cky-notice-group .cky-notice-btn-wrapper button.cky-btn-accept {background: #ffc857 !important;border-color: #ffc857;color: #2f4858 !important;}
.cky-consent-container .cky-notice-group .cky-notice-btn-wrapper button.cky-btn-reject {background: #2f4858 !important;border-color: #2f4858;color: #fff !important;}
.cky-notice-btn-wrapper {

    gap: 5px !important;
}
.cky-notice-btn-wrapper button {
    width: calc(33% - 5px) !important;
	margin: 0px !important;
}
/*End Cookies Popup*/

/* Start 404 Page*/
.error404 .header-bottom{border-bottom: 1px solid #e8e8e8;}
.error404 .site-main { text-align: center; background: #f6f6f6; width: 95% !important; max-width: 850px !important; margin: 70px auto; padding: 30px 50px 50px; border-radius: 10px; border: 1px solid #ffc857; }
.error404 .site-main .page-header .entry-title:before { content: ""; background: url(https://kintsugiphysiocare.com/wp-content/uploads/2026/04/404-icon.svg); width: 140px; height: 140px; display: block; background-size: 140px; background-position: center center; margin: 0 auto 15px; background-repeat: no-repeat; }
.error404 .site-main .page-header .page-title {font-family: "DM Sans", Sans-serif; font-size: 40px; font-weight: 400; color: #000; margin-bottom: 0; }
.error404 .site-main .page-header img {width: 170px; margin: auto; }
.error404 .site-main .page-header .back-home-btn {display: block; font-family: "DM Sans"; font-weight: 500; font-size: 18px; line-height: 100%; width: fit-content; color: rgb(255, 255, 255); background: rgb(255, 0, 94); padding: 18px 22px; border-radius: 32px; margin: 40px auto 0; }
/* End 404 Page */



/*Responsive start*/
@media screen and (min-width: 1025px) and (max-width: 1155px) {
  .main_menu a.hfe-menu-item { font-size: 16px !important; padding-inline: 15px !important; }
}

@media screen and (max-width: 1024px) {
	.hero-banner .hero-slide .swiper-slide { height: 60vh !important; }
	.hero-banner>.elementor-element { min-height: 60px; }

	/*header start */
	header#masthead .hfe-flyout-left { left: 0 !important; right: auto !important; transform: translateX(-100%) !important;transition: transform 0.5s ease; display: block !important; }
	header#masthead .hfe-flyout-left.hfe-flyout-show { transform: translateX(0) !important; }

	/*service  page*/
	.text-left .elementor-icon-box-wrapper .elementor-icon-box-content ul.approach-list li {font-size: 16px; }
	.service-item { flex: 1 1 46%; }
	.service-image-wrapper h3 {font-size:30px;width:90%;  }
	.custom-form .gform_heading .gform_title {font-size: 35px;}
	
}


@media screen and (max-width: 767px) {
	/*service  page*/
	.service-image-wrapper h3 { font-size: 25px;}
	.service-image-wrapper h3 {bottom: 22px}
	.services-flex .service-item .service-inner img { min-height: 335px; }
	.custom-form .gform_heading .gform_title {font-size: 30px;}

	/*footer */
	.below-footer-sec {  background-position: right 66% top !important; }
	.below-footer-sec:before { content: ""; position: absolute; left: 0; right: 0; width: 100%; margin-right: 0; margin-left: auto; background: linear-gradient( 179deg, rgba(134, 187, 216, 0) 0%, rgba(134, 187, 216, 0.338301) 22.98%, rgba(134, 187, 216, 0.75) 47.12%, #86BBD8 100%); height: 91%; bottom: 0; top: auto; }

	.footer_btn a.elementor-button{width:100%;}

	#page .custom-form .gform_wrapper .gform_footer .gform_button { font-size: 16px;}
	.footer_baaner p, .footer_baaner h2 { color: #000 !important; }
	.cky-notice-btn-wrapper {
    flex-direction: row !important;
    margin-top: 20px !important;
}
	
}
/*Responsive end*/

button.cky-btn.cky-btn-customize {
    background: #ffc857 !important;
    border-color: #ffc857;
    color: #2f4858 !important;
}