.stores-page { --stores-green:#2fb14a; --stores-ink:#111827; --stores-muted:#6b7280; --stores-surface:#f6f7f8; --stores-border:rgba(17,24,39,.1); min-height:60vh; padding-top:76px; background:#fff; color:var(--stores-ink); }
.stores-page *, .stores-page *::before, .stores-page *::after { box-sizing:border-box; }
.stores-page a { color:inherit; text-decoration:none; }
.stores-container { width:min(1240px,100%); margin:0 auto; padding:10px 20px 72px; }
.stores-page-header { max-width:900px; margin-bottom:32px; }
.stores-page-header > p { margin:14px 0 0; color:var(--stores-muted); font-size:18px; line-height:1.6; }
.store-locator { display:grid; grid-template-columns:380px minmax(0,1fr); min-height:650px; overflow:hidden; border:1px solid var(--stores-border); border-radius:18px; background:var(--stores-surface); }
.store-locator-panel { display:flex; flex-direction:column; min-width:0; border-right:1px solid var(--stores-border); }
.store-search-card { padding:24px; border-bottom:1px solid var(--stores-border); background:#fff; }
.store-search-card h2 { margin:0 0 8px; padding:0; color:var(--stores-ink); font-size:26px; line-height:1.2; }
.store-search-card p { margin:0 0 16px; color:var(--stores-muted); font-size:15px; line-height:1.5; }
.store-search-card label { display:block; margin-bottom:7px; color:var(--stores-ink); font-size:13px; font-weight:700; }
.store-search-form { display:grid; gap:8px; }
.store-location-field { position:relative; min-width:0; }
.store-location-field input { width:100%; min-width:0; padding:11px 112px 11px 12px; border:1px solid var(--stores-border); border-radius:10px; color:var(--stores-ink); font:inherit; background:#fff; }
.store-location-field input:focus { outline:2px solid rgba(47,177,74,.25); border-color:var(--stores-green); }
.store-location-field #store-geolocate { position:absolute; top:4px; right:4px; bottom:4px; padding:0 10px; border:0; border-left:1px solid var(--stores-border); border-radius:0 7px 7px 0; background:#fff; color:var(--stores-green); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.store-search-submit { width:100%; padding:11px 13px; border:1px solid var(--stores-green); border-radius:10px; background:var(--stores-green); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.store-location-field #store-geolocate:focus-visible,.store-search-submit:focus-visible { outline:2px solid rgba(47,177,74,.35); outline-offset:2px; }
.store-search-card .store-search-status { min-height:20px; margin:10px 0 0; color:var(--stores-muted); font-size:13px; }
.store-results { display:flex; flex-direction:column; gap:12px; overflow-y:auto; padding:18px; }
.store-results-placeholder { margin:0; color:var(--stores-muted); font-size:15px; line-height:1.5; }
.store-result-card { padding:16px; border:1px solid var(--stores-border); border-radius:14px; background:#fff; }
.store-result-card.is-selected { border-color:var(--stores-green); box-shadow:0 0 0 2px rgba(47,177,74,.12); }
.store-result-card h3 { margin:0 0 8px; padding:0; color:var(--stores-ink); font-size:19px; line-height:1.25; }
.store-result-card p { margin:5px 0; color:var(--stores-muted); font-size:14px; line-height:1.45; }
.store-result-distance { color:var(--stores-green)!important; font-weight:700; }
.store-result-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.store-result-actions a { padding:8px 10px; border:1px solid var(--stores-green); border-radius:8px; color:var(--stores-green); font-size:13px; font-weight:700; }
.store-map-card { min-width:0; min-height:650px; background:#e5e7eb; }
#store-map { width:100%; height:100%; min-height:650px; }
.stores-content-card { margin-top:32px; padding:28px; border:1px solid var(--stores-border); border-radius:16px; background:var(--stores-surface); }
.stores-content-card h2 { margin:0 0 12px; padding:0; color:var(--stores-ink); font-size:28px; line-height:1.2; }
.stores-content-card p { margin:0; color:var(--stores-muted); font-size:17px; line-height:1.7; }
@media(max-width:900px){.store-locator{grid-template-columns:1fr}.store-locator-panel{border-right:0;border-bottom:1px solid var(--stores-border)}.store-results{max-height:420px}.store-map-card,#store-map{min-height:480px}}
@media(max-width:600px){.stores-container{padding:8px 16px 56px}.store-search-card{padding:18px}.store-map-card,#store-map{min-height:380px}.stores-content-card{padding:20px}}

.store-description, .store-description p { color:var(--stores-muted)!important; font-size:18px; line-height:1.6; }
.store-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr); gap:24px; }
.store-hero.has-no-gallery { grid-template-columns:1fr; }
.store-gallery { position:relative; min-height:520px; overflow:hidden; border:1px solid var(--stores-border); border-radius:18px; background:var(--stores-surface); }
.store-gallery-slide { display:none; width:100%; height:100%; margin:0; }
.store-gallery-slide.is-active { display:block; }
.store-gallery-slide img { width:100%; height:520px; object-fit:cover; }
.store-gallery-slide figcaption { position:absolute; right:12px; bottom:10px; padding:5px 8px; border-radius:7px; background:rgba(17,24,39,.72); color:#fff; font-size:12px; }
.store-gallery-empty { display:flex; align-items:center; justify-content:center; min-height:520px; color:var(--stores-muted); }
.store-gallery-control { position:absolute; top:50%; z-index:2; width:42px; height:42px; margin-top:-21px; border:0; border-radius:50%; background:rgba(17,24,39,.72); color:#fff; font-size:28px; cursor:pointer; }
.store-gallery-control.is-prev { left:14px; }.store-gallery-control.is-next { right:14px; }
.store-info-card, .store-detail-card { padding:24px; border:1px solid var(--stores-border); border-radius:18px; background:var(--stores-surface); }
.store-info-card h2, .store-detail-card h2, .store-events h2 { margin:0 0 18px; padding:0; color:var(--stores-ink); font-size:28px; line-height:1.2; }
.store-info-card h3 { margin:18px 0 8px; padding:0; color:var(--stores-green); font-size:18px; }
.store-info-card p, .store-cms-text, .store-cms-text p { margin:6px 0; color:var(--stores-muted)!important; font-size:15px; line-height:1.5; }
.store-name-detail { color:var(--stores-ink)!important; font-size:18px!important; font-weight:700; }
.store-info-card a { color:var(--stores-green); }
.store-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.store-actions a { padding:9px 12px; border:1px solid var(--stores-green); border-radius:9px; color:var(--stores-green); font-size:13px; font-weight:700; }
.store-actions .store-action-primary { background:var(--stores-green); color:#fff; }
.store-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.store-map-section { grid-column:1/-1; }
#store-detail-map { width:100%; height:420px; border-radius:12px; }
.store-logo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:12px; }
.store-logo-grid a, .store-logo-grid > img { display:flex; align-items:center; justify-content:center; min-height:96px; padding:8px; border:1px solid var(--stores-border); border-radius:12px; background:#fff; }
.store-logo-grid img { width:80px; height:80px; object-fit:contain; }
.store-events { margin-top:48px; }
.store-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.store-event-card { overflow:hidden; border:1px solid var(--stores-border); border-radius:16px; background:var(--stores-surface); }
.store-event-card img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.store-event-card div { padding:16px; }
.store-event-card time { color:var(--stores-green); font-size:13px; font-weight:700; }
.store-event-card h3 { margin:8px 0; padding:0; color:var(--stores-ink); font-size:20px; line-height:1.25; }
.store-event-card p { margin:0; color:var(--stores-muted); font-size:14px; }
@media(max-width:900px){.store-hero{grid-template-columns:1fr}.store-gallery,.store-gallery-empty{min-height:420px}.store-gallery-slide img{height:420px}.store-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.store-gallery,.store-gallery-empty{min-height:300px}.store-gallery-slide img{height:300px}.store-detail-grid,.store-event-grid{grid-template-columns:1fr}.store-map-section{grid-column:auto}#store-detail-map{height:320px}.store-info-card,.store-detail-card{padding:18px}}
.store-action-deals {
  border-color: #2fb14a !important;
  color: #1d7a34 !important;
}

.store-deals-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 18px 0 32px;
}

.store-deals-header p {
  color: #6b7280;
  margin: 12px 0 0;
}

.store-deals-back {
  flex: 0 0 auto;
  border: 1px solid #2fb14a;
  border-radius: 10px;
  color: #1d7a34 !important;
  font-weight: 700;
  padding: 11px 16px;
}

.store-deals-grid {
  margin-bottom: 24px;
}

@media (max-width: 700px) {
  .store-deals-header {
    align-items: flex-start;
    flex-direction: column;
  }
}
