.property-photo-hero{max-width:1400px;margin:0 auto;padding:0 24px 28px}.property-photo-hero__grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:8px;border-radius:18px;overflow:hidden;position:relative;background:#f2f3f5}.property-photo-hero__item{display:block;position:relative;overflow:hidden;background:#e9ecef}.property-photo-hero__item:first-child{grid-row:1 / span 2}.property-photo-hero__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.property-photo-hero__item:hover img{transform:scale(1.015)}.property-photo-hero__more{position:absolute;right:18px;bottom:18px;z-index:3;background:#fff;color:#1e1e1e;border:1px solid #d9d9d9;border-radius:10px;padding:10px 14px;font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.12)}.property-photo-tour{padding:42px 0 12px}.property-photo-tour__header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.property-photo-tour__tabs{display:flex;gap:10px;overflow:auto;padding-bottom:4px;margin-bottom:30px}.property-photo-tour__tab{white-space:nowrap;border:1px solid #ddd;border-radius:999px;padding:9px 14px;color:#222;background:#fff}.property-photo-tour__tab:hover{border-color:#111}.property-photo-area{margin-bottom:44px;scroll-margin-top:100px}.property-photo-area__title{font-size:26px;margin:0 0 18px}.property-photo-area__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.property-photo-area__image{display:block;min-height:260px;border-radius:14px;overflow:hidden;background:#f2f3f5}.property-photo-area__image:first-child:nth-last-child(n+3){grid-row:span 2;min-height:530px}.property-photo-area__image img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}.property-photo-area__caption{font-size:13px;color:#666;margin-top:6px}.property-photo-area__cell{min-width:0}@media(max-width:991px){.property-photo-hero{padding:0 15px 20px}.property-photo-hero__grid{grid-template-columns:2fr 1fr;grid-template-rows:200px 200px}.property-photo-hero__item:nth-child(n+4){display:none}.property-photo-area__grid{grid-template-columns:1fr 1fr}.property-photo-area__image,.property-photo-area__image:first-child:nth-last-child(n+3){min-height:260px;grid-row:auto}}@media(max-width:600px){.property-photo-hero__grid{grid-template-columns:1fr;grid-template-rows:300px}.property-photo-hero__item:not(:first-child){display:none}.property-photo-hero__item:first-child{grid-row:auto}.property-photo-area__grid{grid-template-columns:1fr}.property-photo-area__image,.property-photo-area__image:first-child:nth-last-child(n+3){min-height:280px}.property-photo-tour__header{align-items:flex-start;flex-direction:column}}

/* Phase 11: public listing gallery polish */
.property-photo-hero__more{font:inherit;cursor:pointer}.property-photo-hero__item:focus-visible,.property-photo-area__image:focus-visible,.property-photo-hero__more:focus-visible{outline:3px solid rgba(31,108,82,.38);outline-offset:3px}.property-photo-tour__tabs{position:sticky;top:76px;z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:10px 0 12px}.property-gallery-dialog{position:fixed;inset:0;z-index:10080;display:none;color:#fff}.property-gallery-dialog[aria-hidden="false"]{display:block}.property-gallery-dialog__backdrop{position:absolute;inset:0;background:rgba(9,13,17,.94)}.property-gallery-dialog__panel{position:relative;z-index:1;width:min(1180px,100%);height:100%;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding:18px 24px 20px}.property-gallery-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px}.property-gallery-dialog__header strong,.property-gallery-dialog__header span{display:block}.property-gallery-dialog__header strong{font-size:16px}.property-gallery-dialog__header span{margin-top:2px;color:#b8c0c7;font-size:12px}.property-gallery-dialog__close,.property-gallery-dialog__nav{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.property-gallery-dialog__close{width:42px;height:42px;border-radius:999px;font-size:18px}.property-gallery-dialog__stage{min-height:0;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:18px}.property-gallery-dialog__figure{margin:0;min-height:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.property-gallery-dialog__figure img{display:block;max-width:100%;max-height:calc(100vh - 245px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 18px 60px rgba(0,0,0,.32)}.property-gallery-dialog__figure figcaption{max-width:800px;padding:12px 16px 0;text-align:center;color:#d7dce0;font-size:13px}.property-gallery-dialog__nav{width:46px;height:46px;border-radius:999px;font-size:16px}.property-gallery-dialog__nav:disabled{opacity:.35;cursor:default}.property-gallery-dialog__areas{display:flex;gap:8px;overflow:auto;padding:12px 0 10px;scrollbar-width:thin}.property-gallery-dialog__area{white-space:nowrap;border:1px solid rgba(255,255,255,.22);background:transparent;color:#d9dee2;border-radius:999px;padding:8px 12px;cursor:pointer;font:inherit;font-size:12px}.property-gallery-dialog__area.is-active{background:#fff;color:#151a1e;border-color:#fff}.property-gallery-dialog__thumbs{display:flex;gap:8px;overflow:auto;padding:4px 0 0;scrollbar-width:thin}.property-gallery-dialog__thumb{flex:0 0 78px;width:78px;height:56px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#20262b;cursor:pointer}.property-gallery-dialog__thumb img{width:100%;height:100%;object-fit:cover;display:block}.property-gallery-dialog__thumb.is-active{border-color:#fff}.property-gallery-open{overflow:hidden}.property-gallery-dialog button:focus-visible{outline:3px solid rgba(255,255,255,.6);outline-offset:3px}
@media(max-width:767px){.property-photo-tour__tabs{top:64px}.property-gallery-dialog__panel{padding:10px 12px 14px;grid-template-rows:auto minmax(0,1fr) auto auto}.property-gallery-dialog__stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:7px}.property-gallery-dialog__nav{width:36px;height:36px}.property-gallery-dialog__figure img{max-height:calc(100vh - 250px);border-radius:8px}.property-gallery-dialog__thumb{flex-basis:64px;width:64px;height:48px}}
@media(prefers-reduced-motion:reduce){.property-photo-hero__item img{transition:none}}

/* Secondary/unassigned photos should support the room tour, not compete with the hero. */
.property-photo-area--additional{margin-top:8px;margin-bottom:24px;padding-top:4px;border-top:1px solid #eceff1}
.property-photo-area--additional .property-photo-area__title{font-size:20px;margin:18px 0 12px}
.property-photo-area--additional .property-photo-area__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.property-photo-area--additional .property-photo-area__image,
.property-photo-area--additional .property-photo-area__image:first-child:nth-last-child(n+3){min-height:0;grid-row:auto;aspect-ratio:4 / 3;border-radius:10px}
.property-photo-area--additional .property-photo-area__caption{font-size:12px;line-height:1.35;margin-top:5px}
@media(max-width:991px){.property-photo-area--additional .property-photo-area__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.property-photo-area--additional .property-photo-area__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.property-photo-area--additional .property-photo-area__title{font-size:18px}}
