/* OC Gemarechner - scoped styles */
#gema{
  --pl-dark: var(--dark, #0f1020);
  --pl-muted: var(--muted, #5f647a);
  --pl-border: var(--border, rgba(20,20,40,.12));
  --pl-bg-soft: var(--bg-soft, #f6f6ff);
  --pl-radius: var(--radius, 18px);
  --pl-shadow: var(--shadow, 0 18px 44px rgba(12,12,30,.10));
  color: var(--pl-dark);
  font-family: inherit;
}
#gema .gema-stack{display:grid;grid-template-columns:1fr;gap:24px;}
#gema .gema-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
#gema .gema-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
#gema .mini-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--pl-muted);}
#gema .big-price{font-size:22px;font-weight:800;color:var(--pl-dark);margin-top:6px;}
#gema .gema-banner{
  margin-top:14px;
  background:linear-gradient(120deg,#523bd0,#c64db9);
  border-radius:var(--pl-radius);
  padding:16px 16px;
  display:flex;gap:14px;align-items:center;justify-content:space-between;overflow:hidden;
}
#gema .gema-banner p{margin:0;}
#gema .gema-banner h3{margin:0 0 4px;}
#gema .gema-banner .btn{white-space:nowrap;}
#gema select, #gema input[type="number"], #gema input[type="text"]{
  width:100%;border-radius:12px;border:1px solid var(--pl-border);
  padding:10px 10px;font-size:14px;background:#fff;color: var(--pl-dark);
}
#gema label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--pl-dark);}
#gema .form-hint{margin-top:6px;font-size:12px;color:var(--pl-muted);}
#gema .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 16px;border-radius:999px;text-decoration:none;cursor:pointer;
  font-weight:800;font-size:14px;line-height:1;border:1px solid transparent;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
#gema .btn:hover{transform:translateY(-1px);}
#gema .btn-primary{
  background:linear-gradient(135deg,#5540d3,#c850bb,#f47c61);
  color:#fff;box-shadow:0 14px 32px rgba(85,64,211,.24);
}
#gema .btn-ghost{
  background:rgba(255,255,255,.72);
  color:var(--pl-dark);
  border-color:var(--pl-border);
}
@media (max-width: 880px){
  #gema .gema-grid-3{grid-template-columns:1fr;}
  #gema .gema-results{grid-template-columns:1fr;}
  #gema .gema-banner{flex-direction:column;align-items:flex-start;}
  #gema .gema-banner .btn{width:100%;}
}
#gema .pill-row{display:flex;gap:8px;flex-wrap:wrap}
#gema .pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(100,63,205,.25);
  background:rgba(100,63,205,.06);
  color:rgba(40,40,70,.85);
  font-weight:800;font-size:12px;
}


/* Width alignment: rely on theme .wrap, but ensure no smaller fallback */
#gema .ocg-wrap{
  max-width: var(--wrap, 1600px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}
@media (max-width:720px){
  #gema .ocg-wrap{padding-left:0;padding-right:0;}
}


/* Admin-driven width + backgrounds */
#gema .ocg-wrap{
  max-width: var(--ocgr-wrap, var(--wrap, 1600px));
  margin-left:auto;
  margin-right:auto;
}
#gema .card{ background: var(--ocgr-box-bg, #fff); }


/* OCGR spacing + typography alignment */
#gema.section{
  padding-top: 48px;
  padding-bottom: 48px;
}
#gema .section-header{margin-bottom:18px;}
#gema .section-header h2{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.15;
  color: var(--dark, #0f1020);
  font-weight:950;
  letter-spacing:-.01em;
}
#gema .section-header p{
  margin:0;
  color: var(--muted, #5f647a);
  font-size:14px;
  line-height:1.6;
}
#gema h3{
  font-weight:950;
  color: var(--dark, #0f1020);
}
#gema, #gema *{font-family: inherit;}
/* ensure cards breathe from edges */
#gema .card{padding:18px;}
