/* Location artwork stays separate from actual, sourced store photographs. */
.result-card{grid-template-columns:128px minmax(0,1fr)}
.result-card .store-photo{height:154px;position:relative}
.store-photo.awaiting-photo{padding:12px;text-align:center}
.store-photo.awaiting-photo small{font-size:11px;line-height:1.4;color:#694953}
.store-photo.awaiting-photo .store-region{letter-spacing:0;font-size:11px;line-height:1.4}
.store-photo.has-photo{position:relative;background:#eee8e3}
.store-photo.has-photo>img{width:100%;height:100%;object-fit:cover;display:block}
.store-photo .photo-label{position:absolute;bottom:6px;left:6px;right:6px;padding:4px;background:#fffaf4;color:#573a46;font-size:11px;line-height:1.3;text-align:center;border-radius:3px;margin:0}
.store-photo.brand-tile{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;padding:17px 10px 10px;overflow:hidden;isolation:isolate;border:1px solid #e7d8d2;text-align:center;background:#fff7ef;color:#6c253b;height:183px}
.store-photo.brand-tile::before{content:'';position:absolute;width:200%;height:150%;left:28%;top:28%;border:30px solid #e9c3c05e;border-radius:50%;z-index:-1;transform:rotate(-24deg)}
.store-photo.brand-ulta{background:#fff6e9;color:#763f2f;border-color:#ebd2be}
.result-card .store-photo.brand-sally{background:#fff7ef;color:#6c253b}
.result-card .store-photo.brand-ulta{background:#fff6e9;color:#763f2f}
.store-photo.brand-ulta::before{border-color:#f4b37a45;left:-135%;top:-10%}
.brand-mark{display:flex;align-items:center;justify-content:center;width:100%;min-height:29px}
.store-photo .brand-mark img{position:static;object-fit:contain;width:100%;max-width:155px;height:35px;display:block}
.store-photo.brand-ulta .brand-mark img{height:40px}
.brand-place{width:100%;position:relative}
.brand-place strong{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.1;font-weight:400;letter-spacing:-.04em;display:block;overflow-wrap:anywhere}
.brand-place span{display:block;font-size:10px;line-height:1.35;margin-top:5px}
.store-photo.brand-tile small{font-family:'Outfit',Arial,sans-serif;font-size:11px;line-height:1.25;color:#6b4a48;margin:0;position:relative}
.detail-brand{margin-bottom:30px;position:relative}
.detail-brand .brand-tile{height:253px;position:relative;padding:27px 24px 20px;border-radius:10px;gap:16px}
.detail-brand .brand-mark img{max-width:210px;height:52px}
.detail-brand .brand-ulta .brand-mark img{height:60px}
.detail-brand .brand-place strong{font-size:44px}
.detail-brand .brand-place span{font-size:13px}
.detail-brand .brand-tile small{font-size:12px}
.photo-credit{font-size:12px;line-height:1.6;color:#715561;margin:10px 0 24px}
.photo-credit a{color:#752c45;text-decoration:underline}
.detail-gallery.photo-count-1{grid-template-columns:1fr}
.detail-gallery.photo-count-2{grid-template-columns:1fr 1fr}
.detail-gallery.photo-count-1 .store-photo,.detail-gallery.photo-count-2 .store-photo{height:100%}
.detail-gallery .photo-label{left:10px;right:auto;bottom:10px;padding:5px 8px}
.detail-gallery.photo-count-1 .store-photo>img{object-position:center 45%}
@media(max-width:700px){
 .result-card{grid-template-columns:100px minmax(0,1fr);gap:13px}
 .result-card .store-photo{height:137px}
 .result-card .brand-tile{height:183px;padding:14px 8px 10px;gap:10px}
 .brand-place strong{font-size:20px}
 .brand-place span{font-size:11px}
 .store-photo .brand-mark img{height:28px}
 .store-photo.brand-ulta .brand-mark img{height:34px}
 .store-photo .photo-label{font-size:10px}
 .detail-brand .brand-tile{height:237px}
 .detail-brand .brand-place strong{font-size:36px}
 .detail-gallery:not(.no-photos){height:220px}
 .detail-gallery.photo-count-2 .store-photo:nth-child(2){display:block}
 .photo-credit{font-size:12px}
}
@media(max-width:360px){.result-card{grid-template-columns:88px minmax(0,1fr);gap:10px}.brand-place strong{font-size:18px}.result-card .brand-tile{height:190px}.store-photo.awaiting-photo{padding:8px}}
/* Long sourced place names can grow; never clip them to a fixed artwork height. */
.result-card .brand-tile{height:auto;min-height:183px}
.detail-brand .brand-tile{height:auto;min-height:253px}
@media(max-width:700px){.detail-brand .brand-tile{min-height:237px}}
@media(max-width:360px){.result-card .brand-tile{min-height:190px}}
