/*
Theme Name: ContactNear Final Directory
Theme URI: https://contactnear.com/
Author: ContactNear
Description: ContactNear custom local business directory theme connected to CN Master CMS.
Version: 1.1.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: contactnear
*/
:root{--blue:#0875ee;--green:#12a85b;--line:#dfe7ef;--text:#17324d}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#f5f8fc;line-height:1.6}a{color:var(--blue);text-decoration:none}.cn-container{width:min(1240px,calc(100% - 32px));margin:auto}.cn-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.cn-nav{min-height:72px;display:flex;align-items:center;gap:20px}.cn-logo{display:flex;align-items:center;gap:7px;font-size:22px;font-weight:900;color:#17324d;position:relative;padding-right:170px}.cn-logo>span span{color:var(--blue)}.cn-logo small{position:absolute;left:31px;top:38px;font-size:10px;font-weight:600;color:#6b7b8e}.cn-logo-mark{color:var(--blue)}.cn-navlinks{display:flex;gap:15px;flex:1;justify-content:center}.cn-navlinks a{font-size:14px;font-weight:700;color:#36506b}.cn-header-actions{display:flex;gap:8px}.cn-btn{display:inline-block;padding:10px 14px;border-radius:9px;font-weight:800}.cn-btn-primary{background:var(--blue);color:#fff}.cn-hero{background:linear-gradient(135deg,#eaf4ff,#fff);padding:48px 0}.cn-hero h1{font-size:40px;line-height:1.15;margin:0 0 8px}.cn-hero p{margin:0 0 22px;color:#5e7084}.cn-search{display:grid;grid-template-columns:1.2fr 1fr .7fr auto;gap:10px;background:#fff;border:1px solid var(--line);padding:12px;border-radius:14px;box-shadow:0 8px 28px rgba(30,60,90,.08)}.cn-search label{font-size:12px;font-weight:800;color:#52657a}.cn-search select,.cn-search input{width:100%;margin-top:4px;padding:11px;border:1px solid #d6e0ea;border-radius:8px}.cn-search button{border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:900;padding:0 20px}.cn-main{padding:28px 0}.cn-results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.cn-results-head h2{margin:0}.cn-result-list{display:grid;gap:14px}.cn-card,.cn-panel,.cn-side-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px rgba(20,45,75,.05)}.cn-card{padding:16px}.cn-business{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center}.cn-thumb{width:130px;height:100px;object-fit:cover;border-radius:10px;background:#eef3f8}.cn-card h3{margin:0 0 4px;font-size:19px}.cn-meta{color:#63758a;font-size:13px}.cn-rating{font-weight:800;color:#f59e0b;margin-left:8px}.cn-post-hero{background:#fff;border-bottom:1px solid var(--line);padding:22px 0}.cn-breadcrumb{font-size:12px;color:#718096;margin-bottom:8px}.cn-post-hero h1{margin:0}.cn-post-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.cn-post-head img{width:150px;height:110px;object-fit:cover;border-radius:12px}.cn-listing-cta{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.cn-listing-cta a{padding:10px 15px;border-radius:9px;font-weight:900}.cn-listing-cta .call{background:var(--green);color:#fff}.cn-listing-cta .message{background:var(--blue);color:#fff}.cn-listing-cta .direction{border:1px solid #cfe0f5;background:#fff;color:var(--blue)}.cn-post-seo-content{max-width:900px;margin:auto}.cn-panel{padding:20px;margin-bottom:18px}.cn-panel h2{font-size:23px;margin:0 0 12px}.cn-panel h3{font-size:17px;margin:18px 0 8px}.cn-panel h4{font-size:15px;margin:16px 0 6px}.cn-description{font-size:15px;line-height:1.8}.cn-business-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cn-fact{padding:12px;border:1px solid #e6edf4;border-radius:10px;background:#fbfcfe}.cn-fact small{display:block;color:#718096;font-size:11px;text-transform:uppercase;font-weight:800}.cn-fact strong{font-size:14px}.cn-service-chips{display:flex;gap:8px;flex-wrap:wrap}.cn-service-chips a{padding:7px 10px;border-radius:999px;background:#f0f6fc;border:1px solid #dce8f5;font-size:12px;font-weight:800}.cn-map-large{height:350px;overflow:hidden;border-radius:12px;border:1px solid var(--line)}.cn-map-large iframe{width:100%;height:100%;border:0}.cn-related-business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cn-listing-layout{display:grid;grid-template-columns:1fr 300px;gap:20px}.cn-listing-logo{width:170px;height:130px;object-fit:cover;border-radius:12px;background:#eef3f8}.cn-listing-head{display:grid;grid-template-columns:170px 1fr auto;gap:20px;align-items:center}.cn-listing-head h1{margin:0;line-height:1.15}.cn-listing-kicker{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.cn-listing-kicker span{padding:4px 8px;background:#f0f5fb;border:1px solid #dce6f0;border-radius:999px;font-size:12px}.cn-listing-rating{color:#f59e0b;font-weight:800}.cn-side-card{padding:17px;margin-bottom:18px}.cn-side-card h3{margin:0 0 10px}.cn-side-row{padding:9px 0;border-bottom:1px solid #edf1f5;font-size:13px}.cn-side-label{display:block;color:#718096;font-size:11px;font-weight:800}.cn-hours div{padding:4px 0}.cn-faq details{border:1px solid #e5ebf2;border-radius:9px;margin:8px 0}.cn-faq summary{padding:11px 13px;font-weight:800;cursor:pointer}.cn-faq details p{padding:0 13px 12px}.cn-footer{background:#17324d;color:#fff;padding:28px 0;margin-top:30px}.cn-footer a{color:#fff}.cn-mobilebar{display:none}
@media(max-width:900px){.cn-navlinks{display:none}.cn-logo{padding-right:0}.cn-logo small{display:none}.cn-search{grid-template-columns:1fr 1fr}.cn-search button{padding:12px}.cn-business-facts{grid-template-columns:1fr 1fr}.cn-listing-layout{grid-template-columns:1fr}.cn-related-business-grid{grid-template-columns:1fr}.cn-listing-head{grid-template-columns:110px 1fr}.cn-listing-cta{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:640px){.cn-container{width:calc(100% - 24px)}.cn-hero{padding:32px 0}.cn-hero h1{font-size:31px}.cn-search{grid-template-columns:1fr}.cn-post-head{align-items:flex-start}.cn-post-head img{width:100px;height:80px}.cn-business{grid-template-columns:90px 1fr}.cn-thumb{width:90px;height:75px}.cn-business-facts{grid-template-columns:1fr}.cn-listing-head{grid-template-columns:1fr}.cn-listing-logo{width:100%;height:190px}.cn-listing-cta{display:flex}.cn-listing-cta a{flex:1;text-align:center}.cn-map-large{height:280px}.cn-panel{padding:15px}.cn-mobilebar{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:9999;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid #dfe6ef;padding:7px 7px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -5px 18px rgba(0,0,0,.12)}.cn-mobilebar a{margin:0 2px;padding:10px 2px;border-radius:7px;text-align:center;font-size:10px;font-weight:900;background:var(--blue);color:#fff}.cn-mobilebar a:first-child{background:var(--green)}.cn-mobilebar a:last-child{background:#fff;color:var(--blue);border:1px solid #bcd5ef}}

/* Homepage visual system — ContactNear reference design */
.cn-home-hero{position:relative;min-height:430px;background-image:url('assets/contactnear-dubai-skyline.jpg');background-size:cover;background-position:center;display:flex;align-items:center;overflow:hidden;color:#fff}.cn-home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,37,.78) 0%,rgba(4,19,37,.52) 48%,rgba(4,19,37,.20) 100%)}.cn-hero-inner{position:relative;z-index:2;padding:55px 0 38px}.cn-eyebrow{display:inline-flex;padding:6px 12px;border-radius:999px;background:rgba(18,168,91,.95);font-size:12px;font-weight:900;margin-bottom:12px}.cn-hero-copy{max-width:720px}.cn-hero-copy h1{font-size:50px;line-height:1.08;margin:0 0 12px;letter-spacing:-1.2px}.cn-hero-copy h1 span{color:#19a7ff}.cn-hero-copy p{font-size:17px;line-height:1.55;margin:0 0 22px;max-width:700px;color:#f4f8fc}.cn-home-search{display:grid;grid-template-columns:1.25fr 1fr .55fr auto;gap:0;max-width:1010px;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:15px;padding:8px;box-shadow:0 16px 40px rgba(0,0,0,.24);color:#17324d}.cn-home-search label{padding:7px 14px;border-right:1px solid #e3e9f0}.cn-home-search label span{display:block;font-size:11px;font-weight:900;color:#64778b;margin-bottom:2px}.cn-home-search input,.cn-home-search select{width:100%;border:0;outline:0;background:#fff;padding:5px 0;font-size:14px;color:#17324d}.cn-home-search button{border:0;border-radius:10px;background:#0875ee;color:#fff;font-weight:900;font-size:15px;padding:0 27px;cursor:pointer}.cn-popular{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}.cn-popular strong{font-size:12px}.cn-popular a{border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.25);color:#fff;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:800}.cn-home-main{background:#f7f9fc;padding:10px 0 45px}.cn-home-section{padding-top:30px}.cn-section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:15px}.cn-section-head h2{margin:0;font-size:28px;line-height:1.2;color:#12263f}.cn-section-head p{margin:4px 0 0;color:#718096;font-size:13px}.cn-section-head>a{font-size:13px;font-weight:900}.cn-count{font-size:12px;font-weight:800;color:#718096}.cn-category-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.cn-category-card{min-height:96px;background:#fff;border:1px solid #e1e8f0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#17324d;box-shadow:0 4px 14px rgba(20,45,75,.04);transition:transform .15s ease,box-shadow .15s ease}.cn-category-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(20,45,75,.10)}.cn-category-icon{width:39px;height:39px;border-radius:10px;background:#eaf4ff;display:grid;place-items:center;font-size:20px}.cn-category-card strong{font-size:11px;text-align:center;line-height:1.25}.cn-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cn-feature-card{background:#fff;border:1px solid #e0e7ef;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px rgba(20,45,75,.06);min-width:0}.cn-feature-image-wrap{height:185px;display:block;position:relative;background:#eaf0f5;overflow:hidden}.cn-feature-image{width:100%;height:100%;object-fit:cover;display:block}.cn-feature-image-empty{display:grid;place-items:center;color:#0875ee;font-weight:900;font-size:18px;background:linear-gradient(135deg,#eaf4ff,#f7fbff)}.cn-verified-badge{position:absolute;left:10px;top:10px;background:#11a85b;color:#fff;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;box-shadow:0 2px 8px rgba(0,0,0,.18)}.cn-feature-body{padding:12px}.cn-feature-body h3{margin:0 0 5px;font-size:16px;line-height:1.25}.cn-feature-body h3 a{color:#152b43}.cn-feature-rating{color:#f59e0b;font-weight:900;font-size:13px}.cn-feature-rating small{color:#7a8897;font-weight:700}.cn-no-rating{color:#718096}.cn-feature-cat{font-size:12px;font-weight:800;color:#3d5871;margin-top:4px}.cn-feature-address{font-size:11px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.cn-card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:11px}.cn-card-actions a{padding:7px 3px;border-radius:7px;text-align:center;font-size:10px;font-weight:900}.cn-action-call{background:#11a85b;color:#fff!important}.cn-action-message{background:#0875ee;color:#fff!important}.cn-action-direction{border:1px solid #bcd5ef;background:#fff;color:#0875ee!important}.cn-city-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.cn-city-card{height:150px;border-radius:13px;overflow:hidden;display:flex;align-items:end;padding:15px;color:#fff;position:relative;background-image:linear-gradient(180deg,rgba(10,28,48,.05),rgba(10,28,48,.82)),url('assets/contactnear-dubai-skyline.jpg');background-size:cover;background-position:center}.cn-city-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.55));}.cn-city-card>div{position:relative;z-index:1}.cn-city-card strong{display:block;font-size:19px}.cn-city-card span{font-size:11px;opacity:.9}.cn-city-1{background-position:20% center;filter:saturate(.9)}.cn-city-2{background-position:40% center}.cn-city-3{background-position:60% center}.cn-city-4{background-position:80% center}.cn-city-5{background-position:right center}
@media(max-width:1050px){.cn-category-grid{grid-template-columns:repeat(5,1fr)}.cn-featured-grid{grid-template-columns:repeat(3,1fr)}.cn-city-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.cn-home-hero{min-height:520px;background-position:center}.cn-hero-inner{padding:42px 0 30px}.cn-hero-copy h1{font-size:36px}.cn-hero-copy p{font-size:14px}.cn-home-search{grid-template-columns:1fr;gap:4px}.cn-home-search label{border-right:0;border-bottom:1px solid #e5ebf2}.cn-home-search button{min-height:46px}.cn-popular{display:none}.cn-category-grid{grid-template-columns:repeat(2,1fr)}.cn-featured-grid{grid-template-columns:1fr 1fr}.cn-city-grid{grid-template-columns:1fr 1fr}.cn-city-card{height:130px}}
@media(max-width:520px){.cn-section-head{align-items:flex-start;flex-direction:column}.cn-featured-grid{grid-template-columns:1fr}.cn-city-grid{grid-template-columns:1fr 1fr}.cn-category-card{min-height:88px}.cn-home-hero{min-height:500px}.cn-hero-copy h1{font-size:31px}}

/* Locked homepage category row: 9 categories + More Categories */
.cn-category-grid-locked{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;align-items:stretch}
.cn-category-grid-locked .cn-category-card{min-width:0;text-align:center;padding:16px 8px}
.cn-category-grid-locked .cn-category-card strong{display:block;font-size:13px;line-height:1.25}
.cn-category-grid-locked .cn-category-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 9px;border-radius:12px;font-size:23px;background:#eef6ff}
.cn-more-category .cn-category-icon{font-size:20px;letter-spacing:1px}
@media(max-width:1050px){.cn-category-grid-locked{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:620px){.cn-category-grid-locked{grid-template-columns:repeat(2,minmax(0,1fr))}}
