@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Source+Sans+3:wght@400;500;600&display=swap');

/* ===== hide GeoDirectory native chrome on detail pages (we render our own) ===== */
body.single-gd_place .geodir-entry-title,
body.single-gd_foodtrails .geodir-entry-title,
body.single-gd_tours .geodir-entry-title,
body.single-gd_event .geodir-entry-title,
body.single-gd_place .vcc-detail-titlebar,
body.single-gd_foodtrails .vcc-detail-titlebar,
body.single-gd_tours .vcc-detail-titlebar,
body.single-gd_event .vcc-detail-titlebar,
.vcc-stage-img{display:none !important;}
.vcc-detail-section:not(:has(.vcclp-page)){display:none !important;}
.vcc-detail-section:has(.vcclp-page){background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;}
.fusion-layout-column:has(.geodir-wgt-map){display:none !important;}
.fusion-layout-column:has(.vcclp-page){width:100% !important;max-width:100% !important;flex:0 0 100% !important;}

/* ===== detail page (ported from approved demo) ===== */
.vcclp-page{font-family:'Source Sans 3',system-ui,sans-serif;color:#27313a;max-width:1180px;margin:0 auto;}
.vcclp-page *{box-sizing:border-box;}
.vcclp-crumb{font-family:'Montserrat',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;font-size:12px;color:#1c3f5f;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;}
.vcclp-crumb a{color:#1c3f5f;text-decoration:none;opacity:.75;}
.vcclp-crumb a:hover{opacity:1;}
.vcclp-crumb .sep{color:#e0902a;font-size:10px;}
.vcclp-crumb .cur{color:#5b6b78;}
.vcclp-title{font-family:'Montserrat',sans-serif !important;font-weight:800 !important;color:#1c3f5f !important;font-size:46px !important;line-height:1.05 !important;text-align:center !important;margin:14px 0 6px !important;}
.vcclp-tag{font-family:'Source Sans 3',sans-serif;text-align:center;color:#5b6b78;font-size:19px;max-width:680px;margin:0 auto !important;}
.vcclp-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px;}
.vcclp-pill{background:#eef3f7;color:#1c3f5f;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase;padding:6px 14px;border-radius:30px;}
.vcclp-layout{display:grid;grid-template-columns:1fr 360px;gap:34px;padding:36px 0 50px;align-items:start;}
.vcclp-main{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(20,40,60,.10);background:#dfe3e6;aspect-ratio:16/10;cursor:zoom-in;}
.vcclp-main img{width:100% !important;height:100% !important;object-fit:cover !important;display:block;transition:opacity .25s ease;margin:0 !important;max-width:none !important;}
.vcclp-thumbs{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.vcclp-thumbs::-webkit-scrollbar{height:6px;}
.vcclp-thumbs::-webkit-scrollbar-thumb{background:#cdd5db;border-radius:6px;}
.vcclp-thumb{flex:0 0 auto;width:120px;height:84px;border-radius:10px;overflow:hidden;cursor:pointer;border:3px solid transparent;opacity:.72;transition:.18s;scroll-snap-align:start;background:#dfe3e6;padding:0;}
.vcclp-thumb img{width:100% !important;height:100% !important;object-fit:cover !important;display:block;}
.vcclp-thumb:hover{opacity:1;}
.vcclp-thumb.is-active{opacity:1;border-color:#1c3f5f;box-shadow:0 4px 12px rgba(20,40,60,.18);}
.vcclp-credit{color:#9aa7b1;font-size:12px;margin-top:10px;font-family:'Montserrat',sans-serif;letter-spacing:.4px;text-transform:uppercase;}
.vcclp-about{margin-top:40px;}
.vcclp-about h2{font-family:'Montserrat',sans-serif !important;font-weight:700 !important;color:#1c3f5f !important;font-size:24px !important;margin:0 0 12px !important;text-transform:none !important;letter-spacing:0 !important;}
.vcclp-about p{font-size:19px;line-height:1.8;color:#33414c;margin:0 0 16px;}
.vcclp-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:20px;}
.vcclp-card{background:#fff;border:1px solid #e6e9ec;border-radius:14px;box-shadow:0 6px 22px rgba(20,40,60,.10);overflow:hidden;}
.vcclp-map{height:220px;width:100%;border:0;display:block;}
.vcclp-cardbody{padding:20px 22px;}
.vcclp-card h3{font-family:'Montserrat',sans-serif !important;font-weight:700 !important;color:#1c3f5f !important;font-size:15px !important;letter-spacing:.6px;text-transform:uppercase;margin:0 0 12px !important;}
.vcclp-irow{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;font-size:16px;color:#33414c;line-height:1.5;}
.vcclp-irow .ic{flex:0 0 20px;font-size:16px;}
.vcclp-irow a{color:#1c3f5f;text-decoration:none;font-weight:600;}
.vcclp-btns{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.vcclp-btn{display:block;text-align:center;border-radius:30px;padding:13px 18px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.6px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.18s;}
.vcclp-btn-primary{background:#1c3f5f;color:#fff !important;}
.vcclp-btn-primary:hover{background:#15334d;}
.vcclp-btn-ghost{background:#fff;color:#1c3f5f !important;border:2px solid #1c3f5f;}
.vcclp-btn-ghost:hover{background:#1c3f5f;color:#fff !important;}
.vcclp-hours{font-size:15.5px;}
.vcclp-hours table{width:100%;border-collapse:collapse;margin:0;}
.vcclp-hours tr{border-bottom:1px solid #eef1f3;}
.vcclp-hours td{padding:7px 2px;color:#33414c;border:0;}
/* lightbox */
.vcclp-lb{position:fixed;inset:0;background:rgba(12,18,24,.92);display:none;align-items:center;justify-content:center;z-index:99999;}
.vcclp-lb.open{display:flex;}
.vcclp-lb img{max-width:92vw;max-height:88vh;border-radius:10px;box-shadow:0 12px 44px rgba(0,0,0,.5);}
.vcclp-lb .vcclp-x{position:absolute;top:16px;right:26px;color:#fff;font-size:36px;line-height:1;cursor:pointer;}
@media(max-width:900px){
  .vcclp-layout{grid-template-columns:1fr;gap:26px;}
  .vcclp-side{position:static;}
  .vcclp-title{font-size:32px !important;}
  .vcclp-about p{font-size:18px;}
}

/* hide GeoDirectory native field title inside our About section */
.vcc-detail-section:has(.vcclp-page) .vcc-detail-h2{display:none !important;}

/* ---- fixes v0.3.2 ---- */
.vcclp-page a.vcclp-btn-primary,.vcclp-page a.vcclp-btn-primary:link,.vcclp-page a.vcclp-btn-primary:visited,.vcclp-page a.vcclp-btn-primary:hover{color:#fff !important;}
.vcclp-page a.vcclp-btn-ghost,.vcclp-page a.vcclp-btn-ghost:link,.vcclp-page a.vcclp-btn-ghost:visited{color:#1c3f5f !important;}
.vcclp-page a.vcclp-btn-ghost:hover{color:#fff !important;}
.vcclp-page .vcclp-thumb{border-radius:10px !important;overflow:hidden !important;}
.vcclp-page .vcclp-thumb img{border-radius:8px !important;}
body.single-gd_place .vcc-get-dir,body.single-gd_foodtrails .vcc-get-dir,body.single-gd_tours .vcc-get-dir,body.single-gd_event .vcc-get-dir{display:none !important;}
