/* Inline gallery: full-width photos, with original image proportions preserved. */
.kai-directory #main .wpbdp-listing-single .main-image:has(.kai-gallery){float:none;width:100%;max-width:none;margin:0 0 32px;padding:0;border:0;border-radius:0;background:none}
.kai-directory #main .wpbdp-listing-single.with-image:has(.kai-gallery) .listing-details{margin-right:0}
.kai-gallery{min-width:0;color:#252525}
.kai-gallery [hidden],.kai-lightbox [hidden]{display:none!important}
.kai-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.kai-directory #main .kai-gallery-heading h3{font-family:inherit;font-size:21px;font-weight:700;line-height:1.3;margin:0}
.kai-gallery-heading>span{flex-shrink:0;color:#756e63;font-size:13px}
.kai-gallery-stage{position:relative;height:clamp(250px,40vw,460px);border:1px solid #e3dfd6;border-radius:16px;background:radial-gradient(ellipse at center,#fff,#f1eee7);overflow:hidden;touch-action:pan-y pinch-zoom}
.kai-gallery-open{display:block;height:100%;cursor:zoom-in}
.kai-directory #main .wpbdp-listing-single .kai-gallery .kai-gallery-image{display:block;width:100%;height:100%;max-height:none;margin:0;border:0;border-radius:0;object-fit:contain;background:transparent}
.kai-gallery-expand{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #ffffff80;border-radius:10px;background:#252525e8;color:#fff;font-size:13px;font-weight:700;box-shadow:0 3px 12px #0002}
.kai-gallery-expand>span{font-size:23px;line-height:1}
.kai-gallery-count{position:absolute;left:14px;bottom:16px;border-radius:20px;padding:5px 12px;background:#252525d9;color:#fff;font-size:12px;pointer-events:none}
.kai-directory #main .kai-gallery .kai-gallery-arrow{display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;min-height:46px;padding:0;border:1px solid #e3dfd6;border-radius:50%;background:#fffffff2;color:#252525;box-shadow:0 3px 12px #0001;font:32px/1 Arial,sans-serif;letter-spacing:0;cursor:pointer;text-transform:none}
.kai-gallery-prev{left:14px}.kai-gallery-next{right:14px}
.kai-directory #main .kai-gallery .kai-gallery-arrow:hover{background:#f6a71c;border-color:#f6a71c}
.kai-gallery-thumbs{position:relative;display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;padding:12px 3px 6px;scrollbar-width:thin;scrollbar-color:#c9bb9d transparent}
.kai-directory #main .kai-gallery .kai-gallery-thumb{display:block;flex:0 0 80px;height:80px;box-sizing:border-box;overflow:hidden;border:2px solid transparent;border-radius:10px;background:#f6f5f2;opacity:.65;transition:opacity .15s,border-color .15s;box-shadow:none}
.kai-directory #main .kai-gallery .kai-gallery-thumb[aria-current="true"]{border-color:#b87000;opacity:1;box-shadow:0 0 0 2px #f6a71c33}
.kai-directory #main .kai-gallery .kai-gallery-thumb:hover{opacity:1}
.kai-directory #main .wpbdp-listing-single .kai-gallery .kai-gallery-thumb img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;margin:0;border:0;border-radius:7px}
.kai-gallery-caption{margin:12px 0 0;color:#6d685f;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.kai-gallery-error{position:absolute;inset:20% 20px auto;padding:16px;border-radius:10px;background:#fff7e8;color:#6d4a11;font-size:14px;line-height:1.5;text-align:center;pointer-events:none}
.kai-gallery :is(a,button):focus-visible{outline:3px solid #ad6900;outline-offset:3px}

/* Native modal dialog provides focus containment and an inert page underneath. */
.kai-gallery-lock{overflow:hidden!important}
.kai-lightbox{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#191919;color:#fff;font-family:inherit;box-sizing:border-box;overflow:hidden}
.kai-lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
.kai-lightbox::backdrop{background:#101010f5}
.kai-lightbox *{box-sizing:border-box}
.kai-lightbox-toolbar{display:flex;align-items:center;gap:12px;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid #ffffff1a;background:#222}
.kai-lightbox-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:600}
.kai-lightbox-count{flex-shrink:0;color:#d0cbc3;font-size:13px;font-variant-numeric:tabular-nums}
.kai-lightbox .kai-lightbox-control{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;min-height:46px;padding:0;border:1px solid #ffffff30;border-radius:50%;background:#ffffff0c;color:#fff;box-shadow:none;text-shadow:none;font:32px/1 Arial,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}
.kai-lightbox .kai-lightbox-control:hover{background:#f6a71c;color:#252525;border-color:#f6a71c}
.kai-lightbox .kai-lightbox-control:disabled{opacity:.35;cursor:default}
.kai-lightbox .kai-lightbox-original{display:flex;align-items:center;min-height:46px;padding:8px 10px;color:#ffcb74;font-size:13px;text-decoration:none;box-shadow:none}
.kai-lightbox .kai-lightbox-original:hover{text-decoration:underline}
.kai-lightbox-canvas{position:relative;min-height:0;overflow:hidden}
.kai-lightbox-media{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px 76px;overflow:hidden;touch-action:pan-y pinch-zoom}
.kai-lightbox .kai-lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:0;object-fit:contain;border:0;border-radius:4px;box-shadow:none;cursor:zoom-in}
.kai-lightbox-image.is-loading{opacity:.2}
.kai-lightbox-media.is-zoomed{display:block;overflow:auto;padding:0;touch-action:pan-x pan-y}
.kai-lightbox .is-zoomed .kai-lightbox-image{max-width:none;max-height:none;margin:auto;cursor:zoom-out}
.kai-lightbox .kai-lightbox-prev,.kai-lightbox .kai-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#252525d9}
.kai-lightbox-prev{left:18px}.kai-lightbox-next{right:18px}
.kai-lightbox-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:min(480px,75%);padding:16px 20px;margin:0;border-radius:12px;background:#252525ed;color:#eee;font-size:14px;line-height:1.6;text-align:center;pointer-events:none}
.kai-lightbox-footer{min-width:0;padding:8px 18px max(12px,env(safe-area-inset-bottom));background:#222}
.kai-lightbox-caption{max-height:70px;max-width:900px;overflow:auto;margin:0 auto 8px;text-align:center;line-height:1.5;font-size:14px;color:#e4dfd6;overflow-wrap:anywhere}
.kai-lightbox-thumbs{position:relative;display:flex;gap:8px;width:max-content;max-width:100%;margin:0 auto;overflow-x:auto;padding:4px;scrollbar-width:thin;scrollbar-color:#847763 transparent;overscroll-behavior-x:contain}
.kai-lightbox .kai-lightbox-thumb{flex:0 0 60px;width:60px;height:60px;min-height:0;margin:0;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#333;opacity:.55;cursor:pointer;box-shadow:none}
.kai-lightbox .kai-lightbox-thumb[aria-current="true"]{opacity:1;border-color:#f6a71c}
.kai-lightbox .kai-lightbox-thumb:hover{opacity:1}
.kai-lightbox .kai-lightbox-thumb img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border:0}
.kai-lightbox-hint{margin:6px 0 0;color:#afa79b;font-size:11px;text-align:center}
.kai-lightbox :is(a,button):focus-visible{outline:3px solid #f6a71c;outline-offset:3px}
@media(max-width:600px){
  .kai-gallery-heading{gap:10px}.kai-directory #main .kai-gallery-heading h3{font-size:18px}.kai-gallery-heading>span{font-size:12px}
  .kai-gallery-stage{height:300px;height:clamp(230px,75vw,360px);border-radius:12px}
  .kai-gallery-prev{left:8px}.kai-gallery-next{right:8px}
  .kai-gallery-expand{bottom:10px;right:10px;padding:7px 10px}.kai-gallery-count{left:10px;bottom:12px}
  .kai-directory #main .kai-gallery .kai-gallery-thumb{flex-basis:68px;height:68px}
  .kai-lightbox-toolbar{gap:6px;flex-wrap:wrap;padding-inline:12px}.kai-lightbox-title{flex-basis:calc(100% - 60px);order:0}.kai-lightbox-close{order:1}.kai-lightbox-count{order:2;margin-right:auto}.kai-lightbox-zoom{order:3}.kai-lightbox-original{order:4}
  .kai-lightbox-media{padding:4px}.kai-lightbox .kai-lightbox-image{border-radius:0}.kai-lightbox-prev{left:8px}.kai-lightbox-next{right:8px}
  .kai-lightbox-footer{padding-inline:10px}.kai-lightbox-caption{font-size:13px;max-height:60px}
}
@media(max-height:500px){.kai-lightbox-toolbar{padding-block:6px;flex-wrap:nowrap}.kai-lightbox-title{flex-basis:auto;order:0}.kai-lightbox-count{order:0;margin:0}.kai-lightbox-zoom,.kai-lightbox-original{order:0}.kai-lightbox-close{order:0}.kai-lightbox-footer{padding-block:4px}.kai-lightbox-hint{display:none}.kai-lightbox .kai-lightbox-thumb{flex-basis:44px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.kai-gallery *,.kai-lightbox *{transition:none!important;scroll-behavior:auto!important}}
