/* A single reading order for the public directory and its place details. */
body.view-list{background:#f3f7f9}
.view-list #listing-view{max-width:1248px;padding:30px 24px 56px}
.view-list .listing-heading{min-height:0;margin:0 0 22px;padding:0;background:none;box-shadow:none;border-radius:0;color:#123b50}
.view-list .listing-heading::after,.view-list .boating-hero-chart{display:none}
.view-list .listing-heading>.eyebrow{color:#557887;font-size:11px;letter-spacing:.12em;margin:0 0 10px;max-width:none}
.view-list .listing-heading h1{font:750 clamp(28px,4vw,42px)/1.15 system-ui,sans-serif;color:#103f53;max-width:100%;letter-spacing:-.035em}
.view-list .listing-heading>#listing-lake-region{color:#526e7c;font-size:14px;margin:10px 0 0;max-width:none}
.view-list .listing-heading>#listing-location-status{color:#526e7c}
.view-list #listing-view>aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,210px) minmax(160px,220px);align-items:end;gap:12px 16px;padding:18px;margin:0 0 24px;background:#e6eff3;border:1px solid #b9cfd9;border-radius:14px;color:#123b50}
.view-list #listing-view>aside #place-search{align-self:end;background:#fff;min-height:46px}
.view-list #listing-view>aside select{min-height:46px;margin:0;background:#fff}
.view-list #listing-view>aside #place-count{font-size:12px;margin:0;color:#476775}
.view-list .boating-filter-field{font-size:12px;letter-spacing:0}
.view-list #listing-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.view-list .listing-card{border:1px solid #bfd1da;border-radius:16px;box-shadow:0 4px 16px #153d4308;min-width:0}
.view-list .listing-open{height:auto;aspect-ratio:16/10;min-height:0;overflow:hidden;position:relative}
.view-list .listing-open::after{content:attr(data-open-label);position:absolute;right:12px;bottom:12px;background:#ffffffed;color:#103f53;border-radius:20px;padding:8px 12px;font:700 12px/1.2 system-ui;box-shadow:0 2px 8px #123b5020}
.view-list .listing-placeholder{opacity:1;background:#dbeaf0;color:#276778;min-height:100%}
.view-list .listing-placeholder svg{filter:none;width:56px;height:56px}
.view-list .listing-content{padding:19px;gap:0}
.view-list .listing-category{font-size:11px;color:#526e7c;line-height:1.5;margin:0 0 7px}
.view-list .listing-title{font:720 21px/1.3 system-ui;color:#123b50;padding:0;min-height:0;overflow-wrap:anywhere}
.view-list .listing-content h2{margin:0 0 8px}
.view-list .listing-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;color:#526a77;margin:0 0 12px;overflow:hidden}
.view-list .listing-opening{font-size:12px;font-weight:650;margin:0 0 10px}
.view-list .listing-content .tags{display:flex;margin:0 0 17px;gap:5px}
.view-list .listing-content .tags span{font-size:11px;padding:5px 8px;background:#eaf2f5;color:#315c70;border-radius:6px}
.view-list .listing-card-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
.view-list .listing-card-actions button{flex:1 1 auto;min-height:44px;font-size:13px}
.view-list .listing-card-actions .listing-map{display:block;width:auto;margin:0;background:#fff;color:#175871;border:1px solid #b6cdd8}
.view-list .listing-card-actions .listing-detail{background:#075e73;color:#fff;border:1px solid #075e73}
.view-list .listing-more-tags{font-weight:700}
.view-list .view-toolbar>.boat-view-actions{position:static;display:flex;width:auto;gap:8px;margin-left:auto}
.view-list .view-toolbar>.boat-view-actions>button{width:44px;height:44px;min-height:44px;border-radius:10px;box-shadow:none;background:#fff;color:#18556d;border:1px solid #b6cdd8;backdrop-filter:none}
.view-list .view-toolbar>.boat-view-actions #boat-quick-view{display:none}
/* Keep the place name and primary actions available while reading. */
#place-card{width:min(960px,calc(100% - 40px));max-width:960px;max-height:90dvh;padding:0;border:1px solid #b7ced9;border-radius:20px;background:#fff;color:#153e50;overscroll-behavior:contain}
#place-card::backdrop{background:#092e45a3;backdrop-filter:blur(3px)}
#place-card>.dialog-head{top:0;margin:0;padding:20px 26px;align-items:center;border-bottom:1px solid #d6e3e9;background:#fff;gap:18px;z-index:5}
#place-card .dialog-head h2{font:750 clamp(21px,3vw,29px)/1.25 system-ui;margin:0;letter-spacing:-.025em;overflow-wrap:anywhere}
#place-card .dialog-head button{width:44px;height:44px;min-width:44px;padding:0;background:#eaf2f5;color:#1a5269;border:1px solid #c8dce5;border-radius:50%}
#place-card #card-content{padding:24px 26px 18px}
.place-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px}
.place-meta .eyebrow{margin:0;padding:6px 10px;border-radius:6px;background:#e5eff3;color:#265a6e;font-weight:650;font-size:12px}
.place-meta .listing-opening{margin:0;font-weight:650}
#place-card .gallery{gap:10px;margin:0 0 24px;border-radius:12px;scrollbar-width:thin;overscroll-behavior-x:contain;scroll-padding:0}
#place-card .gallery img{height:330px;object-fit:contain;background:#edf3f6;border-radius:12px;width:100%;max-width:100%;flex:0 0 100%}
.place-gallery-help{color:#526f7c;margin:-12px 0 22px!important;font-size:12px!important}
.place-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:26px}
.place-detail-main,.place-detail-side{min-width:0}
#place-card h3{font:750 16px/1.4 system-ui;margin:0 0 12px;color:#153e50}
#place-card .place-detail-section{margin:0 0 22px}
#place-card .place-detail-section>.pre{font-size:15px;line-height:1.8;margin:0;color:#3d5d6d}
#place-card .place-detail-side .place-detail-section{background:#eff5f7;border:1px solid #cedeE5;border-radius:12px;padding:18px}
#place-card .place-detail-side .tags{margin:0;gap:7px}
#place-card .place-detail-side .tags span{font-size:12px;background:#fff;border:1px solid #d0e0e6;border-radius:7px;padding:6px 9px;color:#2d5c70}
#place-card .opening-hours-list{font-size:13px;gap:8px 16px;margin:14px 0 0}
#place-card .opening-hours-list dd{text-align:right}
#place-card .place-detail-side button{width:100%;min-height:46px;text-align:left;white-space:normal}
#place-card .place-maintainer{display:block;border-top:1px solid #d7e4ea;padding-top:16px;color:#526e7c;font-size:12px}
#place-card .attachment{display:block;padding:12px 14px;border:1px solid #b9d1dc;border-radius:9px;text-decoration:none;color:#175871;overflow-wrap:anywhere;margin:8px 0;font-weight:650}
#place-card>.card-actions{bottom:0;margin:0;padding:16px 26px calc(16px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #cbdde6;gap:10px;z-index:4}
#place-card>.card-actions button{min-height:46px;flex:1 1 200px;background:#075e73;color:#fff}
#place-card>.card-actions .secondary{background:#fff;color:#175871;border:1px solid #b9d1dc}
#place-card>#route-status:not(:empty){padding:0 26px 18px}
@media(max-width:1000px){.view-list #listing-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .view-list #listing-view{padding:22px 16px 36px}
 .view-list .view-toolbar .mobile-view-select{display:none}
 .view-list .view-toolbar .view-switch{display:flex;flex:1;gap:4px;padding:4px}
 .view-list .view-toolbar .view-switch button{flex:1;min-height:44px;padding:10px 12px;font-size:13px}
 .view-list .view-toolbar .map-heading{display:none}
 .view-list .listing-heading{margin-bottom:18px}
 .view-list .listing-heading>.eyebrow{font-size:10px;margin-bottom:8px}
 .view-list .listing-heading h1{font-size:30px}
 .view-list #listing-view>aside{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:12px;margin-bottom:20px}
 .view-list #listing-view>aside :is(input,select){font-size:16px!important}
 .view-list #listing-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .view-list .listing-content{padding:12px 10px}
 .view-list .listing-title{font-size:15px;line-height:1.35}
 .view-list .listing-category{font-size:10px;line-height:1.45;overflow-wrap:anywhere}
 .view-list .listing-opening{font-size:11px;line-height:1.45;overflow-wrap:anywhere}
 .view-list .listing-description,.view-list .listing-content .tags{display:none}
 .view-list .listing-open{aspect-ratio:4/3}
 .view-list .listing-open::after{display:none}
 .view-list .listing-card-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
 .view-list .listing-card-actions button{font-size:12px;padding:10px 6px;min-width:0;white-space:normal}
 #place-card{width:100%;max-width:none;max-height:94dvh;margin:auto 0 0;border-radius:18px 18px 0 0}
 #place-card>.dialog-head{padding:16px 18px;gap:12px}
 #place-card #card-content{padding:18px}
 #place-card .gallery img{height:230px}
 .place-detail-grid{grid-template-columns:minmax(0,1fr);gap:0}
 #place-card>.card-actions{padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));flex-wrap:nowrap}
 #place-card>.card-actions button{flex:1 1 0;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.view-list .listing-card{transition:none;transform:none!important}}

/* One photo at a time; dots show the photo count and select the visible frame. */
#place-card .gallery.place-photo-gallery{display:block;overflow:hidden;scroll-snap-type:none;scrollbar-width:none}
#place-card .place-gallery-frame{overflow:hidden;min-width:0;border-radius:12px}
#place-card .place-gallery-slide{width:100%;min-width:0}
#place-card .place-gallery-slide img{display:block;margin:0}
#place-card .place-gallery-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;margin:4px 0 0}
#place-card .place-gallery-dots .place-gallery-dot{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#123b50;box-shadow:none}
#place-card .place-gallery-dot::before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:#b5c8d1;border:1px solid #6f8c9b}
#place-card .place-gallery-dot[aria-pressed=true]::before{width:10px;height:10px;background:#176781;border-color:#176781}
#place-card .place-gallery-dot:focus-visible{outline:3px solid #e5a344;outline-offset:-3px}
#place-card .place-gallery-error{display:grid;place-items:center;min-height:330px;margin:0;background:#edf3f6;color:#526f7c}
@media(max-width:760px){#place-card .place-gallery-error{min-height:230px}}
