.rf-shop-owner-bar{
  margin:0 0 12px;padding:12px 14px;border-radius:16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
}
.rf-shop-enabled-toggle{display:flex;align-items:center;gap:10px;font-weight:800;font-size:.9rem;cursor:pointer}
.rf-shop-enabled-toggle input{width:18px;height:18px;accent-color:#ff174d}
.rf-shop-enabled-hint{margin:8px 0 0;font-size:.75rem;line-height:1.35;color:#a8a8b8}
.rf-editor-check-row{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.4;cursor:pointer}
.rf-editor-check-row input{margin-top:3px;accent-color:#ff174d}

/* Loja — mesmo grid do feed (rf-profile-grid + rf-grid-tile) */
.rf-shop-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  padding:4px 0 16px;
  width:100%;
  margin-top:0;
}
main.rf-profile.rf-profile-layout-reels .rf-shop-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4px!important;
  padding:4px 0 16px!important;
}
@media(min-width:1100px){
  main.rf-profile.rf-profile-layout-reels .rf-shop-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:2px!important;
    padding:2px 0 24px!important;
  }
}

.rf-shop-tile{
  position:relative;
  aspect-ratio:1/1!important;
  width:100%;
  border:0;
  padding:0;
  margin:0;
  overflow:hidden;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  background:#11111a;
}
.rf-shop-tile-media{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#1a1a24;
  pointer-events:none;
}
.rf-shop-tile-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#6b7280;
  font-size:1.6rem;
  background:#1a1a24;
  pointer-events:none;
}
.rf-shop-tile-price{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:6px 8px;
  font-size:.72rem;
  font-weight:900;
  color:#fff;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));
  text-align:left;
  pointer-events:none;
}

/* Quadrado “adicionar” — mesmo tamanho do feed, fundo um pouco mais claro */
.rf-shop-add-tile{
  display:grid!important;
  place-items:center;
  background:#242430!important;
  border:0!important;
  box-shadow:none!important;
  min-height:0;
  pointer-events:auto!important;
  z-index:2;
}
main.rf-profile .rf-shop-tile.rf-grid-tile::after,
main.rf-profile .rf-shop-add-tile.rf-grid-tile::after{
  content:none!important;
  display:none!important;
}
.rf-shop-add-tile .rf-shop-add-plus{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  color:rgba(255,255,255,.95);
  font-size:clamp(2.8rem,12vw,4rem);
  line-height:1;
  pointer-events:none;
}
.rf-shop-add-tile .rf-shop-add-plus i{
  display:none;
}
.rf-shop-add-tile .rf-shop-add-plus b{
  font-size:clamp(2.8rem,12vw,4rem);
  font-weight:300;
  line-height:1;
  color:rgba(255,255,255,.95);
  pointer-events:none;
}
@media(min-width:1100px){
  .rf-shop-add-tile .rf-shop-add-plus b{
    font-size:clamp(3rem,4vw,4rem);
  }
}

body.rf-shop-editor-open,
body.rf-shop-sheet-open{
  overflow:hidden!important;
  height:100dvh!important;
  touch-action:none;
}
body.rf-shop-editor-open #rf-page-root,
body.rf-shop-sheet-open #rf-page-root{
  pointer-events:none!important;
}
.rf-shop-tile-media.is-broken{display:none!important}
.rf-shop-add-tile:hover,
.rf-shop-add-tile:focus-visible{
  background:#2a2a38!important;
}
.rf-shop-add-tile:active{
  background:#323242!important;
}

.rf-shop-empty-static{
  grid-column:1/-1;
  text-align:center;
  padding:36px 16px;
  color:#b8b8c8;
  font-size:.9rem;
}
.rf-shop-empty-static i{
  font-size:1.8rem;
  opacity:.5;
  display:block;
  margin:0 auto 10px;
}

/* Editor / sheet de produto — sempre viewport (portal no body; fora da stack com transform) */
body > #rfShopEditor,
body > #rfShopSheet,
#rfShopEditor.rf-shop-portaled,
#rfShopSheet.rf-shop-portaled,
#rfShopEditor,
#rfShopSheet,
.rf-shop-sheet,
.rf-shop-editor{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  z-index:2147483640!important;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  padding:0;
  box-sizing:border-box;
  overflow:hidden;
  pointer-events:none;
}
.rf-shop-sheet.on,
.rf-shop-editor.on,
#rfShopEditor.on,
#rfShopSheet.on{
  display:flex!important;
  pointer-events:auto!important;
}
body.rf-shop-editor-open #rfStackRoot,
body.rf-shop-sheet-open #rfStackRoot{
  pointer-events:none!important;
}
#rfShopEditor .rf-shop-editor-panel,
#rfShopSheet .rf-shop-sheet-panel,
.rf-shop-sheet-panel,
.rf-shop-editor-panel{
  width:min(520px,calc(100vw - 24px));
  max-width:min(520px,calc(100vw - 24px));
  max-height:92dvh;
  margin:0 auto;
  background:#12121a;
  border-radius:20px 20px 0 0;
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  flex-shrink:0;
  box-sizing:border-box;
  pointer-events:auto;
}
#rfShopEditor .rf-shop-editor-field label,
#rfShopSheet .rf-shop-editor-field label{
  position:static!important;
  float:none!important;
  display:block!important;
  width:100%!important;
  margin:0 0 4px!important;
}
#rfShopEditor .rf-shop-editor-field input,
#rfShopEditor .rf-shop-editor-field select,
#rfShopEditor .rf-shop-editor-field textarea,
#rfShopSheet .rf-shop-editor-field input,
#rfShopSheet .rf-shop-editor-field select,
#rfShopSheet .rf-shop-editor-field textarea{
  position:static!important;
  float:none!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.rf-shop-editor-head,.rf-shop-sheet-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.rf-shop-editor-head h3,.rf-shop-sheet-head h3{
  margin:0;
  font-size:1.05rem;
  font-weight:900;
}
.rf-shop-editor-body,
#rfShopEditorForm{
  padding:12px 18px;
  overflow-x:hidden;
  overflow-y:auto;
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
.rf-shop-editor-field{
  margin-bottom:12px;
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
  min-width:0;
}
.rf-shop-editor-field label{
  display:block!important;
  float:none!important;
  width:100%!important;
  font-size:.78rem;
  font-weight:800;
  color:#b8b8c8;
  margin:0;
}
.rf-shop-editor-field input,
.rf-shop-editor-field select,
.rf-shop-editor-field textarea{
  display:block;
  width:100%!important;
  max-width:100%;
  box-sizing:border-box;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:12px;
  font:inherit;
}
.rf-shop-editor-field textarea{
  min-height:88px;
  resize:vertical;
}
.rf-shop-photo-preview{
  position:relative;
  aspect-ratio:1/1;
  max-height:220px;
  border-radius:16px;
  overflow:hidden;
  background:#1a1a24;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  cursor:pointer;
  border:2px dashed rgba(255,255,255,.18);
}
.rf-shop-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.rf-shop-photo-preview label,
.rf-shop-photo-preview .rf-shop-photo-pick{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:#ffb6c7;
  font-weight:900;
  cursor:pointer;
  width:100%;
  height:100%;
  justify-content:center;
  margin:0;
}
.rf-shop-photo-preview .rf-shop-photo-change{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:10px 12px;
  text-align:center;
  font-size:.78rem;
  font-weight:900;
  color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.82));
  pointer-events:none;
}
.rf-shop-editor-foot,.rf-shop-sheet-foot{
  padding:12px 18px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  gap:10px;
}
.rf-shop-editor-foot .rf-btn,.rf-shop-sheet-foot .rf-btn{
  flex:1;
  justify-content:center;
}
.rf-shop-sheet-body{
  padding:12px 18px;
  overflow-y:auto;
  flex:1;
}
.rf-shop-detail-hero{
  aspect-ratio:1/1;
  max-height:280px;
  border-radius:16px;
  overflow:hidden;
  margin-bottom:12px;
  background:#1a1a24;
}
.rf-shop-detail-hero img{width:100%;height:100%;object-fit:cover}
.rf-shop-detail-price{
  font-size:1.2rem;
  font-weight:950;
  color:#ffb6c7;
  margin:8px 0;
}
.rf-shop-detail-desc{
  font-size:.88rem;
  line-height:1.45;
  color:#d0d1de;
  margin:0 0 12px;
}
.rf-shop-detail-includes{
  margin:0 0 12px;
  padding:0;
  list-style:none;
}
.rf-shop-detail-includes li{
  padding:6px 0;
  font-size:.85rem;
  color:#ececf4;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.rf-shop-detail-includes li:before{
  content:'✓';
  color:#ff174d;
  margin-right:8px;
  font-weight:900;
}
.rf-shop-includes h4{
  font-size:.9rem;
  font-weight:900;
  margin:0 0 8px;
}
.rf-shop-includes ul{
  margin:0;
  padding:0;
  list-style:none;
}
.rf-shop-includes li{
  padding:5px 0;
  font-size:.85rem;
  color:#ececf4;
}
@media(max-width:1099px){
  body > #rfShopEditor.on,
  body > #rfShopSheet.on,
  #rfShopEditor.on,
  #rfShopSheet.on{
    justify-content:flex-end!important;
    align-items:stretch!important;
    padding:0!important;
    background:rgba(0,0,0,.92)!important;
  }
  body > #rfShopEditor.on .rf-shop-editor-panel,
  body > #rfShopSheet.on .rf-shop-sheet-panel,
  #rfShopEditor.on .rf-shop-editor-panel,
  #rfShopSheet.on .rf-shop-sheet-panel{
    width:100%!important;
    max-width:100%!important;
    max-height:94dvh!important;
    border-radius:20px 20px 0 0!important;
    margin:0!important;
  }
}
@media(min-width:1100px){
  body > #rfShopEditor,
  body > #rfShopSheet,
  #rfShopEditor,
  #rfShopSheet,
  .rf-shop-sheet,
  .rf-shop-editor{
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
  }
  body > #rfShopEditor .rf-shop-editor-panel,
  body > #rfShopSheet .rf-shop-sheet-panel,
  #rfShopEditor .rf-shop-editor-panel,
  #rfShopSheet .rf-shop-sheet-panel,
  .rf-shop-sheet-panel,
  .rf-shop-editor-panel{
    width:min(520px,calc(100vw - 48px))!important;
    max-width:520px!important;
    border-radius:20px!important;
    max-height:min(88vh,720px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
