:root{
  --container: 1100px;
  --gutter: 16px;
  --bg: #333333;
  --text: #ffffff;
  --muted: rgba(255,255,255,.75);
  --border: rgba(255,255,255,.12);
  --card-bg: #ffffff;
  --card-text: #111111;

  --map-accent: #d8a13b;
  --map-panel: #3a3838;
  --map-panel-border: #b88733;
  --map-sea: #0d5e73;
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  font:16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background-color: var(--bg);
  color: var(--text);
}

a{ color:inherit; text-decoration:none; }

img{ max-width:100%; height:auto; display:block; }

/* ===== Layout ===== */
.container{
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.content{ padding:24px 0; }

.prose :where(p,ul,ol){
  max-width:70ch;
}

/* ===== Header / Menu ===== */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
}

.map-card{
  margin: 0 -20px;
  position: relative;
  overflow: hidden;
  background: #1f1f1f;
}

.map-card--xl{
  min-height: 100vh;
}

.home-map{
  padding-top: 0;
  padding-bottom: 0;
}
.map-card .geodir-map-container,
.map-card .geodir_map_container,
.map-card .geodir-map-wrap,
.map-card .geodir_google_map,
.map-card .leaflet-container,
.map-card .gd-map-canvas,
.map-card .widget.gd-map{
  width: 100% !important;
  height: 130vh !important;
  min-height: 130vh !important;
}
.geodir-post-title {
  position: relative;
}
.footer-inner{
  margin: 0 -20px;
}
.content-inner{
  margin: 0 -20px;
}
.footer-bottom{
  margin: 0 -20px;
}
.header-inner{
  margin: 0 -20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:72px;
  position: relative;
}

.brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
}

.brand-logo{
  display:block;
  height:60px;
  width:auto;
}

.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  cursor:pointer;
  flex-shrink:0;
}

.menu-toggle span{
  display:block;
  width:24px;
  height:2px;
  margin:5px auto;
  background: var(--text);
  transition: transform .2s ease, opacity .2s ease;
}

.site-nav{
  display:block;
}

.site-nav .menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.site-nav .menu > li{
  position:relative;
}

.site-nav .menu a{
  display:block;
  padding:10px 12px;
  border-radius:8px;
  text-decoration:none;
  line-height:1.2;
}

.site-nav .menu a:hover,
.site-nav .menu .current-menu-item > a,
.site-nav .menu .current-menu-parent > a{
  background: rgba(255,255,255,.08);
}

/* submenu desktop */
.site-nav .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  margin:0;
  padding:8px;
  list-style:none;
  background:#222;
  border:1px solid var(--border);
  border-radius:12px;
  z-index:20;
}

.site-nav .sub-menu li{
  width:100%;
}

.site-nav .sub-menu a{
  padding:10px 12px;
  border-radius:8px;
}

.site-nav .menu li:hover > .sub-menu{
  display:block;
}

/* mobile */
@media (max-width: 900px){
  .header-inner, .footer-inner, .footer-bottom, .content-inner{
    margin: 0;
  }

  .menu-toggle{
    display:block;
  }

  .site-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background: var(--bg);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    padding:12px 16px 16px;
  }

  .site-nav.is-open{
    display:block;
  }

  .site-nav .menu{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
  }

  .site-nav .menu > li{
    width:100%;
  }

  .site-nav .menu a{
    padding:12px 0;
    border-radius:0;
  }

  .site-nav .sub-menu{
    display:block;
    position:static;
    min-width:0;
    margin:0;
    padding:0 0 0 14px;
    border:0;
    background:transparent;
    border-radius:0;
  }

  .site-nav .sub-menu a{
    padding:10px 0;
    opacity:.85;
  }
}

/* ===== Hero ===== */
.hero{
  padding:48px 0;
  border-bottom:1px solid var(--border);
}

.hero-title{
  margin:0 0 8px 0;
  font-size:36px;
  line-height:1.1;
}

.hero-subtitle{
  margin:0 0 18px 0;
  color:var(--muted);
}

.hero-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* ===== Buttons ===== */
.btn{
  display:inline-block;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  text-decoration:none;
}

.btn:hover{
  background: rgba(255,255,255,.06);
}

.btn-ghost{
  background:transparent;
}

/* ===== Cards / Grid ===== */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:16px;
}

.card{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:14px;
  background:var(--card-bg);
  color:var(--card-text);
}

.card-thumb img{
  width:100%;
  border-radius:12px;
}

.card-title{
  margin:10px 0 6px;
  font-size:18px;
}

.card-excerpt{
  opacity:.85;
  font-size:14px;
}

.featured img{
  width:100%;
  border-radius:14px;
}

.pagination{ padding:16px 0; }
.more{ margin-top:12px; }

/* ===== Footer ===== */
.site-footer{
  margin-top:30px;
  border-top:1px solid var(--border);
  padding:18px 0;
}

/* =========================================================
   MINI BOOTSTRAP-LIKE UTILITIES
   breakpoints:
   sm = 576px
   md = 768px
   lg = 992px
========================================================= */

/* ===== Base ===== */
*,
*::before,
*::after{
  box-sizing:border-box;
}

img,
.img-fluid{
  max-width:100%;
  height:auto;
  display:block;
}

.w-100{ width:100% !important; }
.h-auto{ height:auto !important; }

/* ===== Grid ===== */
.row{
  display:flex;
  flex-wrap:wrap;
}

[class^="col"],
[class*=" col"]{
  padding-left: calc(var(--gutter) / 2);
  padding-right: calc(var(--gutter) / 2);
  min-width:0;
}

[class^="col-"],
[class*=" col-"]{
  flex:0 0 auto;
}

.col{ flex:1 0 0%; }

.col-1{ flex:0 0 8.333333%; max-width:8.333333%; }
.col-2{ flex:0 0 16.666667%; max-width:16.666667%; }
.col-3{ flex:0 0 25%; max-width:25%; }
.col-4{ flex:0 0 33.333333%; max-width:33.333333%; }
.col-5{ flex:0 0 41.666667%; max-width:41.666667%; }
.col-6{ flex:0 0 50%; max-width:50%; }
.col-7{ flex:0 0 58.333333%; max-width:58.333333%; }
.col-8{ flex:0 0 66.666667%; max-width:66.666667%; }
.col-9{ flex:0 0 75%; max-width:75%; }
.col-10{ flex:0 0 83.333333%; max-width:83.333333%; }
.col-11{ flex:0 0 91.666667%; max-width:91.666667%; }
.col-12{ flex:0 0 100%; max-width:100%; }

@media (min-width:576px){
  .col-sm{ flex:1 0 0%; }
  .col-sm-1{ flex:0 0 8.333333%; max-width:8.333333%; }
  .col-sm-2{ flex:0 0 16.666667%; max-width:16.666667%; }
  .col-sm-3{ flex:0 0 25%; max-width:25%; }
  .col-sm-4{ flex:0 0 33.333333%; max-width:33.333333%; }
  .col-sm-5{ flex:0 0 41.666667%; max-width:41.666667%; }
  .col-sm-6{ flex:0 0 50%; max-width:50%; }
  .col-sm-7{ flex:0 0 58.333333%; max-width:58.333333%; }
  .col-sm-8{ flex:0 0 66.666667%; max-width:66.666667%; }
  .col-sm-9{ flex:0 0 75%; max-width:75%; }
  .col-sm-10{ flex:0 0 83.333333%; max-width:83.333333%; }
  .col-sm-11{ flex:0 0 91.666667%; max-width:91.666667%; }
  .col-sm-12{ flex:0 0 100%; max-width:100%; }
}

@media (min-width:768px){
  .col-md{ flex:1 0 0%; }
  .col-md-1{ flex:0 0 8.333333%; max-width:8.333333%; }
  .col-md-2{ flex:0 0 16.666667%; max-width:16.666667%; }
  .col-md-3{ flex:0 0 25%; max-width:25%; }
  .col-md-4{ flex:0 0 33.333333%; max-width:33.333333%; }
  .col-md-5{ flex:0 0 41.666667%; max-width:41.666667%; }
  .col-md-6{ flex:0 0 50%; max-width:50%; }
  .col-md-7{ flex:0 0 58.333333%; max-width:58.333333%; }
  .col-md-8{ flex:0 0 66.666667%; max-width:66.666667%; }
  .col-md-9{ flex:0 0 75%; max-width:75%; }
  .col-md-10{ flex:0 0 83.333333%; max-width:83.333333%; }
  .col-md-11{ flex:0 0 91.666667%; max-width:91.666667%; }
  .col-md-12{ flex:0 0 100%; max-width:100%; }
}

@media (min-width:992px){
  .col-lg{ flex:1 0 0%; }
  .col-lg-1{ flex:0 0 8.333333%; max-width:8.333333%; }
  .col-lg-2{ flex:0 0 16.666667%; max-width:16.666667%; }
  .col-lg-3{ flex:0 0 25%; max-width:25%; }
  .col-lg-4{ flex:0 0 33.333333%; max-width:33.333333%; }
  .col-lg-5{ flex:0 0 41.666667%; max-width:41.666667%; }
  .col-lg-6{ flex:0 0 50%; max-width:50%; }
  .col-lg-7{ flex:0 0 58.333333%; max-width:58.333333%; }
  .col-lg-8{ flex:0 0 66.666667%; max-width:66.666667%; }
  .col-lg-9{ flex:0 0 75%; max-width:75%; }
  .col-lg-10{ flex:0 0 83.333333%; max-width:83.333333%; }
  .col-lg-11{ flex:0 0 91.666667%; max-width:91.666667%; }
  .col-lg-12{ flex:0 0 100%; max-width:100%; }
}

/* ===== Display ===== */
.d-none{ display:none !important; }
.d-block{ display:block !important; }
.d-inline{ display:inline !important; }
.d-inline-block{ display:inline-block !important; }
.d-flex{ display:flex !important; }

@media (min-width:576px){
  .d-sm-none{ display:none !important; }
  .d-sm-block{ display:block !important; }
  .d-sm-flex{ display:flex !important; }
}

@media (min-width:768px){
  .d-md-none{ display:none !important; }
  .d-md-block{ display:block !important; }
  .d-md-flex{ display:flex !important; }
}

@media (min-width:992px){
  .d-lg-none{ display:none !important; }
  .d-lg-block{ display:block !important; }
  .d-lg-flex{ display:flex !important; }
}

/* ===== Flex Helpers ===== */
.flex-row{ flex-direction:row !important; }
.flex-column{ flex-direction:column !important; }
.flex-wrap{ flex-wrap:wrap !important; }
.flex-nowrap{ flex-wrap:nowrap !important; }

.justify-content-start{ justify-content:flex-start !important; }
.justify-content-center{ justify-content:center !important; }
.justify-content-end{ justify-content:flex-end !important; }
.justify-content-between{ justify-content:space-between !important; }
.justify-content-around{ justify-content:space-around !important; }

.align-items-start{ align-items:flex-start !important; }
.align-items-center{ align-items:center !important; }
.align-items-end{ align-items:flex-end !important; }
.align-items-stretch{ align-items:stretch !important; }

.text-left{ text-align:left !important; }
.text-center{ text-align:center !important; }
.text-right{ text-align:right !important; }

@media (min-width:576px){
  .text-sm-left{ text-align:left !important; }
  .text-sm-center{ text-align:center !important; }
  .text-sm-right{ text-align:right !important; }
}

@media (min-width:768px){
  .text-md-left{ text-align:left !important; }
  .text-md-center{ text-align:center !important; }
  .text-md-right{ text-align:right !important; }
}

@media (min-width:992px){
  .text-lg-left{ text-align:left !important; }
  .text-lg-center{ text-align:center !important; }
  .text-lg-right{ text-align:right !important; }
}

/* ===== Gap ===== */
.gap-0{ gap:0 !important; }
.gap-1{ gap:.25rem !important; }
.gap-2{ gap:.5rem !important; }
.gap-3{ gap:1rem !important; }
.gap-4{ gap:1.5rem !important; }
.gap-5{ gap:3rem !important; }

/* ===== Margin ===== */
.m-0{ margin:0 !important; }
.m-1{ margin:.25rem !important; }
.m-2{ margin:.5rem !important; }
.m-3{ margin:1rem !important; }
.m-4{ margin:1.5rem !important; }
.m-5{ margin:3rem !important; }

.mt-0{ margin-top:0 !important; }
.mt-1{ margin-top:.25rem !important; }
.mt-2{ margin-top:.5rem !important; }
.mt-3{ margin-top:1rem !important; }
.mt-4{ margin-top:1.5rem !important; }
.mt-5{ margin-top:3rem !important; }

.mb-0{ margin-bottom:0 !important; }
.mb-1{ margin-bottom:.25rem !important; }
.mb-2{ margin-bottom:.5rem !important; }
.mb-3{ margin-bottom:1rem !important; }
.mb-4{ margin-bottom:1.5rem !important; }
.mb-5{ margin-bottom:3rem !important; }

.ml-0{ margin-left:0 !important; }
.ml-1{ margin-left:.25rem !important; }
.ml-2{ margin-left:.5rem !important; }
.ml-3{ margin-left:1rem !important; }
.ml-4{ margin-left:1.5rem !important; }
.ml-5{ margin-left:3rem !important; }

.mr-0{ margin-right:0 !important; }
.mr-1{ margin-right:.25rem !important; }
.mr-2{ margin-right:.5rem !important; }
.mr-3{ margin-right:1rem !important; }
.mr-4{ margin-right:1.5rem !important; }
.mr-5{ margin-right:3rem !important; }

.mx-0{ margin-left:0 !important; margin-right:0 !important; }
.mx-1{ margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-2{ margin-left:.5rem !important; margin-right:.5rem !important; }
.mx-3{ margin-left:1rem !important; margin-right:1rem !important; }
.mx-4{ margin-left:1.5rem !important; margin-right:1.5rem !important; }
.mx-5{ margin-left:3rem !important; margin-right:3rem !important; }

.my-0{ margin-top:0 !important; margin-bottom:0 !important; }
.my-1{ margin-top:.25rem !important; margin-bottom:.25rem !important; }
.my-2{ margin-top:.5rem !important; margin-bottom:.5rem !important; }
.my-3{ margin-top:1rem !important; margin-bottom:1rem !important; }
.my-4{ margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.my-5{ margin-top:3rem !important; margin-bottom:3rem !important; }

.mx-auto{ margin-left:auto !important; margin-right:auto !important; }

/* ===== Padding ===== */
.p-0{ padding:0 !important; }
.p-1{ padding:.25rem !important; }
.p-2{ padding:.5rem !important; }
.p-3{ padding:1rem !important; }
.p-4{ padding:1.5rem !important; }
.p-5{ padding:3rem !important; }

.pt-0{ padding-top:0 !important; }
.pt-1{ padding-top:.25rem !important; }
.pt-2{ padding-top:.5rem !important; }
.pt-3{ padding-top:1rem !important; }
.pt-4{ padding-top:1.5rem !important; }
.pt-5{ padding-top:3rem !important; }

.pb-0{ padding-bottom:0 !important; }
.pb-1{ padding-bottom:.25rem !important; }
.pb-2{ padding-bottom:.5rem !important; }
.pb-3{ padding-bottom:1rem !important; }
.pb-4{ padding-bottom:1.5rem !important; }
.pb-5{ padding-bottom:3rem !important; }

.pl-0{ padding-left:0 !important; }
.pl-1{ padding-left:.25rem !important; }
.pl-2{ padding-left:.5rem !important; }
.pl-3{ padding-left:1rem !important; }
.pl-4{ padding-left:1.5rem !important; }
.pl-5{ padding-left:3rem !important; }

.pr-0{ padding-right:0 !important; }
.pr-1{ padding-right:.25rem !important; }
.pr-2{ padding-right:.5rem !important; }
.pr-3{ padding-right:1rem !important; }
.pr-4{ padding-right:1.5rem !important; }
.pr-5{ padding-right:3rem !important; }

.px-0{ padding-left:0 !important; padding-right:0 !important; }
.px-1{ padding-left:.25rem !important; padding-right:.25rem !important; }
.px-2{ padding-left:.5rem !important; padding-right:.5rem !important; }
.px-3{ padding-left:1rem !important; padding-right:1rem !important; }
.px-4{ padding-left:1.5rem !important; padding-right:1.5rem !important; }
.px-5{ padding-left:3rem !important; padding-right:3rem !important; }

.py-0{ padding-top:0 !important; padding-bottom:0 !important; }
.py-1{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
.py-2{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
.py-3{ padding-top:1rem !important; padding-bottom:1rem !important; }
.py-4{ padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
.py-5{ padding-top:3rem !important; padding-bottom:3rem !important; }

/* ===== Responsive spacing: SM ===== */
@media (min-width:576px){
  .m-sm-0{ margin:0 !important; }
  .m-sm-1{ margin:.25rem !important; }
  .m-sm-2{ margin:.5rem !important; }
  .m-sm-3{ margin:1rem !important; }
  .m-sm-4{ margin:1.5rem !important; }
  .m-sm-5{ margin:3rem !important; }

  .mt-sm-0{ margin-top:0 !important; }
  .mt-sm-1{ margin-top:.25rem !important; }
  .mt-sm-2{ margin-top:.5rem !important; }
  .mt-sm-3{ margin-top:1rem !important; }
  .mt-sm-4{ margin-top:1.5rem !important; }
  .mt-sm-5{ margin-top:3rem !important; }

  .mb-sm-0{ margin-bottom:0 !important; }
  .mb-sm-1{ margin-bottom:.25rem !important; }
  .mb-sm-2{ margin-bottom:.5rem !important; }
  .mb-sm-3{ margin-bottom:1rem !important; }
  .mb-sm-4{ margin-bottom:1.5rem !important; }
  .mb-sm-5{ margin-bottom:3rem !important; }

  .p-sm-0{ padding:0 !important; }
  .p-sm-1{ padding:.25rem !important; }
  .p-sm-2{ padding:.5rem !important; }
  .p-sm-3{ padding:1rem !important; }
  .p-sm-4{ padding:1.5rem !important; }
  .p-sm-5{ padding:3rem !important; }

  .pt-sm-0{ padding-top:0 !important; }
  .pt-sm-1{ padding-top:.25rem !important; }
  .pt-sm-2{ padding-top:.5rem !important; }
  .pt-sm-3{ padding-top:1rem !important; }
  .pt-sm-4{ padding-top:1.5rem !important; }
  .pt-sm-5{ padding-top:3rem !important; }

  .pb-sm-0{ padding-bottom:0 !important; }
  .pb-sm-1{ padding-bottom:.25rem !important; }
  .pb-sm-2{ padding-bottom:.5rem !important; }
  .pb-sm-3{ padding-bottom:1rem !important; }
  .pb-sm-4{ padding-bottom:1.5rem !important; }
  .pb-sm-5{ padding-bottom:3rem !important; }
}

/* ===== Responsive spacing: MD ===== */
@media (min-width:768px){
  .m-md-0{ margin:0 !important; }
  .m-md-1{ margin:.25rem !important; }
  .m-md-2{ margin:.5rem !important; }
  .m-md-3{ margin:1rem !important; }
  .m-md-4{ margin:1.5rem !important; }
  .m-md-5{ margin:3rem !important; }

  .mt-md-0{ margin-top:0 !important; }
  .mt-md-1{ margin-top:.25rem !important; }
  .mt-md-2{ margin-top:.5rem !important; }
  .mt-md-3{ margin-top:1rem !important; }
  .mt-md-4{ margin-top:1.5rem !important; }
  .mt-md-5{ margin-top:3rem !important; }

  .mb-md-0{ margin-bottom:0 !important; }
  .mb-md-1{ margin-bottom:.25rem !important; }
  .mb-md-2{ margin-bottom:.5rem !important; }
  .mb-md-3{ margin-bottom:1rem !important; }
  .mb-md-4{ margin-bottom:1.5rem !important; }
  .mb-md-5{ margin-bottom:3rem !important; }

  .p-md-0{ padding:0 !important; }
  .p-md-1{ padding:.25rem !important; }
  .p-md-2{ padding:.5rem !important; }
  .p-md-3{ padding:1rem !important; }
  .p-md-4{ padding:1.5rem !important; }
  .p-md-5{ padding:3rem !important; }

  .pt-md-0{ padding-top:0 !important; }
  .pt-md-1{ padding-top:.25rem !important; }
  .pt-md-2{ padding-top:.5rem !important; }
  .pt-md-3{ padding-top:1rem !important; }
  .pt-md-4{ padding-top:1.5rem !important; }
  .pt-md-5{ padding-top:3rem !important; }

  .pb-md-0{ padding-bottom:0 !important; }
  .pb-md-1{ padding-bottom:.25rem !important; }
  .pb-md-2{ padding-bottom:.5rem !important; }
  .pb-md-3{ padding-bottom:1rem !important; }
  .pb-md-4{ padding-bottom:1.5rem !important; }
  .pb-md-5{ padding-bottom:3rem !important; }
}

/* ===== Responsive spacing: LG ===== */
@media (min-width:992px){
  .m-lg-0{ margin:0 !important; }
  .m-lg-1{ margin:.25rem !important; }
  .m-lg-2{ margin:.5rem !important; }
  .m-lg-3{ margin:1rem !important; }
  .m-lg-4{ margin:1.5rem !important; }
  .m-lg-5{ margin:3rem !important; }

  .mt-lg-0{ margin-top:0 !important; }
  .mt-lg-1{ margin-top:.25rem !important; }
  .mt-lg-2{ margin-top:.5rem !important; }
  .mt-lg-3{ margin-top:1rem !important; }
  .mt-lg-4{ margin-top:1.5rem !important; }
  .mt-lg-5{ margin-top:3rem !important; }

  .mb-lg-0{ margin-bottom:0 !important; }
  .mb-lg-1{ margin-bottom:.25rem !important; }
  .mb-lg-2{ margin-bottom:.5rem !important; }
  .mb-lg-3{ margin-bottom:1rem !important; }
  .mb-lg-4{ margin-bottom:1.5rem !important; }
  .mb-lg-5{ margin-bottom:3rem !important; }

  .p-lg-0{ padding:0 !important; }
  .p-lg-1{ padding:.25rem !important; }
  .p-lg-2{ padding:.5rem !important; }
  .p-lg-3{ padding:1rem !important; }
  .p-lg-4{ padding:1.5rem !important; }
  .p-lg-5{ padding:3rem !important; }

  .pt-lg-0{ padding-top:0 !important; }
  .pt-lg-1{ padding-top:.25rem !important; }
  .pt-lg-2{ padding-top:.5rem !important; }
  .pt-lg-3{ padding-top:1rem !important; }
  .pt-lg-4{ padding-top:1.5rem !important; }
  .pt-lg-5{ padding-top:3rem !important; }

  .pb-lg-0{ padding-bottom:0 !important; }
  .pb-lg-1{ padding-bottom:.25rem !important; }
  .pb-lg-2{ padding-bottom:.5rem !important; }
  .pb-lg-3{ padding-bottom:1rem !important; }
  .pb-lg-4{ padding-bottom:1.5rem !important; }
  .pb-lg-5{ padding-bottom:3rem !important; }
}


/* ===== Helpers ===== */
.g-0{ --gutter:0px; }
.g-1{ --gutter:8px; }
.g-2{ --gutter:16px; }
.g-3{ --gutter:24px; }
.g-4{ --gutter:32px; }

.align-items-start{ align-items:flex-start; }
.align-items-center{ align-items:center; }
.align-items-end{ align-items:flex-end; }
.justify-content-start{ justify-content:flex-start; }
.justify-content-center{ justify-content:center; }
.justify-content-end{ justify-content:flex-end; }
.justify-content-between{ justify-content:space-between; }

/* ===== Home map size ===== */
.map-card{
  margin: 0 -20px;
  position: relative;
  overflow: hidden;
  background: #1f1f1f;
}

.map-card--xl{
  min-height: 100vh;
}

.home-map{
  padding-top: 0;
  padding-bottom: 0;
}

.map-card #gd_map_canvas_directory,
.map-card .geodir-map-container,
.map-card .geodir_map_container,
.map-card .geodir-map-wrap,
.map-card .geodir_google_map,
.map-card .leaflet-container,
.map-card .gd-map-canvas,
.map-card .widget.gd-map{
  width: 100% !important;
  height: 130vh !important;
  min-height: 130vh !important;
}

.map-card .leaflet-control-zoom a,
.map-card .leaflet-bar a{
  background: #333 !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.16) !important;
}

.map-card .leaflet-control-zoom a:hover,
.map-card .leaflet-bar a:hover{
  background: #444 !important;
}

.map-card .leaflet-popup-content-wrapper{
  background: #3a3838 !important;
  color: #fff !important;
  border: 1px solid #b88733 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.map-card .leaflet-popup-content{
  margin: 0 !important;
  padding: 18px 20px !important;
  min-width: 200px;
  line-height: 1.45;
}

.map-card .leaflet-popup-content a{
  color: #d8a13b !important;
  text-decoration: none;
}

.map-card .leaflet-popup-content a:hover{
  text-decoration: underline;
}

.map-card .leaflet-popup-tip{
  background: #3a3838 !important;
  border-right: 1px solid #b88733;
  border-bottom: 1px solid #b88733;
  box-shadow: none !important;
}

.map-card .leaflet-container a.leaflet-popup-close-button{
  color: rgba(255,255,255,.8) !important;
}

.map-card .leaflet-container a.leaflet-popup-close-button:hover{
  color: #fff !important;
}
/* ===== Gold custom markers ===== */
.ffgd-marker{
  background: transparent !important;
  border: 0 !important;
}

.ffgd-marker-pin{
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  background: #d8a13b;
  border: 2px solid #f0c76a;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
}

.ffgd-marker-pin::before{
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
}

.ffgd-marker-pin::after{
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  left: 9px;
  top: 9px;
  border-radius: 50%;
  background: #fff3cf;
}

/* clusters a palette gold */
.map-card .marker-cluster-small,
.map-card .marker-cluster-medium,
.map-card .marker-cluster-large{
  background: rgba(216,161,59,.20) !important;
}

.map-card .marker-cluster-small div,
.map-card .marker-cluster-medium div,
.map-card .marker-cluster-large div{
  background: #d8a13b !important;
  color: #1f1f1f !important;
  border: 2px solid #f0c76a !important;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.geodir-bubble_desc .geodir_post_meta_title, .geodir-bubble_desc .fa-minus, .geodir-bubble_desc .gd-rating-info-wrap, .geodir-bubble_desc .gd-fav-info-wrap {
  display: none;
}
.site-footer{
  border-top: 1px solid var(--border);
  padding: 32px 0 20px;
}

.footer-inner{
  row-gap: 24px;
}

.footer-brand{
  display: inline-flex;
}

.footer-copy{
  color: var(--muted);
  font-size: 14px;
}

.footer-copy p{
  margin: 0;
}

.footer-nav .menu{
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-nav .menu li + li{
  margin-top: 6px;
}

.footer-nav .menu a{
  color: var(--text);
  opacity: .9;
}

.footer-nav .menu a:hover{
  opacity: 1;
  text-decoration: underline;
}

.footer-sponsors{
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.sponsor-logo{
  max-width: 180px;
  width: 100%;
  height: auto;
}

.footer-bottom{
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.copyright{
  display: block;
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 767px){
  .footer-sponsors{
    gap: 16px;
  }

  .sponsor-logo{
    max-width: 160px;
  }
}
/* =========================
   FORM
========================= */

.form-label{
  display:block;
  margin-bottom:.5rem;
  font-weight:600;
  font-size:.9rem;
}

.form-control{
  display:block;
  width:100%;
  padding:.5rem .75rem;
  font-size:1rem;
  line-height:1.5;
  color:#212529;
  background-color:#fff;
  border:1px solid #ced4da;
  border-radius:4px;
  transition:border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-control:focus{
  outline:0;
  border-color:#86b7fe;
  box-shadow:0 0 0 .2rem rgba(13,110,253,.25);
}

textarea.form-control{
  min-height:120px;
  resize:vertical;
}
/* =========================
   BUTTONS
========================= */

.btn{
  display:inline-block;
  font-weight:500;
  line-height:1.5;
  text-align:center;
  cursor:pointer;
  user-select:none;
  border:1px solid transparent;
  padding:.5rem 1rem;
  font-size:1rem;
  border-radius:4px;
  transition:all .15s ease-in-out;
}

.btn:hover{
  text-decoration:none;
}

/* primary */

.btn-primary{
  color:#fff;
  background-color:#0d6efd;
  border-color:#0d6efd;
}

.btn-primary:hover{
  background-color:#0b5ed7;
  border-color:#0a58ca;
}

.btn-primary:active{
  background-color:#0a58ca;
}
/* =========================
   CONTACT FORM 7
========================= */

.wpcf7-form p{
  margin-bottom:1rem;
}

.wpcf7 input,
.wpcf7 textarea{
  width:100%;
}

.wpcf7-submit{
  width:auto;
}
.geodir-tabs dl.geodir-tab-head dd.geodir-tab-active a {color:#333}
.geodir-slider, .gv-hide-0, .gd-fav-info-wrap,.geodir-post-rating{display: none}
.card {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: none;
    color: #fff;
}