*{box-sizing:border-box}.rg-app{--gold:#e9b936;--bg:#0b0c0e;--panel:#13161a;--line:#30343a;--muted:#a9adb6;font-family:Arial,sans-serif;background:var(--bg);color:#f4f4f4;max-width:1180px;margin:auto;padding:24px;border-radius:18px}.rg-head{display:flex;justify-content:space-between;align-items:end}.rg-head small{color:var(--gold);letter-spacing:2px}.rg-head h2{font-size:38px;margin:5px 0}.rg-progress{height:7px;background:#272a2f;border-radius:9px;overflow:hidden;margin:18px 0 28px}.rg-progress span{display:block;height:100%;background:linear-gradient(90deg,#f4c744,#c8921d);transition:.3s}.rg-panel{display:none}.rg-panel.active{display:block}.rg-panel h3{font-size:25px}.hidden{display:none!important}.rg-muted{color:var(--muted)}
.rg-models{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rg-model{min-height:360px;text-align:left;background:linear-gradient(145deg,#171a1f,#0e1013);border:1px solid var(--line);border-radius:16px;color:#fff;padding:18px;cursor:pointer;position:relative;transition:.2s}.rg-model.selected{border:2px solid var(--gold);box-shadow:0 0 24px rgba(233,185,54,.22),inset 0 0 30px rgba(255,255,255,.04)}.rg-model strong{display:block;font-size:20px;margin-top:10px}.rg-model span{display:block;color:#c9cbd0;line-height:1.4;margin:7px 0}.rg-model em{display:block;color:var(--gold);font-style:normal;font-weight:800;font-size:22px;margin-top:8px}.rg-model del{color:#999}.rg-model i{font-size:11px;background:#d93c35;padding:5px 8px;border-radius:20px;font-style:normal;margin-left:6px}.rg-product-img{height:225px;display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#d8d8d5,#bfc0c1);padding:8px}.rg-product-img img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
.rg-box,.rg-properties,.rg-tools,.rg-checkout,.rg-library{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.rg-box label{display:block;font-weight:700;margin:18px 0 9px}.rg-choices{display:flex;gap:12px;align-items:center}.rg-choices button,.rg-orientation button,.rg-side-tabs button{background:#1b1e23;color:#fff;border:1px solid #3a3e45;border-radius:10px;padding:13px 18px;cursor:pointer}.rg-choices button.selected,.rg-orientation button.selected,.rg-side-tabs button.selected{border-color:var(--gold);box-shadow:0 0 15px rgba(233,185,54,.16);color:var(--gold)}.rg-engraving-choices .rg-primary-choice{min-width:220px}.rg-engraving-choices .rg-secondary-choice{padding:9px 14px;font-size:13px;opacity:.88}.rg-chain-choices button{padding:9px 14px;font-size:13px}.rg-note{padding:14px;border-left:4px solid var(--gold);background:#211d12;margin-top:14px}.rg-engraving-preview{display:grid;grid-template-columns:minmax(260px,1.3fr) 1fr;gap:18px;align-items:center;margin-top:18px;padding:14px;background:#0f1114;border:1px solid #292d33;border-radius:12px}.rg-engraving-preview img{width:100%;max-height:290px;object-fit:contain;border-radius:9px}.rg-engraving-preview p{color:var(--muted);line-height:1.5}
.rg-editor-title{display:flex;justify-content:space-between;align-items:center}.rg-editor-title p{color:var(--muted)}.rg-side-alert{text-align:center;background:#211d12;border:1px solid #5d4a17;padding:10px;border-radius:9px;margin:15px 0;color:#ddd}.rg-side-alert strong{color:var(--gold)}.rg-side-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:15px}.rg-editor-grid{display:grid;grid-template-columns:170px 1fr 240px;gap:14px}.rg-tools{display:flex;flex-direction:column;gap:10px}.rg-tools button,.rg-tools label{background:#1c2025;color:#fff;border:1px solid #353a42;border-radius:10px;padding:14px 9px;text-align:center;cursor:pointer}.rg-tools span{display:block;font-size:24px;margin-bottom:4px}.rg-tools input{display:none}.rg-stage-shell{background:#111317;border:1px solid var(--line);border-radius:14px;padding:18px;min-height:600px;display:flex;flex-direction:column;align-items:center}.rg-stage{width:360px;height:500px;display:flex;align-items:center;justify-content:center;transition:.25s}.rg-stage.horizontal{width:500px;height:360px}.rg-medal{position:relative;width:286px;height:410px;overflow:visible}.rg-stage.horizontal .rg-medal{width:410px;height:286px}.rg-medal-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 15px 18px #0008)}.rg-stage.horizontal .rg-medal-bg{transform:rotate(-90deg);width:286px;height:410px;left:62px;top:-62px}.rg-stage.\33 d .rg-medal{width:300px;height:450px}.rg-stage.\33 d .rg-medal-bg{object-fit:contain}.rg-safe{position:absolute;left:12%;right:12%;top:14%;bottom:8%;border:1px dashed rgba(233,185,54,.28);border-radius:12px;pointer-events:none}.rg-stage.horizontal .rg-safe{left:8%;right:8%;top:12%;bottom:12%}.rg-stage.\33 d .rg-safe{left:22%;right:22%;top:55%;bottom:17%;border:2px dashed rgba(233,185,54,.8);background:rgba(255,255,255,.06)}.rg-layer{position:absolute;inset:0;z-index:4}.rg-object{position:absolute;display:flex;align-items:center;justify-content:center;user-select:none;touch-action:none;cursor:move;color:#171717;font-weight:800;line-height:1;text-align:center;white-space:pre-wrap}.rg-stage.preta .rg-object{color:#f2efe7}.rg-stage.\33 d .rg-object{color:#202020}.rg-object.selected{outline:1.5px solid var(--gold);background:rgba(233,185,54,.06)}.rg-object img{width:100%;height:100%;object-fit:contain;pointer-events:none}.rg-object svg{width:100%;height:100%;overflow:visible}.rg-object svg text{fill:currentColor;font-family:"American Typewriter","AmericanTypewriter-Bold","Courier New",serif;font-weight:700}.rg-editable-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:"American Typewriter","AmericanTypewriter-Bold","Courier New",serif;outline:none;background:transparent!important}.rg-editable-text[contenteditable=true]{cursor:text;outline:1px dashed rgba(233,185,54,.7)}.rg-inline-trash{display:none;position:absolute;right:-11px;top:-11px;width:25px;height:25px;padding:0;border:1px solid #fff7;border-radius:6px;background:#b62f2b;color:white;cursor:pointer;font-size:13px;line-height:23px}.rg-object.selected .rg-inline-trash{display:block}.rg-resize{display:none;position:absolute;right:-8px;bottom:-8px;width:18px;height:18px;border-radius:50%;background:var(--gold);border:3px solid white;cursor:nwse-resize}.rg-object.selected .rg-resize{display:block}.rg-orientation-wrap{margin-top:12px;text-align:center}.rg-orientation{display:flex;gap:6px;margin-top:7px}.rg-image-tip{text-align:center;font-size:13px}
.rg-properties h4{margin-top:0}.rg-properties label{display:block;font-size:13px;margin:12px 0}.rg-properties input[type=text]{width:100%;padding:10px;background:#0e1013;border:1px solid #444;color:#fff;border-radius:7px;margin-top:5px}.rg-size-row{display:flex;align-items:center;gap:6px}.rg-size-row input{width:100%}.rg-size-row button,.rg-prop-actions button,.rg-reset{background:#252930;border:1px solid #41464e;color:#fff;border-radius:8px;padding:8px;cursor:pointer}.rg-prop-actions{display:flex;gap:7px;margin-top:18px}.rg-prop-actions .danger{color:#ff8c87}.rg-properties input[type=range]{width:100%;accent-color:var(--gold)}.rg-value{float:right;color:var(--gold);font-weight:800}.rg-reset{font-size:11px;padding:5px 8px;margin-top:-5px}
.rg-library{margin-top:15px}.rg-library-head{display:flex;justify-content:space-between;align-items:center}.rg-library-head h4{margin:0}.rg-library-head button{font-size:28px;background:none;border:0;color:#fff}.rg-symbols{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.rg-symbols button{min-height:130px;background:#f5f5f2;border:2px solid transparent;border-radius:9px;cursor:pointer;padding:8px}.rg-symbols button:hover{border-color:var(--gold)}.rg-symbols img{width:100%;height:90px;object-fit:contain}.rg-symbols small{display:block;color:#222;font-weight:700;margin-top:4px}.rg-error{margin:15px 0;padding:13px;background:#341716;border:1px solid #7e302d;color:#ffc2bf;border-radius:9px}
.rg-final-previews{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.rg-final-card{background:#14171b;border:1px solid var(--line);border-radius:14px;padding:15px;text-align:center;overflow:hidden}.rg-final-card h4{margin:0 0 8px;color:var(--gold);letter-spacing:2px}.rg-final-card>.rg-stage{transform:scale(.55);transform-origin:top center;height:300px;margin:auto}.rg-final-card .rg-object{pointer-events:none}.rg-checkout{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.rg-checkout h4{font-size:24px;margin:4px 0}.rg-price{text-align:right}.rg-price strong{display:block;color:var(--gold);font-size:32px}.rg-buy{width:100%;margin-top:14px;padding:17px;background:linear-gradient(90deg,#efc54b,#dcae2c);border:0;border-radius:10px;font-weight:900;font-size:18px;cursor:pointer}.rg-status{text-align:center;color:var(--gold)}.rg-nav{display:flex;justify-content:space-between;margin-top:22px}.rg-nav button{padding:13px 22px;border:1px solid #444;background:#1a1d21;color:#fff;border-radius:9px}.rg-nav button:last-child{background:var(--gold);color:#111;border-color:var(--gold);font-weight:800}.rg-nav button:disabled{opacity:.35}
@media(max-width:800px){
.rg-app{padding:12px;border-radius:0}.rg-head{align-items:center}.rg-head h2{font-size:26px}.rg-head small{font-size:9px}.rg-models{grid-template-columns:1fr}.rg-model{min-height:auto}.rg-product-img{height:220px;padding:10px}.rg-editor-grid{display:flex;flex-direction:column}.rg-stage-shell{order:1;min-height:520px;overflow:hidden;padding:10px}.rg-tools{order:2;display:block}.rg-tool-primary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rg-tool-primary button,.rg-tool-primary label{min-height:82px;font-size:12px}.rg-tool-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rg-tool-secondary>small{grid-column:1/-1}.rg-properties{order:3}.rg-stage{transform:scale(.80);transform-origin:top center;margin-bottom:-72px}.rg-stage.horizontal{transform:scale(.62);transform-origin:top center;margin-top:25px;margin-bottom:-85px}.rg-orientation-wrap{margin-top:8px}.rg-symbols{grid-template-columns:repeat(2,1fr)}.rg-final-previews{grid-template-columns:1fr}.rg-choices{flex-wrap:wrap}.rg-engraving-preview{grid-template-columns:1fr}.rg-checkout{display:block}.rg-price{text-align:left;margin-top:14px}.rg-final-card{padding-top:18px;overflow:hidden}.rg-final-card h4{margin-bottom:30px}.rg-final-card>.rg-stage{transform:scale(.50);height:285px;margin-bottom:-25px}.rg-library{scroll-margin-top:10px}
}
/* V0.5 — capas sempre inteiras */
.rg-product-img{
  height:300px;
  padding:12px;
  overflow:visible;
}
.rg-product-img img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
  margin:auto;
}

/* V0.5 — arco grande sem cortar extremidades */
.rg-object.text{overflow:visible !important}
.rg-object .rg-arc-svg{overflow:visible !important;width:100%;height:100%}
.rg-object .rg-arc-svg text{overflow:visible}
.rg-object .rg-arc-svg textPath{overflow:visible}

@media(max-width:800px){
  .rg-product-img{height:285px;padding:10px;overflow:visible}
}

/* ===========================
   V0.6
   =========================== */

/* Capas da etapa 1: respiro extra para nunca cortar o produto */
.rg-product-img{
  height:320px !important;
  padding:22px !important;
  overflow:hidden !important;
}
.rg-product-img img{
  width:auto !important;
  height:auto !important;
  max-width:88% !important;
  max-height:88% !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}

/* Histórico */
.rg-history{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:-4px 0 14px;
}
.rg-history button{
  border:1px solid #3a3e45;
  background:#191c20;
  color:#eee;
  border-radius:9px;
  padding:8px 13px;
  cursor:pointer;
}
.rg-history button:disabled{opacity:.32;cursor:not-allowed}


/* Texto: caixa e tamanho ficam visualmente sincronizados */
.rg-object.text{min-width:0;min-height:0}
.rg-editable-text{white-space:nowrap;overflow:visible}

/* Medalha 3D: área e 3 linhas fixas */
.rg-stage.\33 d .rg-safe{
  left:21%;
  right:21%;
  top:55.5%;
  bottom:17.5%;
  border:2px dashed rgba(233,185,54,.85);
  border-radius:8px;
  background:rgba(255,255,255,.08);
}
.rg-fixed-3d{
  width:48% !important;
  height:7.2% !important;
  color:#202020 !important;
  border-bottom:1px dashed rgba(50,50,50,.18);
  cursor:text !important;
  outline:none !important;
  background:transparent !important;
}
.rg-fixed-3d .rg-editable-text{
  font-family:"American Typewriter","AmericanTypewriter-Bold","Courier New",serif;
  font-weight:800;
  width:100%;
  height:100%;
  white-space:nowrap;
}
.rg-3d-inputs{
  display:grid;
  gap:10px;
  margin:14px 0;
}
.rg-3d-inputs label{
  margin:0 !important;
  font-weight:700;
}
.rg-3d-inputs input{
  width:100%;
  margin-top:5px;
  padding:11px;
  border:1px solid #444;
  border-radius:8px;
  background:#0e1013;
  color:#fff;
}
.rg-disabled-tools{
  opacity:.42;
  pointer-events:none;
}

/* Checkout: título em uma área própria, sem chance de sobreposição */
.rg-final-card{
  padding:20px 18px 28px !important;
  overflow:hidden !important;
}
.rg-final-card h4{
  position:relative;
  z-index:20;
  display:block;
  min-height:36px;
  margin:0 0 42px !important;
  padding:8px 10px;
  background:#14171b;
  color:var(--gold);
  letter-spacing:2px;
  border-bottom:1px solid #30343a;
}
.rg-final-card>.rg-stage{
  margin-top:22px !important;
  transform-origin:top center !important;
}

/* Mobile */
@media(max-width:800px){
  .rg-product-img{height:300px !important;padding:24px !important}
  .rg-product-img img{max-width:84% !important;max-height:84% !important}
  .rg-history{margin-bottom:10px}
  .rg-final-card{padding-top:16px !important}
  .rg-final-card h4{
    margin-bottom:58px !important;
    min-height:42px;
    padding:10px;
  }
  .rg-final-card>.rg-stage{
    margin-top:34px !important;
    transform:scale(.48) !important;
    height:300px !important;
  }
}


/* ===========================
   V0.7
   =========================== */
/* Etapa 1: ocupa melhor o card sem cortar nem deformar as capas. */
.rg-product-img{
  height:300px !important;
  padding:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.rg-product-img img{
  width:auto !important;
  height:auto !important;
  max-width:96% !important;
  max-height:96% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}
/* Na medalha preta, símbolos mantêm exatamente a aparência do arquivo original. */
.rg-stage.preta .rg-object.symbol img{filter:none !important}

/* 3D: faixa real de gravação indicada pelo cliente. */
.rg-stage.\33 d .rg-safe{
  left:27% !important;
  right:27% !important;
  top:52.5% !important;
  bottom:33.0% !important;
  border-radius:5px !important;
}
.rg-fixed-3d{
  width:46% !important;
  height:5.2% !important;
  overflow:hidden !important;
  border-bottom:1px dashed rgba(50,50,50,.14);
}
.rg-fixed-3d .rg-editable-text{
  overflow:hidden !important;
  text-overflow:clip;
  line-height:1 !important;
}
@media(max-width:800px){
  .rg-product-img{height:270px !important;padding:8px !important}
  .rg-product-img img{max-width:96% !important;max-height:96% !important}
}

/* ===========================
   V0.8
   =========================== */

/* Área de gravação 3D mais compacta e alinhada ao retângulo metálico */
.rg-stage.\33 d .rg-safe{
  left:27% !important;
  right:27% !important;
  top:52.5% !important;
  bottom:34% !important;
  border-radius:6px !important;
}
.rg-fixed-3d{
  width:43% !important;
  height:4.5% !important;
  line-height:1 !important;
}
.rg-fixed-3d .rg-editable-text{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

/* Card da etapa 2, inclusive modelo 3D */
.rg-engraving-preview img{
  object-fit:contain !important;
  max-height:330px !important;
}

/* Biblioteca só aparece quando explicitamente aberta */
#rg-library.hidden{display:none !important}

/* ===========================
   V0.9
   =========================== */

/* Novas artes transparentes na etapa 1 */
.rg-product-img{
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.075), rgba(255,255,255,.018) 58%, transparent 78%) !important;
  border:1px solid rgba(255,255,255,.055);
}
.rg-product-img img{
  max-width:94% !important;
  max-height:94% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.38));
}

/* As novas imagens transparentes também são a base do painel de edição. */
.rg-medal-bg{
  object-fit:contain !important;
}

/* Mantém a geometria percentual da gravação da nova imagem 3D.
   A proporção da moldura segue a proporção real do PNG enviado. */
.rg-stage.\33 d .rg-medal{
  width:277px !important;
  height:450px !important;
}
.rg-stage.\33 d .rg-safe{
  left:26.5% !important;
  right:26.5% !important;
  top:52.8% !important;
  bottom:33.7% !important;
}

/* Mobile */
@media(max-width:800px){
  .rg-product-img img{max-width:96% !important;max-height:96% !important}
}

/* ===========================
   V0.10 — calibração fina 3D
   =========================== */

/* A área amarela agora coincide com a faixa metálica clara da medalha 3D. */
.rg-stage.\33 d .rg-safe{
  left:26.5% !important;
  right:26.5% !important;
  top:58.0% !important;
  bottom:22.5% !important;
  border-radius:6px !important;
}

/* As três linhas ficam inteiramente dentro da faixa de gravação. */
.rg-fixed-3d{
  width:43% !important;
  height:4.2% !important;
  line-height:1 !important;
}

/* ===========================
   V0.11 — acabamento final
   =========================== */
.rg-fixed-3d{
  width:47% !important;
  height:4.3% !important;
}
.rg-cart-next-step{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #30343a;
  border-radius:10px;
  background:#121519;
  color:#c8cbd1;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:13px;
}
.rg-cart-next-step strong{
  color:#f1c44b;
  font-size:14px;
}

/* ===========================
   V0.12 — ajustes finais de UX
   =========================== */

/* SOMENTE Modelo Inox: amplia a área útil em direção à borda inferior. */
.rg-stage.inox:not(.horizontal) .rg-safe{
  bottom:3% !important;
}
.rg-stage.horizontal.inox .rg-safe{
  bottom:6% !important;
}

/* Ao editar o texto diretamente, lixeira e alça continuam visíveis. */
.rg-object.selected .rg-inline-trash,
.rg-object.selected .rg-resize{
  z-index:30;
}

/* Feedback enquanto o produto é enviado ao carrinho. */
.rg-buy:disabled,
#rg-next:disabled{
  opacity:.6;
  cursor:wait;
}

/* ===========================
   V0.13 — correção pontual Inox
   =========================== */

/* SOMENTE Modelo Inox:
   a área útil agora desce até praticamente o limite inferior físico da medalha. */
.rg-stage.inox:not(.horizontal) .rg-safe{
  bottom:0.5% !important;
}

/* Inox horizontal: também amplia a área útil até a extremidade inferior. */
.rg-stage.horizontal.inox .rg-safe{
  bottom:1% !important;
}

/* ===========================
   V0.14 — correção pontual da área útil INOX
   =========================== */

/*
 * SOMENTE Modelo Inox vertical:
 * o tracejado amarelo começa logo abaixo/na altura inferior do furo da corrente
 * e segue praticamente até o limite inferior físico da medalha.
 * A imagem da medalha NÃO é movida.
 */
.rg-stage.inox:not(.horizontal) .rg-safe{
  top:10% !important;
  bottom:0.5% !important;
  left:7% !important;
  right:7% !important;
}

/*
 * Modelo Inox horizontal:
 * mantém a mesma lógica, aproveitando a maior área útil possível
 * sem alterar a imagem-base da medalha.
 */
.rg-stage.horizontal.inox .rg-safe{
  top:7% !important;
  bottom:7% !important;
  left:10% !important;
  right:1% !important;
}

/* ===========================
   V0.15 — calibração final da área útil INOX
   =========================== */

/* SOMENTE Modelo Inox vertical */
.rg-stage.inox:not(.horizontal) .rg-safe{
  top:16% !important;
  bottom:9% !important;
  left:9.5% !important;
  right:9.5% !important;
}

/* SOMENTE Modelo Inox horizontal */
.rg-stage.horizontal.inox .rg-safe{
  top:9% !important;
  bottom:9% !important;
  left:14% !important;
  right:5% !important;
}

/* ===========================
   V0.17 FINAL — deslocamento visual da imagem INOX
   =========================== */

/*
 * Agora é movida SOMENTE a imagem da tag.
 * O contêiner e a área amarela tracejada permanecem fixos.
 */
.rg-stage.inox:not(.horizontal) .rg-medal-bg{
  transform: translateY(-52px) !important;
}

/*
 * Horizontal: mantém a rotação original e sobe a imagem visualmente
 * sem levar a área amarela junto.
 */
.rg-stage.horizontal.inox .rg-medal-bg{
  transform: translateY(-34px) rotate(-90deg) !important;
}

/* V0.18 — captura de prévias do pedido */
.rg-status{min-height:20px}
