/* Listing page polish (2026-11-07): open-now chip, hours card with "Today", FAQ accordion, photo carousel on phones,
   compact "more places" lists. pages/listing.php · inc/types.php hoursStatus()/hoursTable() */

/* open-now chip */
.dr-page .ld-open{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:650;color:#B45309!important;background:#FEF3C7;border-radius:999px;padding:3px 11px;text-decoration:none!important}
.dr-page .ld-open i{font-size:7px}
.dr-page .ld-open.is-open{color:#15803D!important;background:#DCFCE7}
.dr-page .ld-open.is-open i{animation:ldPulse 2s ease-in-out infinite}
@keyframes ldPulse{50%{opacity:.35}}
.dr-page .ld-open-s{font-style:normal;font-weight:700;color:#B45309}.dr-page .ld-open-s.is-open{color:#15803D}

/* header */
.dr-page .ld-head h1{letter-spacing:-.02em}
.dr-page .seo-answer{color:var(--ink-2);font-size:15.5px;line-height:1.55;max-width:680px;margin:0 0 12px}
.dr-page .ld-meta{gap:8px 14px}

/* hours card */
.dr-page .hours-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 18px;max-width:460px}
.dr-page .hours th,.dr-page .hours td{padding:9px 0;border-bottom:1px solid var(--line-2,#f0ece6)}
.dr-page .hours tr:last-child th,.dr-page .hours tr:last-child td{border-bottom:0}
.dr-page .hours td{font-variant-numeric:tabular-nums;white-space:nowrap}
.dr-page .hours tr.today th,.dr-page .hours tr.today td{color:var(--forest);font-weight:700}
.hours-today{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--mint);color:var(--forest);padding:2px 7px;border-radius:6px;vertical-align:1px}

/* FAQ accordion */
.ld-faq-list{display:grid;gap:8px}
.ld-faq details{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ld-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}
.ld-faq summary::-webkit-details-marker{display:none}
.ld-faq summary h3{margin:0;font-size:15.5px;font-family:inherit;font-weight:650;line-height:1.35}
.ld-faq summary i{color:var(--muted);transition:transform .2s;flex:none}
.ld-faq details[open] summary i{transform:rotate(180deg)}
.ld-faq details p{margin:0;padding:0 16px 14px;color:var(--ink-2);line-height:1.55}

/* "more places" link lists → two tidy cards */
.dr-page .seo-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.dr-page .seo-links>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.dr-page .seo-links h2{font-size:17px;margin:0 0 8px}
.dr-page .seo-links ul{list-style:none;margin:0;padding:0}
.dr-page .seo-links li{padding:7px 0;border-bottom:1px solid var(--line-2,#f0ece6);line-height:1.35}
.dr-page .seo-links li:last-child{border-bottom:0}
.dr-page .seo-links li a{font-weight:600}
.dr-page .seo-links .more{display:inline-block;margin-top:8px;font-weight:650;font-size:14px}

@media (max-width:760px){
  /* photos: swipeable full-bleed carousel with a counter */
  .dr-page .gallery:not(.n1){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:6px;border-radius:0;margin:10px -16px 0;padding:0 16px;scrollbar-width:none;grid-template-rows:none;position:relative}
  .dr-page .gallery:not(.n1)::-webkit-scrollbar{display:none}
  .dr-page .gallery:not(.n1)>a:not(.gal-all){flex:0 0 86%;height:250px;scroll-snap-align:center;border-radius:16px;display:block!important;grid-column:auto!important}
  .dr-page .gallery:not(.n1)>a[hidden]{display:none!important}
  .dr-page .gallery.n1{border-radius:16px;margin-top:10px;grid-template-rows:250px}
  .dr-page .gallery .more-ph{display:none}
  .dr-page .gallery:not(.n1) .gal-all{position:static!important;flex:0 0 auto;align-self:center;scroll-snap-align:end;margin-right:16px;white-space:nowrap}
  .dr-page .ld-head{margin-top:14px}
  .dr-page .ld-head h1{font-size:30px;margin:4px 0 6px}
  .dr-page .seo-answer{font-size:14.5px}
  .dr-page .hours-wrap{max-width:none}
  .dr-page .seo-links{grid-template-columns:1fr}
}
