:root{--font-body:Inter,system-ui,sans-serif;--font-display:'Libre Caslon Display',Georgia,serif;--bg:#fff;--bg-secondary:#f6f5f3;--text:#0a0a0a;--text-secondary:#4a4a4a;--text-muted:#777;--border:#ececec;--border-strong:#d4d4d4;--primary:#111;--primary-hover:#333;--primary-fg:#fff;--gold:#a8854a;--kb-header-height:116px}
html:lang(vi){--font-body:'Be Vietnam Pro',system-ui,sans-serif;--font-display:'Playfair Display',Georgia,serif}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:132px}
body.kb-site{font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--text);background:#fff url(images/k-beauty-bg-300x300.jpg) repeat;background-size:300px;color-scheme:light}
.kb-site *, .kb-site *:before,.kb-site *:after{box-sizing:border-box}
.kb-site #wrapper,.kb-site #main{background:transparent}
.kb-site h1,.kb-site h2,.kb-site h3,.kb-site h4{font-family:var(--font-display);font-weight:400;color:var(--text);text-transform:none;letter-spacing:-.015em;line-height:1.1;margin:0 0 24px}
.kb-site h1{font-size:clamp(2.6rem,4.8vw,4.8rem)}
.kb-site h2{font-size:clamp(2.3rem,4vw,3.6rem)}
.kb-site h3{font-size:clamp(1.4rem,2.4vw,2rem)}
.kb-site p{margin:0 0 24px;color:var(--text-secondary)}
.kb-site a{color:inherit;text-decoration:none}
.kb-site button,.kb-site input,.kb-site select,.kb-site textarea{font:inherit;text-transform:none;letter-spacing:normal;box-shadow:none}
.kb-site button{cursor:pointer;line-height:1.4;margin:0;font-weight:400;min-height:0}
.kb-site img{display:block;max-width:100%;height:auto}
.kb-site ul{margin:0;padding:0;list-style:none}
.kb-site figure{margin:0}
.kb-site :focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.kb-site [hidden]{display:none!important}
.kb-container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:32px}
.kb-section{padding-block:90px;position:relative}
.kb-button,.kb-site button.kb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border:1px solid #111;border-radius:999px;background:#111;color:#fff;font-family:var(--font-display);font-size:1.05rem;line-height:1.25;white-space:normal;transition:background .2s,color .2s,transform .2s}
.kb-site a.kb-button{color:#fff}
.kb-site a.kb-button:hover,.kb-button:hover,.kb-site button.kb-button:hover{background:transparent;color:#111;transform:translateY(-2px)}
.kb-site a.kb-button-outline,.kb-button.kb-button-outline,.kb-site button.kb-button-outline{background:transparent;color:#111}
.kb-button-outline:hover{border-color:#111;background:#fff}
.kb-site button:disabled,.kb-button[aria-disabled=true]{cursor:not-allowed;opacity:.4;transform:none}
.kb-button-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.kb-text-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.1rem}
.kb-text-link svg{flex-shrink:0}
.kb-icon-button,.kb-site button.kb-icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:#ffffffd9;color:#111;flex-shrink:0}
.kb-topbar{position:relative;z-index:41;background:#050505;color:#fff;height:36px;overflow:hidden;font-size:.72rem;letter-spacing:.05em}
.kb-topbar>.kb-container{height:100%;display:flex;align-items:center;gap:24px}
.kb-topbar>.kb-container>span{flex-shrink:0;font-size:.67rem;text-transform:uppercase;letter-spacing:.16em}
.kb-marquee{flex:1;overflow:hidden}
.kb-marquee>div{display:flex;width:max-content;animation:kb-marquee 24s linear infinite}
.kb-marquee span{padding-right:48px;white-space:nowrap}
@keyframes kb-marquee{to{transform:translateX(-50%)}}
.kb-header{position:sticky;top:0;z-index:40;background:#ffffffd9;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff70}
.kb-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}
.kb-logo{flex-shrink:0}
.kb-logo img{width:142px;height:48px;object-fit:contain}
.kb-desktop-nav,.kb-nav-list{display:flex;align-items:center;gap:20px;font-family:var(--font-display);font-size:1.1rem;white-space:nowrap}
.kb-desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.kb-header-actions{display:flex;align-items:center;gap:10px}
.kb-language{position:relative;font-size:.82rem;flex-shrink:0}
.kb-language summary{cursor:pointer;list-style:none;padding:10px 4px}
.kb-language summary:after{content:'⌄';padding-left:4px}
.kb-language>div{position:absolute;right:0;top:100%;min-width:170px;background:white;border:1px solid #eee;padding:16px;border-radius:12px;box-shadow:0 10px 30px #00000012}
.kb-language .kbeauty-languages{display:flex;flex-direction:column;gap:8px}
.kb-language a[aria-current]{text-decoration:underline}
.kb-cart-open{position:relative}
.kb-cart-open [data-cart-count]{position:absolute;top:-5px;right:-5px;border-radius:50%;background:#111;color:white;font-size:.65rem;min-width:19px;padding:2px;line-height:1.4}
.kb-site button.kb-menu-toggle.kb-icon-button{display:none}
.kb-mobile-nav{padding:10px 24px 24px;border-top:1px solid var(--border);max-height:calc(100dvh - 80px);overflow:auto;background:#fffffff5}
.kb-mobile-nav>a{display:block;padding:10px 4px}
.kb-mobile-nav>.kb-button{margin-top:12px;padding:12px}
.kb-hero{min-height:calc(100dvh - 116px);min-height:max(620px,calc(100dvh - 116px));max-height:1000px;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(#fff 0%,#ffffff00 65%)}
.kb-hero>.kb-container{min-height:inherit;display:flex;align-items:center;position:relative;z-index:3}
.kb-hero-copy{width:43%;padding-block:52px}
.kb-hero-copy h1{margin-bottom:28px}
.kb-hero-copy p{max-width:370px;line-height:1.8;margin-bottom:36px;min-height:112px}
[data-hero-copy]{transition:opacity .55s}
.kb-hero-gallery{display:flex;align-items:center;gap:24px;margin-top:48px}
.kb-avatars{display:flex;padding-left:0}
.kb-avatars img{width:44px;height:44px;object-fit:cover;border:2px solid white;border-radius:50%;margin-left:-10px}
.kb-avatars img:first-child{margin-left:0}
.kb-hero-arch{position:absolute;right:9%;top:-10%;width:38%;height:95%;border-radius:0 0 9999px 9999px;overflow:hidden;z-index:1}
.kb-hero-arch:after{content:'';position:absolute;inset:0;background:linear-gradient(#ffffffd9,#ffffff00 50%)}
.kb-hero-arch>img,.kb-hero-arch>video{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.kb-hero-circle{position:absolute;right:calc(47% - 75px);bottom:20%;width:140px;height:140px;object-fit:cover;border:2px solid white;border-radius:50%;z-index:4;box-shadow:0 12px 30px #0002}
.kb-hero-word{position:absolute;right:0;bottom:0;font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(100px,15vw,195px);line-height:1.2;color:#ffffffd9;z-index:2;pointer-events:none;white-space:nowrap}
.kb-hero-pause{position:absolute;bottom:24px;left:32px;z-index:5;opacity:.6;font-family:var(--font-body)}
.kb-about{padding-top:0}
.kb-about-panel{background:linear-gradient(135deg,#ffffffd1,#ffffffa6);padding:64px;border-radius:24px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}
.kb-about-copy .kb-lead{font-size:1.125rem}
.kb-check-list{display:grid;gap:12px;margin-block:24px 32px!important}
.kb-check-list li{position:relative;padding-left:24px}
.kb-check-list li:before{content:'✓';position:absolute;left:0;color:var(--gold)}
.kb-about-images{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.kb-about-images img{width:100%;height:230px;object-fit:cover;border-radius:18px;box-shadow:0 12px 30px #00000010}
.kb-about-images img:first-child,.kb-about-images img:last-child{height:290px}
.kb-about-images img:nth-child(2){margin-top:32px}
.kb-about-images img:last-child{margin-top:0}
.kb-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px}
.kb-section-heading p{max-width:600px;margin-bottom:0}
.kb-section-heading h2{margin-bottom:16px}
.kb-centered{justify-content:center;text-align:center}
.kb-services-preview{background:url(images/line-beauty-nail-spa-1.png) center top/100% auto no-repeat}
.kb-services-preview h2{font-size:clamp(2.6rem,6vw,4.8rem)}
.kb-carousel{position:relative}
.kb-service-track{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.kb-service-track::-webkit-scrollbar{display:none}
.kb-service-card{flex:0 0 calc((100% - 60px)/4);scroll-snap-align:start;text-align:center}
.kb-service-card>a{display:block;overflow:hidden;border-radius:999px 999px 0 0;margin-bottom:24px;position:relative}
.kb-service-card>a:after{content:'';position:absolute;inset:auto 0 0;height:25%;background:linear-gradient(#fff0,#fff)}
.kb-service-card img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s}
.kb-service-card>a:hover img{transform:scale(1.04)}
.kb-service-card h3{font-size:1.7rem;min-height:3.4em;line-height:1.18;margin-bottom:20px}
.kb-service-card>div{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;align-items:center}
.kb-service-card .kb-button{padding:10px 18px;font-size:1rem;min-height:42px}
.kb-service-card .kb-text-link{font-size:1rem}
.kb-carousel-prev,.kb-carousel-next{position:absolute;top:34%;z-index:5;box-shadow:0 4px 20px #0001}
.kb-carousel-prev{left:-20px}
.kb-carousel-next{right:-20px}
.kb-gallery-preview{background:linear-gradient(#fffffff0,#f4f4f4eb)}
.kb-gallery-layout{display:grid;grid-template-columns:.8fr 1.6fr;gap:24px;align-items:stretch}
.kb-gallery-layout>aside{padding:40px;border:1px solid #e5e5e5;border-radius:28px;background:#ffffffab;display:flex;flex-direction:column;align-items:flex-start}
.kb-gallery-layout>aside h3{font-size:clamp(2rem,3.5vw,3.4rem)}
.kb-gallery-layout>aside .kb-button{margin-top:auto}
.kb-gallery-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kb-gallery-mosaic>a{display:block;overflow:hidden;position:relative;border-radius:24px;min-height:260px}
.kb-gallery-mosaic>a:nth-child(3){min-height:330px}
.kb-gallery-mosaic img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .7s}
.kb-gallery-mosaic a:hover img{transform:scale(1.04)}
.kb-gallery-mosaic span{position:absolute;inset:auto 0 0;padding:38px 20px 20px;background:linear-gradient(transparent,#000b);color:white}
.kb-testimonials{text-align:center;background:#fff8}
.kb-testimonials .kb-section-heading{display:block}
.kb-testimonials .kb-section-heading p{margin-inline:auto}
.kb-quote-track{min-height:270px;max-width:800px;margin-inline:auto}
.kb-stars{color:var(--gold);font-size:1.3rem;letter-spacing:4px;margin-bottom:20px}
.kb-quote-track blockquote{font-family:var(--font-display);font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1.4;font-style:normal;border:0;padding:0;margin:0 0 24px}
.kb-quote-track figcaption{font-weight:500}
.kb-quote-dots{display:flex;justify-content:center;gap:8px;margin-top:32px}
.kb-quote-dots button{width:10px;height:10px;background:#ccc;border:0;border-radius:20px;padding:0}
.kb-quote-dots .is-active{width:25px;background:#111}
.kb-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.kb-product-card{background:white;border:1px solid var(--border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.kb-product-photo{display:block;overflow:hidden;background:#f6f5f3}
.kb-product-photo img{width:100%;aspect-ratio:1;object-fit:contain;transition:transform .5s}
.kb-product-photo:hover img{transform:scale(1.04)}
.kb-product-info{padding:22px;display:flex;flex-direction:column;flex:1}
.kb-product-info h3{font-family:var(--font-body);font-size:1rem;font-weight:500;line-height:1.5;letter-spacing:0;margin-bottom:16px}
.kb-product-category{font-size:.8rem;color:#777!important;margin-bottom:8px!important}
.kb-product-price{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;font-size:1.125rem}
.kb-product-price del{font-size:.9rem;color:#8a8a8a}
.kb-product-info .kb-button{margin-top:auto;font-size:1rem;padding:10px 12px}
.kb-catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.kb-filters{display:flex;flex-wrap:wrap;gap:8px}
.kb-filters button{padding:9px 18px;border:1px solid var(--border-strong);border-radius:999px;background:transparent;font-size:1rem;min-height:44px}
.kb-filters button.is-active{background:#111;color:white;border-color:#111}
.kb-search{max-width:320px;min-width:220px}
.kb-search input{margin:0!important;border-radius:999px!important}
.kb-filter-empty{padding:32px;text-align:center}
.kb-page-heading{text-align:center;padding:84px 0 56px;background:linear-gradient(#fff,#fff0)}
.kb-page-heading p{max-width:700px;margin:0 auto;font-size:1.125rem}
.kb-service-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;padding-block:16px 40px}
.kb-service-nav a{border-bottom:1px solid #bbb;font-size:.9rem}
.kb-service-group{scroll-margin-top:100px}
.kb-service-group:nth-of-type(3n){background:#fff9}
.kb-service-group>.kb-container{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.kb-service-group.kb-reverse .kb-service-photo{order:2}
.kb-service-photo img{width:100%;height:clamp(320px,42vw,520px);object-fit:cover;border-radius:18px}
.kb-service-menu h2{font-size:clamp(2rem,3.5vw,3rem)}
.kb-price-list{margin-block:20px 32px}
.kb-price-list>div{display:flex;align-items:baseline;gap:10px;padding-block:12px}
.kb-price-list a{max-width:75%}
.kb-price-list a:hover{text-decoration:underline}
.kb-dot-leader{border-bottom:1px dotted #0003;flex:1;min-width:12px}
.kb-price-list strong{white-space:nowrap;font-weight:500}
.kb-booking-cta{text-align:center;background:linear-gradient(#ffffffab,#ffffffb8)}
.kb-booking-cta h2{max-width:720px;margin-inline:auto}
.kb-booking-cta p{max-width:650px;margin-inline:auto}
.kb-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin-top:40px}
.kb-gallery-image{border:0;padding:0;background:transparent;width:100%;border-radius:20px;overflow:hidden;display:block}
.kb-gallery-image img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}
.kb-gallery-image:hover img{transform:scale(1.04)}
.kb-gallery-grid figcaption{padding-top:16px}
.kb-contact-grid,.kb-checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.kb-contact-info h3{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:0;margin:28px 0 8px}
.kb-contact-info p{margin-bottom:12px}
.kb-contact-form-panel,.kb-order-summary{background:#fff;padding:40px;border:1px solid var(--border);border-radius:24px;align-self:start}
.kb-contact-form-panel h2,.kb-order-summary h2{font-size:2rem}
.kb-form label{display:block;margin-bottom:20px;color:var(--text);font-size:1rem}
.kb-form input:not([type=hidden]),.kb-form textarea,.kb-form select,.kb-search input{display:block;width:100%;height:auto;min-height:48px;border:1px solid var(--border-strong);border-radius:12px;background:#fff;padding:12px 16px;margin:8px 0 0;color:var(--text);font-size:1rem}
.kb-form textarea{resize:vertical;min-height:140px}
.kb-cf7 .wpcf7{margin:0}.kb-cf7 .wpcf7-form p{margin:0 0 18px}.kb-cf7 .wpcf7-form-control-wrap{display:block}.kb-cf7 .wpcf7-submit{width:auto;cursor:pointer}.kb-cf7 select[multiple]{min-height:180px}.kb-cf7 .wpcf7-response-output{margin:20px 0 0;padding:12px 16px;font-size:1rem}.kb-cf7 .wpcf7-not-valid-tip{font-size:1rem}.kb-cf7-newsletter{max-width:540px;margin:auto;text-align:left}.kb-cf7-newsletter .kb-form label{color:#fff}.kb-cf7-newsletter .kb-form input[type=email]{background:#ffffff12;color:#fff;border-color:#ffffff40}.kb-cf7-newsletter .kb-form input[type=submit]{color:#111;background:#fff;border:2px solid #fff}.kb-cf7-newsletter .wpcf7-response-output{color:#fff}.kb-appointment{max-width:800px;margin:32px auto 0;text-align:left}.kb-appointment summary{cursor:pointer;font-weight:600;text-align:center;padding:16px;border:1px solid var(--border-strong)}.kb-appointment[open] summary{margin-bottom:24px}.kb-appointment .kb-cf7{padding:24px;background:var(--bg-card);border:1px solid var(--border-strong)}
.kb-honeypot{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%);overflow:hidden;pointer-events:none}
.kb-form-message{margin:16px 0 0!important;grid-column:1/-1;overflow-wrap:anywhere;min-height:0}
.kb-form-message.is-error{color:#a12020!important}
.kb-form-message.is-success{color:#25633d!important}
.kb-map{overflow:hidden;border-radius:20px;margin-top:32px}
.kb-map iframe{width:100%;height:300px;border:0;filter:grayscale(1)}
.kb-map:hover iframe{filter:grayscale(0)}
.kb-product-detail,.kb-service-detail{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.kb-breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.85rem;color:#777;margin-bottom:32px}
.kb-product-detail-image{background:white;border:1px solid var(--border);border-radius:24px;overflow:hidden}
.kb-product-detail-image img{width:100%;aspect-ratio:1;object-fit:contain}
.kb-product-detail h1{font-size:clamp(2rem,3.5vw,3.4rem)}
.kb-product-detail-copy .kb-product-price{font-size:1.5rem}
.kb-product-options fieldset{border:0;padding:0;margin:24px 0}
.kb-product-options legend{font-weight:500;padding:0;margin-bottom:12px;font-size:1rem}
.kb-product-options label{display:inline-flex;position:relative;margin:0 8px 8px 0}
.kb-product-options input{position:absolute;opacity:0;width:100%;height:100%}
.kb-product-options span{padding:8px 16px;border:1px solid var(--border-strong);border-radius:999px;cursor:pointer}
.kb-product-options input:checked+span{background:#111;color:white;border-color:#111}
.kb-product-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.kb-product-extra{max-width:800px;margin-top:64px}
.kb-product-extra dl{margin-top:32px}
.kb-product-extra dl>div{display:grid;grid-template-columns:1fr 2fr;padding:12px 0;border-bottom:1px solid var(--border)}
/* Supply detail: match the original product summary and details panels. */
.kb-product-page{background:linear-gradient(180deg,#fffffff2,#f8f8f8e6);padding-block:64px}
.kb-product-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;font-size:.875rem}
.kb-product-topline>a{text-decoration:underline;text-underline-offset:4px}
.kb-product-page .kb-product-detail{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px}
.kb-product-page .kb-product-detail-image{position:relative;border:1px solid #ffffffbf;border-radius:32px;background:var(--bg-secondary);box-shadow:0 24px 70px #00000014}
.kb-product-page .kb-product-detail-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0006,transparent 52%)}
.kb-product-page .kb-product-detail-image img{padding:32px;max-height:none;transition:transform .7s ease-out}
.kb-product-image-badges{position:absolute;top:16px;left:16px;right:16px;display:flex;gap:8px;flex-wrap:wrap;z-index:1}
.kb-product-page .kb-product-pill{display:inline-block;max-width:100%;padding:4px 12px;border:1px solid var(--border-strong);border-radius:999px;font-size:.7rem;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;overflow-wrap:anywhere}
.kb-product-image-badges .kb-product-pill{background:#fffffff2;border-color:transparent;font-size:.65rem}
.kb-product-page .kb-product-pill-dark{background:#111;color:white;border-color:#111}
.kb-product-detail-panels{display:grid;gap:24px;min-width:0}
.kb-product-page .kb-product-detail-copy,.kb-product-page .kb-product-extra{padding:40px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 2px 3px #0000000d;min-width:0}
.kb-product-detail-labels{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.kb-product-detail-labels .kb-product-pill:first-child{font-size:.75rem;text-transform:none;letter-spacing:0;padding:4px 12px}
.kb-site .kb-product-page h1{font-size:2.25rem;line-height:1.1;font-weight:700;margin-bottom:20px;overflow-wrap:break-word}
.kb-product-page .kb-product-price{font-size:1.875rem;margin-bottom:20px}
.kb-product-page .kb-product-description{font-size:1rem;line-height:1.75}
.kb-product-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.kb-product-detail-actions .kb-button{width:100%;padding-inline:12px}
.kb-product-page .kb-product-selection-hint{font-size:.8rem;text-align:center;margin:10px 0 0}
.kb-product-page .kb-product-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 0}
.kb-product-page .kb-product-facts>div{display:block;padding:12px 16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-secondary);min-width:0}
.kb-product-page .kb-product-facts dt{display:block;float:none;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-weight:400;margin:0 0 4px}
.kb-product-page .kb-product-facts dd{display:block;float:none;font-size:.875rem;font-weight:600;margin:0;text-transform:none;overflow-wrap:anywhere}
.kb-product-page .kb-product-extra{max-width:none;margin:0;padding:32px}
.kb-site .kb-product-page .kb-product-extra h2{font-size:1.25rem;font-weight:700;margin:0 0 16px}
.kb-product-page .kb-product-extra p{font-size:.875rem;line-height:1.9;margin:0 0 16px}
.kb-product-identifiers{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;color:var(--text-muted)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.kb-product-page .kb-product-detail-image:hover img{transform:scale(1.05)}}
@media(max-width:1023px){.kb-product-page .kb-product-detail{grid-template-columns:minmax(0,1fr);gap:32px}.kb-product-page .kb-product-detail-image{max-width:640px;width:100%;margin-inline:auto}.kb-product-page{padding-block:48px}}
@media(max-width:639px){.kb-product-page .kb-product-detail-copy,.kb-product-page .kb-product-extra{padding:24px}.kb-site .kb-product-page h1{font-size:1.875rem}.kb-product-page .kb-product-detail-image img{padding:24px}.kb-product-detail-actions,.kb-product-page .kb-product-facts{grid-template-columns:1fr}.kb-product-page .kb-product-topline{gap:12px;flex-wrap:wrap}.kb-product-page .kb-product-detail-image{border-radius:24px}}
.kb-service-detail>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
.kb-service-detail h1{font-size:clamp(2.4rem,4vw,3.5rem);margin-top:24px}
.kb-service-price{display:flex;gap:24px;margin-bottom:24px;font-size:1.2rem}
.kb-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.kb-article-grid article{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--border)}
.kb-article-grid article img{width:100%;aspect-ratio:16/10;object-fit:cover}
.kb-article-card-body{padding:28px}
.kb-article-card-body time{color:#777;font-size:.85rem}
.kb-article-card-body h2{font-size:1.9rem;line-height:1.2;margin-top:16px}
.kb-article{padding-top:64px}
.kb-article header h1{max-width:1000px;margin-bottom:24px}
.kb-article header>.kb-lead{max-width:850px;font-size:1.125rem}
.kb-article-hero{width:100%;max-height:600px;object-fit:cover;border-radius:24px;margin-block:40px 64px}
.kb-prose{max-width:800px;margin-inline:auto;font-size:1rem;line-height:1.9}
.kb-prose h2{font-size:2.3rem;margin-top:48px}
.kb-prose h3{margin-top:32px}
.kb-prose ul,.kb-prose ol{list-style:revert;padding-left:24px;margin-bottom:24px}
.kb-prose a{color:var(--gold);text-decoration:underline}
.kb-prose img{height:auto;margin-block:24px;border-radius:16px}
.kb-prose table{overflow:auto;display:block;width:100%}
.kb-prose .kb-post-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.kb-empty{padding-block:48px;text-align:center}
.kb-pagination{margin-top:48px}
.kb-order-summary{position:sticky;top:108px}
.kb-order-total{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:24px;margin-top:24px}
.kb-footer{background:#f6f5f3;border-top:1px solid var(--border)}
.kb-newsletter{background:#050505;padding-block:64px;color:#fff;text-align:center}
.kb-newsletter h2{font-size:2rem;color:white}
.kb-newsletter p{color:#ffffffb8}
.kb-newsletter-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;max-width:540px;margin:auto}
.kb-newsletter-form input[type=email]{border-radius:999px;border-color:#ffffff40;background:#ffffff12;color:white;margin:0}
.kb-newsletter-form input::placeholder{color:#ffffffb3}
.kb-newsletter .kb-button-light{background:transparent;border-color:white;color:white}
.kb-newsletter .kb-button-light:hover{background:white;color:#111}
.kb-newsletter .kb-form-message.is-success{color:#fff!important}
.kb-footer-grid{padding-block:64px;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:64px}
.kb-footer-brand img{width:180px;height:60px;object-fit:contain;margin-bottom:24px}
.kb-footer-brand p{max-width:330px}
.kb-footer h3{font-size:1.35rem}
.kb-footer li{margin-bottom:8px}
.kb-footer p,.kb-footer li{font-size:.95rem}
.kb-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.kb-social{display:flex;gap:20px}
.kb-footer-bottom{border-top:1px solid #ddd;padding-block:24px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.kb-footer-bottom p{margin:0;font-size:.82rem}
.kb-footer-bottom>div{display:flex;gap:20px;font-size:.82rem}
.kb-back-top{position:fixed;right:20px;bottom:20px;z-index:20;box-shadow:0 4px 20px #0002}
.kb-cart-dialog{position:fixed;inset:0 0 0 auto;width:min(450px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:24px;background:white;border:0;color:#111;overflow-y:auto}
.kb-cart-dialog::backdrop{background:#0006;backdrop-filter:blur(2px)}
.kb-cart-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:20px}
.kb-cart-heading h2{font-size:2rem;margin:0}
.kb-cart-bottom{padding-top:24px;margin-top:24px;border-top:1px solid var(--border)}
.kb-cart-bottom p{display:flex;justify-content:space-between}
.kb-cart-bottom>.kb-button{width:100%;margin-block:6px}
.kb-cart-line{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding-block:20px;border-bottom:1px solid var(--border)}
.kb-cart-line>img{width:72px;height:80px;object-fit:contain;background:#f6f5f3;border-radius:12px}
.kb-cart-line h3{font-family:var(--font-body);font-size:.95rem;letter-spacing:0;line-height:1.4;margin-bottom:8px}
.kb-cart-line p{font-size:.82rem;margin-bottom:8px}
.kb-cart-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kb-cart-controls button{padding:2px 8px;border:1px solid #ddd;border-radius:6px;background:transparent;color:#111;min-width:32px;min-height:32px}
.kb-cart-controls button:last-child{font-size:.78rem}
.kb-lightbox{position:fixed;inset:0;width:100%;height:100dvh;max-width:100%;max-height:100dvh;margin:0;background:#101010f2;color:white;border:0;padding:48px;overflow:hidden}
.kb-lightbox[open]{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:24px}
.kb-lightbox::backdrop{background:#000b}
.kb-lightbox>[data-lightbox-close]{position:absolute;right:20px;top:20px}
.kb-lightbox figure{min-width:0;display:grid;justify-items:center;gap:16px}
.kb-lightbox img{max-height:calc(100dvh - 140px);max-width:100%;width:auto;object-fit:contain}
.kb-lightbox figcaption{color:white;text-align:center}
.kb-legal section{padding:56px 32px}
.kb-legal section:first-child{text-align:center;padding-top:84px}
.kb-legal section>div{max-width:900px;margin:auto}
.kb-legal .card{background:#fff;padding:32px;border-radius:16px;margin-bottom:24px;border:1px solid #eee}
.kb-legal .badge{display:none}
.kb-legal .card h2{font-size:1.8rem}
.kb-legal .card p:last-child{margin-bottom:0}
.kb-legal ul{list-style:disc;padding-left:24px;margin-bottom:24px}
.kb-legal a{text-decoration:underline}
.admin-bar .kb-header{top:32px}
@media(min-width:1440px){.kb-hero-copy{padding-left:24px}}
@media(max-width:1200px){.kb-header-inner{gap:16px}.kb-desktop-nav{gap:12px;font-size:1rem}.kb-logo img{width:120px}.kb-header-booking{padding-inline:18px}.kb-about-panel{padding:40px;gap:40px}.kb-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kb-service-card{flex-basis:calc((100% - 40px)/3)}.kb-service-card h3{font-size:1.5rem}.kb-footer-grid{gap:40px}}
@media(max-width:1023px){.kb-desktop-nav{display:none}.kb-menu-toggle.kb-icon-button{display:inline-flex}.kb-header-inner{min-height:72px}.kb-hero{min-height:650px}.kb-hero-copy{width:52%;max-width:500px}.kb-hero-arch{width:40%;right:3%;height:80%;top:0}.kb-hero-circle{right:calc(43% - 50px);width:100px;height:100px;bottom:24%}.kb-hero-word{font-size:110px}.kb-about-panel{gap:32px}.kb-about-images img{height:200px}.kb-about-images img:first-child,.kb-about-images img:last-child{height:240px}.kb-about-images img:last-child{margin-top:0}.kb-gallery-layout{grid-template-columns:1fr}.kb-gallery-layout>aside{display:block}.kb-gallery-mosaic{grid-template-columns:repeat(4,1fr)}.kb-gallery-mosaic>a,.kb-gallery-mosaic>a:nth-child(3){min-height:260px}.kb-service-group>.kb-container{gap:40px}.kb-contact-grid,.kb-checkout-grid,.kb-product-detail,.kb-service-detail{gap:40px}.kb-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-footer-grid{grid-template-columns:1.3fr 1fr 1.2fr;gap:32px}.kb-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.kb-container{padding-inline:24px}.kb-section{padding-block:60px}.kb-topbar>.kb-container>span{display:none}.kb-hero{min-height:580px;max-height:none}.kb-hero-copy{width:100%;padding-block:64px}.kb-hero-copy h1{font-size:clamp(2.8rem,7vw,4rem)}.kb-hero-copy p{max-width:480px;min-height:0}.kb-hero-arch,.kb-hero-circle,.kb-hero-word{display:none}.kb-hero-gallery{margin-top:32px}.kb-hero-pause{bottom:16px;left:auto;right:24px}.kb-about{padding-top:0}.kb-about-panel{display:block;padding:32px 24px;border-radius:0;background:#fff8}.kb-about-copy{margin-bottom:40px}.kb-about-images img{height:200px}.kb-about-images img:first-child,.kb-about-images img:last-child{height:240px}.kb-section-heading{align-items:flex-start;gap:24px;flex-direction:column;margin-bottom:32px}.kb-testimonials .kb-section-heading{display:block}.kb-service-card{flex-basis:calc((100% - 20px)/2)}.kb-service-card h3{font-size:1.5rem}.kb-carousel-prev{left:-15px}.kb-carousel-next{right:-15px}.kb-gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-gallery-layout>aside{padding:28px}.kb-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kb-product-info{padding:16px}.kb-catalog-tools{align-items:stretch;flex-direction:column;gap:16px}.kb-search{max-width:none;min-width:0}.kb-page-heading{padding:56px 0 32px}.kb-service-group>.kb-container{grid-template-columns:1fr;gap:32px}.kb-service-group.kb-reverse .kb-service-photo{order:0}.kb-service-photo img{height:360px}.kb-contact-grid,.kb-checkout-grid,.kb-product-detail,.kb-service-detail{grid-template-columns:1fr;gap:40px}.kb-contact-form-panel,.kb-order-summary{padding:28px}.kb-order-summary{position:static}.kb-product-detail-image img{max-height:500px}.kb-article header h1{font-size:2.5rem}.kb-article{padding-top:40px}.kb-prose{padding-inline:24px}.kb-service-detail .kb-prose{padding-inline:0}.kb-article-hero{margin-block:32px 40px}.kb-footer-grid{grid-template-columns:1fr 1fr;gap:40px}.kb-footer-brand{grid-column:1/-1}.kb-footer-bottom{align-items:flex-start;flex-direction:column}.kb-lightbox{padding:52px 12px 20px}.kb-lightbox[open]{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}.kb-lightbox>.kb-icon-button{width:36px;height:36px}.admin-bar .kb-header{top:46px}.kb-quote-track{min-height:300px}}
@media(max-width:479px){.kb-container{padding-inline:20px}.kb-header-inner{gap:8px;min-height:64px}.kb-header-actions{gap:6px}.kb-header-booking{display:none}.kb-logo img{width:122px;height:44px}.kb-hero{min-height:540px}.kb-hero-copy{padding-block:48px}.kb-hero-copy h1{font-size:2.7rem}.kb-hero-gallery{gap:16px}.kb-hero-gallery .kb-button{padding:10px 20px}.kb-service-card{flex-basis:86%}.kb-service-card h3{min-height:0}.kb-product-grid{grid-template-columns:1fr 1fr;gap:12px}.kb-product-info{padding:12px}.kb-product-info .kb-button{font-size:.95rem;padding-inline:8px}.kb-product-price{flex-wrap:wrap;gap:4px 8px;font-size:1rem}.kb-gallery-grid{grid-template-columns:1fr}.kb-gallery-mosaic>a,.kb-gallery-mosaic>a:nth-child(3){min-height:220px}.kb-footer-grid{grid-template-columns:1fr}.kb-footer-brand{grid-column:auto}.kb-newsletter-form{grid-template-columns:1fr}.kb-newsletter-form .kb-button{width:100%}.kb-price-list>div{gap:6px}.kb-price-list a{max-width:68%}.kb-service-photo img{height:320px}.kb-filters button{padding-inline:14px}.kb-contact-form-panel,.kb-order-summary{padding:24px}.kb-quote-track{min-height:340px}.kb-legal section{padding-inline:20px}.kb-legal .card{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kb-site *, .kb-site *:before,.kb-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.kb-hero-pause{display:none}}
@media(max-width:1023px){.kb-site button.kb-menu-toggle.kb-icon-button{display:inline-flex}}
@media(max-width:767px){.kb-site img.kb-hero-circle{display:none}}
.kb-site .kb-newsletter button.kb-button-light{background:transparent;border-color:white;color:white}
.kb-site .kb-newsletter button.kb-button-light:hover{background:white;color:#111}

@media(max-width:1023px){.kb-header-call.kb-icon-button{display:none}}

.kb-quote-pause{margin:16px auto 0!important;opacity:.6}.kb-quote-track figure{animation:kb-quote-fade .5s ease-out}@keyframes kb-quote-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.kb-quote-pause{display:none!important}}

.kb-nav-list{gap:inherit}.kb-nav-list li,.kb-mobile-menu-list li{margin:0}.kb-mobile-menu-list a{display:block;padding:10px 4px}

/* Home reference review: media layers, staggered columns and real content cards. */
.kb-hero-word{z-index:0;bottom:24px}
.kb-hero-arch{z-index:1}
.kb-site :is(.kb-hero,.kb-about,.kb-services-preview,.kb-gallery-preview,.kb-products) .kb-button{border-width:2px;font-weight:600}
.kb-site .kb-products .kb-filters button{border-width:2px;border-color:#111;font-weight:600}
.kb-about-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.kb-about-column{display:grid;gap:16px;min-width:0}
.kb-about-column:nth-child(2){padding-top:32px}
.kb-site .kb-about-images .kb-about-column img{width:100%;height:auto;margin:0;aspect-ratio:1;object-fit:cover;border-radius:18px}
.kb-site .kb-about-images .kb-about-column:first-child img:first-child,.kb-site .kb-about-images .kb-about-column:last-child img:last-child{aspect-ratio:4/5}
.kb-gallery-layout{grid-template-columns:.88fr 1.12fr;gap:24px;align-items:stretch}
.kb-gallery-layout>aside{padding:40px;border-radius:32px;border-color:#ffffffb3;background:linear-gradient(135deg,#fffffff5,#ebebebd1);box-shadow:0 30px 80px #00000014;display:flex}
.kb-gallery-panel-label{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;margin-bottom:16px!important}
.kb-gallery-features{display:grid;grid-template-columns:1fr;gap:12px;width:100%;margin-top:8px}
.kb-gallery-features>div{display:flex;align-items:center;gap:20px;border:1px solid var(--border);border-radius:0;padding:16px 20px;background:#ffffffd9;box-shadow:none}
.kb-gallery-features span{display:block;flex:0 0 2ch;font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1.1;letter-spacing:-.04em;border-radius:0;background:none;margin:0;color:var(--text)}
.kb-gallery-features p{margin:0;font-size:1rem;color:var(--text)}
.kb-gallery-panel-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:32px}
.kb-gallery-panel-bottom .kb-button{margin:0!important}
.kb-gallery-panel-bottom p{margin:0;font-size:1rem}
.kb-gallery-preview-media{position:relative;min-width:0;padding-bottom:100px}
.kb-gallery-mosaic{display:block;columns:3;column-gap:16px}
.kb-gallery-mosaic>a,.kb-gallery-mosaic>a:nth-child(3){display:block;break-inside:avoid;position:relative;min-height:0;aspect-ratio:4/3;margin:0 0 16px;border-radius:24px;box-shadow:0 20px 50px #00000024;transform:translateZ(0)}
.kb-gallery-mosaic>a.kb-gallery-tall{aspect-ratio:4/5}
.kb-gallery-mosaic>a:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#000b,#0000001f,transparent);pointer-events:none}
.kb-gallery-caption{position:absolute;inset:auto 0 0;padding:16px;z-index:1}
.kb-gallery-mosaic .kb-gallery-caption span{position:static;display:inline-block;padding:4px 12px;border-radius:999px;background:#ffffffe6;color:#111;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.kb-gallery-caption p{font-size:1rem;font-weight:500;color:white!important;line-height:1.35;margin:12px 0 0!important}
.kb-gallery-notes{position:absolute;right:16px;bottom:-20px;width:296px;max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;z-index:2}
.kb-gallery-notes>div{padding:16px;border:1px solid #ffffffbf;border-radius:16px;background:#ffffffd9;box-shadow:0 18px 40px #00000014;backdrop-filter:blur(12px)}
.kb-gallery-notes>div:last-child{background:#f5f5f5f2;border-color:var(--border)}
.kb-gallery-notes p{font-size:.75rem;text-transform:uppercase;letter-spacing:.24em;line-height:1.4;margin:0 0 8px}
.kb-gallery-notes strong{display:block;font-weight:500;font-size:1rem;line-height:1.4}
.kb-testimonials{overflow:hidden;background:url(images/line-beauty-nail-spa-1.png) center top/100% auto no-repeat}
.kb-testimonials .kb-section-heading{margin-bottom:72px}
.kb-testimonials h2,.kb-home-products h2{font-size:clamp(2.6rem,6vw,4.8rem)}
.kb-quote-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;max-width:none;min-height:0;padding:0 32px 8px;position:relative;text-align:left}
.kb-quote-track::-webkit-scrollbar{display:none}
.kb-quote-track .kb-review-card{display:flex;flex-direction:column;gap:16px;flex:0 0 clamp(280px,80vw,360px);scroll-snap-align:start;padding:24px;background:#fff;border:1px solid var(--border);border-radius:16px;animation:none;box-shadow:0 2px 4px #00000005}
.kb-review-card .kb-stars{color:#111;font-size:1rem;letter-spacing:4px;line-height:1.3;margin:0}
.kb-quote-track .kb-review-card blockquote{font-family:var(--font-body);font-size:1rem;line-height:1.65;font-style:normal;color:var(--text-secondary);padding:0;margin:0;flex:1}
.kb-review-card figcaption{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:12px}
.kb-review-card figcaption span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#111;color:white;font-weight:600}
.kb-review-card figcaption strong{font-family:var(--font-display);font-size:1rem;font-weight:600}
.kb-quote-dots{margin-top:24px}
.kb-quote-dots button{background:#fff;border:1px solid #00000024;width:8px;height:8px}
.kb-quote-dots button.is-active{width:24px;background:#111;border-color:#111}
.kb-products{background:linear-gradient(#fffffff0,#f4f4f4eb)}
.kb-product-count{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.kb-product-count p{margin:0}
.kb-product-count a{font-weight:500}
.kb-products .kb-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.kb-products .kb-product-card{border-radius:24px;background:#ffffffd1;border-color:#ffffffbf}
.kb-products .kb-product-photo{position:relative}
.kb-products .kb-product-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#0008,transparent 55%);pointer-events:none}
.kb-products .kb-product-photo img{object-fit:cover}
.kb-product-badges{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:8px;flex-wrap:wrap;z-index:1}
.kb-product-badges span,.kb-stock-badge{display:inline-block;border-radius:999px;padding:4px 10px;background:#ffffffe6;color:#111;font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.4}
.kb-product-badges .kb-sale-badge{background:#111;color:white}
.kb-stock-badge{position:absolute;left:12px;bottom:12px;z-index:1}
.kb-products .kb-product-info{padding:16px}
.kb-products .kb-product-category{display:none}
.kb-products .kb-product-info h3{font-weight:600;line-height:1.35;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kb-products .kb-product-description{font-size:1rem;line-height:1.55;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kb-products .kb-product-price{margin-bottom:12px;font-size:1rem}
.kb-products .kb-product-info .kb-button{width:100%;border-radius:999px;background:#111;color:white;font-weight:600}
.kb-products .kb-product-info .kb-button:hover{background:white;color:#111}
.kb-social{display:flex;gap:12px}
.kb-social a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #111;border-radius:50%;font-size:20px;color:#111}
.kb-social a:hover{background:#111;color:white}
@media(max-width:1023px){.kb-gallery-layout{grid-template-columns:1fr}.kb-gallery-layout>aside{display:flex}.kb-gallery-mosaic{columns:3}.kb-gallery-preview-media{padding-bottom:0}.kb-gallery-notes{position:static;width:100%;max-width:none;margin-top:16px}}
@media(max-width:767px){.kb-gallery-layout>aside{padding:28px}.kb-gallery-mosaic{columns:2}.kb-gallery-features{grid-template-columns:1fr}.kb-quote-track{padding-inline:24px}.kb-testimonials .kb-section-heading{margin-bottom:40px}.kb-products .kb-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-about-column:nth-child(2){padding-top:24px}}
@media(max-width:479px){.kb-quote-track{padding-inline:20px}.kb-gallery-mosaic{columns:1}.kb-gallery-notes{right:auto}.kb-products .kb-product-info{padding:12px}.kb-product-badges{gap:4px}.kb-product-badges span{padding-inline:6px;letter-spacing:.08em}.kb-stock-badge{left:8px;padding-inline:8px;letter-spacing:.08em}}
.kb-site .kb-cf7 input.wpcf7-submit{background:var(--text);color:var(--bg);font-weight:700;border:2px solid var(--text);padding:12px 26px;border-radius:999px;margin:0}.kb-site .kb-cf7-newsletter input.wpcf7-submit{background:#fff;color:#111;border-color:#fff}.kb-site .kb-cf7 input.wpcf7-submit:disabled{opacity:.5;cursor:not-allowed}

.kb-reading-time{color:#777;font-size:.85rem}

/* Contact: equal panels; the map fills the information column naturally. */
.kb-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}
.kb-contact-grid>*{min-width:0}
.kb-contact-grid .kb-contact-info,.kb-contact-grid .kb-contact-form-panel{padding:40px;background:#fff;border:1px solid var(--border);border-radius:24px;align-self:stretch}
.kb-contact-grid .kb-contact-info{display:flex;flex-direction:column}
.kb-contact-grid h2{font-size:2rem;margin-bottom:24px}
.kb-contact-grid .kb-contact-info h3{margin:20px 0 8px}
.kb-contact-grid .kb-contact-info h3:first-of-type{margin-top:0}
.kb-contact-grid .kb-contact-info p,.kb-contact-grid .kb-contact-info a{overflow-wrap:anywhere}
.kb-contact-grid .kb-map{flex:1;min-height:240px;display:flex}
.kb-contact-grid .kb-map iframe{height:100%;min-height:240px;display:block;flex:1}
.kb-contact-grid .kb-cf7-contact .wpcf7-form p>br{display:none}
.kb-contact-grid .kb-cf7-contact textarea{height:180px;min-height:140px}
@media(max-width:1023px){.kb-contact-grid .kb-contact-info,.kb-contact-grid .kb-contact-form-panel{padding:28px}}
@media(max-width:767px){.kb-contact-grid{grid-template-columns:1fr;gap:24px}.kb-contact-grid .kb-contact-info,.kb-contact-grid .kb-contact-form-panel{padding:24px}.kb-contact-grid .kb-map{flex:none;height:260px;min-height:0}.kb-contact-grid .kb-map iframe{min-height:0}.kb-contact-grid h2{font-size:2rem}}

/* Home services span the page width; navigation stays inside the carousel. */
.kb-services-preview>.kb-container{max-width:none;padding-inline:0}
.kb-services-preview .kb-section-heading{padding-inline:24px}
.kb-services-preview .kb-carousel-prev{left:16px}
.kb-services-preview .kb-carousel-next{right:16px}
@media(max-width:479px){.kb-services-preview .kb-carousel-prev{left:8px}.kb-services-preview .kb-carousel-next{right:8px}}


/* Booking in the mobile navigation needs its own flex alignment. */
.kb-mobile-nav>a.kb-button{display:flex;justify-content:center;text-align:center}
