:root {
  --dark-color: #142A3B;
  --light-color: #1DBF73;
  --bg-light-gray: #ffffff;
  --accent-color: #F4B942;
  --text-blue: #0F7C92;
  --muted: #6b7a80;
  --card-shadow: 0 10px 28px rgba(20,42,59,0.06);
  --radius: 0px;
}

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: #f7f9fb;
  color: var(--dark-color);
  -webkit-font-smoothing:antialiased;
  padding-bottom: 60px;
}

.hidden-desktop {
  display: none;
}

.py-4 {
  margin-top: 6em;
}

.profile-hero {
  background: #fff;
  border-radius: 0;
  box-shadow: var(--card-shadow);
  padding: 20px;
  display: flex;
  gap: 20px;
  align-items: center;
}

.profile-hero img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  border-radius: 0px;
  border: 1px solid rgba(20,42,59,0.06);
  background: #fff;
  padding: 5px;
}

.profile-hero h2 {
  margin: 0;
  font-weight: 700;
  font-size: 1.35rem;
}

.meta-line { color: var(--muted); font-size: .95rem; margin-top: 6px; }

.cta-group {
  padding-top: 10px;
}

.cta-group .btn {
  border-radius: 0px;
  padding: .55rem .8rem;
  font-weight:600;
}

.gallery-card { border-radius:0px; box-shadow: 0 8px 24px rgba(20,42,59,0.06); background:#fff; }
.thumb-small { border: 2px solid transparent; transition: transform .16s ease, border-color .16s ease; }
.thumb-small:hover { transform: translateY(-4px); border-color: rgba(27,169,222,0.14); }
.thumb-btn:focus { outline: none; box-shadow: 0 4px 16px rgba(27,169,222,0.08); border-radius:0px; }
/* Map fallback styles */
#mapFallback h6 { margin: 0 0 6px 0; font-size:1rem; }
#mapFallback p { margin: 0 0 12px 0; color: rgba(255,255,255,0.9); }

.section-title {
  font-weight:700;
  margin-bottom:10px;
  color:var(--dark-color);
}

.info-list dt { color: var(--muted); font-weight:600; }
.info-list dd { margin-left:0; margin-bottom:12px; color:#324046; }

.s-left {
  margin-bottom: 1.25rem;
}

.sponsored {
  background: #fff;
  padding: 14px;
  border-radius: 0px;
  box-shadow: var(--card-shadow);
}

.open-pill {
  display:inline-block;
  padding: 6px 10px;
  border-radius: 0px;
  font-weight:700;
  color: #fff;
  background: linear-gradient(90deg,var(--light-color),#fff);
}

.fav-btn {
  border-radius: 0px;
  border: 1px solid rgba(20,42,59,0.06);
  background: transparent;
  padding: .4rem .6rem;
}

.fav-btn.active {
  background: linear-gradient(90deg,var(--accent-color), #F2A828);
  color: #fff;
  border-color: rgba(244,185,66,0.14);
}

.badge-verified {
  display:inline-flex;
  align-items:center;
  gap:6px;
  background: rgba(27,169,222,0.12);
  color: var(--light-color);
  padding: 4px 8px;
  border-radius: 0px;
  font-weight:700;
  border:1px solid rgba(27,169,222,0.18);
}

.verified-badge {
  color: var(--light-color);
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(27,169,222,0.12);
  border-radius: 999px;
  padding: 2px 6px;
  border: 1px solid rgba(27,169,222,0.25);
  cursor: default;
  transition: background .2s ease, transform .2s ease;
}

.verified-badge:hover {
  background: rgba(27,169,222,0.18);
  transform: translateY(-1px);
}

.hours-table td { padding:6px 8px; }

.social a { margin-right:10px; color:var(--muted); font-size:1.15rem; }
.social a:hover { color:var(--light-color); }

/* Quick Info card styles */
#quickInfo { background: #fff; border-radius: 0px; }
.badge-verified { font-size: .85rem; }
.social-link { display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:0px;background: #f6f9fc;color:var(--muted);text-decoration:none;border:1px solid rgba(20,42,59,0.03); }
.social-link i { font-size:1.05rem; }
.social-link:hover { transform: translateY(-3px); background: rgba(27,169,222,0.06); color: var(--light-color); }
.fav-btn { border-radius:0px; border:1px solid rgba(20,42,59,0.06); padding:.45rem .6rem; background: transparent; }
.fav-btn.active { background: linear-gradient(90deg,var(--accent-color, #F4B942), #EAA61C); color: #fff; border-color: rgba(244,185,66,0.14); }
.btn-lg { padding-top:.55rem;padding-bottom:.55rem; }
.btn-outline-primary {
  border-radius:0px;
  padding: .45rem .7rem;
  font-size:.88rem;
  border: solid var(--light-color) 1px;
  color: var(--light-color);
}
.btn-outline-primary:hover {
  border: solid var(--light-color) 1px;
  background-color: var(--light-color);
  color: #fff;
}
.btn-outline-secondary { color: #58636a; border-color: rgba(20,42,59,0.05); }
.card p, .card dl dd { color: #334147; }

/* SCOPED FIX — applies only to tabs inside .profile-tabs-wrapper */
.profile-tabs-wrapper .nav-tabs {
  border-bottom: 1px solid rgba(20,42,59,0.08) !important;
}

.profile-tabs-wrapper .nav-tabs .nav-link {
  border: none !important;
  background: transparent !important;
  color: var(--dark-color) !important;
  font-weight: 600;
  padding: 0.75rem 1.2rem;
  border-radius: 0 !important;
  transition: color .2s ease, border-color .2s ease;
}

/* Hover state */
.profile-tabs-wrapper .nav-tabs .nav-link:hover {
  color: var(--light-color) !important;
}

/* ACTIVE TAB */
.profile-tabs-wrapper .nav-tabs .nav-link.active {
  color: var(--light-color) !important;
  border-bottom: 3px solid var(--light-color) !important;
  background: transparent !important;
  font-weight: 700;
}

.open-badge {
  color: #1aa35c;
  font-weight:700;
  font-size:.9rem;
}

@media (max-width:991.98px){
  .position-sticky {
    position: static !important;
    top: auto;
  }

  .py-4 {
    margin-top: 4em;
  }

  .hidden-mobile {
    display: none;
  }

  .hidden-desktop {
    display: block;
  }

  .thumb {
    height:160px;
  }

  .profile-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 14px 12px;
  }

  .profile-hero .logo {
    width: 80px;
    height: 80px;
    margin-bottom: 4px;
  }

  /* Top d-flex row should wrap nicely */
  .profile-hero .d-flex.align-items-start.gap-3 {
    flex-wrap: wrap;
  }

  .profile-hero h2 {
    font-size: 1.25rem;
    line-height: 1.2;
  }

  .verified-badge {
    width: 26px;
    height: 26px;
    margin-left: 4px;
  }

  .meta-line {
    font-size: .9rem;
  }

  /* Right-side action buttons row becomes full-width, left-aligned */
  .profile-hero .text-end {
    text-align: left !important;
    width: 100%;
    margin-top: 8px;
  }

  .profile-hero .text-end .d-flex.gap-2 {
    justify-content: flex-start;
  }

  .fav-btn {
    font-size: .85rem;
    padding: .4rem .6rem;
  }

  .profile-hero .btn.btn-outline-secondary {
    padding: .4rem .6rem;
  }

  

  /* CTA buttons: 2 columns on small screens */
  .cta-group {
    display: none !important; 
    border: solid green 1px;
  }

  .cta-group .btn {
    flex: 1 1 calc(50% - 6px);
    font-size: .85rem;
    padding: .4rem .5rem;
  }

  .profile-tabs-wrapper .nav-tabs  .nav-item .nav-link {
    padding: 0.5rem 1rem;
    font-size: 10pt;
  }

}
