
/* OSJ clinic and media layout refinement - 24 October 2026 */
/* Cards have consistent inset photography and balanced typography. */
.locations-grid,.premium-clinics .locations-grid{align-items:stretch;gap:24px!important}
.locations-grid .location-card,.premium-clinics .location-card{box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:24px!important;overflow:hidden;border-radius:28px!important;background:#fffafa!important;border:1px solid rgba(192,135,149,.22)!important}
.locations-grid .location-card .loc-num{margin:0 0 16px 0!important}
.locations-grid .location-card .clinic-thumb,.premium-clinics .location-card .clinic-thumb{margin:0 0 22px!important;width:100%;height:auto!important;aspect-ratio:1.48/1;flex:0 0 auto;border-radius:20px!important;overflow:hidden;background:#fff2ed}
.locations-grid .location-card .clinic-thumb img,.premium-clinics .location-card .clinic-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.locations-grid .location-card h3{margin:0 0 13px!important;font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1.25}
.locations-grid .location-card>p{min-height:0!important;margin:0 0 22px!important;line-height:1.7!important;flex:1;color:#71545e}
.locations-grid .location-card .location-actions{margin-top:auto!important;padding-top:15px!important;border-top:1px solid rgba(189,123,141,.23);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
/* Uniform treatment card image containers regardless of original format. */
.service-directory-grid,.home-service-grid{align-items:stretch}
.service-directory-grid .service-card,.home-service-grid .service-card{height:100%;box-sizing:border-box;display:flex;flex-direction:column}
.service-directory-grid .service-card .service-thumb,.home-service-grid .service-card .service-thumb{display:block!important;width:calc(100% + 50px);margin:-26px -25px 18px!important;height:190px!important;flex:0 0 190px!important;overflow:hidden;border-radius:18px 18px 12px 12px!important;background:#fff3f1!important}
.service-directory-grid .service-card .service-thumb img,.home-service-grid .service-card .service-thumb img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;transition:transform .3s ease}
.service-directory-grid .service-card:hover .service-thumb img,.home-service-grid .service-card:hover .service-thumb img{transform:scale(1.025)!important}
.service-directory-grid .service-card h3,.home-service-grid .service-card h3{line-height:1.35;min-height:2.65em}
.service-directory-grid .service-card p,.home-service-grid .service-card p{flex:1}
/* Reels: only player boxes; remove Instagram secondary captions. Instagram itself controls iframe chrome. */
.osj-reels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.osj-reel-card{border-radius:20px!important;overflow:hidden;background:#fff!important;border:1px solid #f0dce0;box-shadow:0 15px 34px rgba(101,62,78,.1)}
.osj-reel-card .osj-reel-caption,.osj-reel-card .reels-help{display:none!important}
.osj-reel-frame{aspect-ratio:9/16!important;overflow:hidden}
.osj-reel-frame iframe{width:100%!important;height:100%!important;border:0;display:block}
/* Room around gallery: image source itself is upright and will not be reoriented by CSS. */
.location-photo{overflow:hidden}
.clinic-gallery a img{object-fit:cover;object-position:center}
@media(max-width:960px){.osj-reels-grid{gap:14px}.locations-grid,.premium-clinics .locations-grid{gap:18px!important}}
@media(max-width:740px){
 .locations-grid,.premium-clinics .locations-grid{grid-template-columns:1fr!important}
 .locations-grid .location-card,.premium-clinics .location-card{padding:18px!important}
 .locations-grid .location-card .clinic-thumb,.premium-clinics .location-card .clinic-thumb{aspect-ratio:1.5/1}
 .service-directory-grid .service-card .service-thumb,.home-service-grid .service-card .service-thumb{width:calc(100% + 44px);margin:-22px -22px 16px!important;height:180px!important;flex-basis:180px!important}
 .osj-reels-grid{grid-template-columns:1fr!important;max-width:430px;margin:0 auto;gap:22px}
}

/* Instagram reels: mask the third-party embed's profile chrome as far as its iframe permits.
   Instagram can change its own player layout; true bare-video embeds are not exposed. */
.osj-reel-frame{position:relative;aspect-ratio:9/15.5!important}
.osj-reel-frame iframe{position:absolute;top:-76px;left:0;height:calc(100% + 170px)!important;width:100%!important;max-width:none;border:0}
@media(max-width:740px){.osj-reel-frame{aspect-ratio:9/15.2!important}.osj-reel-frame iframe{top:-68px;height:calc(100% + 160px)!important}}
