.store-profile{width:100%;margin:0}
.store-profile__cover{height:220px;overflow:hidden;border-radius:0;background:linear-gradient(120deg,#101240,#272952);position:relative;isolation:isolate}
.store-profile__cover::before,.store-profile__cover::after{position:absolute;content:"";border:34px solid rgba(255,255,255,.055);width:280px;height:280px;border-radius:50%;right:-50px;top:-155px;z-index:-1}
.store-profile__cover::after{right:180px;top:80px;width:210px;height:210px;border-width:24px}
.store-profile__panel,.loyalty-info{max-width:780px;margin-left:max(24px,calc((100% - 1192px)/2));margin-right:max(24px,calc((100% - 1192px)/2))}
.store-profile__panel{position:relative;margin-top:-46px;margin-bottom:0;padding:26px 28px 20px;background:var(--paper);border:1px solid var(--line);border-radius:20px}
.store-profile__identity{display:flex;align-items:center;gap:16px;min-width:0}
.store-profile__logo{width:64px;height:64px;object-fit:contain;flex:0 0 auto;border-radius:16px;background:var(--soft)}
.store-profile__name{font-size:24px;line-height:1.2;font-weight:750;margin:0 0 7px;overflow-wrap:anywhere}
.store-profile__location{margin:0;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.store-profile__status{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;width:fit-content;max-width:100%;margin:22px 0 10px;padding:7px 10px;border-radius:8px;background:#edf7f1;color:#186344;font-size:13px}
.store-profile__status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.store-profile__status[data-state="paused"],.store-profile__status[data-state="loading"]{background:var(--soft);color:var(--muted)}
.store-profile__status strong{font-weight:650}
.store-profile__more{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:4px;padding:8px 0;background:transparent;border:0;color:var(--ink);font-size:14px;font-weight:650;text-align:left}
.store-profile__more span[aria-hidden]{color:var(--accent)}
#store-profile-details{display:grid;gap:8px;margin:0 0 22px;overflow-wrap:anywhere}
#store-profile-details p{margin:0;color:var(--muted);font-size:14px}
#store-profile-details b{color:var(--ink)}
#hours-modal .store-profile-dialog-title{font-size:28px;margin:0 32px 20px 0}
#hours-modal h3{font-size:17px;margin:0 0 6px}
html[data-theme="dark"] .store-profile__status[data-state="open"]{background:#193b2d;color:#a6e3c1}
@media(max-width:640px){

 .store-profile__cover{height:165px;border-radius:0}
 .store-profile__panel,.loyalty-info{margin-left:16px;margin-right:16px}
 .store-profile__panel{margin-top:-34px;padding:22px 18px 18px;border-radius:18px}
 .store-profile__identity{gap:13px}
 .store-profile__logo{width:50px;height:50px;border-radius:13px}
 .store-profile__name{font-size:20px;margin-bottom:5px}
 .store-profile__location{font-size:13px}
 .store-profile__status{margin-top:19px;font-size:12px}
}
/* The profile cover reaches the viewport; only the information card has side margins. */
.store-profile__cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.store-profile__cover img[hidden]{display:none}
.store-profile__status{position:relative}
.store-profile__status::before{box-shadow:0 0 0 0 currentColor;animation:store-status-pulse 2.8s ease-out infinite}
.store-profile__status[data-state="closed"]{background:#fff0f1;color:#a92c39}
.store-profile__status[data-state="paused"],.store-profile__status[data-state="loading"]{background:var(--soft);color:var(--muted)}
.store-profile__status[data-state="paused"]::before,.store-profile__status[data-state="loading"]::before{animation:none}
@keyframes store-status-pulse{0%,15%{box-shadow:0 0 0 0 currentColor}75%,100%{box-shadow:0 0 0 7px transparent}}
html.store-info-open{overflow:hidden;overscroll-behavior:none}
/* Override the global mobile bottom-sheet margin on dialog, using the native top layer. */
#hours-modal{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-width:none;height:fit-content;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0;border-radius:22px;overflow:hidden;background:var(--paper)}
#hours-modal[open]{display:flex;flex-direction:column;animation:store-info-enter .18s ease-out}
#hours-modal::backdrop{background:rgba(7,8,35,.66);backdrop-filter:blur(3px)}
.store-info-head{display:flex;flex:0 0 auto;align-items:center;gap:12px;padding:20px 20px 14px;background:var(--paper)}
#hours-modal .store-info-head h2{flex:1;min-width:0;margin:0;font-size:25px;line-height:1.2;letter-spacing:-.035em}
.store-info-head .close{flex:0 0 44px}
#hours-modal .store-info-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 20px 24px;scrollbar-gutter:stable}
#hours-modal #opening-hours p{gap:12px;font-size:14px}
.store-payment-info{margin-top:26px}
.store-payment-info>p{font-size:13px;color:var(--muted);margin:6px 0 14px}
#store-payment-methods{list-style:none;padding:0;margin:0}
#store-payment-methods li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.store-payment-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:var(--soft);color:var(--accent)}
.store-payment-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#store-payment-methods b{display:block;font-size:14px}
#store-payment-methods div>span{display:block;font-size:13px;color:var(--muted)}
@keyframes store-info-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:640px){
 #hours-modal .store-info-head h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.store-profile__status::before,#hours-modal[open]{animation:none}}
.loyalty-info{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink)}
.loyalty-info[hidden]{display:none}
.loyalty-info h2{display:flex;align-items:flex-start;gap:10px;margin:0 0 9px;font-size:16px;font-weight:750;line-height:1.4}
.loyalty-info h2 svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.loyalty-info p{margin:0;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
