
:root{--kil-blue:#0b5f9d;--kil-blue-dark:#064573;--kil-yellow:#ffdf00;--kil-ink:#07365c;--kil-muted:#5e6f7f;--kil-line:#c8dbea;--kil-paper:#f3f8fc}
.kil-directory,.kil-profile{color:var(--kil-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.kil-hero.kil-hero-image{position:relative;aspect-ratio:1752/572;margin-bottom:12px;overflow:hidden;border-radius:20px;background:url("keep-it-local-banner.jpg") center/cover no-repeat}
.kil-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.kil-filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:14px;padding:20px;margin-bottom:32px;border:1px solid var(--kil-line);border-radius:16px;background:#fff}
.kil-filters label{display:grid;gap:6px;margin:0;color:var(--kil-muted);font-size:.82rem;font-weight:800;line-height:1.35}
.kil-filters input,.kil-filters select{box-sizing:border-box;width:100%;min-height:48px;height:48px;padding:11px 36px 11px 14px;border:1px solid var(--kil-line);border-radius:9px;background:#fff;color:var(--kil-ink);font-size:16px;line-height:24px!important}
.kil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}.kil-card{overflow:hidden;border:1px solid var(--kil-line);border-radius:17px;background:#fff;box-shadow:0 12px 30px rgba(11,95,157,.10)}.kil-card[hidden]{display:none}
.kil-card-image{position:relative;display:grid;place-items:center;height:220px;overflow:hidden;background:linear-gradient(135deg,var(--kil-blue-dark),var(--kil-blue));color:#fff;text-decoration:none;font-family:Inter,Arial,Helvetica,sans-serif;font-size:1.3rem}.kil-card-image>img{width:100%;height:100%;object-fit:cover}
.kil-card-logo{position:absolute;left:14px;bottom:14px;display:grid;place-items:center;width:72px;height:72px;padding:5px;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(0,0,0,.2)}.kil-card-logo img{max-width:100%;max-height:100%;width:auto;height:auto}
.kil-featured-badge{position:absolute;top:12px;right:12px;max-width:150px;padding:8px 11px;border-radius:999px;background:var(--kil-yellow);color:var(--kil-blue-dark);font-size:.72rem;font-weight:900;text-align:center;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.kil-card-body{padding:19px}.kil-card-body h3{margin:9px 0;font-family:Inter,Arial,Helvetica,sans-serif;font-size:1.6rem}.kil-card-body h3 a{color:var(--kil-blue-dark);text-decoration:none}.kil-card-body p{color:var(--kil-muted)}
.kil-tags,.kil-profile-tags{display:flex;gap:7px;flex-wrap:wrap}.kil-tags span,.kil-profile-tags span{padding:5px 9px;border-radius:999px;background:#fff4a4;color:var(--kil-blue-dark);font-size:.72rem;font-weight:850}
.kil-button{display:inline-block;padding:11px 16px;border-radius:9px;background:var(--kil-yellow);color:var(--kil-blue-dark)!important;text-decoration:none;font-weight:900}.kil-button-wide{display:block;text-align:center}.kil-empty{padding:25px;border:1px solid var(--kil-line);border-radius:14px;background:#fff;text-align:center}
.kil-profile{max-width:1200px;margin:0 auto}.kil-profile-hero{margin-bottom:28px}.kil-profile-photo{height:430px;overflow:hidden;border-radius:20px;background:var(--kil-paper)}.kil-profile-photo img{width:100%;height:100%;object-fit:cover}
.kil-profile-heading{display:flex;align-items:center;gap:22px;margin:-65px 28px 0;position:relative;padding:22px;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(6,69,115,.16)}.kil-profile-logo{display:grid;place-items:center;flex:0 0 125px;width:125px;height:125px;padding:10px;border:1px solid var(--kil-line);border-radius:16px;background:#fff}.kil-profile-logo img{max-width:100%;max-height:100%;width:auto;height:auto}.kil-profile-heading h1{margin:8px 0;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2.1rem,5vw,4rem);line-height:1}
.kil-profile-featured{display:inline-block;padding:8px 12px;border-radius:999px;background:var(--kil-yellow);font-size:.78rem;font-weight:900}
.kil-profile-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,1fr);gap:28px}.kil-profile-description,.kil-section,.kil-contact-card{padding:24px;border:1px solid var(--kil-line);border-radius:16px;background:#fff}.kil-section{margin-top:24px}.kil-section h2,.kil-contact-card h2{margin-top:0;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif}
.kil-contact-card{margin-bottom:18px}.kil-contact-card>div:not(.kil-social-links){display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--kil-line)}.kil-contact-card span,.kil-contact-card p{color:var(--kil-muted)}.kil-social-links{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.kil-social-links a{font-weight:800}
.kil-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kil-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px}.kil-gallery img{width:100%;height:100%;object-fit:cover}.kil-map{width:100%;height:360px;border:0;border-radius:12px}.kil-audio audio{width:100%}
@media(max-width:950px){.kil-filters{grid-template-columns:1fr 1fr 1fr}.kil-profile-layout{grid-template-columns:1fr}}
@media(max-width:620px){.kil-hero.kil-hero-image{aspect-ratio:16/7}.kil-filters{grid-template-columns:1fr}.kil-profile-photo{height:260px}.kil-profile-heading{align-items:flex-start;margin:-35px 10px 0;padding:16px}.kil-profile-logo{flex-basis:82px;width:82px;height:82px}.kil-gallery{grid-template-columns:1fr 1fr}}

.kil-gallery-preview{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.kil-gallery-item{position:relative;width:92px;padding:4px;border:1px solid #c3c4c7;border-radius:7px;background:#fff;cursor:move}.kil-gallery-item img{display:block;width:82px!important;height:68px!important;margin:0!important;object-fit:cover!important}.kil-gallery-item .dashicons-move{position:absolute;top:5px;left:5px;padding:2px;background:rgba(255,255,255,.85)}.kil-remove-gallery{position:absolute;top:-8px;right:-8px;width:23px;height:23px;padding:0;border:0;border-radius:50%;background:#b32d2e;color:#fff;font-size:18px;line-height:21px;cursor:pointer}
.kil-high-street{color:var(--kil-ink)}.kil-hs-hero{position:relative;height:min(55vw,520px);overflow:hidden;border-radius:20px}.kil-hs-hero>img{width:100%;height:100%;object-fit:cover}.kil-hs-overlay{position:absolute;inset:auto 0 0;padding:45px 30px 28px;background:linear-gradient(transparent,rgba(3,38,65,.92));color:#fff}.kil-hs-overlay span{font-weight:900;text-transform:uppercase;letter-spacing:.08em}.kil-hs-overlay h1{margin:5px 0 0;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2.5rem,7vw,5.5rem);line-height:1}.kil-hs-intro{max-width:900px;margin:26px auto;padding:0 20px;font-size:1.13rem}.kil-hs-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}.kil-hs-info section{padding:20px;border:1px solid var(--kil-line);border-radius:14px;background:var(--kil-paper)}.kil-hs-info h2{margin-top:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--kil-blue-dark)}.kil-leaflet-map{height:430px;border-radius:13px;overflow:hidden}.kil-nearby{max-width:1200px;margin:30px auto}.kil-nearby-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kil-lightbox{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:30px;background:rgba(0,0,0,.88)}.kil-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.kil-lightbox button{position:absolute;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:45px;cursor:pointer}
@media(max-width:760px){.kil-nearby-grid{grid-template-columns:1fr}.kil-leaflet-map{height:330px}}


/* v0.5 homepage */
.kil-home{--kil-home-width:1200px;color:var(--kil-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.kil-home-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;border-radius:24px;background:
linear-gradient(90deg,rgba(3,38,65,.93) 0%,rgba(3,38,65,.78) 48%,rgba(3,38,65,.14) 100%),
url("keep-it-local-banner.jpg") center/cover no-repeat;box-shadow:0 22px 55px rgba(6,69,115,.19)}
.kil-home-hero-copy{width:min(720px,100%);padding:clamp(30px,6vw,72px);color:#fff}
.kil-eyebrow{display:block;margin-bottom:8px;color:var(--kil-yellow);font-size:.78rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.kil-home-hero h1{max-width:680px;margin:0;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2.6rem,6vw,5.2rem);line-height:.98}
.kil-home-hero p{max-width:650px;margin:20px 0 26px;color:#fff;font-size:clamp(1.05rem,2vw,1.3rem)}
.kil-home-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:700px;padding:8px;border-radius:14px;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.22)}
.kil-home-search input{width:100%;min-height:54px;padding:12px 16px;border:0!important;outline:0;background:transparent;font-size:17px}
.kil-home-search button{min-height:54px;padding:12px 22px;border:0;border-radius:9px;background:var(--kil-yellow);color:var(--kil-blue-dark);font-weight:950;cursor:pointer}
.kil-home-section{max-width:var(--kil-home-width);margin:64px auto 0}
.kil-section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}
.kil-section-heading h2{margin:0;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2rem,4vw,3.2rem)}
.kil-section-heading>a{color:var(--kil-blue-dark);font-weight:850}
.kil-term-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.kil-term-tile{display:grid;gap:7px;min-height:125px;align-content:end;padding:20px;border:1px solid var(--kil-line);border-radius:16px;background:linear-gradient(145deg,#fff,var(--kil-paper));box-shadow:0 9px 24px rgba(11,95,157,.08);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.kil-term-tile:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(11,95,157,.15)}
.kil-term-tile strong{color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif;font-size:1.45rem}
.kil-term-tile span{color:var(--kil-muted);font-size:.83rem;font-weight:750}
.kil-town-grid .kil-term-tile{background:linear-gradient(145deg,var(--kil-blue-dark),var(--kil-blue));border-color:transparent}
.kil-town-grid .kil-term-tile strong,.kil-town-grid .kil-term-tile span{color:#fff}
.kil-home-business-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kil-home-card .kil-card-body{display:flex;flex-direction:column;min-height:255px}
.kil-home-card .kil-button{align-self:flex-start;margin-top:auto}
.kil-weekly-section{padding:30px;border-radius:22px;background:var(--kil-paper)}
.kil-weekly-layout{display:grid;grid-template-columns:1.25fr 1fr;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 15px 38px rgba(11,95,157,.13)}
.kil-weekly-image{min-height:390px;background:linear-gradient(135deg,var(--kil-blue-dark),var(--kil-blue))}
.kil-weekly-image a,.kil-weekly-image img{display:block;width:100%;height:100%}
.kil-weekly-image img{object-fit:cover}
.kil-weekly-image span{display:grid;place-items:center;height:100%;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:2rem}
.kil-weekly-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(25px,5vw,55px)}
.kil-weekly-copy h3{margin:18px 0 10px;font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}
.kil-weekly-copy h3 a{color:var(--kil-blue-dark);text-decoration:none}
.kil-static-badge{position:static;display:inline-block}
.kil-home-cta{max-width:var(--kil-home-width);display:flex;align-items:center;justify-content:space-between;gap:30px;margin:64px auto 20px;padding:38px;border-radius:22px;background:linear-gradient(125deg,var(--kil-blue-dark),var(--kil-blue));color:#fff}
.kil-home-cta h2{margin:0;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2rem,4vw,3.4rem)}
.kil-home-cta p{margin:10px 0 0;color:#fff}
.kil-cta-button{flex:0 0 auto}
.kil-home-empty{padding:22px;border:1px dashed var(--kil-line);border-radius:14px;background:#fff}
.kil-weekly-page-badge{max-width:1200px;margin:0 auto 18px;padding:13px 18px;border-radius:12px;background:var(--kil-yellow);color:var(--kil-blue-dark);font-weight:950;text-align:center}
@media(max-width:900px){.kil-term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kil-home-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kil-weekly-layout{grid-template-columns:1fr}.kil-weekly-image{min-height:300px}}
@media(max-width:620px){.kil-home-hero{min-height:480px}.kil-home-search{grid-template-columns:1fr}.kil-home-search button{width:100%}.kil-home-section{margin-top:44px}.kil-term-grid,.kil-home-business-grid{grid-template-columns:1fr}.kil-section-heading,.kil-home-cta{align-items:flex-start;flex-direction:column}.kil-home-cta{padding:28px}.kil-cta-button{width:100%;text-align:center}}


/* v0.5.1 optional sections on the directory page */
.kil-directory-extras{max-width:1200px;margin:0 auto}
.kil-directory-welcome{margin:0 0 24px;padding:26px 30px;border-radius:18px;background:linear-gradient(125deg,var(--kil-blue-dark),var(--kil-blue));color:#fff}
.kil-directory-welcome h2{margin:0;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2rem,4vw,3.4rem)}
.kil-directory-welcome p{margin:8px 0 0;color:#fff;font-size:1.08rem}
.kil-directory-extra-section{margin-top:42px;margin-bottom:42px}
.kil-directory-extras+.kil-directory{margin-top:20px}
.kil-directory+.kil-directory-extras{margin-top:48px}


/* v0.6 Business Portal */
.kil-business-portal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;max-width:1250px;margin:30px auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.kil-portal-sidebar{align-self:start;position:sticky;top:24px;padding:24px;border-radius:18px;background:linear-gradient(160deg,var(--kil-blue-dark),var(--kil-blue));color:#fff}
.kil-portal-sidebar h2{margin:0 0 20px;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif}
.kil-portal-sidebar nav{display:grid;gap:9px}
.kil-portal-sidebar nav a{display:grid;gap:5px;padding:12px;border-radius:10px;color:#fff;text-decoration:none;background:rgba(255,255,255,.08)}
.kil-portal-sidebar nav a.is-active{background:#fff;color:var(--kil-blue-dark)}
.kil-portal-view-link{display:block;margin-top:18px;color:var(--kil-yellow);font-weight:850}
.kil-portal-main{min-width:0}
.kil-portal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.kil-portal-header h1{margin:0;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2rem,4vw,3.4rem)}
.kil-portal-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#e7ebef;color:#34495e;font-size:.72rem;font-weight:900;text-transform:uppercase}
.kil-portal-status.is-live{background:#dff5e7;color:#176b38}
.kil-portal-status.is-pending{background:#fff0c7;color:#7a5400}
.kil-portal-notice{margin-bottom:18px;padding:14px 17px;border-radius:10px;background:#dff5e7;color:#176b38;font-weight:800}
.kil-completeness{margin-bottom:22px;padding:18px;border:1px solid var(--kil-line);border-radius:14px;background:#fff}
.kil-completeness>div:first-child{display:flex;justify-content:space-between;margin-bottom:9px}
.kil-completeness-bar{height:11px;overflow:hidden;border-radius:999px;background:#e8edf1}
.kil-completeness-bar span{display:block;height:100%;border-radius:999px;background:var(--kil-yellow)}
.kil-portal-form{display:grid;gap:20px}
.kil-portal-panel{padding:24px;border:1px solid var(--kil-line);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(6,69,115,.06)}
.kil-portal-panel h2{margin:0 0 20px;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif}
.kil-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kil-portal-grid label{display:grid;gap:7px;color:var(--kil-blue-dark);font-weight:800}
.kil-portal-grid input,.kil-portal-grid textarea,.kil-portal-grid select{width:100%;padding:11px 12px;border:1px solid var(--kil-line);border-radius:9px;background:#fff;font:inherit}
.kil-portal-grid select[multiple]{min-height:180px}
.kil-span-2{grid-column:1/-1}
.kil-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}
.kil-check input{width:auto}
.kil-current-media{display:block;width:95px;height:95px;overflow:hidden;border-radius:10px;background:var(--kil-paper)}
.kil-current-media img{width:100%;height:100%;object-fit:cover}
.kil-portal-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.kil-portal-gallery label{padding:8px;border:1px solid var(--kil-line);border-radius:10px;background:var(--kil-paper)}
.kil-portal-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}
.kil-portal-gallery span{display:flex;align-items:center;gap:6px;font-size:.78rem}
.kil-document-current{display:block;padding:9px 11px;border-radius:8px;background:var(--kil-paper);font-weight:700}
.kil-portal-actions{display:flex;gap:12px;position:sticky;bottom:10px;padding:14px;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 10px 35px rgba(0,0,0,.12);backdrop-filter:blur(8px)}
.kil-button-secondary{background:#fff!important;color:var(--kil-blue-dark)!important;border:1px solid var(--kil-blue-dark)!important}
.kil-portal-login,.kil-portal-empty{max-width:720px;margin:45px auto;padding:35px;border-radius:20px;background:var(--kil-paper);text-align:center}
.kil-profile-extra{max-width:1200px;margin:28px auto;padding:24px;border:1px solid var(--kil-line);border-radius:18px;background:#fff}
.kil-profile-extra h2{margin-top:0;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif}
.kil-video-wrap{position:relative;overflow:hidden;padding-top:56.25%;border-radius:14px;background:#000}
.kil-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%}
.kil-social-links{display:flex;flex-wrap:wrap;gap:10px}
.kil-social-links a{padding:9px 13px;border-radius:999px;background:var(--kil-blue-dark);color:#fff;text-decoration:none;font-weight:850}
.kil-download-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--kil-paper)}
.kil-download-panel h2{margin-bottom:5px}
.kil-download-panel p{margin:0}
@media(max-width:900px){.kil-business-portal{grid-template-columns:1fr}.kil-portal-sidebar{position:static}.kil-portal-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.kil-portal-grid{grid-template-columns:1fr}.kil-span-2{grid-column:auto}.kil-portal-header,.kil-download-panel{align-items:flex-start;flex-direction:column}.kil-portal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.kil-portal-actions{position:static;flex-direction:column}.kil-portal-actions .kil-button{text-align:center}}




/* v0.6.2 slow featured-image zoom and larger uncropped logos */
@keyframes kil-featured-image-breathe {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.045); }
}

/* Featured and hero images gently zoom while hovered. */
.kil-card-image,
.kil-profile-hero,
.kil-business-hero,
.single-kil_business .post-thumbnail {
    overflow: hidden;
}

.kil-card-image img,
.kil-profile-hero img,
.kil-business-hero img,
.single-kil_business .post-thumbnail img,
.single-kil_business .wp-post-image {
    transform-origin: center center;
    will-change: transform;
}

.kil-card-image:hover img,
.kil-profile-hero:hover img,
.kil-business-hero:hover img,
.single-kil_business .post-thumbnail:hover img,
.single-kil_business .wp-post-image:hover {
    animation: kil-featured-image-breathe 4.5s ease-in-out infinite;
}

/*
 * Logos are deliberately larger and use contain rather than cover.
 * This keeps square and rectangular artwork fully visible.
 */
.kil-business-logo,
.kil-profile-logo,
.kil-card-logo,
.kil-logo,
.kil-business-card .kil-logo,
.kil-business-card__logo {
    width: 150px;
    height: 150px;
    max-width: 38vw;
    flex: 0 0 150px;
    padding: 10px;
    overflow: visible;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(6,69,115,.16);
    position: relative;
    z-index: 4;
}

.kil-business-logo img,
.kil-profile-logo img,
.kil-card-logo img,
.kil-logo img,
.kil-business-card .kil-logo img,
.kil-business-card__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center;
    border-radius: 10px;
}

/* Allow profile logos to overlap the hero image without being clipped. */
.kil-profile-hero,
.kil-business-hero,
.kil-business-header,
.kil-profile-header {
    overflow: visible;
}

.kil-profile-logo,
.kil-business-logo {
    margin-top: -75px;
}

@media (max-width: 700px) {
    .kil-business-logo,
    .kil-profile-logo,
    .kil-card-logo,
    .kil-logo,
    .kil-business-card .kil-logo,
    .kil-business-card__logo {
        width: 120px;
        height: 120px;
        flex-basis: 120px;
        padding: 8px;
    }

    .kil-profile-logo,
    .kil-business-logo {
        margin-top: -55px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kil-card-image:hover img,
    .kil-profile-hero:hover img,
    .kil-business-hero:hover img,
    .single-kil_business .post-thumbnail:hover img,
    .single-kil_business .wp-post-image:hover {
        animation: none;
    }
}


/* v0.7 owner onboarding admin panel */
.kil-owner-box .kil-owner-status {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-left: 4px solid #dba617;
    background: #fff7d6;
}
.kil-owner-box .kil-owner-status.is-active {
    border-left-color: #1f8f4e;
    background: #e7f7ed;
}
.kil-owner-actions {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}
.kil-owner-actions .button {
    width: 100%;
    text-align: center;
}


/* v0.8 self-service sign-up and membership */
.kil-signup{max-width:980px;margin:35px auto}
.kil-signup-hero{padding:clamp(28px,6vw,60px);border-radius:24px;background:linear-gradient(135deg,var(--kil-blue-dark),var(--kil-blue));color:#fff;text-align:center}
.kil-signup-hero h1{margin:.2em 0;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2.5rem,6vw,4.8rem)}
.kil-signup-hero p{max-width:760px;margin:0 auto;font-size:1.08rem}
.kil-signup-form{display:grid;gap:22px;margin-top:24px}
.kil-signup-panel{padding:26px;border:1px solid var(--kil-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(6,69,115,.08)}
.kil-signup-panel h2{margin:0 0 20px;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif}
.kil-signup-panel small{font-weight:500;color:#5d6974}
.kil-signup-error{margin-top:20px;padding:14px 18px;border-radius:10px;background:#ffe4e4;color:#8b1b1b;font-weight:800}
.kil-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.kil-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kil-plan-card{position:relative;cursor:pointer}
.kil-plan-card>input{position:absolute;opacity:0;pointer-events:none}
.kil-plan-choice{display:grid;gap:9px;height:100%;padding:24px;border:2px solid var(--kil-line);border-radius:16px;background:var(--kil-paper);transition:.2s ease}
.kil-plan-choice strong{font-size:1.35rem;color:var(--kil-blue-dark)}
.kil-plan-choice b{font-size:2rem;color:var(--kil-blue)}
.kil-plan-card input:checked+.kil-plan-choice{border-color:var(--kil-yellow);box-shadow:0 0 0 4px rgba(255,198,0,.22);transform:translateY(-2px)}
.kil-signup-confirm{display:grid;gap:16px}
.kil-signup-confirm p{margin:0;color:#46535e}
.kil-signup-confirm .kil-button{width:max-content}
.kil-signup-box{max-width:700px;margin:40px auto;padding:34px;border-radius:20px;background:var(--kil-paper);text-align:center}
.kil-payment-panel{margin-bottom:22px;padding:24px;border:1px solid var(--kil-line);border-radius:18px;background:linear-gradient(135deg,#fff8dc,#fff);box-shadow:0 8px 22px rgba(6,69,115,.06)}
.kil-payment-panel.is-complete{background:linear-gradient(135deg,#e5f8ec,#fff)}
.kil-payment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.kil-payment-heading h2{margin:.2em 0;color:var(--kil-blue-dark);font-family:Inter,Arial,Helvetica,sans-serif}
.kil-payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.kil-payment-option{display:grid;gap:5px;padding:18px;border:2px solid var(--kil-line);border-radius:14px;background:#fff;color:var(--kil-blue-dark);text-decoration:none}
.kil-payment-option:hover,.kil-payment-option.is-selected{border-color:var(--kil-yellow);transform:translateY(-2px)}
.kil-payment-option strong{font-size:1.2rem}
.kil-payment-option span{font-size:1.7rem;font-weight:900;color:var(--kil-blue)}
.kil-payment-warning{padding:12px;border-radius:9px;background:#fff0c7;color:#735000;font-weight:750}
@media(max-width:650px){.kil-plan-grid,.kil-payment-options{grid-template-columns:1fr}.kil-payment-heading{flex-direction:column}.kil-signup-confirm .kil-button{width:100%}}


/* v0.8.1 category/place images and browse-only homepage */
.kil-term-image-tile{
    position:relative;
    min-height:220px;
    overflow:hidden;
    padding:0!important;
    border-radius:18px;
    background:var(--kil-blue-dark);
    isolation:isolate;
}
.kil-term-image{
    position:absolute;
    inset:0;
    display:block;
}
.kil-term-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 5s ease-in-out;
}
.kil-term-image-tile:hover .kil-term-image img{
    transform:scale(1.06);
}
.kil-term-placeholder{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    padding:20px;
    background:linear-gradient(135deg,var(--kil-blue-dark),var(--kil-blue));
    color:#fff;
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:1.5rem;
}
.kil-term-overlay{
    position:absolute;
    inset:auto 0 0;
    z-index:2;
    display:grid;
    gap:4px;
    padding:42px 20px 18px;
    color:#fff;
    background:linear-gradient(transparent,rgba(0,24,43,.88));
}
.kil-term-overlay strong{
    color:#fff;
    font-size:1.35rem;
}
.kil-term-overlay span{
    color:#fff;
    opacity:.9;
}
.kil-home-browse-only .kil-home-section:first-of-type{
    margin-top:34px;
}
.kil-home-directory-hero{
    min-height:clamp(210px,35vw,430px);
}
.kil-term-image-preview img{
    display:block;
    width:180px;
    max-width:100%;
    height:120px;
    margin:0 0 10px;
    object-fit:cover;
    border-radius:8px;
}
.column-kil_term_image{
    width:80px;
}
.column-kil_term_image img{
    width:56px;
    height:56px;
    object-fit:cover;
    border-radius:7px;
}
@media (prefers-reduced-motion: reduce){
    .kil-term-image-tile:hover .kil-term-image img{transform:none}
}


/* v1.0 directory experience */
.kil-home-search{margin:34px 0}
.kil-home-search-form{align-items:end}
.kil-home-search-form .kil-button{min-height:48px}
.kil-taxonomy-page{padding:28px 18px 60px}
.kil-taxonomy-inner{width:min(1180px,100%);margin:0 auto}
.kil-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;font-size:.92rem}
.kil-breadcrumbs a{color:var(--kil-blue);font-weight:750;text-decoration:none}
.kil-breadcrumbs span[aria-current="page"]{color:#52606b}
.kil-taxonomy-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);min-height:390px;overflow:hidden;border-radius:24px;background:var(--kil-blue-dark);box-shadow:0 15px 38px rgba(6,69,115,.14)}
.kil-taxonomy-hero-image{min-height:360px;background:var(--kil-blue)}
.kil-taxonomy-hero-image img{width:100%;height:100%;object-fit:cover}
.kil-taxonomy-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,60px);color:#fff}
.kil-taxonomy-hero-copy h1{margin:.15em 0;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(2.5rem,6vw,4.6rem);line-height:1}
.kil-taxonomy-hero-copy p{font-size:1.05rem}
.kil-taxonomy-page .kil-home-section{margin-top:42px}
.kil-taxonomy-results{margin-top:34px}
.kil-taxonomy-results .kil-directory>.kil-hero{display:none}
.kil-taxonomy-empty{padding:28px;border:1px solid var(--kil-line);border-radius:16px;background:var(--kil-paper);text-align:center}
.kil-place-all-link{margin-top:28px;text-align:center}
@media(max-width:780px){
 .kil-taxonomy-hero{grid-template-columns:1fr}
 .kil-taxonomy-hero-image{min-height:230px}
 .kil-taxonomy-hero-copy{padding:28px}
}


/* v1.0.1 homepage search layout hotfix */
.kil-home-search{
    width:100%;
}
.kil-home-search-form{
    display:grid;
    grid-template-columns:minmax(230px,2fr) repeat(3,minmax(155px,1fr)) minmax(170px,auto);
    align-items:end;
    gap:16px;
    padding:22px;
}
.kil-home-search-form label{
    min-width:0;
}
.kil-home-search-form input,
.kil-home-search-form select{
    min-width:0;
}
.kil-home-search-form .kil-button{
    width:100%;
    min-width:170px;
    white-space:nowrap;
}
@media(max-width:1080px){
    .kil-home-search-form{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .kil-home-search-form .kil-button{
        grid-column:1/-1;
    }
}
@media(max-width:620px){
    .kil-home-search-form{
        grid-template-columns:1fr;
        padding:16px;
    }
    .kil-home-search-form .kil-button{
        grid-column:auto;
        min-width:0;
    }
}


/* v1.0.2 robust search and browse controls */
.kil-home .kil-home-search{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
}
.kil-home .kil-home-search .kil-section-heading{
    width:100% !important;
}
.kil-home form.kil-home-search-form{
    display:grid !important;
    grid-template-columns:minmax(0,2fr) minmax(0,1fr) !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    gap:18px !important;
    align-items:end !important;
    padding:24px !important;
    overflow:visible !important;
}
.kil-home form.kil-home-search-form > label{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    gap:8px !important;
}
.kil-home form.kil-home-search-form > label:first-child{
    grid-column:1/-1 !important;
}
.kil-home form.kil-home-search-form input,
.kil-home form.kil-home-search-form select{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:54px !important;
    height:54px !important;
    padding:12px 42px 12px 14px !important;
    line-height:28px !important;
    font-size:16px !important;
    box-sizing:border-box !important;
}
.kil-home form.kil-home-search-form button.kil-button{
    grid-column:1/-1 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:54px !important;
    height:auto !important;
    padding:14px 22px !important;
}
.kil-view-all-wrap{
    margin-top:24px;
    text-align:center;
}
.kil-view-all-terms{
    min-width:190px;
}
.kil-term-extra[hidden]{
    display:none !important;
}
@media(max-width:760px){
    .kil-home form.kil-home-search-form{
        grid-template-columns:1fr !important;
        padding:18px !important;
    }
    .kil-home form.kil-home-search-form > label:first-child,
    .kil-home form.kil-home-search-form button.kil-button{
        grid-column:auto !important;
    }
}


/* v1.0.3: match the compact Business Directory filter bar */
.kil-home .kil-home-search{
    margin:30px 0 42px !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}
.kil-home .kil-home-search .kil-section-heading{
    margin-bottom:14px !important;
}
.kil-home form.kil-home-search-form{
    display:grid !important;
    grid-template-columns:minmax(260px,2fr) minmax(165px,1fr) minmax(165px,1fr) minmax(190px,1fr) auto !important;
    align-items:end !important;
    gap:14px !important;
    width:100% !important;
    padding:18px 20px !important;
    margin:0 !important;
    min-height:0 !important;
    border:1px solid var(--kil-line) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:none !important;
}
.kil-home form.kil-home-search-form > label,
.kil-home form.kil-home-search-form > label:first-child{
    grid-column:auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    margin:0 !important;
    min-width:0 !important;
    width:100% !important;
    font-size:.86rem !important;
    font-weight:700 !important;
}
.kil-home form.kil-home-search-form input,
.kil-home form.kil-home-search-form select{
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    padding:8px 38px 8px 12px !important;
    margin:0 !important;
    line-height:28px !important;
    font-size:15px !important;
    border-radius:8px !important;
    box-sizing:border-box !important;
}
.kil-home form.kil-home-search-form button.kil-button{
    grid-column:auto !important;
    align-self:end !important;
    width:auto !important;
    min-width:150px !important;
    height:46px !important;
    min-height:46px !important;
    padding:8px 18px !important;
    margin:0 !important;
    white-space:nowrap !important;
    border-radius:8px !important;
}
@media(max-width:1120px){
    .kil-home form.kil-home-search-form{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .kil-home form.kil-home-search-form button.kil-button{
        grid-column:1/-1 !important;
        width:100% !important;
    }
}
@media(max-width:650px){
    .kil-home form.kil-home-search-form{
        grid-template-columns:1fr !important;
        padding:16px !important;
    }
    .kil-home form.kil-home-search-form button.kil-button{
        grid-column:auto !important;
    }
}


/* v1.0.4 */
.kil-home .kil-home-search{
    margin-top:28px !important;
}


/* v1.0.5 unified homepage width and directory subcategory browser */
.kil-home{
    --kil-home-width:1200px;
    width:100% !important;
    max-width:var(--kil-home-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.kil-home > .kil-hero,
.kil-home > .kil-home-search,
.kil-home > .kil-home-section,
.kil-home > .kil-home-cta{
    width:100% !important;
    max-width:var(--kil-home-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}
.kil-home-directory-hero{
    min-height:0 !important;
    height:auto !important;
}
.kil-home-directory-hero img,
.kil-home-directory-hero .kil-hero-banner{
    display:block !important;
    width:100% !important;
    max-width:none !important;
}
.kil-directory-subcategory-browser{
    width:min(1180px,100%);
    margin:0 auto 34px;
    padding:26px;
    border:1px solid var(--kil-line);
    border-radius:18px;
    background:var(--kil-paper);
    box-sizing:border-box;
}
.kil-directory-subcategory-browser .kil-section-heading{
    margin-bottom:20px;
}
.kil-directory-subcategory-browser h2{
    margin:4px 0 0;
    color:var(--kil-blue-dark);
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:clamp(1.8rem,4vw,3rem);
}
@media(max-width:1240px){
    .kil-home{
        width:calc(100% - 32px) !important;
    }
}
@media(max-width:620px){
    .kil-home{
        width:calc(100% - 20px) !important;
    }
    .kil-directory-subcategory-browser{
        padding:18px;
    }
}


/* v1.0.8 homepage category spacing */
.kil-home .kil-home-search + .kil-home-section{
    margin-top:16px !important;
}
.kil-home .kil-home-search + .kil-home-section .kil-term-grid{
    margin-top:0 !important;
}


/* v1.0.9 homepage places move, bottom search, mobile banner */
.kil-places-page{
    width:min(1200px,calc(100% - 32px));
    margin:0 auto;
    padding:28px 0 60px;
}
.kil-places-page-header{
    margin-bottom:24px;
}
.kil-places-page-header h1{
    margin:.15em 0;
    color:var(--kil-blue-dark);
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:clamp(2.4rem,6vw,4.6rem);
    line-height:1;
}
.kil-places-page-header p{
    margin:.5rem 0 0;
    color:var(--kil-muted);
    font-size:1.05rem;
}
.kil-home > .kil-home-search:last-child{
    margin-top:24px !important;
    margin-bottom:0 !important;
}
@media(max-width:700px){
    .kil-home-directory-hero,
    .kil-hero-image{
        width:100% !important;
        min-height:0 !important;
        height:auto !important;
        aspect-ratio:1752 / 572 !important;
        background-size:contain !important;
        background-position:center center !important;
        background-repeat:no-repeat !important;
        background-color:transparent !important;
        border-radius:12px !important;
    }
}
@media(max-width:620px){
    .kil-places-page{
        width:calc(100% - 20px);
    }
}


/* v1.1.0 approved homepage layout */
.kil-home-intro{
    margin:18px auto 12px;
    padding:0 12px;
    color:var(--kil-blue-dark);
    font-size:clamp(1.05rem,2vw,1.35rem);
    font-weight:850;
    line-height:1.35;
    text-align:center;
}
.kil-home > .kil-home-search{
    margin:0 auto 28px !important;
}
.kil-home > .kil-home-search .kil-filters{
    margin-bottom:0 !important;
}
.kil-home > .kil-home-search + .kil-home-section{
    margin-top:0 !important;
}
@media(max-width:700px){
    .kil-home-directory-hero,
    .kil-hero-image{
        aspect-ratio:1200 / 779 !important;
        min-height:0 !important;
        height:auto !important;
        background-image:url("keep-it-local-mobile-banner.jpg") !important;
        background-size:cover !important;
        background-position:center !important;
        background-repeat:no-repeat !important;
        background-color:#064573 !important;
        border-radius:16px !important;
    }
    .kil-home-intro{
        margin-top:14px;
        margin-bottom:12px;
        font-size:1.08rem;
    }
    .kil-home-search-form{
        grid-template-columns:1fr !important;
        gap:10px !important;
        padding:14px !important;
    }
    .kil-home-search-form .kil-button{
        width:100% !important;
    }
}


/* Version 1.1 Final — terminology polish and long-title wrapping */
.kil-taxonomy-hero-copy,
.kil-taxonomy-hero-copy h1,
.kil-directory-subcategory-browser h2,
.kil-term-overlay strong,
.kil-term-tile strong{
    min-width:0 !important;
}
.kil-taxonomy-hero-copy h1{
    max-width:100% !important;
    overflow:visible !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    hyphens:auto !important;
    font-size:clamp(2rem,5vw,4.2rem) !important;
    line-height:.98 !important;
}
.kil-taxonomy-hero{
    overflow:visible !important;
}
.kil-taxonomy-hero-copy{
    overflow:visible !important;
}
@media(max-width:900px){
    .kil-taxonomy-hero-copy h1{
        font-size:clamp(2rem,8vw,3.5rem) !important;
        line-height:1.02 !important;
    }
}
@media(max-width:620px){
    .kil-taxonomy-hero-copy h1{
        font-size:clamp(1.85rem,10vw,3rem) !important;
        line-height:1.04 !important;
    }
}


/* Version 1.1.1 Final — clean long titles and consistent eyebrow branding */
.kil-taxonomy-hero-copy h1{
    max-width:100% !important;
    margin:.18em 0 !important;
    overflow:visible !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
    font-size:clamp(2rem,4vw,3.35rem) !important;
    line-height:1.02 !important;
    text-wrap:balance;
}
.kil-taxonomy-hero-copy{
    min-width:0 !important;
    overflow:visible !important;
}
.kil-taxonomy-hero{
    overflow:hidden !important;
}
@media(max-width:900px){
    .kil-taxonomy-hero-copy h1{
        font-size:clamp(2rem,6.5vw,3rem) !important;
        line-height:1.04 !important;
    }
}
@media(max-width:620px){
    .kil-taxonomy-hero-copy h1{
        font-size:clamp(1.8rem,9vw,2.65rem) !important;
        line-height:1.06 !important;
    }
}


/* v1.1.2 branded contact page */
.kil-contact-page{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
    padding:30px 0 60px;
}
.kil-contact-hero{
    padding:clamp(34px,6vw,70px);
    border-radius:24px;
    background:linear-gradient(135deg,var(--kil-blue-dark),var(--kil-blue));
    color:#fff;
    box-shadow:0 16px 36px rgba(6,69,115,.16);
}
.kil-contact-hero h1{
    margin:.15em 0;
    color:#fff;
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:clamp(2.6rem,7vw,5rem);
    line-height:1;
}
.kil-contact-hero p{
    max-width:760px;
    margin:.8rem 0 0;
    font-size:clamp(1rem,2vw,1.2rem);
    line-height:1.6;
}
.kil-contact-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin:30px 0;
}
.kil-contact-card{
    padding:28px;
    border:1px solid var(--kil-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 30px rgba(11,95,157,.08);
}
.kil-contact-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin-bottom:18px;
    border-radius:50%;
    background:var(--kil-yellow);
    color:var(--kil-blue-dark);
    font-size:1.35rem;
    font-weight:900;
}
.kil-contact-card h2{
    margin:0 0 12px;
    color:var(--kil-blue-dark);
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:1.65rem;
}
.kil-contact-card p,
.kil-contact-card address{
    margin:0;
    color:var(--kil-ink);
    font-style:normal;
    font-size:1.05rem;
    line-height:1.7;
}
.kil-contact-card a{
    color:var(--kil-blue);
    font-weight:850;
    text-decoration:none;
}
.kil-contact-card a:hover{
    text-decoration:underline;
}
.kil-contact-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:30px;
    border-radius:20px;
    background:var(--kil-blue-dark);
    color:#fff;
}
.kil-contact-cta h2{
    margin:.2em 0;
    color:#fff;
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:clamp(2rem,5vw,3.4rem);
}
.kil-contact-cta p{
    margin:.5rem 0 0;
}
@media(max-width:850px){
    .kil-contact-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:700px){
    .kil-contact-page{
        width:calc(100% - 20px);
        padding-top:18px;
    }
    .kil-contact-cta{
        align-items:flex-start;
        flex-direction:column;
    }
    .kil-contact-cta .kil-button{
        width:100%;
        text-align:center;
    }
}


/* v1.1.3 custom Keep It Local footer */
body.kil-custom-footer-enabled #colophon,
body.kil-custom-footer-enabled .site-footer:not(.kil-site-footer),
body.kil-custom-footer-enabled .ast-footer-overlay,
body.kil-custom-footer-enabled .site-primary-footer-wrap,
body.kil-custom-footer-enabled .site-below-footer-wrap{
    display:none !important;
}

.kil-site-footer{
    margin-top:48px;
    background:#073f70;
    color:#fff;
}
.kil-footer-main{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
    display:grid;
    grid-template-columns:1.35fr .8fr 1fr;
    gap:56px;
    padding:54px 0 46px;
}
.kil-footer-kicker{
    display:inline-block;
    margin-bottom:12px;
    color:#ffd21f;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.kil-footer-brand h2{
    max-width:520px;
    margin:0 0 14px;
    color:#fff;
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.05;
}
.kil-footer-brand p{
    max-width:560px;
    margin:0;
    color:rgba(255,255,255,.82);
    line-height:1.7;
}
.kil-footer-navigation h3,
.kil-footer-contact h3{
    margin:0 0 18px;
    color:#ffd21f;
    font-size:1rem;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.kil-footer-links{
    list-style:none;
    margin:0;
    padding:0;
}
.kil-footer-links li{
    margin:0 0 11px;
}
.kil-footer-links a,
.kil-footer-contact a{
    color:#fff;
    font-weight:700;
    text-decoration:none;
}
.kil-footer-links a:hover,
.kil-footer-contact a:hover{
    color:#ffd21f;
    text-decoration:underline;
}
.kil-footer-contact p{
    margin:0 0 8px;
}
.kil-footer-contact address{
    margin-top:16px;
    color:rgba(255,255,255,.82);
    font-style:normal;
    line-height:1.65;
}
.kil-footer-bottom{
    border-top:1px solid rgba(255,255,255,.16);
    background:#052f55;
}
.kil-footer-bottom p{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
    padding:18px 0;
    color:rgba(255,255,255,.76);
    font-size:.92rem;
}
@media(max-width:900px){
    .kil-footer-main{
        grid-template-columns:1fr 1fr;
    }
    .kil-footer-brand{
        grid-column:1/-1;
    }
}
@media(max-width:620px){
    .kil-site-footer{
        margin-top:34px;
    }
    .kil-footer-main{
        width:calc(100% - 28px);
        grid-template-columns:1fr;
        gap:34px;
        padding:42px 0 36px;
    }
    .kil-footer-brand{
        grid-column:auto;
    }
    .kil-footer-bottom p{
        width:calc(100% - 28px);
        text-align:center;
    }
}

/* v1.1.4 usability, typography and portal media controls */
.kil-directory,
.kil-profile,
.kil-home,
.kil-business-portal,
.kil-contact-page,
.kil-site-footer,
.kil-portal-login,
.kil-portal-empty{
    font-family:Inter,Arial,Helvetica,sans-serif !important;
}
.kil-directory h1,.kil-directory h2,.kil-directory h3,
.kil-profile h1,.kil-profile h2,.kil-profile h3,
.kil-home h1,.kil-home h2,.kil-home h3,
.kil-business-portal h1,.kil-business-portal h2,.kil-business-portal h3,
.kil-contact-page h1,.kil-contact-page h2,.kil-contact-page h3,
.kil-site-footer h1,.kil-site-footer h2,.kil-site-footer h3,
.kil-portal-login h1,.kil-portal-login h2,
.kil-portal-empty h1,.kil-portal-empty h2{
    font-family:Inter,Arial,Helvetica,sans-serif !important;
}
.kil-home-search-form input[type="search"]{
    display:block !important;
    width:100% !important;
    min-height:46px !important;
    padding:10px 12px !important;
    border:1px solid var(--kil-line) !important;
    border-radius:9px !important;
    background:#fff !important;
    box-shadow:none !important;
    font:inherit !important;
}
.kil-home-search-form input[type="search"]:focus{
    border-color:var(--kil-blue) !important;
    outline:2px solid rgba(11,95,157,.16) !important;
    outline-offset:1px !important;
}
.kil-removable-media{
    width:auto;
    min-height:95px;
    height:auto;
    padding:8px;
    border:1px solid var(--kil-line);
}
.kil-removable-media img{width:95px;height:95px;border-radius:8px;object-fit:cover}
.kil-portal-remove-media,
.kil-portal-remove-gallery{
    display:block;
    margin-top:8px;
    padding:7px 10px;
    border:1px solid #b32d2e;
    border-radius:7px;
    background:#fff;
    color:#b32d2e;
    font:inherit;
    font-size:.82rem;
    font-weight:800;
    cursor:pointer;
}
.kil-removable-media.is-marked-for-removal,
.kil-removable-gallery-item.is-marked-for-removal{
    opacity:.45;
    filter:grayscale(1);
}
.kil-removable-media.is-marked-for-removal::after,
.kil-removable-gallery-item.is-marked-for-removal::after{
    content:"Will be removed when you save";
    display:block;
    margin-top:7px;
    color:#7a1b1b;
    font-size:.76rem;
    font-weight:800;
}
.kil-portal-remove-media.is-undo,
.kil-portal-remove-gallery.is-undo{
    border-color:var(--kil-blue);
    color:var(--kil-blue);
}


/* v1.1.5 complete directory typography override
   Astra and page-builder typography can otherwise reintroduce serif fonts. */
.kil-home,
.kil-directory,
.kil-directory-extras,
.kil-directory-service-browser,
.kil-taxonomy-page,
.kil-profile,
.kil-high-street,
.kil-business-portal,
.kil-signup-page,
.kil-contact-page,
.kil-site-footer,
.kil-portal-login,
.kil-portal-empty,
.kil-places-page {
    font-family: Inter, Arial, Helvetica, sans-serif !important;
}
.kil-home *,
.kil-directory *,
.kil-directory-extras *,
.kil-directory-service-browser *,
.kil-taxonomy-page *,
.kil-profile *,
.kil-high-street *,
.kil-business-portal *,
.kil-signup-page *,
.kil-contact-page *,
.kil-site-footer *,
.kil-portal-login *,
.kil-portal-empty *,
.kil-places-page * {
    font-family: inherit !important;
}
body.single-kil_business .entry-title,
body.single-kil_business .entry-content,
body.tax-kil_category .site-content,
body.tax-kil_place .site-content,
body.post-type-archive-kil_business .site-content {
    font-family: Inter, Arial, Helvetica, sans-serif !important;
}

/* v1.2 Xero invoice option */
.kil-xero-payment{margin-top:22px;padding:22px;border:1px solid #d9e1ee;border-radius:14px;background:#f7f9fc}
.kil-xero-payment h3{margin:0 0 8px;color:#001a70;font-size:1.2rem}
.kil-xero-payment p{margin:0 0 14px}
.kil-xero-payment form{margin:0}
.kil-button-secondary{background:#001a70!important;color:#fff!important;border-color:#001a70!important}


/* v1.2.1 visible payment-method choice */
.kil-payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.kil-payment-method-card{display:block;position:relative;cursor:pointer}
.kil-payment-method-card input{position:absolute;opacity:0;pointer-events:none}
.kil-payment-method-card span{display:block;height:100%;padding:20px;border:2px solid #d6deeb;border-radius:14px;background:#fff;transition:.18s ease}
.kil-payment-method-card strong{display:block;color:#001a70;font-size:1.08rem;margin-bottom:6px}
.kil-payment-method-card small{display:block;color:#4b5563;line-height:1.45}
.kil-payment-method-card input:checked + span{border-color:#001a70;box-shadow:0 0 0 3px rgba(0,26,112,.10);background:#f7f9ff}
.kil-payment-method-card input:focus-visible + span{outline:3px solid #ffcf00;outline-offset:2px}
@media(max-width:700px){.kil-payment-method-grid{grid-template-columns:1fr}}

/* v1.2.2 membership management */
.kil-renewal-note{margin-top:18px;padding:16px 18px;border:1px solid #dbe3f2;border-left:5px solid #f4c400;border-radius:10px;background:#f8faff}.kil-renewal-note strong{display:block;color:#001a70;margin-bottom:4px}.kil-renewal-note p{margin:0}.kil-membership-panel{margin:0 0 24px;padding:24px;border:1px solid #dbe3f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(0,26,112,.07)}.kil-membership-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.kil-membership-details>div{padding:14px;border-radius:10px;background:#f5f7fb}.kil-membership-details dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5c6680}.kil-membership-details dd{margin:3px 0 0;font-weight:700;color:#001a70}.kil-renewal-form{margin-top:16px}.kil-button-danger{background:#a82121!important;border-color:#a82121!important;color:#fff!important}.kil-button-danger:hover{background:#861919!important;border-color:#861919!important}@media(max-width:760px){.kil-membership-details{grid-template-columns:1fr}.kil-membership-panel{padding:18px}}

/* v1.2.3 renewal wording and discreet opt-out */
.kil-renewal-copy{display:block!important;visibility:visible!important;opacity:1!important;clear:both;margin:14px 0 0!important;padding:0!important;font-size:14px!important;line-height:1.55!important;color:#4d5668!important;background:transparent!important;border:0!important}.kil-renewal-copy strong{color:#001a70!important}.kil-renewal-form{margin-top:10px!important;text-align:right}.kil-renewal-optout{appearance:none;background:transparent!important;border:0!important;box-shadow:none!important;padding:3px 0!important;color:#687386!important;font:inherit;font-size:12px!important;font-weight:500!important;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.kil-renewal-optout:hover,.kil-renewal-optout:focus{color:#001a70!important;background:transparent!important;outline-offset:3px}.kil-button-danger{background:#eef1f5!important;border-color:#d7dce5!important;color:#5b6575!important}.kil-button-danger:hover{background:#e5e9ef!important;border-color:#cbd1dc!important;color:#394355!important}

/* v1.2.6 portal account and URL guidance */
.kil-portal-logout-link { display:block; margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,.25); color:inherit; font-size:.92rem; text-decoration:underline; opacity:.9; }
.kil-portal-logout-link:hover { opacity:1; }
.kil-field-help { display:block; margin-top:6px; line-height:1.45; color:#4b5563; font-size:.86rem; }
.kil-signup-account-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:18px; }
.kil-secondary-link { color:#334155; text-decoration:underline; font-weight:600; }

/* Community listings and claims */
.kil-community-listing-panel{margin-top:28px;padding:24px;border:2px solid #f2cf18;border-radius:16px;background:#fffbea}
.kil-community-badge{display:inline-block;margin-bottom:10px;padding:6px 11px;border-radius:999px;background:#123d76;color:#fff;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.kil-community-listing-panel h2{margin:4px 0 8px}
.kil-last-checked{margin:16px 0 0;font-size:.88rem;opacity:.75}
.kil-community-category-image{width:100%;height:100%;object-fit:cover}


/* v1.6.1 launch polish */
.kil-contact-card .kil-social-links a,
.kil-contact-card .kil-social-links a:visited,
.kil-contact-card .kil-social-links a:hover,
.kil-contact-card .kil-social-links a:focus {
    color:#fff !important;
}

/* Hide non-approved links in the mobile header menu. JavaScript adds this class. */
@media (max-width: 921px) {
    .kil-mobile-menu-hidden { display:none !important; }
}

/* v1.6.3 category tiles and business-card logo treatment */
/* Category tiles show the category name only. */
.kil-card--has-logo { overflow:hidden; }
.kil-card--has-logo .kil-card-image { overflow:hidden; }
.kil-card-actions {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-top:auto;
}
.kil-card-actions .kil-card-logo {
    position:static;
    flex:0 0 86px;
    display:grid;
    place-items:center;
    width:86px;
    height:86px;
    margin:0;
    padding:7px;
    border:1px solid var(--kil-line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 8px 22px rgba(6,69,115,.18);
}
.kil-card-actions .kil-card-logo img {
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    transform:none !important;
    animation:none !important;
}
@media (max-width:620px) {
    .kil-card-actions { gap:12px; }
    .kil-card-actions .kil-card-logo {
        flex-basis:72px;
        width:72px;
        height:72px;
        padding:6px;
    }
}

/* v1.6.4 final category-count and listing-logo layout */
/* Hide any legacy business-count text, including direct text nodes, while retaining the title. */
.kil-term-overlay {
    font-size:0 !important;
}
.kil-term-overlay strong {
    display:block;
    font-size:1.15rem !important;
    line-height:1.2;
}
.kil-term-overlay small,
.kil-term-overlay em,
.kil-term-overlay > span,
.kil-term-overlay .kil-term-count,
.kil-term-overlay .term-count,
.kil-term-overlay .count {
    display:none !important;
}

/* Keep all listing cards internally aligned. */
.kil-card {
    display:flex;
    flex-direction:column;
}
.kil-card .kil-card-body {
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
}
.kil-card .kil-card-body > p {
    flex:1 1 auto;
}
.kil-card-actions {
    min-height:104px;
    padding-top:14px;
}

/* A fixed white logo tile that preserves every logo's original proportions. */
.kil-card-actions .kil-card-logo {
    position:static !important;
    inset:auto !important;
    box-sizing:border-box;
    flex:0 0 96px !important;
    width:96px !important;
    height:96px !important;
    max-width:none !important;
    margin:0 !important;
    padding:9px !important;
    overflow:hidden !important;
    border:1px solid #d9e4ec !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 8px 22px rgba(6,69,115,.16) !important;
}
.kil-card-actions .kil-card-logo img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
}
@media (max-width:620px) {
    .kil-card-actions { min-height:88px; }
    .kil-card-actions .kil-card-logo {
        flex-basis:78px !important;
        width:78px !important;
        height:78px !important;
        padding:7px !important;
    }
}


/* v1.6.4 logo source fix: card logos use an uncropped proportional image size. */
.kil-card-actions .kil-card-logo img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
}

/* v1.6.5 keep sparse directory results at the standard card width */
.kil-directory > .kil-grid[data-kil-grid]{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
}
@media(max-width:900px){
    .kil-directory > .kil-grid[data-kil-grid]{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:620px){
    .kil-directory > .kil-grid[data-kil-grid]{
        grid-template-columns:1fr;
    }
}
