/* Keep the directory controls and result actions aligned as names and addresses wrap. */
#cf-directory .cf-card {display:flex;flex-direction:column;padding-bottom:clamp(8px,1.2vw,20px)}
#cf-directory .cf-card .cf-body {display:flex;flex-direction:column;align-items:flex-start;flex:1}
#cf-directory .cf-actions {width:100%;margin-top:auto;padding-top:clamp(6px,.8vw,12px);gap:clamp(14px,2vw,32px)}
#cf-directory .cf-actions :is(button,a),#cf-directory .cf-direction {min-height:44px;display:inline-flex;align-items:center}
#cf-directory .cf-summary .cf-modes {gap:0;border:1px solid #b9cbd8;border-radius:7px;overflow:hidden}
#cf-directory .cf-modes button {margin:0;padding:8px clamp(12px,1.6vw,24px);border:0;min-height:44px}
#cf-directory .cf-modes button[aria-pressed=true] {background:#0a304d;color:white}
#cf-directory .cf-modes button:focus-visible {outline-offset:-3px}
#cf-directory .cf-tools {align-items:end}
#cf-directory .cf-photo {flex:none}
#cf-directory #cf-more:focus-visible {outline-offset:2px}
@media(max-width:640px){
  #cf-directory .cf-summary {gap:12px;align-items:flex-start}
  #cf-directory .cf-tools {row-gap:12px}
  #cf-directory .cf-tools>#cf-near {justify-self:start;height:44px}
}
body main.cf-place {
  box-sizing:border-box;width:var(--cf-rail, min(1600px, calc(100% - 48px)));max-width:1600px;margin:0 auto;
  padding:0 0 clamp(36px,5vw,80px);display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,2fr);
  align-items:start;gap:clamp(24px,4vw,72px);color:#10283c;font:450 clamp(16px,1.1vw,19px)/1.55 "Inter Tight",sans-serif;
}
.cf-place * {box-sizing:border-box}
.cf-place h2 {margin:0 0 clamp(12px,1.2vw,20px);color:#0d2036;font:700 clamp(21px,1.8vw,32px)/1.18 Montserrat,sans-serif;letter-spacing:-.025em}
.cf-place a {color:#0b5580;text-underline-offset:3px}
.cf-place a:hover {text-decoration:underline}
.cf-place a:focus-visible {outline:3px solid #1976ae;outline-offset:3px}
.cf-place-contact {background:#f1f7fb;border-top:3px solid #50afff;padding:clamp(18px,2.4vw,40px);min-width:0;overflow-wrap:anywhere}
.cf-place-logo {display:block;max-width:clamp(96px,9vw,145px);max-height:clamp(54px,5vw,80px);width:auto;height:auto;margin-bottom:clamp(16px,1.7vw,26px)}
.cf-place-contact dl {margin:0}
.cf-place-contact dt {margin:clamp(12px,1.2vw,20px) 0 2px;color:#405a70;font:600 clamp(13px,.95vw,16px)/1.4 "Inter Tight",sans-serif}
.cf-place-contact dd {margin:0;line-height:1.45}
.cf-place-contact dd a {font-weight:650}
.cf-place-actions,.cf-place-web {display:flex;align-items:center;flex-wrap:wrap;gap:4px clamp(14px,1.6vw,26px)}
.cf-place-actions {margin-top:clamp(18px,1.7vw,28px)}
.cf-place-actions a,.cf-place-web a {display:inline-flex;min-height:44px;align-items:center;font:650 clamp(14px,1vw,16px)/1.2 Inter,sans-serif}
.cf-place .cf-place-directions {color:#fff;background:#50afff;border-radius:100px;padding:11px 19px;gap:10px;text-decoration:none}
.cf-place-directions svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:miter}
.cf-place-web {margin-top:10px;border-top:1px solid #cddde6}
.cf-place-main {display:grid;gap:clamp(24px,3.5vw,54px);min-width:0}
.cf-place-terms {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(12px,2vw,26px);padding-bottom:clamp(12px,1.4vw,22px);border-bottom:1px solid #d3dee6}
.cf-place-terms h2 {font-size:clamp(15px,1.1vw,19px);margin:0 0 5px}
.cf-place-terms ul,.cf-place-gallery ul {list-style:none;padding:0;margin:0}
.cf-place-terms ul {display:flex;gap:0 14px;flex-wrap:wrap}
.cf-place-terms a {display:inline-flex;align-items:center;min-height:36px;text-decoration:underline}
.cf-place-copy {max-width:100%;min-width:0;overflow-x:auto;overflow-wrap:anywhere}
.cf-place-copy :is(p,ul,ol) {max-width:85ch}
.cf-place-copy img {max-width:100%;height:auto}
.cf-place-copy table {max-width:100%;height:auto!important}
.cf-place-copy table :is(td,tr,th) {height:auto!important}
.cf-place-gallery ul {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(140px,20vw,290px)),1fr));gap:clamp(8px,1.3vw,20px)}
.cf-place-gallery a {display:block;background:#eff4f7;border-radius:8px;overflow:hidden}
.cf-place-gallery img {display:block;width:100%;aspect-ratio:1.6;object-fit:cover}
@media(max-width:760px){
  body main.cf-place {grid-template-columns:minmax(0,1fr)}
  .cf-place-terms {grid-template-columns:1fr}
  .cf-place-terms a {min-height:44px}
}
.cf-place [hidden],.cf-gallery-viewer [hidden] {display:none!important}
#cf-directory #cf-pages {display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:var(--cf-lg)}
#cf-pages :is(a,span) {display:inline-grid;min-width:36px;min-height:44px;padding-inline:5px;place-items:center}
#cf-pages [aria-current] {font-weight:750;border-bottom:2px solid #50afff}
html.cf-viewer-open,html.cf-viewer-open body {overflow:hidden}
dialog.cf-gallery-viewer {box-sizing:border-box;width:min(96vw,1100px);max-width:100%;max-height:95vh;max-height:95dvh;margin:auto;
 padding:clamp(12px,2vw,22px);border:0;border-radius:10px;background:#092944;color:white}
.cf-gallery-viewer::backdrop {background:rgb(3 17 31/.77)}
.cf-viewer-bar,.cf-viewer-controls {display:flex;align-items:center;justify-content:space-between;gap:8px}
.cf-viewer-bar {margin-bottom:8px;font:600 15px/1.4 Inter,sans-serif}
.cf-viewer-controls {justify-content:center;margin-top:8px}
.cf-gallery-viewer button {display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #8ca8be;border-radius:6px;background:transparent;color:white}
.cf-gallery-viewer button svg {width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linejoin:miter}
.cf-gallery-viewer button:focus-visible {outline:2px solid #74c4ff;outline-offset:2px}
.cf-viewer-photo img {display:block;margin:auto;max-width:100%;width:auto;height:auto;max-height:calc(94vh - 160px);max-height:calc(94dvh - 160px);object-fit:contain;touch-action:pan-y pinch-zoom}

/* The first row of the profile is the venue's own photo strip. */
.cf-place>.cf-place-gallery {grid-column:1/-1;min-width:0}
.cf-gallery-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(10px,1.1vw,18px)}
.cf-gallery-heading h2 {margin:0}
.cf-strip-controls {display:flex;gap:6px}
.cf-place .cf-strip-controls button {width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:white;background:#0a324f}
.cf-strip-controls svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:miter}
.cf-place .cf-strip-controls button:disabled {background:#526d82;cursor:default}
.cf-place .cf-strip-controls button:focus-visible {outline:3px solid #177ab4;outline-offset:2px}
.cf-place-gallery #cf-photo-strip {
  display:flex;gap:clamp(8px,1.15vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#97b2c5 #eff4f7;
}
#cf-photo-strip li {min-width:0;flex:1 0 calc((100% - 2 * clamp(8px,1.15vw,20px)) / 3);scroll-snap-align:start}
#cf-photo-strip a {height:clamp(175px,24vw,365px)}
#cf-photo-strip a:focus-visible {outline-offset:-4px}
#cf-photo-strip img {height:100%;object-fit:cover}
@media(max-width:760px) {
  #cf-photo-strip li {flex-basis:82%}
  #cf-photo-strip li:only-child {flex-basis:100%}
  #cf-photo-strip a {height:clamp(165px,50vw,280px)}
}
