:root {
  --kk-focus-ring:#5aa2ff;
  --kk-font-family:"Open Sans",sans-serif;
  --kk-text-xs:12px;--kk-text-sm:13px;--kk-text-base:15px;--kk-text-lg:16px;
  --kk-title-card:16px;--kk-title-section:22px;--kk-title-page:32px;
  --kk-weight-regular:400;--kk-weight-medium:500;--kk-weight-semibold:600;--kk-weight-bold:700;
  --kk-leading-tight:1.2;--kk-leading-heading:1.3;--kk-leading-body:1.55;
}
html{overflow-x:clip;scroll-behavior:smooth}body{min-width:0;font-family:var(--kk-font-family)!important;font-size:var(--kk-text-base);line-height:var(--kk-leading-body)}
img,svg,video,canvas{max-width:100%}.kk-card,.kk-section-header,.kk-booking-row,.kk-artisan-row,.kk-conversation,.kk-message-bubble,main section,main aside{min-width:0}
main h1:not(.hero-title){font-size:var(--kk-title-page)!important;line-height:var(--kk-leading-tight)!important;font-weight:var(--kk-weight-bold)!important}
.kk-section-title,.section-title{font-size:var(--kk-title-section)!important;line-height:var(--kk-leading-heading)!important;font-weight:var(--kk-weight-bold)!important}
.kk-btn-primary,.kk-btn-outline{font-size:14px;font-weight:var(--kk-weight-bold)!important}.kk-badge{font-size:var(--kk-text-xs);font-weight:var(--kk-weight-bold)!important}
.kk-footer-bg input,footer input.flex-1{min-width:0}.kk-footer-bg input+button,footer input.flex-1+button{flex-shrink:0}
.kk-message-bubble,.kk-booking-row,.kk-artisan-row,.kk-conversation{overflow-wrap:anywhere}.kk-mobile-menu.hidden{display:none!important}

/* Center the injected Google sign-in button on the auth pages. */
#g_id_signin,#g_id_signin_register{display:flex;justify-content:center;width:100%}
#g_id_signin>div,#g_id_signin_register>div{width:100%;display:flex;justify-content:center}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--kk-focus-ring) 72%,transparent);outline-offset:3px}

/* Client Dashboard */
body:has(.kk-dashboard-stat):has(.kk-recommend-card) main h1+p{font-size:var(--kk-text-base)!important;line-height:1.45!important;font-weight:var(--kk-weight-medium)!important;overflow-wrap:anywhere}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-dashboard-stat{min-height:100px;padding:18px 20px;grid-template-columns:48px minmax(0,1fr);gap:14px}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-dashboard-stat .kk-icon-circle{width:48px;height:48px;font-size:22px}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-dashboard-stat p{font-size:14px!important;line-height:1.35;font-weight:var(--kk-weight-semibold)!important}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-dashboard-stat h3{font-size:28px!important;line-height:1.15;font-weight:var(--kk-weight-bold)!important}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-recommend-card{display:flex;flex-direction:column;height:100%;overflow-wrap:anywhere}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-recommend-card>button,body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-recommend-card>a{margin-top:auto!important}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-section-header+.grid:has(.kk-recommend-card){padding-right:0!important}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-booking-row,body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-recommend-card,body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-card{overflow-wrap:anywhere}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-booking-row h3,body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-recommend-card h3{font-size:var(--kk-title-card)!important;line-height:1.35;font-weight:var(--kk-weight-bold)!important}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-booking-row .actions button,body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-booking-row .actions a{white-space:nowrap}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-support-tile .kk-icon-circle{margin-inline:auto;margin-bottom:8px}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-support-tile h3{font-size:13px!important;line-height:1.35;font-weight:var(--kk-weight-bold)!important}
body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-support-tile p{font-size:12px!important;line-height:1.45;font-weight:var(--kk-weight-medium)!important}

/* Find Artisans */
body:has(#kk-service-search):has(#kk-results-card) .kk-hero-inner{min-height:360px!important;padding-top:30px!important;padding-bottom:30px!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-hero p{font-size:15px!important;line-height:1.55!important;font-weight:var(--kk-weight-medium)!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-search-card{padding:14px!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-input,body:has(#kk-service-search):has(#kk-results-card) .kk-search-card .kk-btn-primary{height:54px!important}
body:has(#kk-service-search):has(#kk-results-card) aside.kk-card{padding:18px!important}
body:has(#kk-service-search):has(#kk-results-card) aside.kk-card h2{font-size:18px!important;line-height:1.3!important;font-weight:var(--kk-weight-bold)!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-filter-title{font-size:13px!important;font-weight:var(--kk-weight-bold)!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-service-tile{font-weight:var(--kk-weight-semibold)!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-filter-chip{font-size:12px!important;font-weight:var(--kk-weight-semibold)!important}
body:has(#kk-service-search):has(#kk-results-card) aside.kk-card .font-extrabold{font-weight:var(--kk-weight-bold)!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row h3{font-size:16px!important;line-height:1.35!important;font-weight:var(--kk-weight-bold)!important;white-space:normal!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}
body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row p{font-size:13px!important;line-height:1.45!important;overflow-wrap:anywhere}
body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row>div:nth-child(2){font-size:13px!important}
body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row .kk-actions button{height:40px!important;min-height:40px!important;font-size:13px!important}
body:has(#kk-service-search):has(#kk-results-card) #kk-list-toggle,body:has(#kk-service-search):has(#kk-results-card) #kk-map-toggle,body:has(#kk-service-search):has(#kk-results-card) #kk-sort{min-height:40px}

/* Artisan Profile */
body:has(#kk-profile-name) .kk-profile-img-wrap{width:180px;height:180px;flex-basis:180px}
body:has(#kk-profile-name) #kk-profile-name{font-size:30px!important;line-height:1.22!important;overflow-wrap:anywhere}
body:has(#kk-profile-name) #kk-profile-name~*{flex-shrink:0}body:has(#kk-profile-name) .kk-card p.text-\[16px\]{font-size:15px!important;line-height:1.65!important}
body:has(#kk-profile-name) .kk-stat-box{min-height:84px;padding:15px 18px;gap:12px}body:has(#kk-profile-name) .kk-stat-icon{width:42px;height:42px;font-size:20px;flex:0 0 42px}
body:has(#kk-profile-name) .kk-stat-box .text-2xl{font-size:22px!important;line-height:1.15;font-weight:var(--kk-weight-bold)!important}body:has(#kk-profile-name) .kk-stat-box .text-sm{font-size:13px!important;line-height:1.35}
body:has(#kk-profile-name) .kk-tab{height:50px;font-size:13px;font-weight:var(--kk-weight-bold)}body:has(#kk-profile-name) .kk-card h2,body:has(#kk-profile-name) .kk-sidebar-card h3{font-weight:var(--kk-weight-bold)!important}
body:has(#kk-profile-name) .kk-service-card{min-height:108px;padding:14px 10px}body:has(#kk-profile-name) .kk-service-icon{width:42px;height:42px;font-size:20px;margin-bottom:8px}
body:has(#kk-profile-name) .kk-sidebar-card{padding:20px}body:has(#kk-profile-name) .kk-sidebar-card>.text-\[34px\]{font-size:28px!important;line-height:1.2;font-weight:var(--kk-weight-bold)!important}
body:has(#kk-profile-name) .kk-sidebar-card h3.text-xl{font-size:18px!important;line-height:1.3}body:has(#kk-profile-name) .kk-sidebar-card .kk-btn-primary{height:48px!important;font-size:14px!important}
body:has(#kk-profile-name) .kk-sidebar-card .kk-btn-outline,body:has(#kk-profile-name) .kk-sidebar-card button.border-red-500{height:44px!important;font-size:14px!important}
body:has(#kk-profile-name) .kk-support-banner h2{font-size:20px!important;line-height:1.3;font-weight:var(--kk-weight-bold)!important}body:has(#kk-profile-name) .kk-support-banner .kk-btn-primary{height:46px!important;font-size:14px!important;padding-inline:24px!important}

/* Booking Service */
body:has(#kk-booking-service):has(.kk-stepper) .kk-stepper{height:96px;border-radius:12px}
body:has(#kk-booking-service):has(.kk-stepper) .kk-step{font-size:12px;font-weight:var(--kk-weight-bold);gap:7px}
body:has(#kk-booking-service):has(.kk-stepper) .kk-step-circle{width:34px;height:34px;font-size:14px;font-weight:var(--kk-weight-bold)}
body:has(#kk-booking-service):has(.kk-stepper) .kk-step-line{width:110px}
body:has(#kk-booking-service):has(.kk-stepper) main h2{font-size:18px!important;line-height:1.3!important;font-weight:var(--kk-weight-bold)!important}
body:has(#kk-booking-service):has(.kk-stepper) .kk-card{overflow-wrap:anywhere}
body:has(#kk-booking-service):has(.kk-stepper) .kk-card.p-5{padding:18px!important}
body:has(#kk-booking-service):has(.kk-stepper) #kk-artisan-name{font-size:18px!important;line-height:1.35!important;font-weight:var(--kk-weight-bold)!important;overflow-wrap:anywhere}
body:has(#kk-booking-service):has(.kk-stepper) .kk-label{font-size:13px;font-weight:var(--kk-weight-bold);margin-bottom:6px}
body:has(#kk-booking-service):has(.kk-stepper) .kk-choice{font-weight:var(--kk-weight-semibold);height:40px;padding:0 18px}
body:has(#kk-booking-service):has(.kk-stepper) .kk-map-strip{height:230px}
body:has(#kk-booking-service):has(.kk-stepper) .kk-summary-row{grid-template-columns:92px minmax(0,1fr);gap:10px;line-height:1.45}
body:has(#kk-booking-service):has(.kk-stepper) .kk-summary-row strong{overflow-wrap:anywhere}
body:has(#kk-booking-service):has(.kk-stepper) #kk-summary-artisan{font-size:15px!important;line-height:1.35!important;font-weight:var(--kk-weight-bold)!important;overflow-wrap:anywhere}
body:has(#kk-booking-service):has(.kk-stepper) aside .kk-btn-primary{font-size:14px!important;height:48px!important}
body:has(#kk-booking-service):has(.kk-stepper) .kk-next-step h3{font-size:14px!important;line-height:1.35;font-weight:var(--kk-weight-bold)!important}
body:has(#kk-booking-service):has(.kk-stepper) .kk-next-number{width:36px;height:36px;font-size:16px}
body:has(#kk-booking-service):has(.kk-stepper) .kk-next-step{grid-template-columns:36px minmax(0,1fr);gap:10px}

@media(max-width:768px){
 .kk-auth-visual{display:none!important}.kk-section-header{align-items:flex-start;flex-wrap:wrap;gap:10px 16px}.kk-section-header .kk-link{max-width:100%}.kk-table-head{display:none!important}
 .kk-table-row{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin-top:12px;padding:16px!important;border:1px solid #e3eaf3!important;border-radius:12px}.kk-table-row>*{min-width:0}.kk-table-row .flex.gap-2{flex-wrap:wrap}
 .kk-card>.flex.items-center.justify-between{flex-wrap:wrap;gap:12px}.kk-card>.flex.items-center.justify-between>.flex{max-width:100%;flex-wrap:wrap}
}

@media(max-width:640px){
 :root{--kk-text-base:14px;--kk-title-section:20px;--kk-title-page:26px}
 main h1:not(.hero-title){font-size:var(--kk-title-page)!important;line-height:var(--kk-leading-tight)!important}.hero-title,.kk-hero h1{font-size:clamp(2rem,8.7vw,2.125rem)!important;line-height:1.12!important}
 body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-dashboard-stat{min-height:94px;padding:16px 18px}body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-dashboard-stat h3{font-size:26px!important}
 body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-section-header>.flex.items-center.gap-3:has(.kk-section-title){width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px}body:has(.kk-dashboard-stat):has(.kk-recommend-card) .kk-section-header>.flex.items-center.gap-3:has(.kk-section-title) .kk-section-title{grid-column:1/-1}
 #kk-profile-name{letter-spacing:.01em!important}.kk-auth-form-title{font-size:30px!important;line-height:1.2!important}

 body:has(#kk-service-search):has(#kk-results-card) .kk-hero-inner{padding-top:22px!important;padding-bottom:22px!important}body:has(#kk-service-search):has(#kk-results-card) .kk-hero p{font-size:14px!important}
 body:has(#kk-service-search):has(#kk-results-card) .kk-search-card{margin-top:18px!important;padding:10px!important}body:has(#kk-service-search):has(#kk-results-card) .kk-map{min-height:210px!important}body:has(#kk-service-search):has(#kk-results-card) aside.kk-card{padding:14px!important}body:has(#kk-service-search):has(#kk-results-card) aside.kk-card .mb-6{margin-bottom:18px!important}
 body:has(#kk-service-search):has(#kk-results-card) .kk-service-tile{height:40px!important;padding:0 10px!important;font-size:12px!important}body:has(#kk-service-search):has(#kk-results-card) .kk-filter-chip{height:34px!important}
 body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row{padding:14px!important;gap:12px!important}body:has(#kk-service-search):has(#kk-results-card) .kk-avatar-img,body:has(#kk-service-search):has(#kk-results-card) .kk-avatar-text{width:60px!important;height:60px!important;flex-basis:60px!important;font-size:20px!important}
 body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row h3{font-size:15px!important}body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row p{font-size:13px!important;line-height:1.4!important}body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row .kk-actions{gap:8px!important}body:has(#kk-service-search):has(#kk-results-card) .kk-artisan-row .kk-actions button{height:44px!important;min-height:44px!important;font-size:13px!important}
 body:has(#kk-service-search):has(#kk-results-card) #kk-list-toggle,body:has(#kk-service-search):has(#kk-results-card) #kk-map-toggle,body:has(#kk-service-search):has(#kk-results-card) #kk-sort{height:44px!important;min-height:44px!important}body:has(#kk-service-search):has(#kk-results-card) #kk-sort{min-width:0!important;flex:1 1 150px}body:has(#kk-service-search):has(#kk-results-card) section.min-w-0>div:first-child>div{width:100%}

 body:has(#kk-profile-name) .kk-breadcrumb{margin-bottom:12px!important}body:has(#kk-profile-name) .kk-breadcrumb>*{display:none!important}body:has(#kk-profile-name) .kk-breadcrumb a[href="find_artisan.html"]{display:inline-flex!important;align-items:center;gap:6px;font-size:13px!important}body:has(#kk-profile-name) .kk-breadcrumb a[href="find_artisan.html"]::before{content:"←";font-size:16px}
 body:has(#kk-profile-name) .kk-card.p-6{padding:16px!important}body:has(#kk-profile-name) .kk-profile-img-wrap{width:96px!important;height:96px!important;flex-basis:96px!important;margin-inline:auto}body:has(#kk-profile-name) .kk-profile-avatar{font-size:32px!important}body:has(#kk-profile-name) #kk-profile-name{font-size:24px!important;line-height:1.2!important;text-align:left}
 body:has(#kk-profile-name) .kk-profile-img-wrap+div>.flex.items-center{align-items:flex-start!important}body:has(#kk-profile-name) .kk-profile-img-wrap+div>.flex.flex-wrap{font-size:13px!important;gap:6px 10px!important}body:has(#kk-profile-name) .kk-profile-img-wrap+div>p{font-size:14px!important;line-height:1.6!important}
 body:has(#kk-profile-name) .kk-card.p-6>.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:18px!important}body:has(#kk-profile-name) .kk-stat-box{min-height:86px!important;padding:11px!important;gap:8px!important}body:has(#kk-profile-name) .kk-stat-icon{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:16px!important}body:has(#kk-profile-name) .kk-stat-box .text-2xl{font-size:18px!important}body:has(#kk-profile-name) .kk-stat-box .text-sm{font-size:12px!important}
 body:has(#kk-profile-name) .kk-tab{height:44px!important;padding:0 13px!important;font-size:13px!important}body:has(#kk-profile-name) .kk-card.overflow-hidden>div.p-6{padding:16px!important}body:has(#kk-profile-name) .kk-card.overflow-hidden h2{font-size:18px!important;line-height:1.3!important}body:has(#kk-profile-name) .kk-card.overflow-hidden p{font-size:14px!important;line-height:1.6!important}
 body:has(#kk-profile-name) .kk-service-card{min-height:96px!important;padding:10px 8px!important}body:has(#kk-profile-name) .kk-service-icon{width:38px!important;height:38px!important;font-size:18px!important}body:has(#kk-profile-name) .kk-service-card .text-sm{font-size:12px!important;line-height:1.35!important}body:has(#kk-profile-name) .kk-sidebar-card{padding:16px!important}body:has(#kk-profile-name) .kk-sidebar-card>.text-\[34px\]{font-size:26px!important}body:has(#kk-profile-name) .kk-sidebar-card h3.text-xl{font-size:17px!important}
 body:has(#kk-profile-name) .kk-support-banner{padding:16px!important;gap:12px!important}body:has(#kk-profile-name) .kk-support-banner h2{font-size:18px!important}body:has(#kk-profile-name) .kk-support-banner p{font-size:13px!important;line-height:1.5!important}body:has(#kk-profile-name) .kk-support-banner .kk-btn-primary{width:100%;height:44px!important}

 body:has(#kk-booking-service):has(.kk-stepper) .kk-breadcrumb{margin-bottom:12px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-breadcrumb>*{display:none!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-breadcrumb a:nth-of-type(3){display:inline-flex!important;align-items:center;gap:6px;font-size:13px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-breadcrumb a:nth-of-type(3)::before{content:"←";font-size:16px}
 body:has(#kk-booking-service):has(.kk-stepper) main h1+p{font-size:14px!important;line-height:1.55!important;margin-top:6px!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-stepper{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));height:auto!important;padding:12px 6px!important;gap:4px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-step{min-width:0!important;gap:5px!important;font-size:10px!important;line-height:1.2;text-align:center}body:has(#kk-booking-service):has(.kk-stepper) .kk-step-circle{width:30px!important;height:30px!important;font-size:12px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-step-line{display:none!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-card.p-5{padding:14px!important}body:has(#kk-booking-service):has(.kk-stepper) main h2{font-size:17px!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-avatar{width:58px!important;height:58px!important;flex-basis:58px!important;font-size:20px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-card.p-5>.flex.flex-col.md\:flex-row{display:grid!important;grid-template-columns:58px minmax(0,1fr);gap:12px!important;align-items:start!important}body:has(#kk-booking-service):has(.kk-stepper) #kk-artisan-name{font-size:15px!important;line-height:1.3!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-input,body:has(#kk-booking-service):has(.kk-stepper) .kk-select{height:44px!important;font-size:13px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-textarea{font-size:13px!important;line-height:1.5!important;min-height:96px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-choice{height:44px!important;padding:0 14px!important;font-size:12px!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-map-strip{height:190px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-map-strip+div{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}body:has(#kk-booking-service):has(.kk-stepper) #kk-use-location{width:100%!important;height:44px!important;font-size:13px!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-map-strip+div+div button{width:100%!important;min-width:0!important;height:44px!important;padding-inline:14px!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-summary-row{grid-template-columns:1fr!important;gap:2px!important;margin-bottom:10px!important;font-size:13px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-summary-row span{font-size:12px;color:#64748b}body:has(#kk-booking-service):has(.kk-stepper) #kk-summary-artisan{font-size:14px!important}body:has(#kk-booking-service):has(.kk-stepper) aside .kk-btn-primary{height:44px!important;font-size:13px!important}
 body:has(#kk-booking-service):has(.kk-stepper) .kk-next-number{width:32px!important;height:32px!important;font-size:14px!important}body:has(#kk-booking-service):has(.kk-stepper) .kk-next-step{grid-template-columns:32px minmax(0,1fr)!important;gap:8px!important}
}

/* Do not paint the public navigation while the saved session is resolving. */
html:not(.kk-auth-ready) header.nav-bg > div > nav,
html:not(.kk-auth-ready) header.nav-bg > div > .kk-mobile-menu,
html:not(.kk-auth-ready) header.nav-bg > div > .kk-site-mobile-menu {
  visibility: hidden;
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
[hidden]{display:none!important}
