/* Small service tiles and fuller photo albums, within the existing Hub palette. */
.site-header{gap:20px}
.header-right{gap:12px}
.site-header nav{gap:6px;padding:6px;border-radius:15px;background:#eaf0f8}
.site-header .nav-tile{display:inline-flex;gap:7px;padding:6px 10px;border:1px solid #d7e1ed;border-radius:10px;min-height:42px;background:var(--surface);font-size:13px;font-weight:600;white-space:nowrap;transition:background .16s,border-color .16s,box-shadow .16s}
.site-header .nav-tile:hover,.site-header .nav-tile:focus-visible{border-color:#91b4e6;background:#f5f8ff;box-shadow:0 2px 6px #0546ac0a}
.site-header .nav-tile.is-active{color:var(--blue);border-color:#a7bfdf;background:#f9fbff}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:7px;background:#0546ac0c;color:var(--blue)}
.nav-icon svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-short{display:none}
.site-header nav .nav-plan{min-height:42px;padding:10px 13px;font-size:13px;border-radius:10px}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 5%}
.strip a{display:flex;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:6px 9px;border:1px solid #ffffff50;border-radius:8px;background:#ffffff0c;text-decoration:none;letter-spacing:.4px}
.strip a:hover{background:#ffffff20;border-color:#ffffffa0}
.strip-icon{display:block;flex:0 0 16px;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.card-photos{display:grid;position:relative;padding:0;border:0;cursor:pointer;background:#dce8ee;isolation:isolate}
.card-photos.has-previews{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:3px}
.card-photos img{width:100%;height:100%;min-height:0;object-fit:cover}
.card-photos .card-photo-0{grid-column:1;grid-row:1/-1}
.card-photos .card-photo-1{grid-column:2;grid-row:1}
.card-photos .card-photo-2{grid-column:2;grid-row:2}
.card-photos.has-previews:not(:has(.card-photo-2)) .card-photo-1{grid-row:1/-1}
.card-photos:focus-visible{outline:3px solid #ff914d;outline-offset:3px}
.photo-count{position:absolute;bottom:8px;right:8px;font-size:10px;font-weight:700;line-height:1.3;padding:5px 8px;border-radius:6px;background:#102a43c9;color:#fff;box-shadow:0 1px 5px #0002;z-index:1}
.gallery-view-all{display:flex;min-height:30px;font-size:12px;padding:4px 0;margin:0 0 5px}
.gallery-photo{position:relative;display:block;width:100%;padding:0;border:0;border-radius:7px;overflow:hidden;cursor:zoom-in;background:var(--surface)}
.gallery-photo:focus-visible,.service-photo:focus-visible{outline:3px solid #ff914d;outline-offset:3px}
.gallery-zoom{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#ffffffed;color:#102a43;font-size:16px;box-shadow:0 2px 8px #102a4320}
.photo-thumbnails{position:relative;display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;margin:10px 0 0;padding:3px 2px 7px;scroll-snap-type:x proximity}
.photo-thumbnail{flex:0 0 70px;width:70px;height:51px;padding:2px;border:2px solid transparent;border-radius:7px;background:transparent;cursor:pointer;scroll-snap-align:start}
.photo-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px;opacity:.66}
.photo-thumbnail[aria-current="true"]{border-color:var(--blue)}
.photo-thumbnail[aria-current="true"] img,.photo-thumbnail:hover img{opacity:1}
.photo-caption-row{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-top:1px}
.photo-caption-row>p{font-size:12px;line-height:1.45;margin:4px 0}
.photo-caption-row .photo-position{white-space:nowrap;min-width:40px;text-align:right;flex-shrink:0}
.place-dialog .place-photo-stage>img{height:350px;max-height:42dvh}
.place-dialog #place-description{font-size:13px;margin:7px 0 10px}
.place-dialog .photo-credit{margin:5px 0 10px}
.place-photo-stage{touch-action:pan-y}
html[data-theme="dark"] .site-header nav{background:#0d1a29}
html[data-theme="dark"] .site-header .nav-tile{border-color:#344b66;background:#192c40;color:#eef4fb}
html[data-theme="dark"] .site-header .nav-tile:hover,html[data-theme="dark"] .site-header .nav-tile.is-active{border-color:#719acd;background:#223c59;color:#c1d9ff}
html[data-theme="dark"] .nav-icon{background:#9bc2ff12;color:#a6caff}
html[data-theme="dark"] .photo-thumbnail[aria-current="true"]{border-color:#9bc2ff}
@media(max-width:1150px){.site-header nav .nav-plan{display:none}}
@media(min-width:751px) and (max-width:1050px){
 .site-header nav{display:grid;grid-template-columns:repeat(3,max-content);gap:5px;font-size:12px}
 .site-header .nav-tile{font-size:12px;min-height:38px;padding:5px 9px}
 .site-header .nav-icon{width:22px;height:22px;flex-basis:22px}
}
@media(max-width:750px){
 .site-header{grid-template-columns:80px minmax(0,1fr);gap:7px 12px;padding:11px 5%}
 .site-header .logo{grid-column:1;grid-row:1;align-self:end}
 .site-header .brandmark{width:80px;height:80px}
 .header-right{display:contents}
 .site-header nav{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px;width:100%;border-radius:12px;align-self:stretch;align-content:center}
 .site-header nav .nav-tile{display:flex;justify-content:flex-start;gap:5px;min-height:33px;padding:5px 7px;font-size:11.5px;border-radius:8px}
 .site-header .nav-icon{width:20px;height:20px;flex-basis:20px;border-radius:5px}
 .nav-icon svg{width:13px;height:13px}
 .nav-tile:has(.nav-short) .nav-full{display:none}
 .nav-short{display:inline}
 .site-header .preferences{grid-column:1;grid-row:2;justify-content:center;align-self:start;gap:5px}
 .site-header .preferences button{height:32px;min-width:35px;font-size:13px}
 .strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 5%}
 .strip a{font-size:9.5px;min-height:32px;padding:5px 7px;gap:5px;letter-spacing:0}
 .strip-icon{flex-basis:14px;width:14px;height:14px}
 .card-photos.has-previews{grid-template-columns:1fr;grid-template-rows:minmax(0,1.5fr) minmax(0,1fr)}
 .card-photos .card-photo-0{grid-column:1;grid-row:1}
 .card-photos .card-photo-1{grid-column:1;grid-row:2}
 .card-photos .card-photo-2{display:none}
 .card-photos.has-previews:not(:has(.card-photo-2)) .card-photo-1{grid-row:2}
 .photo-count{font-size:9px;padding:3px 5px;right:5px;bottom:5px}
 .gallery-view-all{font-size:11px}
 .place-dialog .place-photo-stage>img{height:250px;max-height:35dvh}
 .photo-thumbnails{gap:5px;margin-top:8px;padding-bottom:5px}
 .photo-thumbnail{width:57px;height:43px;flex-basis:57px}
 .photo-caption-row>p{font-size:11px}
 .place-dialog #place-description{font-size:12px;margin:5px 0 8px}

}
@media(max-width:360px){.site-header{grid-template-columns:72px minmax(0,1fr);gap:6px 9px}.site-header .brandmark{width:72px;height:72px}.site-header .preferences{gap:4px}.site-header .preferences button{min-width:31px}.site-header nav .nav-tile{padding:5px;font-size:11px;gap:4px}.site-header .nav-icon{width:18px;height:18px;flex-basis:18px}}
@media(prefers-reduced-motion:reduce){.site-header .nav-tile{transition:none}}
