/* Networn business profile refresh — additive, route-scoped styling. */
.tpl-listing-modern {
  --nw-ink: #10283f;
  --nw-muted: #63758a;
  --nw-brand: #087f8c;
  --nw-brand-dark: #06636e;
  --nw-line: #dfe8ee;
  --nw-soft: #f4f8fa;
  background: #f5f8fa;
  color: var(--nw-ink);
}
.tpl-listing-modern #business-header {
  padding: 5.5rem 0 2rem;
  background:
    radial-gradient(ellipse at 88% 0%, rgba(8,127,140,.14), transparent 34rem),
    linear-gradient(180deg, #eaf3f6 0%, #f5f8fa 100%);
  border-bottom: 1px solid #e1eaef;
}
.tpl-listing-modern #business-header .breadcrumbs {
  color: var(--nw-muted);
  font-size: .84rem;
  line-height: 1.6;
}
.tpl-listing-modern #business-header .breadcrumbs a {
  color: #4c6578;
  text-decoration: none;
}
.tpl-listing-modern #business-header .breadcrumbs a:hover { color: var(--nw-brand-dark); }
.tpl-listing-modern .networn-listing-hero-card,
.tpl-listing-modern .networn-source-panel,
.tpl-listing-modern .networn-surface-card {
  border: 1px solid rgba(211,224,232,.95);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(16,40,63,.055);
}
.tpl-listing-modern .networn-listing-hero-card {
  height: 100%;
  padding: clamp(1.1rem, 2.3vw, 2rem);
}
.tpl-listing-modern .networn-listing-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100px;
  padding: .5rem;
  border: 1px solid #edf2f5;
  border-radius: 16px;
  background: #f7fafb;
}
.tpl-listing-modern .networn-listing-logo {
  width: 100%;
  max-height: 132px;
  object-fit: contain;
}
.tpl-listing-modern .hero-eyebrow {
  color: var(--nw-brand-dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .105em;
  line-height: 1.4;
  text-transform: uppercase;
}
.tpl-listing-modern .networn-listing-hero-card h1 {
  margin: 0 0 .85rem;
  color: var(--nw-ink);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.tpl-listing-modern .featured-badge {
  display: inline-block;
  padding: .3rem .55rem;
  border-radius: 999px;
  color: #72520a;
  background: #fff1c4;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: 0;
  vertical-align: middle;
}
.tpl-listing-modern .networn-listing-rating-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
  margin-bottom: 1rem;
}
.tpl-listing-modern .networn-rating-copy { color: var(--nw-ink); font-weight: 850; }
.tpl-listing-modern .networn-rating-pill {
  padding: .22rem .55rem;
  border: 1px solid #cce8e3;
  border-radius: 999px;
  color: #12665e;
  background: #effaf7;
  font-size: .76rem;
  font-weight: 700;
}
.tpl-listing-modern .networn-rating-meta { color: var(--nw-muted); font-size: .82rem; }
.tpl-listing-modern .networn-chip-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.tpl-listing-modern .networn-chip-cloud .badge {
  padding: .45rem .7rem;
  border: 1px solid #dce8ed;
  border-radius: 999px;
  color: #375268;
  background: #f5f9fb;
  font-size: .76rem;
  font-weight: 650;
}
.tpl-listing-modern .networn-listing-address {
  display: flex;
  gap: .7rem;
  margin: 1.1rem 0;
  color: #40566a;
  font-size: .91rem;
  line-height: 1.6;
}
.tpl-listing-modern .networn-listing-address > i {
  margin-top: .2rem;
  color: var(--nw-brand);
}
.tpl-listing-modern .networn-listing-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
}
.tpl-listing-modern .networn-listing-action-row .btn {
  min-height: 39px;
  padding: .52rem .75rem;
  border-color: #d7e2e8;
  border-radius: 10px;
  color: #254257;
  background: #fff;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}
.tpl-listing-modern .networn-listing-action-row .btn:hover {
  border-color: #9bcdd0;
  color: var(--nw-brand-dark);
  background: #f1fbfa;
}
.tpl-listing-modern .networn-listing-action-row .networn-claim-link {
  border: 0;
  color: var(--nw-brand-dark);
}
.tpl-listing-modern .networn-source-panel {
  height: 100%;
  padding: clamp(1.1rem, 2.3vw, 1.7rem);
}
.tpl-listing-modern .networn-source-panel h2,
.tpl-listing-modern .networn-content-section h2 {
  margin: 0 0 .8rem;
  color: var(--nw-ink);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 820;
  letter-spacing: -.025em;
  line-height: 1.25;
}
.tpl-listing-modern .networn-source-panel > p,
.tpl-listing-modern .networn-action-panel > p {
  color: var(--nw-muted);
  font-size: .9rem;
  line-height: 1.7;
}
.tpl-listing-modern .networn-source-list { display: grid; gap: .55rem; margin: 1.1rem 0; }
.tpl-listing-modern .networn-source-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem;
  border: 1px solid var(--nw-line);
  border-radius: 12px;
  color: var(--nw-ink);
  background: #fbfdfe;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.tpl-listing-modern .networn-source-item:hover {
  transform: translateY(-1px);
  border-color: #acd6d8;
  color: var(--nw-brand-dark);
  background: #f3fbfa;
}
.tpl-listing-modern .networn-source-icon {
  display: flex;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: var(--nw-brand-dark);
  background: #e8f6f5;
}
.tpl-listing-modern .networn-source-icon img { max-width: 25px; max-height: 25px; object-fit: contain; }
.tpl-listing-modern .networn-source-copy { display: grid; flex: 1; gap: .12rem; }
.tpl-listing-modern .networn-source-copy strong { font-size: .88rem; }
.tpl-listing-modern .networn-source-copy span { color: var(--nw-muted); font-size: .8rem; }
.tpl-listing-modern .networn-source-empty {
  padding: .9rem;
  border: 1px dashed #cad9e0;
  border-radius: 12px;
  color: var(--nw-muted);
  background: #f8fbfc;
  font-size: .85rem;
  line-height: 1.6;
}
.tpl-listing-modern .networn-source-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--nw-line);
}
.tpl-listing-modern .networn-source-stat {
  display: grid;
  gap: .2rem;
  min-width: 0;
}
.tpl-listing-modern .networn-source-stat > span {
  color: var(--nw-ink);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: -.03em;
}
.tpl-listing-modern .networn-source-stat small { color: var(--nw-muted); font-size: .7rem; line-height: 1.4; }
.tpl-listing-modern .networn-listing-main { padding-top: 1.25rem; padding-bottom: 3rem; }
.tpl-listing-modern .networn-content-section { padding: clamp(1rem, 2.2vw, 1.6rem); margin-bottom: 1.25rem; }
.tpl-listing-modern .networn-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.1rem;
}
.tpl-listing-modern .networn-section-meta { color: var(--nw-muted); font-size: .82rem; }
.tpl-listing-modern .networn-listing-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--nw-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(16,40,63,.04);
}
.tpl-listing-modern .networn-similar-thumb {
  display: block;
  height: 170px;
  overflow: hidden;
  background: #eaf1f4;
}
.tpl-listing-modern .networn-similar-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}
.tpl-listing-modern .networn-listing-card:hover .networn-similar-thumb img { transform: scale(1.035); }
.tpl-listing-modern .networn-listing-card .card-body { padding: 1rem; }
.tpl-listing-modern .networn-listing-card h3 { font-size: 1.05rem; font-weight: 800; line-height: 1.35; }
.tpl-listing-modern .networn-listing-card h3 a { color: var(--nw-ink); text-decoration: none; }
.tpl-listing-modern .networn-listing-card h3 a:hover { color: var(--nw-brand-dark); }
.tpl-listing-modern .networn-card-meta { margin-bottom: .35rem; color: var(--nw-brand-dark); font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tpl-listing-modern .networn-card-copy { color: var(--nw-muted); font-size: .87rem; line-height: 1.6; }
.tpl-listing-modern .networn-listing-sidebar { position: sticky; top: 1.25rem; }
.tpl-listing-modern .networn-action-panel .btn { min-height: 43px; margin-top: .5rem; border-radius: 10px; font-weight: 750; }
.tpl-listing-modern .networn-action-panel .btn-dark { border-color: var(--nw-brand-dark); background: var(--nw-brand-dark); }
.tpl-listing-modern .networn-action-panel .btn-dark:hover { border-color: #064e57; background: #064e57; }
.tpl-listing-modern .networn-info-list { display: grid; gap: .85rem; }
.tpl-listing-modern .networn-info-row { display: flex; align-items: flex-start; gap: .65rem; color: #42576a; font-size: .86rem; line-height: 1.6; overflow-wrap: anywhere; }
.tpl-listing-modern .networn-info-row > i { width: 1rem; margin-top: .25rem; color: var(--nw-brand); text-align: center; }
.tpl-listing-modern .networn-info-row a { color: var(--nw-brand-dark); overflow-wrap: anywhere; }
.tpl-listing-modern #place-map-wrapper,
.tpl-listing-modern #place-map-canvas { min-height: 250px; overflow: hidden; border-radius: 12px; }
.tpl-listing-modern .networn-floating-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #15966a;
  box-shadow: 0 8px 25px rgba(16,40,63,.2);
}
.tpl-listing-modern a:focus-visible,
.tpl-listing-modern button:focus-visible {
  outline: 3px solid rgba(8,127,140,.55);
  outline-offset: 3px;
}
@media (max-width: 991.98px) {
  .tpl-listing-modern #business-header { padding-top: 5rem; }
  .tpl-listing-modern .networn-listing-sidebar { position: static; }
}
@media (max-width: 575.98px) {
  .tpl-listing-modern #business-header { padding: 4.8rem 0 1.25rem; }
  .tpl-listing-modern #business-header .container { padding-right: .75rem; padding-left: .75rem; }
  .tpl-listing-modern .networn-listing-hero-card,
  .tpl-listing-modern .networn-source-panel { border-radius: 15px; }
  .tpl-listing-modern .networn-listing-logo-wrap { min-height: 74px; }
  .tpl-listing-modern .networn-listing-hero-card h1 { font-size: 1.7rem; }
  .tpl-listing-modern .networn-listing-action-row .btn { flex: 1 1 auto; }
  .tpl-listing-modern .networn-source-summary { gap: .3rem; }
  .tpl-listing-modern .networn-source-stat > span { font-size: 1.1rem; }
  .tpl-listing-modern .networn-section-head { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .tpl-listing-modern *,
  .tpl-listing-modern *::before,
  .tpl-listing-modern *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* VISUAL OVERHAUL v2 — make business profiles feel like premium, actionable pages. */
.tpl-listing-modern { background: #f3f7f7; }
.tpl-listing-modern #business-header {
  padding: 6.25rem 0 2.5rem;
  background:
    radial-gradient(ellipse at 85% 5%, rgba(8,127,140,.18), transparent 30rem),
    linear-gradient(145deg, #e8f2f2 0%, #f5f8f8 70%);
}
.tpl-listing-modern .networn-listing-hero-card,
.tpl-listing-modern .networn-source-panel,
.tpl-listing-modern .networn-surface-card {
  border-color: #dce7e7;
  border-radius: 22px;
  box-shadow: 0 14px 42px rgba(16,36,58,.065);
}
.tpl-listing-modern .networn-listing-hero-card { padding: clamp(1.25rem, 3vw, 2.4rem); }
.tpl-listing-modern .networn-listing-hero-card h1 { font-size: clamp(2rem, 3.4vw, 3.1rem); }
.tpl-listing-modern .networn-listing-main { padding-top: 1.6rem; }
.tpl-listing-modern .networn-content-section { margin-bottom: 1.5rem; }
.tpl-listing-modern .networn-source-item { padding: .95rem; border-radius: 14px; }
.tpl-listing-modern .networn-action-panel .btn { min-height: 47px; border-radius: 12px; }
.tpl-listing-modern .networn-listing-card { border-radius: 17px; box-shadow: 0 8px 25px rgba(16,36,58,.055); }
.tpl-listing-modern .networn-similar-thumb { height: 190px; }
.tpl-listing-modern .networn-section-head h2 { letter-spacing: -.035em; }


/* Profile quality pass: make keyboard focus and long business content easier to use. */
.tpl-listing-modern .networn-gallery-shell a.slide-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  cursor: pointer;
  text-decoration: none;
}
.tpl-listing-modern .networn-rich-copy,
.tpl-listing-modern .networn-detail-value,
.tpl-listing-modern .networn-review-body {
  overflow-wrap: anywhere;
  word-break: normal;
}
.tpl-listing-modern .networn-listing-action-row a:focus-visible,
.tpl-listing-modern .networn-source-item:focus-visible,
.tpl-listing-modern .networn-similar-thumb:focus-visible,
.tpl-listing-modern .networn-chip-cloud a:focus-visible {
  outline: 3px solid rgba(8,127,140,.6);
  outline-offset: 3px;
  border-radius: 10px;
}
.tpl-listing-modern .networn-review-compose textarea {
  min-height: 120px;
  resize: vertical;
}
.tpl-listing-modern .networn-listing-logo {
  max-width: 100%;
  height: auto;
}
@media (max-width: 575.98px) {
  .tpl-listing-modern .networn-listing-action-row { gap: .45rem; }
  .tpl-listing-modern .networn-listing-action-row .btn { min-height: 44px; }
  .tpl-listing-modern .networn-review-header { gap: .5rem; }
}
