html body.page.app .detail.detail-action-layout{
 padding-bottom:calc(var(--detail-actions-height,120px) + env(safe-area-inset-bottom,0px) + 24px);
 scroll-padding-bottom:calc(var(--detail-actions-height,120px) + env(safe-area-inset-bottom,0px) + 24px);
}
html body.page.app .detail.detail-action-layout .fullgallery>.photo-stage{
 max-height:max(0px,calc(100dvh - var(--detail-actions-height,120px) - var(--detail-header-height,64px) - env(safe-area-inset-bottom,0px) - 24px));
 min-height:0;
}
html body.page.app .detail .photo-controls.detail-action-row{
 position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));
 bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;
 display:grid;align-items:stretch;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;
 box-sizing:border-box;padding:8px;border:3px solid #512888;border-radius:8px;background:#fff;
}
html body.page.app .detail .detail-action-row>button{
 min-width:0;min-height:44px;width:100%;box-sizing:border-box;padding:6px 2px;
 font-size:.875rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere;
 border:3px solid #512888;border-radius:6px;background:#fff;color:#512888;font-weight:700;
}
html body.page.app .detail .detail-action-row>.photo-prev{grid-column:1;grid-row:1}
html body.page.app .detail .detail-action-row>.photo-next{grid-column:2;grid-row:1}
html body.page.app .detail .detail-action-row>.detail-action-more{grid-column:3;grid-row:1;animation:detail-more-attention 2.6s ease-in-out infinite}
html body.page.app .detail .detail-action-row>.detail-action-nearby{grid-column:4;grid-row:1}
html body.page.app .detail .detail-action-row>.detail-action-back{grid-column:1/3;grid-row:2}
html body.page.app .detail .detail-action-row>.detail-action-neighborhood{grid-column:3/5;grid-row:2}
html body.page.app .detail .detail-action-row>.photo-count{grid-column:1/3;grid-row:3;align-self:center}
html body.page.app .detail .detail-action-row>.photo-zoom{grid-column:3/5;grid-row:3}
html body.page.app .detail .detail-action-row>.detail-action-more:is(:hover,:focus-visible){animation-play-state:paused}
html body.page.app .detail .detail-action-row>.detail-action-more[aria-expanded=true]{animation:none}
@keyframes detail-more-attention{0%,100%{box-shadow:0 0 0 0 rgba(81,40,136,.25)}50%{box-shadow:0 0 0 4px rgba(81,40,136,.08)}}
@media(prefers-reduced-motion:reduce){html body.page.app .detail .detail-action-row>button{animation:none!important;transition:none!important}}

/* Desktop: the photo and its boxed actions/information share one fixed frame.
   Narrow screens retain the existing stacked gallery and fixed action box. */
.detail-workspace,.detail-information{display:contents}
.detail-photo-status{margin:8px;padding:8px;border:2px solid #512888;color:#1d2a24;background:#fff;font-size:1rem;line-height:1.3}
.detail-photo-status[hidden]{display:none!important}
@media(min-width:901px){
 html body.page.app .detail.detail-action-layout:not([hidden]){
  display:flex;flex-direction:column;overflow:hidden;padding-bottom:0;scroll-padding-bottom:0;
 }
 html body.page.app .detail.detail-action-layout>.detail-bar,
 html body.page.app .detail.detail-action-layout>.same-location{flex:none}
 html body.page.app .detail.detail-action-layout>.same-location{max-height:25dvh;overflow:auto}
 html body.page.app .detail.detail-action-layout>.detail-workspace{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(20rem,1fr);
  flex:1 1 0;min-height:0;min-width:0;overflow:hidden;gap:0;
 }
 html body.page.app .detail .detail-workspace>.fullgallery{
  min-height:0;min-width:0;height:100%;overflow:hidden;
 }
 html body.page.app .detail.detail-action-layout .detail-workspace .fullgallery>.photo-stage{
  height:100%;max-height:none;min-height:0;box-sizing:border-box;
  overflow:auto;overscroll-behavior:contain;
 }
 html body.page.app .detail .detail-workspace>.detail-information{
  display:block;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;
  scrollbar-gutter:stable;scroll-padding:12px;padding:0 8px 12px;box-sizing:border-box;
 }
 html body.page.app .detail .detail-information>.photo-controls.detail-action-row{
  position:relative;inset:auto;z-index:auto;width:100%;margin:8px 0 12px;
 }
 html body.page.app .detail .detail-information>.property-detail-more,
 html body.page.app .detail .detail-information>.detail-credit{padding:8px}
 html body.page.app .detail .detail-information .detail-body{max-width:none;padding:8px}
 html body.page.app .detail .detail-information :is(button,a,summary):focus-visible{
  outline:3px solid #512888;outline-offset:-3px;
 }
}

/* Owner: adjacent photo controls, never a bottom control bar. */
html body.page.app .detail.detail-adjacent-controls:not([hidden]){display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
html body.page.app .detail.detail-adjacent-controls>.detail-bar{flex:none}
html body.page.app .detail.detail-adjacent-controls>.detail-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;flex:1;min-height:0;overflow:hidden}
html body.page.app .detail.detail-adjacent-controls .fullgallery{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden}
html body.page.app .detail.detail-adjacent-controls .fullgallery>.photo-stage{height:100%;max-height:none;min-height:0;box-sizing:border-box}
html body.page.app .detail.detail-adjacent-controls .photo-controls{position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;background:transparent;padding:0;pointer-events:none}
html body.page.app .detail.detail-adjacent-controls .photo-controls>button{pointer-events:auto;min-height:44px;max-width:110px}
html body.page.app .detail.detail-adjacent-controls .photo-prev{justify-self:start}
html body.page.app .detail.detail-adjacent-controls .photo-count{position:absolute;left:8px;top:54px;background:#fff;color:#512888;padding:4px 6px;pointer-events:none}
html body.page.app .detail.detail-adjacent-controls .detail-information{display:block;overflow:auto;padding:12px 8px;min-width:0;min-height:0;background:#fff}
html body.page.app .detail.detail-adjacent-controls .detail-photo-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;position:sticky;top:0;background:#fff;z-index:2;padding-bottom:8px}
html body.page.app .detail.detail-adjacent-controls .detail-photo-tabs>button{min-height:44px;white-space:normal;border:2px solid #512888;border-radius:4px;background:#fff;color:#512888;font:inherit;font-size:14px;font-weight:700;padding:4px}
html body.page.app .detail.detail-adjacent-controls .detail-photo-tabs>button[aria-selected=true]{background:#512888;color:#fff}
html body.page.app .detail.detail-adjacent-controls .detail-tab-panels>[hidden]{display:none!important}
html body.page.app .detail.detail-adjacent-controls .detail-credit{font-size:12px;padding:8px 0}
html body.page.app .detail.detail-adjacent-controls .detail-credit p{font-size:12px!important;line-height:1.2}
@media(max-width:600px){html body.page.app .detail.detail-adjacent-controls>.detail-workspace{grid-template-columns:minmax(0,1fr) 118px}html body.page.app .detail.detail-adjacent-controls .detail-photo-tabs{grid-template-columns:1fr}html body.page.app .detail.detail-adjacent-controls .photo-controls{left:3px;right:3px;gap:2px}html body.page.app .detail.detail-adjacent-controls .photo-controls>button{font-size:14px;padding:5px;max-width:90px}}

html body.page.app .detail.detail-adjacent-controls .photo-count{top:calc(100% + 8px)}
html body.page.app .detail.detail-adjacent-controls .detail-information,html body.page.app .detail.detail-adjacent-controls .detail-tab-panels{box-sizing:border-box;overflow-wrap:anywhere}
html body.page.app .detail.detail-adjacent-controls .detail-photo-tabs{min-width:0}
html body.page.app .detail.detail-adjacent-controls .detail-photo-tabs>button{min-width:0;overflow-wrap:anywhere;box-sizing:border-box}
html body.page.app .detail.detail-adjacent-controls .facts-grid{display:block;min-width:0}
html body.page.app .detail.detail-adjacent-controls .facts-grid>:is(dt,dd){min-width:0;overflow-wrap:anywhere;margin-left:0}

@media(max-width:600px){html body.page.app .detail.detail-adjacent-controls .detail-photo-tabs>button{font-size:12px}}

/* Latest owner order: grouped bottom actions; selected information replaces photos. */
html body.page.app .detail.detail-adjacent-controls>.detail-workspace{display:block;position:relative;flex:1 1 0;min-width:0;min-height:0}
html body.page.app .detail.detail-adjacent-controls .detail-workspace>.fullgallery,
html body.page.app .detail.detail-adjacent-controls .detail-workspace>.detail-information{width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box}
html body.page.app .detail.detail-adjacent-controls .detail-workspace>[hidden]{display:none!important}
html body.page.app .detail.detail-adjacent-controls .detail-information{overflow:auto;padding:12px 16px}
html body.page.app .detail.detail-adjacent-controls>.detail-bottom-actions{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px calc(8px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#fff}
html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-photo-tabs{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:0;width:min(480px,100%);flex:none;background:transparent}
html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-credit{padding:0;max-width:650px;min-width:0}
html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-credit p{margin:2px 0;font-size:12px!important;line-height:1.35}
/* 2026-10-31 NEFMLS 13.2(F): the listing firm line in See More is the same size as the listing facts (15px), never smaller */
html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-credit p.courtesy-full{font-size:1.9rem!important;line-height:1.25;overflow-wrap:anywhere;font-weight:700;color:#1d2a24}
html body.page.app .detail.detail-adjacent-controls .detail-return-photos{min-height:44px;margin:0 0 12px;padding:6px 12px;border:2px solid #512888;background:#fff;color:#512888;font:inherit;font-weight:700}
html body.page.app .detail.detail-adjacent-controls .detail-tab-panels{max-width:1000px;margin:0 auto}
@media(max-width:700px){
 html body.page.app .detail.detail-adjacent-controls>.detail-bottom-actions{flex-direction:column-reverse;gap:5px;padding:5px 8px calc(6px + env(safe-area-inset-bottom,0px))}
 html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-photo-tabs{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
 html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-credit{width:100%}
 html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-photo-tabs>button{font-size:14px}
}
/* v18 Dave 10-31 (written notes): See More + Listing in a column under Previous photo; Nearby + Neighborhood in a column under Next photo; photo count in the bottom-left corner of the photo */
html body.page.app .detail.detail-adjacent-controls .photo-controls{grid-template-columns:auto 1fr auto auto!important;align-items:start!important}
html body.page.app .detail.detail-adjacent-controls .photo-controls>.ctl-side{display:flex;flex-direction:column;gap:6px;pointer-events:none}
html body.page.app .detail.detail-adjacent-controls .photo-controls>.ctl-left{grid-column:1;justify-self:start}
html body.page.app .detail.detail-adjacent-controls .photo-controls>.ctl-right{grid-column:3;justify-self:end}
html body.page.app .detail.detail-adjacent-controls .photo-controls>.photo-zoom{grid-column:4}
html body.page.app .detail.detail-adjacent-controls .ctl-side>button,html body.page.app .detail.detail-adjacent-controls .tabcol>button{pointer-events:auto;min-height:44px;width:110px;max-width:110px;box-sizing:border-box}
html body.page.app .detail.detail-adjacent-controls .tabcol{display:flex;flex-direction:column;gap:6px}
html body.page.app .detail.detail-adjacent-controls .tabcol>button{border:3px solid #512888;border-radius:6px;background:#fff;color:#512888;font:inherit;font-size:.8rem;font-weight:700;padding:.4rem .5rem;white-space:normal}
html body.page.app .detail.detail-adjacent-controls .tabcol>button[aria-selected=true]{background:#512888;color:#fff}
html body.page.app .detail .fullgallery .photo-stage{position:relative}
html body.page.app .detail.detail-adjacent-controls .photo-count.photo-count-corner{position:absolute!important;left:8px!important;bottom:8px!important;top:auto!important;right:auto!important;z-index:3;background:#fff;color:#512888;padding:4px 8px;border:3px solid #512888;border-radius:6px;font-weight:700;pointer-events:none}
@media(max-width:600px){html body.page.app .detail.detail-adjacent-controls .ctl-side>button,html body.page.app .detail.detail-adjacent-controls .tabcol>button{width:90px;max-width:90px;font-size:12px;padding:4px}}
@media(max-width:600px){html body.page.app .detail.detail-adjacent-controls .tabcol>button{font-size:11px;letter-spacing:-.02em;padding:4px 2px}}
/* v18 Dallas/dj: MLS caption for staged/virtual/rendered photos, shown UNDER the photo (never drawn on it) */
html body.page.app .detail .fullgallery .photo-slide.has-photo-note{display:flex!important;flex-direction:column}
html body.page.app .detail .fullgallery .photo-slide.has-photo-note[hidden]{display:none!important}
html body.page.app .detail .fullgallery .photo-slide.has-photo-note>img{flex:1 1 auto;min-height:0;object-fit:contain}
html body.page.app .detail .photo-note{flex:none;margin:0;padding:6px 10px;background:#fff;color:#1d2a24;font-size:14px;font-weight:700;line-height:1.3;border-top:3px solid #512888;text-align:center}
html body.page.app [data-cards]>.card .card-photo-note{display:block;margin:0;padding:2px 6px;background:#fff;color:#1d2a24;font-size:12px;font-weight:700;line-height:1.2;border-top:3px solid #512888}
/* v20 Dave 11-01 08:04Z: the small buttons by Previous/Next (See More, Listing, Nearby, Neighborhood) get smaller so they cover less of the photo */
html body.page.app .detail.detail-adjacent-controls .tabcol>button{width:92px!important;max-width:92px!important;min-height:30px!important;font-size:11.5px!important;white-space:nowrap!important;line-height:1.15;padding:3px 4px!important;border-width:2px!important}
html body.page.app .detail.detail-adjacent-controls .tabcol{gap:4px!important}
@media(max-width:600px){html body.page.app .detail.detail-adjacent-controls .tabcol>button{width:82px!important;max-width:82px!important;min-height:28px!important;font-size:10.5px!important;white-space:nowrap!important;padding:2px!important}}
/* v20 Dave 11-01 08:15Z + Dallas 08:2xZ (13.2(F) relative size): price heading and the "Listed by" line shrink TOGETHER to 20px; the line stays at least as big as any listing text on the page; normal weight, dark text */
html body.page.app .detail .detail-body h1{font-size:20px!important;line-height:1.25}
html body.page.app .detail .detail-body .courtesy-full,html body.page.app .detail.detail-adjacent-controls .detail-bottom-actions>.detail-credit p.courtesy-full{font-size:20px!important;line-height:1.3;font-weight:400!important;color:#1d2a24!important;margin:.5rem 0 .3rem}
/* v23 Dave 11-02 00:0xZ: See More, Listing, Nearby and Neighborhood the SAME size as Previous photo, Next photo and Zoom photo; positions unchanged (replaces the v20 shrink) */
html body.page.app .detail.detail-adjacent-controls .photo-controls>button,html body.page.app .detail.detail-adjacent-controls .ctl-side>button,html body.page.app .detail.detail-adjacent-controls .tabcol>button{width:110px!important;max-width:110px!important;min-height:52px!important;height:auto!important;box-sizing:border-box!important;font-size:.875rem!important;font-weight:700!important;line-height:1.15!important;padding:6px 3px!important;border-width:3px!important;border-style:solid!important;border-radius:6px!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;letter-spacing:0!important;text-align:center}
@media(max-width:600px){html body.page.app .detail.detail-adjacent-controls .photo-controls>button,html body.page.app .detail.detail-adjacent-controls .ctl-side>button,html body.page.app .detail.detail-adjacent-controls .tabcol>button{width:96px!important;max-width:96px!important;min-height:46px!important;font-size:12px!important;padding:4px 2px!important}}
