/* v501 — compact nearby cards/section and a refreshed premium offers spotlight. */
.home-nearby-section {
  height:auto !important; min-height:0 !important;
  padding-block:clamp(14px,2.4vw,26px) !important;
}
.home-nearby-heading { margin-block-end:10px; gap:8px 12px; }
.home-nearby-heading h2 { font-size:clamp(1.1rem,2vw,1.5rem); }
.home-nearby-actions { min-height:0; height:auto; gap:8px 12px; margin-block-end:8px; }
.home-nearby-intro { flex:0 1 auto; min-height:0; }
.home-nearby-intro p { margin:2px 0; line-height:1.5; }
.home-nearby-formal { font-size:.78rem; line-height:1.5 !important; }
.home-nearby-shortcuts { margin-block-start:6px; gap:6px; }
.home-nearby-shortcut { min-height:34px; padding:5px 10px; }
.home-near-row { min-height:0; padding-block:2px 6px; gap:10px; }
.home-near-row:empty { display:none !important; min-height:0 !important; padding:0 !important; margin:0 !important; }
.home-near-card-image { height:100px; }
.home-near-card-body { gap:5px; padding:10px; }

/* A smaller, more editorial emerald-and-gold offers card. */
.home-special-offer {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; justify-content:initial; gap:14px;
  height:auto; min-height:0; padding:clamp(14px,2.4vw,22px);
  border:1px solid rgba(230,198,126,.62); border-radius:20px;
  background:
    radial-gradient(circle at 7% 100%,rgba(236,205,133,.19),transparent 32%),
    linear-gradient(118deg,#0d372e 0%,#145640 56%,#1c654b 100%);
  box-shadow:0 10px 25px rgba(14,52,42,.15),inset 0 1px rgba(255,255,255,.14);
}
.home-special-offer::after {
  inset-inline-end:-30px; top:-72px; width:178px; height:178px;
  border-color:rgba(236,205,133,.26);
  box-shadow:0 0 0 15px rgba(236,205,133,.055),0 0 0 32px rgba(236,205,133,.035);
}
.home-special-offer-icon {
  width:56px; height:56px; flex-basis:56px; border-radius:18px;
  color:#f7dfaa; background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
  border:1px solid rgba(242,216,160,.5); box-shadow:inset 0 1px rgba(255,255,255,.16);
}
.home-special-offer-icon svg { width:27px; height:27px; }
.home-special-offer-copy { gap:5px; }
.home-special-offer-copy .eyebrow {
  display:inline-flex; align-items:center; width:max-content; max-width:100%;
  padding:4px 9px; border:1px solid rgba(243,218,164,.25); border-radius:999px;
  background:rgba(255,255,255,.075); color:#f5d994; font-size:.7rem; line-height:1.4;
}
.home-special-offer-copy h2 { font-size:clamp(1.2rem,2vw,1.55rem); letter-spacing:-.01em; }
.home-special-offer-description { max-width:620px; font-size:.84rem; line-height:1.55; }
.home-special-offer-cta {
  width:max-content; margin-top:5px; padding:7px 12px; border-radius:11px;
  color:#153f33; background:linear-gradient(135deg,#f4dfae,#dfbd75);
  box-shadow:0 3px 10px rgba(0,0,0,.12); font-size:.78rem;
}
.home-special-offer-spark {
  display:grid; place-items:center; width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(242,216,160,.3); background:rgba(255,255,255,.07); color:#f5d994;
}
.home-special-offer-spark svg { width:24px; height:24px; }

/* Nearby result cards: remove the large empty hero for businesses without a photo. */
[data-near-grid].grid-3 { align-items:start; gap:12px; }
[data-near-grid].grid-3 > .card {
  align-self:start; height:auto !important; min-height:0 !important; overflow:hidden;
}
[data-near-grid] > .card > .card-media.biz-thumb:not(.has-photo) { display:none !important; }
[data-near-grid] > .card > .card-media.biz-thumb.has-photo {
  aspect-ratio:3 / 1; max-height:132px; height:auto;
}
[data-near-grid] > .card .card-body { min-height:0; padding:12px; }
[data-near-grid] > .card .card-desc:empty { display:none; margin:0; }
[data-near-grid] > .card .card-foot { gap:8px; margin-top:8px; padding-top:8px; }
[data-near-grid] > .card .card-foot .card-meta { min-width:0; }
[data-near-grid] > .card .card-foot .card-meta span {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  line-clamp:2; overflow:hidden; overflow-wrap:anywhere;
}
.near-card-map-head { gap:8px; padding:7px 10px; }
.near-card-map-copy strong { font-size:.78rem; }
.near-bar.card-pad { padding:14px; }
.near-quick-categories { padding-block:6px 0; gap:6px; }
.near-sort-row { gap:6px; margin-top:10px; }

@media (max-width:720px) {
  .home-nearby-section { padding-block:14px !important; }
  .home-nearby-heading { align-items:flex-start; margin-block-end:8px; }
  .home-nearby-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
  .home-nearby-intro { flex:none; width:100%; }
  .home-nearby-intro > strong { margin-bottom:2px; }
  .home-nearby-intro p { font-size:.78rem; line-height:1.45; }
  .home-nearby-formal { font-size:.72rem; line-height:1.4 !important; }
  .home-nearby-actions .btn { justify-self:start; min-height:38px; }
  .home-nearby-actions [data-home-near-status] { font-size:.72rem; line-height:1.4; }
  .home-nearby-shortcuts { margin-top:5px; gap:5px; }
  .home-nearby-shortcut { min-height:32px; padding:4px 9px; font-size:.72rem; }
  .home-near-card { flex-basis:min(76vw,280px); }
  .home-near-card-image { height:88px; }
  .home-near-card-body { padding:9px; }
  .home-special-offer { grid-template-columns:44px minmax(0,1fr); gap:10px; padding:12px; border-radius:16px; }
  .home-special-offer-icon { width:44px; height:44px; flex-basis:44px; border-radius:14px; }
  .home-special-offer-icon svg { width:22px; height:22px; }
  .home-special-offer-copy { gap:4px; }
  .home-special-offer-copy .eyebrow { padding:3px 7px; font-size:.63rem; }
  .home-special-offer-copy h2 { font-size:1rem; line-height:1.25; }
  .home-special-offer-description { font-size:.72rem; line-height:1.45; }
  .home-special-offer-cta { margin-top:3px; padding:6px 9px; font-size:.7rem; border-radius:9px; }
  .home-special-offer-spark { display:none; }
  [data-near-grid].grid-3 { grid-template-columns:minmax(0,1fr); gap:10px; }
  [data-near-grid] > .card > .card-media.biz-thumb.has-photo { aspect-ratio:3.4 / 1; max-height:104px; }
  [data-near-grid] > .card .card-body { padding:10px; }
  [data-near-grid] > .card .card-foot { align-items:flex-start; }
  .near-card-map-head { padding:6px 8px; }
  .near-card-map-copy small { display:none; }
  .near-card-map-head .btn { min-height:30px; padding:4px 8px; font-size:.7rem; }
  .near-bar.card-pad { padding:11px; }
  .near-quick-categories-label { font-size:.74rem; }
  .near-quick-cat { min-height:32px; padding:4px 9px; font-size:.72rem; }
  .near-sort-row { margin-top:8px; }
}
