/* v2.1.1: only teacher filters, pricing figures and photo gallery. */
.filters{display:flex;flex-wrap:wrap;align-items:end;gap:18px;padding:25px;border:1px solid var(--line);border-radius:16px;margin-bottom:25px;background:var(--panel)}
.filters>div{min-width:180px}.filters label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.filters select{appearance:auto;width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--bg);color:var(--ink);min-height:46px;font:inherit}
.filters #location-picker{border-radius:40px;padding:13px 25px;min-height:50px;border:1px solid var(--muted);background:transparent;color:var(--ink);font-size:13px;font-weight:700}
#teacher-location-dialog{width:min(950px,94vw);border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:20px;padding:25px}
.card-body .price{font-family:Georgia,'Times New Roman',serif;font-size:clamp(52px,4.8vw,68px);font-weight:400;letter-spacing:0;line-height:1.2}.card-body .price small{font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px}
.photo-reel{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;padding:20px 0 28px;scrollbar-color:var(--mint) var(--panel);scrollbar-width:thin;touch-action:pan-x pan-y}
.photo-reel figure{margin:0;align-self:flex-start;flex:0 0 auto;width:clamp(240px,35vw,460px);background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.photo-reel figure:hover{transform:translateY(-6px);box-shadow:0 20px 40px #0004}.photo-reel button{border:0;padding:0;background:transparent;display:block;width:100%;cursor:zoom-in}
.photo-reel img{display:block;width:100%;height:auto;object-fit:contain;background:color-mix(in srgb,var(--panel) 85%,#000);border-radius:0}.photo-reel figcaption{font-size:12px;padding:14px 18px;color:var(--muted)}
.reel-controls,.photo-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.reel-controls{justify-content:space-between;margin-bottom:12px}.reel-controls>div{display:flex;gap:10px}.photo-controls{justify-content:center;margin-top:16px}.photo-count{font-variant-numeric:tabular-nums;min-width:70px;text-align:center}
#photo-dialog{width:min(1200px,96vw);padding:48px 24px 24px}#photo-dialog img{width:100%;height:65dvh;max-height:65dvh;object-fit:contain;margin:auto}#photo-dialog p{text-align:center;margin:15px 0 0}
@media(max-width:600px){.filters{padding:18px;gap:12px}.filters>div{width:100%;min-width:0}.card-body .price{font-size:56px}.photo-reel figure{width:82vw}.photo-reel img{height:auto}.reel-controls{align-items:start}.reel-controls .button{padding:10px 15px}#photo-dialog{padding:46px 12px 20px}#photo-dialog img{height:55dvh}.photo-controls .button{padding:12px 17px}}
@media(prefers-reduced-motion:reduce){.photo-reel figure{transition:none}}
/* Intrinsic dimensions are SEO hints, not fixed display heights. */
img{height:auto}
.filters #reset-filters{border:0;border-bottom:1px solid var(--line);background:transparent;padding:6px 0;color:var(--mint)}

/* Teacher filter bar: match the supplied homepage reference. */
.filters{padding:0;border:0;border-radius:0;background:transparent;gap:16px;margin-bottom:30px;align-items:end}
.filters>div{min-width:0;width:auto}
.filters label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.filters #location-picker{display:flex;justify-content:space-between;min-width:156px;min-height:46px;padding:12px 17px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:14px;font-weight:400;line-height:20px;transform:none}
.filters #instrument-filter{min-width:185px;min-height:46px;padding:12px 15px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 70%,var(--muted));background:var(--panel);color:var(--ink);font-size:14px;line-height:20px}
.filters #reset-filters{font-size:13px;line-height:20px;padding:6px 0;min-height:34px;margin:0;font-weight:400}
.filters .result-count{font-size:11px;line-height:20px;margin:0 0 0 auto;color:var(--muted)}
@media(max-width:600px){.filters{gap:10px;padding:0}.filters>div{flex:1;min-width:130px;width:auto}.filters #location-picker,.filters #instrument-filter{width:100%;min-width:0;font-size:13px;padding:11px 12px}.filters .result-count{margin-left:auto}.filters label{font-size:10px}}

/* Supplied original photograph, Adult Learner pricing only. */
.adult-pricing-photo{display:none!important}
body[data-experience=adult] .adult-pricing-frame{min-height:0;align-self:center;overflow:hidden}
body[data-experience=adult] .adult-pricing-frame>img:not(.adult-pricing-photo){display:none}
body[data-experience=adult] .adult-pricing-frame>.adult-pricing-photo{display:block!important;position:static;width:100%;height:auto;max-height:none;object-fit:contain;filter:none;transform:none}
body[data-experience=adult] .adult-pricing-frame:after{display:none}
body[data-experience=adult] .adult-pricing-frame figcaption{position:static;padding:22px;background:var(--panel)}

/* Photo framing only: keep the complete photograph without letterboxing. */
.page-hero .hero-photo:has(>img[style*="object-fit:contain"]),
.page-hero .hero-photo.portrait{height:auto!important;min-height:0!important;max-height:none!important;align-self:start}
.page-hero .hero-photo:has(>img[style*="object-fit:contain"])>img,
.page-hero .hero-photo.portrait>img{display:block;position:relative!important;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important}
.teacher-portrait{height:auto!important}
.teacher-portrait img,.teacher-detail>img,.trial-dialog .teacher-detail>img{display:block;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:start;object-fit:contain!important}
.story-viewer img[src*=stage],.story-viewer img[src*=adult-candid-story3],
.story-photo img[style*="object-fit:contain"],.card>img[style*="object-fit:contain"]{display:block;width:100%;height:auto!important;max-height:none!important}
.full-bio-content header img,.biography-content header img{height:auto!important;max-height:none!important;align-self:start}
#photo-dialog img{display:block;width:auto;height:auto!important;max-width:100%;max-height:70dvh!important}
#recital-dialog .recital-teacher-card img{height:auto;align-self:center}
@media(max-width:600px){
 body[data-experience=adult] #home .hero-photo:has(img[src*=adult-candid]){bottom:auto;height:auto}
 body[data-experience=adult] #home .hero-photo img[src*=adult-candid]{height:auto!important;display:block}
 body[data-experience=adult] #journey img[src*=adult-candid]{height:auto!important;top:0;bottom:auto}
}

/* Uniform gallery windows: retain each complete photograph and head. */
.photo-reel figure>button{aspect-ratio:3/2;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--panel)}
.photo-reel figure>button>img{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:cover!important;object-position:center top!important;margin:0}
.photo-reel figure>figcaption{box-sizing:border-box;height:64px;display:flex;align-items:center;margin:0}

/* Individual gallery focal points after full-gallery review. */
.photo-reel figure>button>img[src$="gallery-added-mg_6917.webp"],.photo-reel figure>button>img[src$="gallery-added-mg_6517.webp"]{object-position:right top!important}

/* New gallery guitarist: preserve the full head, playing hands and right arm. */
.photo-reel figure>button>img[src$="gallery-added-mg_7385.webp"]{object-position:right top!important}
