/* ────────────────────────────────────────────────────────────
   Loja Física — store.css
   ──────────────────────────────────────────────────────────── */

/* ── Hero ────────────────────────────────────────────────── */
.store-cards__grid[hidden],
.store-how__layout[hidden],
.store-cta[hidden] { display: none !important; }

.store-hero {
  position: relative;
  min-height: clamp(380px, 52vw, 580px);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.store-hero__bg {
  position: absolute;
  inset: 0;
}
.store-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.store-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg,
    rgba(45,34,38,.72) 0%,
    rgba(45,34,38,.40) 55%,
    rgba(45,34,38,.10) 100%);
}

.store-hero > .container {
  position: relative;
  z-index: 1;
  width: 100%;
}

.store-hero__content {
  max-width: 560px;
  padding-block: var(--space-2xl);
}

.store-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.25);
  color: white;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: var(--space-lg);
}
.store-hero__tag::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
}

.store-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  font-weight: 700;
  color: white;
  line-height: 1.08;
  margin-bottom: var(--space-md);
}
.store-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: var(--color-accent);
}

.store-hero__sub {
  font-size: var(--font-size-base);
  color: rgba(255,255,255,.82);
  line-height: 1.65;
  margin-bottom: var(--space-xl);
  max-width: 440px;
}

.store-hero__address {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);
  font-size: var(--font-size-sm);
  padding: 10px 18px;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-xl);
}
.store-hero__address svg {
  flex-shrink: 0;
  color: var(--color-accent);
}

.store-hero__btns {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
}

/* ── Info Bar ─────────────────────────────────────────────── */
.store-info-bar {
  background: linear-gradient(90deg, #fff1f3 0%, var(--color-primary) 50%, #fff1f3 100%);
  border-block: 1px solid rgba(155,59,72,.08);
  padding: 26px 0;
}

.store-info-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.store-info-item {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding-inline: clamp(12px,2vw,28px);
  color: var(--color-text);
}
.store-info-item + .store-info-item { border-left: 1px solid rgba(155,59,72,.14); }
.store-info-item__icon {
  width: 56px;
  height: 56px;
  border: 1px solid rgba(155,59,72,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--color-primary-text);
  box-shadow: 0 7px 18px rgba(155,59,72,.1);
}
.store-info-item__icon svg { width: 26px; height: 26px; }
.store-info-item__label {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-primary-text);
  margin-bottom: 3px;
}
.store-info-item__value {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-text-muted);
  white-space: normal;
}

/* ── Gallery ──────────────────────────────────────────────── */
.store-gallery {
  background: var(--color-bg-alt);
}

.store-gallery__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  grid-template-rows: repeat(2, 240px);
  gap: var(--space-md);
  margin-top: var(--space-xl);
}

.store-gallery__main {
  grid-row: span 2;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
}
.store-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.store-gallery__main:hover img { transform: scale(1.03); }

.store-gallery__item {
  border-radius: var(--radius-md);
  overflow: hidden;
}
.store-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.store-gallery__item:hover img { transform: scale(1.04); }
.store-gallery-edit,
.store-content-edit {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255,189,198,.78);
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: var(--color-primary-text);
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(155,59,72,.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.store-gallery-edit { top: 12px; right: 12px; }
.store-gallery-edit svg,
.store-content-edit svg { width: 18px; height: 18px; pointer-events: none; }
.store-gallery-edit:hover,
.store-content-edit:hover {
  color: #fff;
  background: var(--color-primary-text);
  box-shadow: 0 8px 24px rgba(155,59,72,.32);
  transform: translateY(-2px) scale(1.04);
}
.store-gallery-edit:active,
.store-content-edit:active { transform: translateY(0) scale(.96); }
.store-gallery-edit:focus-visible,
.store-content-edit:focus-visible { outline: 3px solid rgba(255,189,198,.7); outline-offset: 3px; }
.store-gallery__item{position:relative}
.store-gallery-modal{position:fixed;inset:0;overflow:hidden;background:rgba(45,34,38,.58);z-index:10000;display:grid;place-items:center;padding:16px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.store-gallery-modal__panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;background:#fff;border:1px solid rgba(255,189,198,.7);border-radius:20px;box-shadow:0 24px 70px rgba(45,34,38,.28)}
.store-gallery-modal header,.store-gallery-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 22px}.store-gallery-modal header{border-bottom:1px solid #f3e4e7}.store-gallery-modal footer{justify-content:flex-end;border-top:1px solid #f3e4e7;background:#fffafa}.store-gallery-modal header>div{display:grid;gap:3px}.store-gallery-modal header strong{font-size:1.08rem;color:var(--color-text)}.store-gallery-modal__eyebrow{color:var(--color-primary-text);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.store-gallery-modal button{border:1px solid var(--color-border);border-radius:10px;background:#fff;padding:9px 15px;cursor:pointer}.store-gallery-modal button:disabled{cursor:not-allowed;opacity:.55}.store-gallery-modal header button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;padding:0;background:#fff7f8}.store-gallery-modal header button:hover{background:#f9ecef}.store-gallery-modal header button svg{width:17px;height:17px}.store-gallery-modal__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;scrollbar-color:var(--color-primary) transparent}.store-gallery-confirm{min-width:112px;background:var(--color-primary-text)!important;border-color:var(--color-primary-text)!important;color:#fff!important}.store-gallery-cancel{border-color:transparent!important;background:transparent!important}.store-gallery-editor-list{display:flex;gap:10px;margin:0 0 18px;overflow-x:auto;padding:3px;scrollbar-width:thin}.store-gallery-thumb,.store-gallery-add{width:62px;height:62px;min-width:62px;padding:0!important;overflow:hidden;border-radius:11px!important}.store-gallery-thumb.is-active{border-color:var(--color-primary-text);box-shadow:0 0 0 2px rgba(168,58,76,.18)}.store-gallery-thumb img{width:100%;height:100%;object-fit:cover}.store-gallery-add{display:grid;place-items:center;border:1px dashed var(--color-border-dark);color:var(--color-primary-text);cursor:pointer;background:#fff7f8}.store-gallery-add svg{width:22px;height:22px}.store-gallery-crop{position:relative;width:min(100%,560px);aspect-ratio:16/10;max-height:390px;margin:0 auto;overflow:hidden;border-radius:14px;background:#eee9ea;display:grid;place-items:center;cursor:grab;touch-action:none;outline:0}.store-gallery-crop:focus-visible{box-shadow:0 0 0 3px rgba(168,58,76,.22)}.store-gallery-crop.is-dragging{cursor:grabbing}.store-gallery-crop img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;will-change:transform,object-position}.store-gallery-drag-hint{position:absolute;top:16px;left:50%;display:flex;align-items:center;gap:7px;width:max-content;max-width:calc(100% - 32px);transform:translateX(-50%);border-radius:9px;padding:9px 12px;background:rgba(45,34,38,.76);color:#fff;font-size:.78rem;font-weight:700;line-height:1.3;pointer-events:none;transition:opacity .2s}.store-gallery-drag-hint svg{width:16px;height:16px;transform:rotate(90deg)}.store-gallery-crop.is-dragging .store-gallery-drag-hint{opacity:0}.store-gallery-zoom{display:grid;grid-template-columns:34px minmax(0,400px) 34px;align-items:center;justify-content:center;gap:6px;margin:20px auto 8px}.store-gallery-zoom button{border:0;padding:4px;background:transparent;color:var(--color-text);font-size:1.55rem;line-height:1}.store-gallery-zoom input{width:100%;accent-color:var(--color-primary-text)}.store-gallery-help{margin:0;text-align:center;color:var(--color-text-muted);font-size:.8rem}.store-gallery-empty{min-height:280px;border:1px dashed var(--color-border-dark);border-radius:14px;background:#fff8f9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--color-text-muted);cursor:pointer;text-align:center}.store-gallery-empty svg{width:44px;height:44px;color:var(--color-primary-text)}.store-gallery-empty strong{color:var(--color-text)}.store-gallery-empty span{font-size:.8rem}

.store-gallery__label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--space-xl) var(--space-lg) var(--space-lg);
  background: linear-gradient(0deg, rgba(45,34,38,.75) 0%, transparent 100%);
  color: white;
}
.store-gallery__label-tag {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-accent);
  display: block;
  margin-bottom: 4px;
}
.store-gallery__label-title {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-weight: 700;
}

/* ── Info Cards ───────────────────────────────────────────── */
.store-cards {
  background: var(--color-bg);
}

.store-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xl);
  margin-top: var(--space-xl);
}

.store-card {
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  text-align: center;
  background: var(--color-bg);
  transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}
.store-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-hover);
  transform: translateY(-4px);
}

.store-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1px solid rgba(155,59,72,.1);
  background: linear-gradient(145deg, #ffd9de, var(--color-primary));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-lg);
  color: var(--color-primary-text);
  box-shadow: 0 8px 22px rgba(155,59,72,.12);
}
.store-card__icon svg { width: 28px; height: 28px; }

.store-card__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-md);
}

.store-card__list {
  list-style: none;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.store-card__list li {
  display: flex;
  justify-content: space-between;
  font-size: var(--font-size-sm);
  color: var(--color-text);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border);
}
.store-card__list li:last-child { border-bottom: none; padding-bottom: 0; }
.store-card__list-day { color: var(--color-text-muted); font-weight: 500; }
.store-card__list-hours { font-weight: 600; color: var(--color-text); }
.store-card__list-hours.closed { color: var(--color-text-light); }

.store-card__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: 1.7;
}

.store-card__address-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: var(--font-size-sm);
  color: var(--color-text);
  margin-bottom: 8px;
  text-align: left;
}
.store-card__address-line > .store-card__contact-icon { margin-top:1px; }

.store-card__contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--font-size-sm);
  color: var(--color-text);
  margin-bottom: 10px;
  text-align: left;
}
.store-card__contact-icon {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid rgba(255,189,198,.8);
  border-radius:9px;
  background:#fff4f6;
  color:var(--color-primary-text);
}
.store-card__contact-icon svg { width:16px; height:16px; }
.store-card__contact-item a { color: var(--color-text); text-decoration: none; }
.store-card__contact-item a:hover { color: var(--color-primary-text); }

/* ── How to Find Us ───────────────────────────────────────── */
.store-how {
  background: var(--color-bg-alt);
}

.store-how__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
  padding-block: var(--space-2xl);
}

.store-how__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-primary-text);
  margin-bottom: 8px;
}

.store-how__title {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.1;
  margin-bottom: var(--space-lg);
}
.store-how__title em {
  font-style: italic;
  font-weight: 400;
  color: var(--color-primary-text);
}

.store-how__desc {
  font-size: var(--font-size-base);
  color: var(--color-text-muted);
  line-height: 1.7;
  margin-bottom: var(--space-xl);
}

.store-how__checklist {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: var(--space-xl);
}
.store-how__checklist li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: var(--font-size-sm);
  color: var(--color-text);
  font-weight: 500;
}
.store-how__check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--color-cream);
  border: 1.5px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-primary-text);
}
.store-how__check svg { width: 12px; height: 12px; }

.store-how__map {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-hover);
  position: relative;
}
.store-how__map-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}
.store-how__map-pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-text);
  color: white;
  border-radius: var(--radius-md);
  padding: 10px 18px;
  font-size: var(--font-size-sm);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 20px rgba(45,34,38,.4);
  white-space: nowrap;
}
.store-how__map-pin::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-bottom: none;
  border-top-color: var(--color-text);
}

/* ── CTA Banner ───────────────────────────────────────────── */
.store-cta {
  background: var(--color-bg-dark);
  padding: var(--space-2xl) 0;
  text-align: center;
}

.store-cta__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-text);
  margin-bottom: var(--space-md);
}

.store-cta__title {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.1;
  margin-bottom: var(--space-md);
}
.store-cta__title em {
  font-style: italic;
  font-weight: 400;
  color: var(--color-text-muted);
}

.store-cta__sub {
  font-size: var(--font-size-base);
  color: var(--color-text);
  max-width: 480px;
  margin: 0 auto var(--space-xl);
  line-height: 1.65;
}

.store-cta__btns {
  display: flex;
  justify-content: center;
  gap: var(--space-md);
  flex-wrap: wrap;
}
.store-cta .btn--hero {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--color-text);
}
.store-cta .btn--hero:hover {
  background: var(--color-cream);
  border-color: var(--color-cream);
}
.store-content-card { position: relative; }
.store-hero__content > .store-content-edit { top: var(--space-lg); right: var(--container-pad); }
.store-how-editable { position:relative; }
.store-how__map > .store-content-edit { z-index:1; }
.store-cta-editable { position:relative; }
.store-content-map { display:inline-block; margin-top:var(--space-lg); font-size:.8rem; padding:10px 22px; }
.store-content-contacts { display:grid; gap:12px; text-align:left; }
.store-content-contacts > a { color:var(--color-text); text-decoration:none; }
.store-content-contacts > a:hover { color:var(--color-primary-text); }
.store-content-contacts .store-card__contact-item { margin-bottom:0; }
.store-content-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
  overflow: hidden;
  background: rgba(45,34,38,.58);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.store-content-modal__panel {
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  width: min(620px,100%);
  max-height: min(calc(100vh - 40px),760px);
  max-height: min(calc(100dvh - 40px),760px);
  min-height: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255,189,198,.7);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(45,34,38,.28);
}
.store-content-modal header,
.store-content-modal footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.store-content-modal header { padding: 20px 22px 16px; border-bottom: 1px solid #f3e4e7; }
.store-content-modal header > div { display:grid; gap:2px; }
.store-content-modal__eyebrow {
  color: var(--color-primary-text);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.store-content-modal header strong { color:var(--color-text); font-size:1.08rem; line-height:1.3; text-transform:capitalize; }
.store-content-modal header p { margin:2px 0 0; color:var(--color-text-muted); font-size:.78rem; }
.store-content-modal__close {
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--color-bg-alt);
  color:var(--color-text-muted);
  cursor:pointer;
}
.store-content-modal__close:hover { background:var(--color-accent); color:var(--color-primary-text); }
.store-content-modal__close svg { width:16px; height:16px; }
.store-content-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
  overflow-y:auto;
  min-height:0;
  overscroll-behavior:contain;
  padding:18px 22px;
  scrollbar-color:var(--color-primary) transparent;
}
.store-content-form label { display:grid; align-content:start; gap:5px; min-width:0; color:var(--color-text); font-size:.78rem; font-weight:600; }
.store-content-form label:has(textarea),
.store-content-image-upload,
.store-content-image-preview { grid-column:1 / -1; }
.store-content-form input,
.store-content-form textarea {
  width:100%;
  min-width:0;
  padding:9px 11px;
  border:1px solid #e8d7da;
  border-radius:9px;
  outline:0;
  background:#fff;
  color:var(--color-text);
  font:500 .84rem/1.45 var(--font-body);
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.store-content-form textarea { min-height:64px; resize:vertical; }
.store-content-form input:hover,
.store-content-form textarea:hover { border-color:var(--color-border-dark); }
.store-content-form input:focus,
.store-content-form textarea:focus { border-color:var(--color-primary-text); box-shadow:0 0 0 3px rgba(255,189,198,.3); background:#fffdfd; }
.store-content-modal footer { padding:14px 22px; border-top:1px solid #f3e4e7; background:#fffafa; justify-content:flex-end; }
.store-content-modal__cancel,
.store-content-modal__save { min-height:38px; padding:9px 18px; border-radius:999px; font:600 .78rem var(--font-body); cursor:pointer; }
.store-content-modal__cancel { border:0; background:transparent; color:var(--color-text-muted); }
.store-content-modal__cancel:hover { color:var(--color-text); background:#f3e9eb; }
.store-content-modal__save { border:1px solid var(--color-primary); background:var(--color-primary); color:var(--color-text); }
.store-content-modal__save:hover { border-color:var(--color-primary-hover); background:var(--color-primary-hover); }
.store-content-image-upload { border:1px dashed var(--color-border-dark); border-radius:10px; padding:11px; text-align:center; color:var(--color-primary-text); cursor:pointer; background:#fffafa; }
.store-content-image-upload:hover { border-color:var(--color-primary-text); background:#fff4f6; }
.store-content-image-upload input { margin-top:7px; background:transparent; }
.store-content-image-preview { display:block; width:100%; max-height:180px; object-fit:cover; border-radius:10px; }
.store-content-image-preview--hero { aspect-ratio:16/5; max-height:none; border:1px solid var(--color-border); background:var(--color-bg-alt); }
.store-hero-image-editor{grid-column:1/-1;min-width:0}.store-hero-image-editor__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.store-hero-image-editor__head>div{display:grid}.store-hero-image-editor__head span{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary-text)}.store-content-form .store-hero-image-editor .store-content-image-upload{display:inline-flex;grid-column:auto;align-items:center;justify-content:center;justify-self:end;width:max-content;min-width:0;margin:0;gap:7px;padding:9px 13px;white-space:nowrap;font-size:.75rem;line-height:1.2}.store-hero-image-editor .store-content-image-upload svg{width:16px;height:16px;flex:0 0 auto}.store-hero-image-stage{position:relative;width:100%;aspect-ratio:16/5;min-height:180px;overflow:hidden;border-radius:12px;background:#eee9ea;cursor:grab;touch-action:none;outline:0}.store-hero-image-stage:focus-visible{box-shadow:0 0 0 3px rgba(168,58,76,.22)}.store-hero-image-stage.is-dragging{cursor:grabbing}.store-hero-image-stage img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;will-change:transform,object-position}.store-hero-image-stage>span{position:absolute;top:14px;left:50%;display:flex;align-items:center;gap:7px;width:max-content;max-width:calc(100% - 28px);transform:translateX(-50%);border-radius:9px;padding:8px 11px;background:rgba(45,34,38,.76);color:#fff;font-size:.72rem;font-weight:700;pointer-events:none}.store-hero-image-stage>span svg{width:15px;height:15px;transform:rotate(90deg)}.store-hero-image-stage.is-dragging>span{opacity:0}.store-hero-image-zoom{display:grid;grid-template-columns:32px minmax(0,400px) 32px;align-items:center;justify-content:center;gap:6px;margin:15px auto 0}.store-hero-image-zoom button{border:0;background:transparent;font-size:1.45rem;cursor:pointer}.store-hero-image-zoom input{width:100%;accent-color:var(--color-primary-text)}
@media(max-width:520px){.store-hero-image-editor__head{align-items:flex-start;flex-direction:column}.store-content-form .store-hero-image-editor .store-content-image-upload{justify-self:start}}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 900px) {
  .store-info-bar__grid { grid-template-columns: repeat(2, 1fr); }
  .store-gallery__grid { grid-template-rows: repeat(2, 200px); }
  .store-cards__grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .store-how__layout { grid-template-columns: 1fr; gap: var(--space-xl); }
  .store-how__map-img { height: 300px; }
}
@media (max-width: 640px) {
  .store-hero {
    min-height: 0;
    display: block;
    padding: 16px 0 24px;
    background: var(--color-bg);
  }
  .store-hero__bg {
    position: relative;
    inset: auto;
    width: calc(100% - 32px);
    height: 260px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(45,34,38,.1);
  }
  .store-hero__bg img { object-position: center 30%; }
  .store-hero__overlay { display: none; }
  .store-hero > .container { position: relative; }
  .store-hero__content {
    max-width: none;
    padding: 22px 0 0;
  }
  .store-hero__tag {
    margin-bottom: 16px;
    border-color: var(--color-border);
    background: #fff4f6;
    color: var(--color-primary-text);
  }
  .store-hero__tag::before { background: var(--color-primary-text); }
  .store-hero__title { color: var(--color-text); }
  .store-hero__title em { color: var(--color-primary-text); }
  .store-hero__sub { margin-bottom: 20px; color: var(--color-text-muted); }
  .store-hero__address {
    width: 100%;
    margin-bottom: 20px;
    border-color: var(--color-border);
    background: rgba(255,255,255,.8);
    color: var(--color-text);
  }
  .store-hero__address svg { color: var(--color-primary-text); }
  .store-hero__btns { gap: 10px; }
  .store-hero__btns .btn {
    width: 100%;
    min-height: 44px;
    border-color: var(--color-primary) !important;
    background: #fff !important;
    color: var(--color-text) !important;
  }
  .store-hero__btns .btn--hero { background: var(--color-primary) !important; }
  .store-info-bar__grid { grid-template-columns: 1fr 1fr; gap: var(--space-md); }
  .store-info-item { padding-inline:4px; }
  .store-info-item + .store-info-item { border-left:0; }
  .store-info-item__icon { width:42px; height:42px; border-radius:12px; }
  .store-info-item__value { white-space:normal; }
  .store-gallery__grid {
    grid-template-columns: 1fr;
    grid-template-rows: 280px 180px 180px;
  }
  .store-gallery__main { grid-row: span 1; }
  .store-gallery { padding-bottom: 14px; }
  .store-cards { padding-top: 14px; }
  .store-hero__btns { flex-direction: column; }
  .store-content-modal { align-items:end; padding:0; }
  .store-content-modal__panel { width:100%; max-height:calc(100vh - 8px); max-height:calc(100dvh - 8px); border-radius:18px 18px 0 0; }
  .store-content-modal header { padding:17px 18px 14px; }
  .store-content-form { grid-template-columns:1fr; padding:16px 18px; }
  .store-content-modal footer { padding:12px 18px calc(12px + env(safe-area-inset-bottom)); }
  .store-content-modal__save { flex:1; }
  .store-gallery-modal { align-items:end; padding:0; }
  .store-gallery-modal__panel { width:100%; max-height:calc(100vh - 8px); max-height:calc(100dvh - 8px); border-radius:18px 18px 0 0; }
  .store-gallery-modal header,.store-gallery-modal footer { padding:14px 18px; }
  .store-gallery-modal__body { padding:14px 18px; }
  .store-gallery-crop { min-height:210px; }
  .store-gallery-drag-hint { top:12px; font-size:.72rem; }
}
