/* Homepage layout follows the supplied reference, reusing live Townhub cards. */
body.townhub-homepage { background: var(--mb-brand-white); color: var(--mb-brand-ink); }
.townhub-homepage .content>section { padding: 48px 0; background: var(--mb-brand-white); }
.townhub-homepage .content>section.gray-bg { background: var(--mb-brand-section); }
.townhub-homepage .content>section>.container { max-width: 1100px; width: calc(100% - 48px); }
.townhub-homepage .content>section.th-hero {
  padding: 40px 0 36px;
  min-height: 0;
  background: var(--mb-brand-ink);
  overflow: visible;
}
.townhub-homepage .th-hero>.container { max-width: 940px; }
.townhub-homepage .th-hero .overlay { background: #000; opacity: .54!important; }
.townhub-homepage .th-hero .bg { top: 0; height: 100%; background-position: center; }
.townhub-homepage .th-hero .intro-item { padding-bottom: 10px; }
.townhub-homepage .th-hero .intro-item>.section-separator { display: none; }
.townhub-homepage .th-hero .intro-item h1 { color: var(--mb-brand-white); font-size: clamp(30px,3vw,42px); margin: 14px 0 12px; }
.townhub-homepage .th-hero .intro-item h3 { color: var(--mb-brand-white); font-size: 15px; line-height: 1.7; }
.townhub-homepage .th-eyebrow { color: var(--mb-brand-white); letter-spacing: 1.4px; }
.townhub-homepage .th-search-tabs a { color: var(--mb-brand-white); padding: 14px 24px; }
.townhub-homepage .th-search-tabs .current a,
.townhub-homepage .th-search-tabs a:hover,
.townhub-homepage .th-search-tabs a:focus-visible { color: var(--mb-brand-primary); }
.townhub-homepage .th-search {
  border: 1px solid var(--mb-brand-border);
  background: var(--mb-brand-white);
  border-radius: 5px;
  padding: 6px;
  box-shadow: 0 5px 24px #00000026;
}
.townhub-homepage .th-search .main-search-input-item { padding: 8px 18px; border-color: var(--mb-brand-border); }
.townhub-homepage .th-search .main-search-button,
.townhub-homepage .btn.color2-bg {
  background: var(--mb-brand-primary);
  color: var(--mb-brand-white);
  border: 1px solid var(--mb-brand-primary);
  border-radius: 4px;
  box-shadow: none;
}
.townhub-homepage .th-search .main-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  width: 126px;
  height: 52px;
  margin: 0 2px 0 8px;
  padding: 0 18px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.townhub-homepage .th-search .main-search-button i {
  position: static;
  margin: 0;
  padding: 0;
  color: var(--mb-brand-white);
  font-size: 14px;
  flex: none;
}
.townhub-homepage .btn.color2-bg { padding: 13px 24px; }
/* Keep CTA icons in the layout instead of over the label. */
.townhub-homepage .content .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
  box-sizing: border-box;
}
.townhub-homepage .content .btn i {
  position: static;
  inset: auto;
  margin: 0;
  flex: 0 0 20px;
  color: inherit;
  box-shadow: none;
}
.townhub-homepage .btn.color2-bg i,
.townhub-homepage .main-search-button i { color: inherit; }
.townhub-homepage .th-search .main-search-button:hover,
.townhub-homepage .btn.color2-bg:hover { background: var(--mb-brand-hover); border-color: var(--mb-brand-hover); color: var(--mb-brand-white); }
.townhub-homepage .th-search .main-search-button:disabled { background: var(--mb-brand-muted); border-color: var(--mb-brand-muted); cursor: wait; }
.townhub-homepage .hero-categories { margin-top: 24px; }
.townhub-homepage .hero-categories_title { margin: 0 0 12px; font-size: 12px; color: var(--mb-brand-white); }
.townhub-homepage .hero-categories_title:before { display: none; }
.townhub-homepage .hero-categories li { padding: 0 18px; }
.townhub-homepage .hero-categories a,
.townhub-homepage .hero-categories a i,
.townhub-homepage .hero-categories a svg { color: var(--mb-brand-white); }
.townhub-homepage .hero-categories a { padding: 8px; font-size: 11px; }
.townhub-homepage .hero-categories a:hover,
.townhub-homepage .hero-categories a:hover i,
.townhub-homepage .hero-categories a:hover svg,
.townhub-homepage .hero-categories a:focus-visible { color: var(--mb-brand-primary); }
.townhub-homepage .th-hero-note { margin-top: 16px; color: var(--mb-brand-white); }
.townhub-homepage .header-sec-link a i { color: var(--mb-brand-primary); }
.townhub-homepage .section-title { padding-bottom: 30px; }
.townhub-homepage .section-title h2 { color: var(--mb-brand-ink); font-size: 27px; line-height: 1.4; }
.townhub-homepage .section-title .section-subtitle { display: none; }
.townhub-homepage .section-title p { color: var(--mb-brand-muted); font-size: 13px; }
.townhub-homepage .section-separator { margin: 12px 0 16px; }
.townhub-homepage .section-separator:before { background: var(--mb-brand-primary); width: 40px; margin-left: -20px; height: 2px; }
.townhub-homepage .th-section-head { margin-bottom: 14px; }
.townhub-homepage .th-section-head h2 { color: var(--mb-brand-ink); font-size: 25px; }
.townhub-homepage .th-kicker { color: var(--mb-brand-muted); margin-bottom: 7px; letter-spacing: 1px; }
.townhub-homepage .th-section-head>a { color: var(--mb-brand-primary); min-height: 44px; display: inline-flex; align-items: center; }
.townhub-homepage .th-sponsored-card { border-color: var(--mb-brand-border); border-radius: 4px; }
.townhub-homepage .th-sponsored-card img { background: var(--mb-brand-section); }
.townhub-homepage .th-sponsored-card>strong { color: var(--mb-brand-ink); background: var(--mb-brand-section); }
.townhub-homepage .th-sponsored-card>span { color: var(--mb-brand-ink); padding: 10px 12px; font-size: 12px; }
.townhub-homepage .th-sponsored-card small { color: var(--mb-brand-muted); }
.townhub-homepage .th-listing-grid,
.townhub-homepage .th-event-grid { gap: 18px; }
.townhub-homepage .th-business,
.townhub-homepage .th-event { border-color: var(--mb-brand-border); border-radius: 5px; background: var(--mb-brand-white); transition: box-shadow .18s ease; }
.townhub-homepage .th-business:hover,
.townhub-homepage .th-business:focus-within,
.townhub-homepage .th-event:hover { box-shadow: 0 5px 18px #0000000a; }
.townhub-homepage .th-business .geodir-category-img { height: auto; aspect-ratio: 2.4 / 1; background: var(--mb-brand-section); }
.townhub-homepage .th-business .geodir-category-img-wrap { height: 100%; }
.townhub-homepage .th-business .geodir-category-img:before,
.townhub-homepage .th-business .geodir-category-img-wrap:before { display: none; content: none; background: none; }
.townhub-homepage .th-business .geodir-category-img img { position: absolute; inset: 0; object-fit: contain; }
.townhub-homepage .th-image-fallback { background: linear-gradient(#f0f0f0,#dedede); color: var(--mb-brand-primary); font-size: 46px; }
.townhub-homepage .th-business .geodir-category-content { padding: 16px; }
.townhub-homepage .th-business .geodir-category-content h3 { font-size: 15px; line-height: 1.45; margin-bottom: 7px; }
.townhub-homepage .th-business .geodir-category-content h3 a { color: var(--mb-brand-ink); }
.townhub-homepage .th-business .geodir-category-content h3 a:hover { color: var(--mb-brand-primary); }
.townhub-homepage .th-business .geodir-category-content p,
.townhub-homepage .th-rating small,
.townhub-homepage .th-no-reviews { color: var(--mb-brand-muted); }
.townhub-homepage .th-business-category { color: var(--mb-brand-muted)!important; }
.townhub-homepage .th-business .geodir-category-content p i { color: var(--mb-brand-primary); }
.townhub-homepage .th-card-bottom { border: 0; padding-top: 3px; font-size: 11px; }
.townhub-homepage .th-card-bottom>a { color: var(--mb-brand-primary); display: inline-flex; align-items: center; gap: 5px; min-height: 32px; }
.townhub-homepage .th-rating { color: var(--mb-brand-ink); }
.townhub-homepage .th-featured { color: var(--mb-brand-ink); background: var(--mb-brand-white); top: 10px; left: 10px; padding: 6px 9px; }
.townhub-homepage .th-section-button { margin-top: 26px; }
.townhub-homepage .th-category-grid { gap: 12px; }
.townhub-homepage .th-category { background: var(--mb-brand-white); border-color: var(--mb-brand-border); border-radius: 4px; padding: 20px 12px; }
.townhub-homepage .th-category:hover,
.townhub-homepage .th-category:focus-visible { background: var(--mb-brand-soft); border-color: var(--mb-brand-primary); }
.townhub-homepage .th-category svg { color: var(--mb-brand-primary); width: 30px; height: 30px; margin-bottom: 10px; }
.townhub-homepage .th-category h3 { color: var(--mb-brand-ink); font-size: 13px; }
.townhub-homepage .th-category span { color: var(--mb-brand-muted); }
.townhub-homepage .th-event-image { height: 110px; background: var(--mb-brand-border); }
.townhub-homepage .th-event-image>i { color: var(--mb-brand-muted); font-size: 32px; }
.townhub-homepage .th-event-date { color: var(--mb-brand-primary); top: 12px; left: 12px; padding: 8px 10px; background: var(--mb-brand-white); }
.townhub-homepage .th-event-date b { color: var(--mb-brand-ink); }
.townhub-homepage .th-event-body { padding: 16px; }
.townhub-homepage .th-event h3 { color: var(--mb-brand-ink); font-size: 14px; }
.townhub-homepage .th-event p { color: var(--mb-brand-muted); }
.townhub-homepage .th-event-body>span { color: var(--mb-brand-primary); margin-top: 12px; }
.townhub-homepage .th-media-error { background: var(--mb-brand-section); }
.townhub-homepage .th-media-error:after { color: var(--mb-brand-muted); }
.townhub-homepage .content>section.th-owner { background: var(--mb-brand-primary); padding: 35px 0; }
.townhub-homepage .th-owner h2 { font-size: 27px; color: var(--mb-brand-white); margin: 10px 0; }
.townhub-homepage .th-owner p { color: var(--mb-brand-white); }
.townhub-homepage .th-owner .btn { background: var(--mb-brand-white); color: var(--mb-brand-primary); border: 1px solid var(--mb-brand-white); padding: 14px 22px; }
.townhub-homepage .th-owner .btn:hover { color: var(--mb-brand-hover); background: var(--mb-brand-soft); }
.townhub-homepage :where(a,button,input,select,summary):focus-visible { outline-color: var(--mb-brand-primary); }
.townhub-homepage .th-owner .btn:focus-visible { outline-color: var(--mb-brand-white); outline-offset: 5px; }
.townhub-homepage .th-public-footer .container { max-width: 1100px; }
.townhub-homepage .th-public-footer .th-footer-grid { padding-top: 36px; padding-bottom: 28px; }
.townhub-homepage .th-public-footer p { font-size: 12px; margin-top: 15px; }
.townhub-homepage .th-public-footer h3 { font-size: 14px; margin-bottom: 16px; }
.townhub-homepage .th-public-footer .th-footer-grid>div>a:not(.th-logo) { font-size: 12px; margin-bottom: 11px; }
.townhub-homepage .th-public-footer .th-footer-bottom { padding: 17px 0; }
@media(max-width:1064px) {
  .townhub-homepage .content>section.th-hero { padding-top: 44px; }
  .townhub-homepage .th-listing-grid,
  .townhub-homepage .th-event-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .townhub-homepage .content>section { padding: 36px 0; }
  .townhub-homepage .content>section>.container { width: calc(100% - 32px); }
  .townhub-homepage .th-search .main-search-input-item { padding: 10px 14px; }
  .townhub-homepage .th-search .main-search-button { width: auto; height: 46px; margin: 8px; }
  .townhub-homepage .hero-categories ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .townhub-homepage .hero-categories li { padding: 0; }
  .townhub-homepage .hero-categories a { min-width: 0; padding: 10px; }
  .townhub-homepage .hero-categories_title { line-height: 1.6; }
  .townhub-homepage .th-hero-note { font-size: 11px; line-height: 1.6; }
  .townhub-homepage .th-listing-grid,
  .townhub-homepage .th-event-grid { grid-template-columns: minmax(0,1fr); }
  .townhub-homepage .th-business .geodir-category-img { aspect-ratio: 2.1 / 1; }
  .townhub-homepage .section-title h2 { font-size: 24px; }
  .townhub-homepage .th-section-head { flex-direction: row; align-items: start; gap: 16px; }
  .townhub-homepage .th-section-head h2 { font-size: 22px; }
  .townhub-homepage .th-section-head>a { max-width: 105px; font-size: 11px; }
  .townhub-homepage .th-sponsored-card>span { flex-wrap: wrap; }
  .townhub-homepage .th-card-bottom>a { min-height: 44px; }
  .townhub-homepage .th-owner .container { display: block; }
  .townhub-homepage .th-owner h2 { font-size: 25px; }
  .townhub-homepage .th-owner .btn { margin-top: 20px; }
  .townhub-homepage .th-footer-bottom nav { flex-wrap: wrap; }
}
@media(prefers-reduced-motion:reduce) {
  .townhub-homepage .th-business,
  .townhub-homepage .th-event { transition: none; }
}

/* Keep all four search modes visible at narrow widths. */
@media(max-width:700px) {
  .townhub-homepage .th-search-tabs { display: flex; flex-wrap: wrap; }
  .townhub-homepage .th-search-tabs li { flex: 1 1 50%; margin: 0; }
  .townhub-homepage .th-search-tabs a { display: block; padding: 14px 10px; min-height: 44px; text-align: center; }
}

.townhub-homepage .th-search-tabs .current a,
.townhub-homepage .th-search-tabs a:hover,
.townhub-homepage .th-search-tabs a:focus-visible { background: var(--mb-brand-white); border-radius: 4px; }

/* Staff-curated photographs and stationary search, scoped to the homepage. */
.townhub-homepage .content>section.home-photo-section{padding:0;background:white;overflow:hidden}
.townhub-homepage .home-photo-stage{position:relative;height:520px}
.townhub-homepage .home-photo-carousel{display:block;height:520px}
.townhub-homepage .home-photo-carousel:not(.owl-loaded) .home-photo-slide:not(:first-child){display:none}
.townhub-homepage .home-photo-slide,.townhub-homepage .home-photo-slide a{display:block;height:520px;border-radius:6px;overflow:hidden}
.townhub-homepage .home-photo-slide img{display:block;width:100%;height:100%;object-fit:cover;background:#f1f2f3}
.townhub-homepage .home-photo-controls button{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #e3e5e8;border-radius:50%;background:white;color:#cc0000;z-index:2;cursor:pointer;box-shadow:0 2px 8px #00000012}
.townhub-homepage [data-home-photo-prev]{left:12px}.townhub-homepage [data-home-photo-next]{right:12px}
.townhub-homepage .home-photo-controls button:disabled{opacity:.5;cursor:default}
.townhub-homepage .home-photo-dots{display:flex;justify-content:center;height:36px;align-items:center}
.townhub-homepage .home-photo-dots button{display:flex;justify-content:center;align-items:center;width:44px;height:36px;border:0;background:transparent;cursor:pointer;padding:0}
.townhub-homepage .home-photo-dots button span{width:8px;height:8px;border-radius:50%;background:#c8cbd0}
.townhub-homepage .home-photo-dots button[aria-pressed=true] span{background:#cc0000}
.townhub-homepage .home-photo-controls[hidden],.townhub-homepage .home-photo-dots[hidden]{display:none}
.townhub-homepage .content>section.home-discovery.py-5{padding:3rem 0;background:white;overflow:visible}
.townhub-homepage .home-discovery>.container{max-width:1160px}
.townhub-homepage .home-discovery h1{font-size:32px;font-weight:700;line-height:1.3;color:#333;margin:0 0 6px}
.townhub-homepage .home-discovery-intro{font-size:16px;line-height:1.5;color:#646b75;margin:0 0 18px;padding:0}
.townhub-homepage .home-discovery .main-search-input-tabs{margin:0}
.townhub-homepage .home-discovery .th-search-tabs{display:flex;justify-content:center;flex-wrap:nowrap;margin:0 auto 12px;max-width:640px;float:none;border-bottom:1px solid #eceef0}
.townhub-homepage .home-discovery .th-search-tabs li{flex:1;margin:0;float:none}
.townhub-homepage .home-discovery .th-search-tabs a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px!important;color:#5e646d;background:white;font-size:14px;letter-spacing:0!important;text-transform:none;border-radius:0;border-bottom:3px solid transparent}
.townhub-homepage .home-discovery .th-search-tabs a:before{display:none}
.townhub-homepage .home-discovery .th-search-tabs .current a{color:#cc0000;border-bottom-color:#cc0000}
.townhub-homepage .home-discovery .th-search-tabs a:hover{color:#cc0000;background:#fff6f6}
.townhub-homepage .home-discovery .th-search-tabs i{font-size:19px;margin:0}
.townhub-homepage .home-discovery .th-search.ww-search{display:block;padding:0;border:0;background:white;box-shadow:none;border-radius:0}
.townhub-homepage .home-search-bar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 180px;align-items:center;border:1px solid #dfe2e6;border-radius:6px;min-height:60px;background:white}
.townhub-homepage .home-search-bar .ww-field{display:flex;align-items:center;padding:0 22px;gap:12px;border-right:1px solid #e4e7eb;border-bottom:0;min-height:40px;position:relative}
.townhub-homepage .home-search-bar .ww-field label{margin:0;flex-shrink:0;color:#333;font-size:15px}
.townhub-homepage .home-search-bar .ww-field label strong{font-size:15px;margin:0}
.townhub-homepage .home-search-bar .mb-search__control{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.townhub-homepage .home-search-bar .mb-search__control>svg{width:20px;height:20px;flex-shrink:0;color:#606873}
.townhub-homepage .home-search-bar .ww-field:first-child .mb-search__control>svg{display:none}
.townhub-homepage .home-search-bar .ww-field input{font-size:16px!important;height:40px!important;color:#333!important}
.townhub-homepage .home-search-bar .ww-clear-location{width:32px;height:44px;border:0;background:white;color:#646b75;flex-shrink:0;cursor:pointer}
.townhub-homepage .home-search-bar .ww-clear-location svg{width:16px;height:16px}
.townhub-homepage .home-search-bar .main-search-button{position:static;float:none;width:100%;height:60px;margin:0;border-radius:5px;font-size:16px;background:#cc0000;letter-spacing:0}
.townhub-homepage .home-search-bar .main-search-button:hover{background:#a60000}
.townhub-homepage .home-search-helper{padding:4px 0 2px;text-align:center}
.townhub-homepage .home-search-helper>p{font-size:12px;line-height:1.5;color:#646b75;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0 4px;margin:0;padding:0}
.townhub-homepage .home-search-helper [data-home-city]{min-height:44px;border:0;background:white;color:#cc0000;text-decoration:underline;cursor:pointer;font:inherit;padding:0 2px}
.townhub-homepage .home-search-helper .ww-near-state{justify-content:center}
.townhub-homepage .home-search-helper [data-near-city]{display:none!important}
.townhub-homepage .home-category-shortcuts{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:4px}
.townhub-homepage .home-category-shortcuts a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:1px solid #d3d7dc;border-radius:24px;padding:6px 22px;background:white;color:#333;font-size:13px}
.townhub-homepage .home-category-shortcuts svg{width:21px;height:21px;color:#333}
.townhub-homepage .home-category-shortcuts a:hover{color:#cc0000;border-color:#cc0000;background:#fff6f6}
.townhub-homepage .content>section.th-sponsored{background:#f5f6f7;padding:26px 0}
.townhub-homepage .home-photo-slide a:focus-visible{outline:3px solid #cc0000;outline-offset:-4px}
.townhub-homepage .home-photo-section button:focus-visible,.townhub-homepage .home-discovery :where(a,button,input):focus-visible{outline:2px solid #cc0000;outline-offset:2px}
@media(max-width:1023px){.townhub-homepage .home-photo-stage,.townhub-homepage .home-photo-carousel,.townhub-homepage .home-photo-slide,.townhub-homepage .home-photo-slide a{height:420px}.townhub-homepage .home-search-bar{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 140px}.townhub-homepage .home-search-bar .ww-field{padding:0 14px}}
@media(max-width:700px){.townhub-homepage .home-photo-stage,.townhub-homepage .home-photo-carousel,.townhub-homepage .home-photo-slide,.townhub-homepage .home-photo-slide a{height:300px}.townhub-homepage .home-discovery h1{font-size:25px}.townhub-homepage .home-discovery-intro{font-size:15px;margin-bottom:12px}.townhub-homepage .home-discovery .th-search-tabs a{padding:10px 4px!important;font-size:13px;gap:5px}.townhub-homepage .home-discovery .th-search-tabs i{font-size:16px}.townhub-homepage .home-discovery .th-search-tabs li{flex-basis:25%}.townhub-homepage .home-search-bar{grid-template-columns:1fr}.townhub-homepage .home-search-bar .ww-field{min-height:56px;padding:8px 14px;border-right:0;border-bottom:1px solid #e4e7eb}.townhub-homepage .home-search-bar .main-search-button{height:48px;margin:8px;width:calc(100% - 16px)}.townhub-homepage .home-category-shortcuts{gap:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.townhub-homepage .home-category-shortcuts a{padding:6px 10px;font-size:12px}.townhub-homepage .home-search-helper>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.townhub-homepage .home-photo-carousel .owl-stage{transition-duration:0s!important}}

.townhub-homepage .home-discovery .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.townhub-homepage .home-search-helper [data-home-city]{display:inline-flex;align-items:center}
.townhub-homepage .home-photo-dots,.townhub-homepage .home-photo-dots button{height:44px}

.townhub-homepage .home-category-shortcuts{clear:both;width:100%}
.townhub-homepage .home-discovery .th-search-tabs a:after{display:none}

.townhub-homepage .home-discovery [data-home-search-tab]::before,.townhub-homepage .home-discovery [data-home-search-tab]::after{display:none!important;content:none!important}

.townhub-homepage .home-photo-dots{height:auto;min-height:44px;flex-wrap:wrap}.townhub-homepage .home-photo-dots button{flex:0 0 44px}




/* Business carousel: grid first, Owl alone owns enhanced item widths. */
.townhub-homepage .home-business-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;text-align:left}
.townhub-homepage .home-business-heading h2{font-size:28px;font-weight:700;line-height:1.3;margin:0 0 8px;color:var(--mb-brand-ink)}
.townhub-homepage .home-business-heading p{font-size:13px;color:var(--mb-brand-muted);line-height:1.6;margin:0;padding:0;max-width:620px}
.townhub-homepage .home-business-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.townhub-homepage .home-business-actions .btn{margin:0;float:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;gap:10px}
.townhub-homepage .home-business-controls{display:flex;gap:8px}
.townhub-homepage .home-business-controls[hidden]{display:none}
.townhub-homepage .home-business-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--mb-brand-border);border-radius:5px;background:white;color:var(--mb-brand-primary);cursor:pointer}
.townhub-homepage .home-business-controls button:hover:not(:disabled){background:var(--mb-brand-soft);border-color:var(--mb-brand-primary)}
.townhub-homepage .home-business-controls button:disabled{opacity:.4;cursor:default}
.townhub-homepage .home-business-section :where(button,a):focus-visible{outline:2px solid var(--mb-brand-primary);outline-offset:3px}
.townhub-homepage .home-business-carousel{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;clear:both;width:100%;text-align:left}
.townhub-homepage .home-business-carousel.owl-loaded{display:block}
.townhub-homepage .home-business-carousel .owl-stage{display:flex;align-items:stretch}
.townhub-homepage .home-business-carousel .owl-item{display:flex;float:none;flex:none;min-width:0;align-items:stretch}
.townhub-homepage .home-business-carousel .owl-item:not(.active){contain:size}
.townhub-homepage .home-business-carousel .th-business{position:relative;display:flex;flex-direction:column;align-self:stretch;width:100%;min-width:0;margin:0;border-radius:8px}
.townhub-homepage .home-business-carousel .geodir-category-img{aspect-ratio:2.4/1}
.townhub-homepage .home-business-carousel .geodir-category-img img{object-fit:cover}
.townhub-homepage .home-business-carousel .geodir-category-content{flex:1;display:flex;flex-direction:column;padding:14px}
.townhub-homepage .home-business-carousel h3{overflow-wrap:anywhere;white-space:normal}
.townhub-homepage .home-business-rating{font-size:12px;line-height:1.6;margin-bottom:12px}
.townhub-homepage .home-business-rating .fa-star{color:#c2a24d}
.townhub-homepage .home-business-carousel .th-card-bottom{margin-top:auto;padding-top:10px;border-top:1px solid var(--mb-brand-border);font-size:13px}
.townhub-homepage .home-business-carousel .mb-save{position:absolute;top:10px;right:10px;z-index:12;margin:0;width:auto}
.townhub-homepage .home-business-carousel .mb-save__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:white;border:1px solid var(--mb-brand-border);border-radius:50%;color:var(--mb-brand-ink);cursor:pointer;padding:10px}
.townhub-homepage .home-business-carousel .mb-save__icon svg{width:18px;height:23px}
.townhub-homepage .home-business-carousel .mb-save__icon[aria-pressed=true] svg{fill:currentColor;color:var(--mb-brand-primary)}
.townhub-homepage .home-business-carousel .mb-save__icon:hover{color:var(--mb-brand-primary);background:var(--mb-brand-soft)}
.townhub-homepage .home-business-carousel .mb-save__icon:disabled{opacity:.6;cursor:wait}
@media(min-width:576px){.townhub-homepage .home-business-carousel:not(.owl-loaded){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:992px){.townhub-homepage .home-business-carousel:not(.owl-loaded){grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(min-width:1200px){.townhub-homepage .home-business-carousel:not(.owl-loaded){grid-template-columns:repeat(4,minmax(0,1fr))}}
.townhub-homepage .home-business-carousel:not(.owl-loaded):has(>.th-business:only-child){grid-template-columns:minmax(0,1fr)}
@media(min-width:992px){.townhub-homepage .home-business-carousel:not(.owl-loaded):has(>.th-business:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.townhub-homepage .home-business-carousel:not(.owl-loaded):has(>.th-business:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991px){.townhub-homepage .home-business-heading{align-items:flex-start;flex-direction:column;gap:16px}.townhub-homepage .home-business-heading h2{font-size:24px}.townhub-homepage .home-business-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.townhub-homepage .home-business-carousel .owl-stage{transition-duration:0s!important}.townhub-homepage .home-business-carousel .th-business{transition:none}}

