.khb-homepage{
	--khb-rose:#B76E79; --khb-rose-deep:#8C4A55; --khb-gold:#C9A24B; --khb-gold-deep:#9C7A2F;
	--khb-charcoal:#3A332F; --khb-blush:#FBEDE8; --khb-paper:#FFFDFB; --khb-ink:#3A332F;
	--khb-ink-soft:#8A7E77; --khb-line:#EFDCD3;
	font-family:'Jost', sans-serif; background:var(--khb-paper); color:var(--khb-ink);
	direction:ltr; text-align:left; overflow-x:hidden; width:100%; max-width:100vw;
}
.khb-homepage *{ box-sizing:border-box; }
.khb-homepage h1, .khb-homepage h2, .khb-homepage h3{
	font-family:'Marcellus', serif; font-weight:400; color:var(--khb-rose-deep); margin:0;
}
.khb-homepage a{ text-decoration:none; color:inherit; }
/* ===================================================================
   Page width — one shared vocabulary, declared per page

   Every page used to inherit its horizontal rhythm from whatever the
   homepage happened to be doing, which is how the order form ended up
   540px narrower than the header sitting directly above it. These four
   tokens are the vocabulary; each page picks the one it wants and says
   so explicitly, so a page's width is readable in that page's own rules
   instead of being a side effect of someone else's.

     --khb-max-full     edge-to-edge shells: the site header, the order
                        form — anything whose job is to use the screen
     --khb-max-wide     the homepage's own content sections
     --khb-max-read     prose that needs a comfortable measure (policy)
     --khb-gutter       the side padding all of them share
   =================================================================== */
:root{
	--khb-max-full: 1600px;
	--khb-max-wide: 1560px;
	--khb-max-read: 1120px;
	--khb-gutter: 44px;
	--khb-gutter-sm: 20px;
}

.khb-homepage .khb-wrap{ max-width:var(--khb-max-wide); margin:0 auto; padding:0 var(--khb-gutter); }
.khb-homepage .khb-ph, .khb-homepage .khb-img-box{
	background:var(--khb-blush); display:flex; align-items:center; justify-content:center;
	color:var(--khb-ink-soft); font-size:12px; letter-spacing:1px; text-transform:uppercase; overflow:hidden;
}
.khb-homepage .khb-ph{ flex-direction:column; gap:8px; }
.khb-homepage .khb-ph-icon{ width:34%; max-width:56px; min-width:26px; height:auto; opacity:.55; }
.khb-homepage .khb-ph-label{ font-size:11px; }
.khb-homepage .khb-cat-circle.khb-ph .khb-ph-icon{ width:32px; opacity:.5; }
.khb-homepage .khb-img-box img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.khb-homepage .khb-eyebrow{ font-family:'Italiana', serif; font-size:17px; letter-spacing:2.2px; color:var(--khb-gold-deep); }
.khb-homepage .khb-btn{
	display:inline-block; padding:17px 38px; font-size:14px; letter-spacing:1px;
	text-transform:uppercase; font-weight:500; border-radius:100px;
}
.khb-homepage .khb-btn-primary{ background:var(--khb-rose-deep); color:var(--khb-paper); }
.khb-homepage .khb-btn-outline{ border:1px solid var(--khb-rose-deep); color:var(--khb-rose-deep); }

/* ===== SITE HEADER — logo left, refined nav tabs right ===== */
.khb-homepage .khb-site-header{ background:var(--khb-paper); border-bottom:1px solid var(--khb-line); position:sticky; top:0; z-index:100; transition:box-shadow .2s; }
.khb-homepage .khb-site-header.khb-scrolled{ box-shadow:0 2px 10px rgba(0,0,0,.08); }
.khb-homepage .khb-nav{ display:flex; align-items:center; justify-content:space-between; padding:28px var(--khb-gutter); max-width:var(--khb-max-full); margin:0 auto; gap:34px; }
.khb-homepage .khb-logo-word{ font-family:'Italiana', serif; font-size:30px; letter-spacing:3.5px; color:var(--khb-rose-deep); text-transform:uppercase; }
.khb-homepage .khb-logo a{ display:flex; align-items:center; }
.khb-homepage .khb-logo-img{ height:40px; width:auto; display:block; }

/* ===== CUSTOM PAGES (Policy, Privacy Policy, Disclaimer, or anything else
   added from wp-admin) — same rhythm as the rest of the site: 90px section
   padding (inherited from the generic `.khb-homepage section` rule isn't
   used here since this isn't a <section id> homepage block, so it's set
   explicitly), Marcellus headings, --khb-line-bordered cards. ===== */
.khb-homepage.khb-custom-page-wrap{ max-width:var(--khb-max-read); margin:0 auto; padding:90px var(--khb-gutter); }
.khb-homepage .khb-custom-page-section{
	border:1px solid var(--khb-line); border-radius:20px; background:var(--khb-paper);
	padding:2.5rem; margin-bottom:1.5rem;
}
.khb-homepage .khb-custom-page-section:last-child{ margin-bottom:0; }
.khb-homepage .khb-custom-page-section h2{ font-family:'Marcellus', serif; font-weight:400; font-size:28px; line-height:1.3; color:var(--khb-rose-deep); margin:0 0 1rem; }
.khb-homepage .khb-custom-page-section p{ font-size:14.5px; line-height:1.7; color:var(--khb-ink-soft); margin:0 0 .9rem; }
.khb-homepage .khb-custom-page-section p:last-child{ margin-bottom:0; }
/* A lone section (a short one-section page) gets extra breathing room so it doesn't look like it's floating in a big empty page. */
.khb-homepage .khb-custom-page-section-solo{ padding:3.5rem; }
.khb-homepage .khb-custom-page-empty{ text-align:center; color:var(--khb-ink-soft); font-style:italic; }

@media(max-width:600px){
	.khb-homepage.khb-custom-page-wrap{ padding:60px var(--khb-gutter-sm); }
	.khb-homepage .khb-custom-page-section{ padding:1.5rem; }
	.khb-homepage .khb-custom-page-section h2{ font-size:22px; }
}
.khb-homepage .khb-nav-right{ display:flex; align-items:center; gap:34px; }
.khb-homepage .khb-nav-links{ display:flex; align-items:center; gap:4px; }
.khb-homepage .khb-nav-links a{
	position:relative; padding:11px 24px; font-size:17px; font-weight:700; letter-spacing:1px;
	text-transform:uppercase; color:var(--khb-ink-soft); border-radius:100px; transition:color .25s ease, background .25s ease;
}
.khb-homepage .khb-nav-links a:hover{ color:var(--khb-rose-deep); background:var(--khb-blush); }
.khb-homepage .khb-nav-links a::after{
	content:''; position:absolute; left:50%; bottom:-2px; width:0; height:3px; border-radius:2px;
	background:var(--khb-gold); transform:translateX(-50%); transition:width .25s ease;
}
.khb-homepage .khb-nav-links a:hover::after{ width:18px; }
.khb-homepage .khb-nav-divider{ width:1px; height:22px; background:var(--khb-line); }

/* ===== HERO — 3 selectable layout styles (diagonal / split / fullbleed) ===== */
.khb-homepage .khb-hero{ position:relative; height:82vh; min-height:560px; display:flex; width:100%; max-width:100%; overflow:hidden; }
.khb-homepage .khb-hero-left{ width:42%; background:var(--khb-rose-deep); display:flex; align-items:center; padding:0 60px; position:relative; z-index:2; }
.khb-homepage .khb-hero-right{ flex:1; margin-left:-10%; overflow:hidden; position:relative; }
.khb-homepage .khb-hero-right [data-khb-hero-image]{ height:100%; width:100%; }
.khb-homepage .khb-hero-right .khb-img-box, .khb-homepage .khb-hero-right img{ height:100%; width:100%; }
.khb-homepage .khb-hero-text .khb-eyebrow{ color:#F4D9CF; display:block; margin-bottom:18px; }
.khb-homepage .khb-hero-text h1{ color:var(--khb-paper); font-size:44px; line-height:1.2; margin-bottom:20px; }
.khb-homepage .khb-hero-text p{ color:rgba(255,253,251,.85); font-size:15px; margin-bottom:28px; max-width:320px; }
.khb-homepage .khb-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.khb-homepage .khb-hero-primary-btn{ background:var(--khb-paper); color:var(--khb-rose-deep); }
.khb-homepage .khb-hero-outline-btn{ border-color:var(--khb-paper); color:var(--khb-paper); }

/* Diagonal (original / default) */
.khb-homepage .khb-hero-style-diagonal .khb-hero-left{ clip-path:polygon(0 0, 100% 0, 82% 100%, 0 100%); }

/* Even split — plain left/right, no diagonal, no overlap */
.khb-homepage .khb-hero-style-split .khb-hero-left{ width:50%; }
.khb-homepage .khb-hero-style-split .khb-hero-right{ margin-left:0; }

/* Full-bleed — full-width photo, overlay text card, thumbnail rail */
.khb-homepage .khb-hero-style-fullbleed{ display:block; }
.khb-homepage .khb-hero-fullbleed-photo{ position:absolute; inset:0; }
.khb-homepage .khb-hero-fullbleed-photo .khb-img-box{ height:100%; width:100%; }
.khb-homepage .khb-hero-fullbleed-overlay{
	position:absolute; left:0; top:0; height:100%; width:44%; max-width:520px; z-index:2;
	background:linear-gradient(90deg, rgba(58,51,47,.78) 0%, rgba(58,51,47,.55) 70%, rgba(58,51,47,0) 100%);
	display:flex; flex-direction:column; justify-content:center; padding:0 60px;
}
.khb-homepage .khb-hero-fullbleed-overlay .khb-eyebrow{ color:#F4D9CF; display:block; margin-bottom:18px; }
.khb-homepage .khb-hero-fullbleed-overlay h1{ color:var(--khb-paper); font-size:40px; line-height:1.2; margin-bottom:18px; }
.khb-homepage .khb-hero-fullbleed-overlay p{ color:rgba(255,253,251,.85); font-size:14.5px; margin-bottom:26px; max-width:320px; }
.khb-homepage .khb-hero-thumb-rail{ position:absolute; right:24px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:10px; z-index:3; }
.khb-homepage .khb-hero-thumb{ width:64px; height:64px; border-radius:10px; overflow:hidden; opacity:.55; cursor:pointer; border:2px solid transparent; }
.khb-homepage .khb-hero-thumb .khb-img-box{ height:100%; width:100%; }
.khb-homepage .khb-hero-thumb.active{ opacity:1; border-color:var(--khb-paper); }

/* ===== TICKER ===== */
.khb-homepage .khb-ticker{ background:var(--khb-gold); overflow:hidden; white-space:nowrap; padding:12px 0; width:100%; max-width:100%; }
.khb-homepage .khb-ticker-track{ display:inline-block; animation:khb-scroll 20s linear infinite; }
.khb-homepage .khb-ticker span{ font-size:13px; letter-spacing:2px; text-transform:uppercase; color:var(--khb-charcoal); font-weight:600; padding:0 24px; }
@keyframes khb-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ===== HOW IT WORKS — fit-to-screen flow, no scrolling ===== */
.khb-homepage .khb-steps-flow{ display:flex; align-items:stretch; gap:0; }
.khb-homepage .khb-step-card{ background:var(--khb-paper); border:1px solid var(--khb-line); border-radius:16px; flex:1; min-width:0; padding:18px 18px 26px; text-align:center; }
.khb-homepage .khb-step-img{ height:150px; border-radius:10px; margin-bottom:16px; overflow:hidden; }
.khb-homepage .khb-step-img .khb-img-box, .khb-homepage .khb-step-img img{ height:100%; width:100%; }
.khb-homepage .khb-step-card h3{ font-size:17px; font-weight:600; margin-bottom:8px; }
.khb-homepage .khb-step-card p{ font-size:13px; color:var(--khb-ink-soft); margin:0; }
.khb-homepage .khb-step-arrow{ display:flex; align-items:center; justify-content:center; width:32px; flex-shrink:0; color:var(--khb-gold-deep); font-size:18px; }

.khb-homepage section{ padding:90px 0; }
.khb-homepage .khb-section-head{ text-align:center; max-width:560px; margin:0 auto 56px; }
.khb-homepage .khb-section-head h2{ font-size:40px; margin:10px 0; }
.khb-homepage .khb-section-head p{ color:var(--khb-ink-soft); font-size:15px; }

.khb-homepage .khb-portfolio-grid{ display:flex; justify-content:center; gap:0; flex-wrap:wrap; padding:20px 0 10px; }
.khb-homepage .khb-p-card{
	background:var(--khb-paper); border:1px solid var(--khb-line); border-radius:12px;
	padding:10px 10px 26px; width:200px; margin:0 -14px 20px; box-shadow:0 10px 24px rgba(140,74,85,.1);
}
.khb-homepage .khb-p-card .khb-img-box{ height:220px; border-radius:6px; margin-bottom:10px; }
.khb-homepage .khb-p-card:nth-child(1){ transform:rotate(-6deg); z-index:1; }
.khb-homepage .khb-p-card:nth-child(2){ transform:rotate(4deg) translateY(-10px); z-index:2; }
.khb-homepage .khb-p-card:nth-child(3){ transform:rotate(-3deg) translateY(6px); z-index:3; }
.khb-homepage .khb-p-card:nth-child(4){ transform:rotate(7deg); z-index:1; }
.khb-homepage .khb-p-cap{ font-size:14px; font-weight:500; color:var(--khb-ink-soft); text-align:center; margin:0; }

.khb-homepage .khb-embellish-bg{ background:var(--khb-blush); }
.khb-homepage .khb-swatch-row{ display:flex; gap:30px; justify-content:center; flex-wrap:wrap; }
.khb-homepage .khb-swatch{ text-align:center; width:160px; }
.khb-homepage .khb-swatch .khb-img-box{ width:160px; height:160px; border-radius:50%; margin:0 auto 16px; background:var(--khb-paper); }
.khb-homepage .khb-swatch h4{ font-family:'Marcellus', serif; font-size:18px; color:var(--khb-rose-deep); margin:0; }
.khb-homepage .khb-swatch p{ font-size:12.5px; color:var(--khb-ink-soft); margin:4px 0 0; }

.khb-homepage .khb-why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.khb-homepage .khb-why-item{ text-align:center; padding:34px 20px; background:var(--khb-paper); border:1px solid var(--khb-line); border-radius:20px; }
.khb-homepage .khb-why-item h3{ font-size:17px; margin:12px 0 8px; }
.khb-homepage .khb-why-item p{ font-size:13px; color:var(--khb-ink-soft); margin:0; }
.khb-homepage .khb-why-icon{ font-size:22px; color:var(--khb-gold-deep); }

.khb-homepage .khb-testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.khb-homepage .khb-testi-card{ background:var(--khb-blush); border-radius:20px; padding:32px 26px; }
.khb-homepage .khb-testi-quote{ font-size:14.5px; font-style:italic; color:var(--khb-ink); margin:0 0 16px; }
.khb-homepage .khb-testi-quote:before{ content:'"'; }
.khb-homepage .khb-testi-quote:after{ content:'"'; }
.khb-homepage .khb-testi-name{ font-size:12.5px; color:var(--khb-rose-deep); }

.khb-homepage .khb-cta-band{ text-align:center; padding:80px 32px; background:var(--khb-rose-deep); border-radius:32px; margin:0 32px 60px; }
.khb-homepage .khb-cta-band h2{ color:var(--khb-paper); font-size:34px; margin-bottom:24px; }
.khb-homepage .khb-cta-band .khb-btn-primary{ background:var(--khb-paper); color:var(--khb-rose-deep); }

.khb-homepage footer{ background:var(--khb-charcoal); color:var(--khb-paper); padding:50px 32px 26px; text-align:center; }
.khb-homepage footer p{ font-size:13px; color:rgba(255,253,251,.55); margin:0 0 8px; }
.khb-homepage footer a{ color:rgba(255,253,251,.75); }

@media(max-width:900px){
	.khb-homepage .khb-nav-links, .khb-homepage .khb-nav-divider{ display:none; }
	.khb-homepage .khb-hero{ flex-direction:column; height:auto; }
	.khb-homepage .khb-hero-left{ width:100%; clip-path:none; padding:50px 32px; }
	.khb-homepage .khb-hero-right{ margin-left:0; height:280px; }
	.khb-homepage .khb-hero-style-fullbleed{ height:420px; }
	.khb-homepage .khb-hero-fullbleed-overlay{ width:100%; max-width:none; padding:32px; }
	.khb-homepage .khb-hero-thumb-rail{ display:none; }
	.khb-homepage .khb-steps-flow{ flex-wrap:wrap; }
	.khb-homepage .khb-step-arrow{ display:none; }
	.khb-homepage .khb-step-card{ flex:0 0 45%; margin-bottom:16px; }
	.khb-homepage .khb-why-grid, .khb-homepage .khb-testi-grid{ grid-template-columns:1fr 1fr; }
	.khb-homepage .khb-p-card{ margin:10px; transform:none !important; }
}

/* ===================================================================
   Additions below this line: hero carousel controls, categories strip,
   video/photo banners, quad carousels, generic side-arrow carousels,
   the new footer, and the category archive page. Everything above this
   comment is unchanged from the original file.
   =================================================================== */

/* ===== HERO — carousel controls (dots + side arrows) ===== */
.khb-homepage .khb-hero-dots{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:3; }
.khb-homepage .khb-hero-dots span{ width:8px; height:8px; border-radius:50%; background:rgba(255,253,251,.5); cursor:pointer; }
.khb-homepage .khb-hero-dots span.active{ background:var(--khb-paper); }
.khb-homepage .khb-hero-arrow{
	position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%;
	background:rgba(255,253,251,.9); border:none; display:flex; align-items:center; justify-content:center;
	cursor:pointer; z-index:3; color:var(--khb-rose-deep); font-size:16px;
}
.khb-homepage .khb-hero-arrow.prev{ left:16px; }
.khb-homepage .khb-hero-arrow.next{ right:16px; }

/* ===== 1b TOP CATEGORIES STRIP ===== */
.khb-homepage .khb-cat-row{ display:flex; justify-content:center; flex-wrap:wrap; gap:32px; }
.khb-homepage .khb-cat-item{ flex:0 0 140px; text-align:center; display:block; }
.khb-homepage .khb-cat-circle{ width:100px; height:100px; border-radius:50%; margin:0 auto 12px; }
.khb-homepage .khb-cat-item span{ font-size:13px; font-weight:600; color:var(--khb-ink); }

/* ===== generic side-mounted carousel arrows (products / our work /
   testimonials / quad carousels / category page) ===== */
.khb-homepage .khb-carousel-wrap{ position:relative; display:block; }
.khb-homepage .khb-side-arrow{
	position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%;
	background:var(--khb-paper); border:1px solid var(--khb-line); display:flex; align-items:center; justify-content:center;
	cursor:pointer; color:var(--khb-rose-deep); font-size:16px; z-index:3; box-shadow:0 6px 16px rgba(140,74,85,.14);
}
.khb-homepage .khb-side-arrow:hover{ background:var(--khb-blush); }
.khb-homepage .khb-side-arrow.left{ left:-21px; }
.khb-homepage .khb-side-arrow.right{ right:-21px; }

.khb-homepage .khb-scroll-row{ display:flex; gap:20px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; padding-bottom:4px; }
.khb-homepage .khb-scroll-row::-webkit-scrollbar{ display:none; }
.khb-homepage .khb-scroll-row.khb-row-fit{ justify-content:center; overflow-x:visible; flex-wrap:wrap; }
.khb-homepage .khb-scroll-row.khb-row-scroll{ justify-content:flex-start; }

/* ===== 1c VIDEO / BRAND STORY BANNER ===== */
.khb-homepage .khb-video-banner{ position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; }
.khb-homepage .khb-video-banner .khb-img-box{ height:100%; width:100%; }
.khb-homepage .khb-play-btn{
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:76px; height:76px; border-radius:50%;
	background:rgba(255,253,251,.92); display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.khb-homepage .khb-play-btn:after{
	content:''; border-style:solid; border-width:11px 0 11px 18px; border-color:transparent transparent transparent var(--khb-rose-deep); margin-left:4px;
}
.khb-homepage .khb-video-caption{ position:absolute; bottom:28px; left:44px; color:var(--khb-paper); font-size:14px; letter-spacing:.5px; }

/* ===== 1d / 1d2 PHOTO BANNERS ===== */
.khb-homepage .khb-photo-banner{ display:flex; height:280px; border-radius:20px; overflow:hidden; margin:0 var(--khb-gutter); }
.khb-homepage .khb-photo-banner .khb-img-box{ flex:1; height:100%; }
.khb-homepage .khb-photo-banner-plain .khb-img-box{ flex:1 1 100%; }
.khb-homepage .khb-photo-banner-text{
	flex:0 0 34%; background:var(--khb-charcoal); color:var(--khb-paper); padding:0 44px;
	display:flex; flex-direction:column; justify-content:center; gap:14px;
}
.khb-homepage .khb-photo-banner-text .khb-eyebrow{ color:var(--khb-gold); }
.khb-homepage .khb-photo-banner-text h2{ color:var(--khb-paper); font-size:30px; }
.khb-homepage .khb-plain-banner{ height:260px; border-radius:20px; margin:0 var(--khb-gutter); overflow:hidden; }
.khb-homepage .khb-plain-banner.khb-plain-banner-tall{ height:460px; }
.khb-homepage .khb-plain-banner .khb-img-box{ height:100%; width:100%; }

/* ===== 1e FOUR CAROUSELS SIDE BY SIDE ===== */
.khb-homepage .khb-quad-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.khb-homepage .khb-quad-card h3{ font-size:15px; margin-bottom:10px; font-family:'Marcellus', serif; font-weight:400; color:var(--khb-rose-deep); }
.khb-homepage .khb-quad-card .khb-carousel-wrap{ margin-bottom:8px; display:block; height:200px; border-radius:12px; overflow:hidden; }
.khb-homepage .khb-quad-slide{ display:none; height:200px; width:100%; }
.khb-homepage .khb-quad-slide.active{ display:flex; }
.khb-homepage .khb-quad-side-arrow{ width:30px; height:30px; font-size:13px; }
.khb-homepage .khb-quad-side-arrow.left{ left:6px; }
.khb-homepage .khb-quad-side-arrow.right{ right:6px; }
.khb-homepage .khb-quad-dots{ display:flex; gap:5px; justify-content:center; }
.khb-homepage .khb-quad-dots span{ width:6px; height:6px; border-radius:50%; background:var(--khb-line); }
.khb-homepage .khb-quad-dots span.active{ background:var(--khb-rose-deep); }

/* ===== 1f TOP PRODUCTS CAROUSEL ===== */
.khb-homepage .khb-product-card{ flex:0 0 220px; display:block; }
.khb-homepage .khb-product-card .khb-img-box{ height:260px; border-radius:12px; margin-bottom:10px; }
.khb-homepage .khb-product-card h4{ font-size:14px; font-weight:600; margin:0 0 4px; color:var(--khb-ink); font-family:'Jost', sans-serif; }
.khb-homepage .khb-product-card span{ font-size:13px; color:var(--khb-ink-soft); }

/* ===== our work carousel (portfolio, scrollable) ===== */
.khb-homepage .khb-work-card{ flex:0 0 260px; }
.khb-homepage .khb-work-card .khb-img-box{ height:300px; border-radius:12px; }
.khb-homepage .khb-work-card .khb-p-cap{ margin-top:10px; }

/* ===== 1g TESTIMONIALS — 4 visible, side arrows ===== */
.khb-homepage #reviews .khb-testi-card{ flex:0 0 330px; background:var(--khb-blush); border-radius:16px; padding:26px 22px; }
.khb-homepage #reviews .khb-testi-quote{ font-size:13.5px; font-style:italic; color:var(--khb-ink); margin:0 0 14px; line-height:1.6; }
.khb-homepage #reviews .khb-testi-name{ font-size:12px; color:var(--khb-rose-deep); font-weight:600; }

/* ===== FOOTER — help bar, 4 columns, bottom bar ===== */
.khb-homepage footer.khb-footer{ background:var(--khb-blush); padding:36px 0 24px; text-align:left; }
.khb-homepage .khb-footer-help{
	display:flex; align-items:center; justify-content:space-between; padding-bottom:18px;
	border-bottom:1px solid var(--khb-line); font-size:13px; font-weight:600; color:var(--khb-rose-deep);
}
.khb-homepage .khb-footer-cols{ display:flex; gap:40px; padding:26px 0; flex-wrap:wrap; }
.khb-homepage .khb-footer-cols > div{ flex:1; min-width:160px; }
.khb-homepage .khb-footer-cols h4{
	font-family:'Marcellus', serif; font-weight:400; font-size:13px; letter-spacing:1px; text-transform:uppercase;
	color:var(--khb-rose-deep); margin:0 0 14px;
}
.khb-homepage .khb-footer-cols a{ display:block; font-size:13px; color:var(--khb-ink); margin-bottom:9px; }
.khb-homepage .khb-footer-social{ display:flex; gap:10px; }
.khb-homepage .khb-footer-social a{
	width:34px; height:34px; border-radius:50%; background:var(--khb-paper); display:flex;
	align-items:center; justify-content:center; font-size:15px; color:var(--khb-rose-deep);
}
.khb-homepage .khb-footer-newsletter{ display:flex; gap:8px; }
.khb-homepage .khb-footer-newsletter input{
	flex:1; border:1px solid var(--khb-line); background:var(--khb-paper); font-size:13px; padding:10px 14px; border-radius:20px;
}
.khb-homepage .khb-footer-newsletter button{
	background:var(--khb-rose-deep); color:var(--khb-paper); font-size:12px; font-weight:600; padding:10px 20px;
	border-radius:20px; border:none; white-space:nowrap; cursor:pointer;
}
.khb-homepage .khb-footer-bottom{
	border-top:1px solid var(--khb-line); padding-top:16px; display:flex; justify-content:space-between; font-size:12px; color:var(--khb-ink-soft);
}
.khb-homepage .khb-footer-pay span{ background:var(--khb-paper); border-radius:20px; padding:3px 12px; font-weight:600; margin-left:8px; }
.khb-homepage .khb-footer-pay-logo{ height:22px; width:auto; vertical-align:middle; margin-left:8px; }

/* ===== CATEGORY ARCHIVE PAGE ===== */
.khb-homepage .khb-breadcrumb{ font-size:12.5px; color:var(--khb-ink-soft); padding:24px 0 0; }
.khb-homepage .khb-breadcrumb a{ color:var(--khb-ink-soft); }
.khb-homepage .khb-breadcrumb span{ color:var(--khb-rose-deep); font-weight:600; }
.khb-homepage .khb-cat-hero{ display:flex; align-items:center; gap:32px; padding:28px 0 40px; }
.khb-homepage .khb-cat-hero .khb-img-box{ width:120px; height:120px; border-radius:20px; flex-shrink:0; }
.khb-homepage .khb-cat-hero h1{ font-size:32px; margin-bottom:8px; }
.khb-homepage .khb-cat-hero p{ font-size:13.5px; color:var(--khb-ink-soft); margin:0; max-width:520px; }
.khb-homepage .khb-notice-banner{
	display:flex; align-items:center; gap:10px; background:var(--khb-blush); border:1px solid var(--khb-line);
	border-radius:12px; padding:12px 18px; margin-bottom:28px; font-size:13px; color:var(--khb-rose-deep);
}
.khb-homepage .khb-product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding-bottom:60px; }
.khb-homepage .khb-product-grid .khb-product-card{ flex:none; }
.khb-homepage .khb-product-grid .khb-img-box{ height:250px; border-radius:14px; margin-bottom:12px; }
.khb-homepage .khb-product-card.highlighted{ box-shadow:0 0 0 3px var(--khb-gold); padding:10px; margin:-10px; border-radius:14px; }
.khb-homepage .khb-product-card-tag{ font-size:10px; font-weight:600; color:var(--khb-gold-deep); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; }

@media(max-width:900px){
	.khb-homepage .khb-cat-item{ flex:0 0 30%; }
	.khb-homepage .khb-quad-grid{ grid-template-columns:1fr 1fr; }
	.khb-homepage .khb-photo-banner{ flex-direction:column; height:auto; margin:0 20px; }
	.khb-homepage .khb-photo-banner-text{ padding:32px; }
	.khb-homepage .khb-plain-banner{ margin:0 20px; }
	.khb-homepage #reviews .khb-testi-card{ flex:0 0 80%; }
	.khb-homepage .khb-footer-cols{ gap:24px; }
	.khb-homepage .khb-product-grid{ grid-template-columns:1fr 1fr; }
	.khb-homepage .khb-cat-hero{ flex-direction:column; text-align:center; }
	.khb-homepage .khb-side-arrow{ display:none; }
}

/* ===== Media (image/video) helper — used wherever an image can now be a video instead ===== */
.khb-homepage .khb-media-video-wrap{ position:relative; height:100%; width:100%; }
.khb-homepage .khb-media-video-wrap .khb-img-box{ height:100%; width:100%; }
.khb-homepage .khb-play-btn{ width:56px; height:56px; }
.khb-homepage .khb-video-banner .khb-play-btn{ width:76px; height:76px; }
/* Once played, the iframe/video fills exactly the same box the thumbnail occupied — nothing pops up or overlays the page. !important guards against theme CSS that resets iframe sizing globally (a common cause of a video's audio playing while its picture doesn't appear correctly). */
.khb-homepage .khb-inline-video-frame{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; max-width:none !important; border:0 !important; background:#000; }
.khb-homepage .khb-video-error{ display:flex; align-items:center; justify-content:center; text-align:center; padding:24px; }
.khb-homepage .khb-video-error p{ color:#fff; font-size:13px; line-height:1.6; margin:0; }

/* ===== Testimonial photos ===== */
.khb-homepage .khb-testi-avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover; margin-bottom:12px; }

/* ===== Rich text (bold/italic/underline/size/lists) — shared by every field that now supports formatting: hero slide body, how-it-works body, why-choose-us body, testimonial quotes, custom page sections ===== */
.khb-homepage .khb-rich-text p{ margin:0 0 .6em; }
.khb-homepage .khb-rich-text p:last-child{ margin-bottom:0; }
.khb-homepage .khb-rich-text ul, .khb-homepage .khb-rich-text ol{ margin:0 0 .6em; padding-left:1.3em; }
.khb-homepage .khb-rich-text li{ margin-bottom:.25em; }
