/*
Theme Name:  Kotamart
Description: Fast, clean business directory theme
Version:     1.0
Author:      Pawan
Text Domain: kotamart
*/

/* ── Base ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;-webkit-text-size-adjust:100%;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:#f1f5f9;color:#1e293b;line-height:1.6;}
img{max-width:100%;height:auto;display:block;}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}

/* ── Header ── */
.km-header{background:#0f172a;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.km-header-inner{max-width:1200px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.km-logo{display:flex;align-items:center;line-height:1;}
.km-logo a,.km-logo .custom-logo-link{display:flex;align-items:center;padding:0;margin:0;border:none;outline:none;line-height:1;}
.km-logo img,.km-logo .custom-logo{height:40px;max-width:160px;width:auto;object-fit:contain;display:block;vertical-align:middle;}
.km-logo-text{color:#fff;font-size:20px;font-weight:800;letter-spacing:-.3px;}
.km-nav{display:flex;align-items:center;}
.km-menu{list-style:none;display:flex;gap:4px;}
.km-menu li a{color:rgba(255,255,255,.85);font-size:14px;font-weight:500;padding:6px 12px;border-radius:6px;transition:.15s;}
.km-menu li a:hover{color:#fff;background:rgba(255,255,255,.1);text-decoration:none;}
.km-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;}
.km-menu-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;}

/* ── Page / Footer ── */
.km-page{min-height:calc(100vh - 116px);}
.km-main{padding:20px 0 40px;}
.km-container{max-width:1200px;margin:0 auto;padding:0 16px;}
.km-footer{background:#0f172a;color:rgba(255,255,255,.6);padding:18px 16px;text-align:center;font-size:13px;}
.km-footer-inner{max-width:1200px;margin:0 auto;}

/* ════ BUSINESS PAGE ════ */
.km-biz-page{padding:0 0 60px;}
.km-biz-wrap{max-width:660px;margin:0 auto;padding:16px 16px 0;}

.km-hero{border-radius:16px;overflow:hidden;margin-bottom:18px;position:relative;background:#0f172a;aspect-ratio:16/7;}
.km-hero img{width:100%;height:100%;object-fit:cover;}
.km-feat{position:absolute;top:14px;left:14px;background:#f59e0b;color:#fff;padding:4px 12px;border-radius:8px;font-size:12px;font-weight:700;}

.km-title-block{margin-bottom:16px;}
.km-biz-name{font-size:26px;font-weight:800;color:#0f172a;margin-bottom:8px;line-height:1.2;}
.km-biz-loc{color:#64748b;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.km-verified{background:#eff6ff;color:#2563eb;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;}
.km-rating-pill{display:inline-flex;align-items:center;gap:6px;background:#fffbeb;border:2px solid #fcd34d;color:#b45309;padding:7px 14px;border-radius:50px;font-weight:700;font-size:14px;white-space:nowrap;}
.km-rating-new{background:#f1f5f9;border:2px solid #e2e8f0;color:#94a3b8;font-weight:600;font-size:13px;}

.km-actions{display:flex;gap:10px;margin-bottom:16px;}
.km-btn{flex:1;padding:13px 10px;border-radius:12px;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff!important;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px rgba(0,0,0,.1);}
.km-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.15);text-decoration:none;}
.km-btn-call{background:linear-gradient(135deg,#3b82f6,#2563eb);}
.km-btn-wa{background:linear-gradient(135deg,#22c55e,#16a34a);}
.km-btn-map{background:#f8fafc;color:#1e293b!important;flex:0 0 54px;box-shadow:none;border:1px solid #e2e8f0!important;}

.km-card{background:#fff;border:1px solid #e8edf2;border-radius:16px;overflow:hidden;margin-bottom:14px;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.km-card-hd{padding:14px 18px 6px;font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;}

.km-row{display:flex;align-items:flex-start;gap:14px;padding:13px 18px;border-bottom:1px solid #f1f5f9;}
.km-row:last-child{border-bottom:none;}
.km-ic{width:42px;height:42px;background:#f0f7ff;color:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.km-lbl{font-size:10px;color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:3px;}
.km-val{font-size:14px;color:#1e293b;font-weight:500;line-height:1.5;}
.km-link{font-size:14px;color:#2563eb;font-weight:600;}
.km-link:hover{text-decoration:underline;}
.km-wh-toggle{color:#2563eb;font-weight:600;font-size:14px;cursor:pointer;display:inline-block;}
.km-wh-table{width:100%;font-size:13px;margin-top:10px;border-collapse:collapse;}
.km-wh-table td{padding:4px 0;color:#334155;}
.km-wh-table td:first-child{font-weight:700;color:#64748b;width:55px;}

.km-about{padding:14px 18px 18px;font-size:14px;color:#475569;line-height:1.8;}
.km-gallery{display:flex;gap:8px;overflow-x:auto;padding:0 18px 18px;scrollbar-width:none;}
.km-gallery::-webkit-scrollbar{display:none;}
.km-gallery img{width:90px;height:90px;object-fit:cover;border-radius:10px;flex-shrink:0;cursor:pointer;transition:opacity .15s;}
.km-gallery img:hover{opacity:.85;}
.km-video-wrap{padding:0 18px 18px;}
.km-video-wrap video{width:100%;border-radius:10px;}

.km-share-card{display:flex;align-items:center;gap:10px;padding:14px 18px;flex-wrap:wrap;}
.km-share-lbl{font-size:12px;font-weight:700;color:#94a3b8;}
.km-sic{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none!important;border:none;cursor:pointer;transition:transform .15s;flex-shrink:0;}
.km-sic:hover{transform:scale(1.1);}
.km-sic-copy{background:#f1f5f9;border:1px solid #e2e8f0!important;}

.km-map-wrap{border-radius:16px;overflow:hidden;margin-bottom:14px;border:1px solid #e8edf2;}
.km-map-wrap iframe{display:block;width:100%;}

.km-rev-item{display:flex;gap:12px;padding:13px 18px;border-bottom:1px solid #f1f5f9;}
.km-rev-item:last-child{border-bottom:none;}
.km-rev-av{width:40px;height:40px;border-radius:50%;color:#fff;text-align:center;line-height:40px;font-weight:700;font-size:16px;flex-shrink:0;}
.km-rev-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;}
.km-rev-name{font-weight:700;font-size:14px;color:#1e293b;}
.km-rev-date{font-size:11px;color:#94a3b8;}
.km-rev-stars{color:#fbbf24;font-size:14px;margin:2px 0;}
.km-rev-comment{font-size:13px;color:#475569;line-height:1.5;}
.km-no-rev{text-align:center;padding:24px 18px;color:#94a3b8;font-size:14px;}

.km-rev-form{padding:18px;border-top:1px solid #e8edf2;}
.km-rev-form-title{font-weight:700;font-size:15px;color:#1e293b;margin-bottom:16px;text-align:center;}
.km-stars-ui{display:flex;gap:10px;margin-bottom:16px;justify-content:center;}
.km-stars-ui span{font-size:36px;color:#e2e8f0;cursor:pointer;transition:.15s;line-height:1;}
.km-input{width:100%;border:1px solid #e2e8f0;padding:12px 14px;border-radius:10px;font-size:14px;margin-bottom:10px;outline:none;font-family:inherit;transition:.2s;display:block;}
.km-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);}
.km-textarea{height:80px;resize:none;}
.km-submit-btn{width:100%;background:#0f172a;color:#fff;border:none;padding:14px;border-radius:10px;cursor:pointer;font-weight:700;font-size:15px;font-family:inherit;transition:.2s;}
.km-submit-btn:hover{background:#1e293b;}
.km-rev-msg{margin-top:10px;text-align:center;font-size:14px;padding:10px;border-radius:8px;}
.km-rev-ok{background:#dcfce7;color:#16a34a;}
.km-rev-err{background:#fee2e2;color:#dc2626;}

@media(max-width:640px){
    .km-menu-toggle{display:flex;}
    .km-nav{display:none;position:absolute;top:56px;left:0;right:0;background:#0f172a;padding:12px 16px;}
    .km-nav.open{display:block;}
    .km-menu{flex-direction:column;gap:2px;}
    .km-menu li a{display:block;padding:10px 14px;}
    .km-biz-name{font-size:21px;}
    .km-btn{font-size:13px;padding:11px 8px;}
    .km-hero{aspect-ratio:4/3;}
}
