/* Mockup configurator — final responsive layout. */
.stores-home .stores-grid.stores-spotlight {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
  align-items: start;
  gap: clamp(18px, 3vw, 34px);
  width: min(100%, 1120px);
  min-height: 0;
  padding: clamp(24px, 4vw, 44px);
}
.stores-home .stores-spotlight-content { width: 100%; min-width: 0; min-height: 0; align-items: stretch; text-align: left; }
.stores-home .stores-spotlight-content > h3,
.stores-home .stores-spotlight-content > p { text-align: left; }
.stores-home .stores-spotlight-content > p { max-width: 58ch; }
.stores-home .souvenir-configurator { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; width: 100%; margin-top: 22px; }
.stores-home .souvenir-preview { width: 100%; aspect-ratio: 4 / 3; min-height: 0; padding: 54px 58px 22px; }
.stores-home .souvenir-preview-topline { position: absolute; top: 16px; left: 18px; right: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.stores-home .souvenir-preview-kicker { color: #0b6a50; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.stores-home .souvenir-preview-hint { position: static; max-width: 62%; overflow: hidden; color: #60746d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; transform: none; }
.stores-home .souvenir-preview-stage { width: min(100%, 360px); max-height: 100%; }
.stores-home .souvenir-preview-stage img { width: 100%; height: 100%; object-fit: contain; }
.stores-home .souvenir-name-art { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.stores-home .souvenir-name-svg-text { fill: #fff; font-family: Manrope, sans-serif; font-size: 6.2px; font-weight: 800; letter-spacing: 1px; paint-order: stroke; stroke: rgba(7, 28, 26, .58); stroke-width: .9px; text-transform: uppercase; }
.stores-home .souvenir-name-svg-text--arc { font-size: 5.5px; letter-spacing: .8px; }
.stores-home .souvenir-name-svg-text--bag { fill: #f9f4e8; font-size: 6.5px; letter-spacing: .9px; }
.stores-home .souvenir-name-svg-text--magnet { font-size: 5.8px; }
.stores-home .souvenir-preview-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.stores-home .souvenir-preview-stage img.is-swapping { animation: mockup-image-in .24s ease both; }
.stores-home .souvenir-preview-stage[data-mockup-product="jangada"] {
  background: url('../img/ui/product-studio-backdrop-v1.png') center / cover no-repeat;
  border-radius: 16px;
  overflow: hidden;
}
.stores-home .souvenir-preview-stage[data-mockup-product="jangada"] img {
  width: 76%;
  height: 76%;
  object-fit: contain;
  filter: drop-shadow(0 12px 10px rgba(30, 22, 12, .28));
}
.stores-home .souvenir-preview-stage[data-mockup-product="chinelo"] {
  background: url('../img/ui/product-studio-backdrop-v1.png') center / cover no-repeat;
  border-radius: 16px;
  overflow: hidden;
}
.stores-home .souvenir-preview-stage[data-mockup-product="chinelo"] img {
  width: 82%;
  height: 76%;
  object-fit: contain;
  filter: drop-shadow(0 12px 10px rgba(30, 22, 12, .24));
}
.stores-home .souvenir-angle-button[hidden],
.stores-home .souvenir-angle-count[hidden] { display: none; }
.stores-home .souvenir-angle-button:disabled { display: none; }
.stores-home .souvenir-angle-count { top: auto; bottom: 16px; }
.stores-home .souvenir-config-controls { gap: 16px; padding: 20px; }
.stores-home .souvenir-control-label { display: flex; align-items: center; gap: 8px; }
.stores-home .souvenir-control-label small,
.stores-home .souvenir-name-field > span:first-child small { color: #0b6a50; font-size: 10px; letter-spacing: .12em; }
.stores-home .souvenir-name-field > span:first-child { display: flex; align-items: center; gap: 8px; }
.stores-home .souvenir-name-meta { display: flex; justify-content: space-between; gap: 12px; color: #71837d; font-size: 11px; font-weight: 700; }
.stores-home .souvenir-name-field input::placeholder { color: #91a19c; }
.stores-home .souvenir-product-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stores-home .souvenir-config-footer { grid-template-columns: 1fr; }
.stores-home .stores-spotlight-destinations { width: 100%; margin: 0; }

@media (min-width: 980px) {
  .stores-home .souvenir-configurator { grid-template-columns: minmax(0, 1fr) minmax(270px, .72fr); align-items: stretch; }
  .stores-home .souvenir-config-controls { justify-content: center; }
}
@media (max-width: 979px) {
  .stores-home .stores-grid.stores-spotlight {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 22px 24px 24px;
  }
  .stores-home .stores-spotlight-destinations { order: 2; padding: 14px 16px; }
  .stores-home .souvenir-configurator { gap: 12px; margin-top: 16px; }
  .stores-home .souvenir-config-controls { gap: 10px; padding: 12px 14px; }
  .stores-home .souvenir-product-picker { display: flex; grid-template-columns: none; gap: 6px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: none; }
  .stores-home .souvenir-product-picker::-webkit-scrollbar { display: none; }
  .stores-home .souvenir-product-picker button { flex: 0 0 auto; min-width: 76px; }
  .stores-home .souvenir-product-picker button { min-height: 44px; padding-block: 7px; }
  .stores-home .souvenir-name-field { gap: 6px; }
  .stores-home .souvenir-name-field input { min-height: 46px; padding-block: 10px; }
  .stores-home .souvenir-config-footer { gap: 8px; }
  .stores-home .souvenir-config-footer .stores-spotlight-link { min-height: 44px; padding-block: 10px; }
}
@media (max-width: 640px) {
  .stores-home .stores-grid.stores-spotlight { gap: 14px; padding: 18px 14px 20px; border-radius: 22px; }
  .stores-home .stores-spotlight-content > h3,
  .stores-home .stores-spotlight-content > p { text-align: center; }
  .stores-home .souvenir-configurator { margin-top: 14px; }
  .stores-home .souvenir-preview { aspect-ratio: 1 / .9; padding: 50px 42px 16px; border-radius: 18px; }
  .stores-home .souvenir-preview-stage { width: min(100%, 270px); }
  .stores-home .souvenir-preview-topline { left: 14px; right: 14px; }
  .stores-home .souvenir-preview-hint { max-width: 58%; font-size: 10px; }
  .stores-home .souvenir-config-controls { gap: 9px; padding: 11px 12px; border-radius: 18px; }
  .stores-home .souvenir-product-picker { display: flex; grid-template-columns: none; gap: 5px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .stores-home .souvenir-product-picker::-webkit-scrollbar { display: none; }
  .stores-home .souvenir-product-picker button { flex: 0 0 auto; min-width: 76px; min-height: 44px; padding-inline: 8px; font-size: 11px; }
  .stores-home .stores-spotlight-tabs { gap: 5px; }
  .stores-home .stores-spotlight-tab { min-height: 68px; }
  .stores-home .stores-spotlight-tab img { width: 48px; height: 48px; }
}
@media (max-width: 380px) {
  .stores-home .souvenir-preview { padding-inline: 34px; }
  .stores-home .souvenir-preview-stage { width: min(100%, 230px); }
  .stores-home .souvenir-product-picker button { padding-inline: 2px; font-size: 10px; }
}
@media (prefers-color-scheme: dark) {
  .stores-home .souvenir-config-controls,
  .stores-home .stores-spotlight-destinations { border-color: #355a58; background: #172f35; box-shadow: none; }
}

@keyframes mockup-image-in {
  from { opacity: .35; transform: scale(.97); }
  to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .stores-home .souvenir-preview-stage img.is-swapping { animation: none; }
}
