/* Opening hours and menu highlights - scoped to the listing and discovery UI. */
.thf-listing-visit{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;margin:28px 0;align-items:start}
.thf-listing-visit__details{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;min-width:0}
.thf-listing-visit:has(>.thf-listing-visit__details:only-child),.thf-listing-visit:has(>.thf-hours-panel:only-child){grid-template-columns:minmax(0,600px)}
.thf-listing-visit:has(>.thf-menu-panel:only-child){grid-template-columns:minmax(0,1fr)}
.thf-hours-panel,.thf-menu-panel{min-width:0;padding:24px;background:#fff;border:1px solid #e1ebe5;border-radius:18px;box-shadow:0 7px 25px rgba(16,69,47,.035)}
.thf-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:8px}
.thf-listing-visit .thf-section-heading h2{font-size:25px;line-height:1.2;color:#153c2b;padding:0;margin:3px 0 0}
.thf-section-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#52705e}
.thf-hours-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:750;line-height:1.35;padding:5px 9px;border-radius:20px;background:#eff3f0;color:#55645a;white-space:nowrap;vertical-align:middle}
.thf-hours-badge.is-open{background:#e6f5eb;color:#176739}.thf-hours-badge.is-closed{background:#f6efeb;color:#87503a}
.thf-hours-dot{width:6px;height:6px;flex:none;border-radius:50%;background:currentColor}
.thf-v2-identity-copy>.thf-hours-badge{margin:4px 0 10px}
.thf-directory-card .thf-hours-badge,.thf-city-card .thf-hours-badge{margin:5px 0}
.thf-listing-visit .thf-hours-summary{font-size:14px;color:#274c36;font-weight:650;margin:12px 0 3px;padding:0;min-height:20px}
.thf-listing-visit .thf-hours-timezone{font-size:11px;color:#6a776f;margin:0 0 18px;padding:0;line-height:1.5}
.thf-hours-week,.thf-hours-special dl{margin:0}
.thf-hours-day{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ee;font-size:12px;line-height:1.5}
.thf-hours-day dt{color:#47594d;flex-shrink:0}.thf-hours-day dd{margin:0;text-align:right;color:#273f30}
.thf-hours-day.is-today{padding:10px 8px;margin:0 -8px;background:#edf7f0;border-radius:7px;border-color:transparent;font-weight:750}
.thf-listing-visit .thf-hours-special h3{font-size:16px;margin:20px 0 4px;padding:0}
.thf-listing-visit .thf-hours-note{font-size:12px;color:#465a4c;line-height:1.65;margin:18px 0 0;padding:0}
.thf-listing-visit .thf-hours-footnote{font-size:11px;color:#718076;line-height:1.5;margin:12px 0 0;padding:0}
.thf-listing-visit .thf-menu-intro{color:#65746a;font-size:13px;line-height:1.6;padding:0;margin:7px 0 16px}
.thf-menu-nav{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 13px;margin:0 0 8px;scrollbar-width:thin}
.thf-menu-nav a{flex-shrink:0;display:block;padding:7px 11px;color:#315c42;background:#eff6f1;border:1px solid #e0ebe3;border-radius:8px;font-size:11px;font-weight:700;line-height:1.4;text-decoration:none}
.thf-menu-nav a:hover,.thf-menu-nav a:focus-visible{background:#153f2c;color:#fff}
.thf-menu-category{scroll-margin-top:100px;margin-top:23px}
.thf-listing-visit .thf-menu-category h3{font-size:16px;font-weight:800;color:#21462f;padding:0 0 9px;margin:0 0 12px;border-bottom:2px solid #e9f0eb}
.thf-menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px}
.thf-menu-item{min-width:0}.thf-menu-item-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.thf-listing-visit .thf-menu-item h4{font-size:13px;line-height:1.5;color:#233e2d;padding:0;margin:0;font-weight:750}
.thf-menu-price{font-size:12px;line-height:1.5;font-weight:800;color:#27613e;white-space:nowrap}
.thf-listing-visit .thf-menu-item p{font-size:12px;line-height:1.55;color:#6a786f;padding:0;margin:4px 0 0}
.thf-listing-visit .thf-menu-note{font-size:11px;line-height:1.6;color:#637369;padding:0;margin:22px 0 0}
.thf-menu-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #e7eee9;margin-top:17px;padding-top:15px}
.thf-listing-visit .thf-menu-footer p{font-size:11px;color:#718076;line-height:1.5;margin:0;padding:0}
.thf-menu-full-link{font-size:12px;font-weight:800;color:#17653a;white-space:nowrap}
.thf-hours-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 22px}
.thf-hours-filters a.thf-hours-filter{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 16px;border:1px solid #d5e4da;border-radius:30px;background:#fff;color:#375b44;font-size:13px;font-weight:750;line-height:1.5;text-decoration:none}
.thf-hours-filters a.thf-hours-filter.is-active{background:#163f2b;color:#fff;border-color:#163f2b}
.thf-hours-filters a.thf-hours-filter:focus-visible,.thf-menu-nav a:focus-visible{outline:3px solid #8abe9c;outline-offset:3px}
.thf-hours-filter-hint{font-size:11px;color:#6b7a70;margin-left:3px}
.thf-v2-listing .thf-listing-visit .thf-hours-panel{position:static;top:auto;align-self:start}
@media(max-width:980px){.thf-listing-visit{grid-template-columns:minmax(0,1fr)!important;gap:18px;margin:20px 0}.thf-listing-visit__details{gap:18px}.thf-hours-panel,.thf-menu-panel{padding:21px}.thf-hours-week{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.thf-hours-day.is-today{margin:0;padding:10px 6px}}
@media(max-width:600px){.thf-hours-panel,.thf-menu-panel{padding:18px;border-radius:14px}.thf-listing-visit .thf-section-heading h2{font-size:22px}.thf-hours-week{display:block}.thf-hours-day{font-size:12px}.thf-menu-items{grid-template-columns:1fr;gap:15px}.thf-listing-visit .thf-menu-item h4{font-size:13px}.thf-menu-category{margin-top:21px}.thf-hours-filters{gap:6px}.thf-hours-filters a.thf-hours-filter{font-size:12px;padding:7px 13px;min-height:38px}.thf-hours-filter-hint{width:100%;margin:2px 0 0}.thf-menu-nav{margin-right:-18px;padding-right:18px}}

/* Listing-only dark palette. Directory filters and discovery-card badges keep their own treatment. */
.thf-v2-listing{
  --thf-visit-bg:#10232f;
  --thf-visit-bg-alt:#0c1e2a;
  --thf-visit-text:#edf5f8;
  --thf-visit-muted:#b7cad4;
  --thf-visit-green:#85e0ab;
  --thf-visit-border:#345261;
  --thf-visit-focus:#82e8b0;
}
.thf-v2-listing :is(.thf-hours-panel,.thf-menu-panel){
  color:var(--thf-visit-text);background:var(--thf-visit-bg);border-color:var(--thf-visit-border);
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.thf-v2-listing :is(.thf-hours-panel,.thf-menu-panel) .thf-section-heading h2{
  color:var(--thf-visit-text);font-size:25px;line-height:1.2;padding:0;margin:3px 0 0;
}
.thf-v2-listing :is(.thf-hours-panel,.thf-menu-panel) .thf-section-kicker{color:var(--thf-visit-green)}
.thf-v2-listing .thf-hours-badge{
  color:#c1d1dc;background:#1b3040;border:1px solid #557383;
}
.thf-v2-listing .thf-hours-badge.is-open{color:#85e0ab;background:#14382b;border-color:#4d8b69}
.thf-v2-listing .thf-hours-badge.is-closed{color:#ffc49b;background:#3c2b25;border-color:#a67a63}
.thf-v2-listing .thf-hours-badge.is-unknown{color:#c1d1dc;background:#1b3040;border-color:#557383}
.thf-v2-listing .thf-hours-panel .thf-hours-summary{
  color:var(--thf-visit-text);font-size:14px;line-height:1.5;font-weight:650;padding:0;margin:12px 0 3px;
}
.thf-v2-listing .thf-hours-panel .thf-hours-timezone{
  color:var(--thf-visit-muted);font-size:12px;line-height:1.5;padding:0;margin:0 0 18px;
}
.thf-v2-listing .thf-hours-day{border-bottom-color:#294554;font-size:13px}
.thf-v2-listing .thf-hours-day dt{color:var(--thf-visit-muted)}
.thf-v2-listing .thf-hours-day dd{color:var(--thf-visit-text);overflow-wrap:anywhere}
.thf-v2-listing .thf-hours-day.is-today{
  background:#163b31;border-bottom-color:transparent;box-shadow:inset 3px 0 0 #85e0ab;
}
.thf-v2-listing .thf-hours-day.is-today dt,.thf-v2-listing .thf-hours-day.is-today dd{color:#edf5f8}
.thf-v2-listing .thf-hours-panel .thf-hours-special h3{
  color:var(--thf-visit-text);font-size:16px;line-height:1.4;margin:20px 0 4px;padding:0;
}
.thf-v2-listing .thf-hours-special{border-top:1px solid #345261;margin-top:18px}
.thf-v2-listing .thf-hours-panel :is(.thf-hours-note,.thf-hours-footnote){
  color:var(--thf-visit-muted);font-size:12px;line-height:1.65;padding:0;
}
.thf-v2-listing .thf-hours-panel .thf-hours-note{
  background:var(--thf-visit-bg-alt);border-left:3px solid #53798a;border-radius:0 8px 8px 0;padding:10px 12px;
}
.thf-v2-listing .thf-menu-panel .thf-menu-intro{
  color:var(--thf-visit-muted);font-size:13px;line-height:1.6;padding:0;margin:7px 0 16px;
}
.thf-v2-listing .thf-menu-nav{
  padding:7px 7px 13px;margin-left:-7px;margin-right:-7px;scrollbar-color:#53798a transparent;
}
.thf-v2-listing .thf-menu-nav a{
  color:#a8ebc5!important;background:#172f3e;border-color:#6c9ab0;min-height:38px;display:flex;align-items:center;
}
.thf-v2-listing .thf-menu-nav a:hover{
  color:#edf5f8!important;background:#24485a;border-color:#85e0ab;
}
.thf-v2-listing .thf-menu-nav a:is(.is-active,[aria-current="true"]){
  color:#0b1b27!important;background:#85e0ab;border-color:#85e0ab;
}
.thf-v2-listing .thf-menu-panel .thf-menu-category h3{
  color:var(--thf-visit-text);font-size:16px;line-height:1.45;border-bottom-color:#345261;padding:0 0 9px;margin:0 0 12px;
}
.thf-v2-listing .thf-menu-category:target h3{border-bottom-color:#85e0ab}
.thf-v2-listing .thf-menu-panel .thf-menu-item h4{
  color:var(--thf-visit-text);font-size:14px;line-height:1.5;padding:0;margin:0;font-weight:750;min-width:0;overflow-wrap:anywhere;
}
.thf-v2-listing .thf-menu-price{
  color:#85e0ab;background:#14382b;border:1px solid #3b6f53;border-radius:7px;
  padding:2px 7px;line-height:1.5;white-space:normal;text-align:right;max-width:45%;flex-shrink:0;overflow-wrap:anywhere;
}
.thf-v2-listing .thf-menu-panel .thf-menu-item p{
  color:var(--thf-visit-muted);font-size:13px;line-height:1.6;padding:0;margin:5px 0 0;
}
.thf-v2-listing .thf-menu-panel .thf-menu-note{
  color:var(--thf-visit-muted);font-size:12px;line-height:1.65;padding:10px 12px;margin:22px 0 0;
  background:var(--thf-visit-bg-alt);border-left:3px solid #53798a;border-radius:0 8px 8px 0;
}
.thf-v2-listing .thf-menu-footer{border-top-color:#345261}
.thf-v2-listing .thf-menu-panel .thf-menu-footer p{color:var(--thf-visit-muted);font-size:12px;line-height:1.6}
.thf-v2-listing .thf-menu-panel .thf-menu-full-link{
  color:#a8ebc5!important;font-size:13px;text-decoration:underline;text-underline-offset:3px;white-space:normal;
}
.thf-v2-listing .thf-menu-panel .thf-menu-full-link:hover{color:#edf5f8!important}
.thf-v2-listing :is(.thf-hours-panel,.thf-menu-panel) a:focus-visible{
  outline:3px solid var(--thf-visit-focus);outline-offset:3px;border-radius:5px;
}
.thf-v2-listing .thf-listing-visit__details .thf-v2-map-card{
  position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;height:auto;margin:0;padding:0;
  color:var(--thf-visit-text);background:var(--thf-visit-bg);border:1px solid var(--thf-visit-border);
  border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.thf-v2-listing .thf-listing-visit__details .thf-v2-map-card iframe{
  position:static;display:block;flex:none;width:100%;height:260px;min-height:260px;max-height:none;border:0;filter:none;
}
.thf-v2-listing .thf-listing-visit__details .thf-v2-map-card>a{
  position:static;inset:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;width:100%;box-sizing:border-box;
  margin:0;border:0;border-top:1px solid #345261;border-radius:0;padding:12px 16px!important;
  background:#163b31;color:#b8f0cc!important;font-size:14px!important;line-height:1.5;text-align:center;text-decoration:none;
}
.thf-v2-listing .thf-listing-visit__details .thf-v2-map-card>a:hover{background:#224e3c;color:#edf5f8!important}
.thf-v2-listing .thf-listing-visit__details .thf-v2-map-card>a:focus-visible{outline:3px solid var(--thf-visit-focus);outline-offset:-5px}
@media(max-width:600px){
  .thf-v2-listing :is(.thf-hours-panel,.thf-menu-panel) .thf-section-heading h2{font-size:22px}
  .thf-v2-listing .thf-listing-visit__details .thf-v2-map-card{border-radius:14px}
  .thf-v2-listing .thf-listing-visit__details .thf-v2-map-card iframe{height:240px;min-height:240px}
}
body .thf-hours-filters a.thf-hours-filter{color:#375b44!important}
body .thf-hours-filters a.thf-hours-filter.is-active{color:#fff!important}
