/* Public holiday home galleries — Nexar Web Services. */
.cth-listing-gallery{margin:32px 0}
.cth-listing-gallery .cth-demo-hero{margin:0}
.cth-photo-main{display:block;position:relative;border-radius:30px;overflow:hidden;background:#e7efe9;color:#123f45}
.cth-photo-view-label{position:absolute;right:22px;bottom:22px;display:inline-flex;align-items:center;min-height:46px;padding:10px 20px;border-radius:30px;background:#fff;color:#123f45;font-size:14px;font-weight:750;line-height:1.4;box-shadow:0 4px 20px #123f4530}
.cth-photo-main:hover .cth-photo-view-label{background:#e5f2ed}
.cth-photo-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:14px 4px 8px;margin:0 -4px;scrollbar-width:thin;scrollbar-color:#557b76 #e7efe9}
.cth-photo-thumbnail{position:relative;flex:0 0 150px;display:block;border-radius:20px;overflow:hidden;border:2px solid transparent;background:#e7efe9}
.cth-photo-thumbnail img{display:block;width:100%;height:100px;object-fit:cover}
.cth-photo-thumbnail:hover{border-color:#206c65}
.cth-photo-thumbnail-label{position:absolute;bottom:6px;left:6px;padding:3px 8px;border-radius:15px;background:#fff;color:#123f45;font-size:10px;line-height:1.5;font-weight:750}
.cth-photo-main:focus-visible,.cth-photo-thumbnail:focus-visible{outline:3px solid #247b73;outline-offset:3px}
.cth-photo-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #b5cdc3;border-radius:30px;background:#fffaf2;color:#123f45;overflow:auto;box-shadow:0 24px 90px #081f3270}
.cth-photo-dialog::backdrop{background:#082329db;backdrop-filter:blur(4px)}
.cth-photo-dialog *{box-sizing:border-box}
.cth-photo-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #d8e3db}
.cth-photo-dialog-header h2{margin:0;color:#123f45;font-family:inherit;font-size:20px;font-weight:750;line-height:1.35}
.cth-photo-dialog .cth-photo-close,.cth-photo-dialog .cth-photo-step{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:46px;min-height:46px;width:46px;height:46px;margin:0;padding:0;border:1px solid #bdd2c8;border-radius:50%;background:#fff;color:#123f45;box-shadow:none;font-family:inherit;font-size:27px;font-weight:500;line-height:1;cursor:pointer}
.cth-photo-dialog .cth-photo-close:hover,.cth-photo-dialog .cth-photo-step:hover{background:#e5f2ed;border-color:#247b73}
.cth-photo-dialog button:focus-visible,.cth-photo-dialog a:focus-visible{outline:3px solid #247b73;outline-offset:3px}
.cth-photo-stage{display:flex;align-items:center;justify-content:center;min-height:180px;background:#e9efea}
.cth-photo-dialog .cth-photo-full{display:block;width:100%;max-width:100%;height:min(64dvh,690px);max-height:690px;object-fit:contain;border-radius:0}
.cth-photo-error{max-width:480px;margin:40px 24px;text-align:center;color:#123f45}
.cth-photo-dialog-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;padding:16px 24px}
.cth-photo-status{min-width:92px;margin:0;color:#123f45;font-size:14px;font-weight:700;text-align:center}
.cth-photo-dialog [hidden]{display:none!important}
@media(max-width:600px){
  .cth-photo-view-label{right:14px;bottom:14px;min-height:40px;padding:9px 15px;font-size:12px}
  .cth-photo-thumbnails{gap:9px;padding-top:10px}
  .cth-photo-thumbnail{flex-basis:115px;border-radius:18px}
  .cth-photo-thumbnail img{height:78px}
  .cth-photo-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:24px}
  .cth-photo-dialog-header{gap:12px;padding:14px 16px}
  .cth-photo-dialog-header h2{font-size:16px}
  .cth-photo-dialog .cth-photo-full{height:54dvh}
  .cth-photo-dialog-footer{gap:13px;padding:14px 16px}
}
