.rsg-open-popup { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin: 12px 0; padding: 10px 18px; border: 1px solid #111; border-radius: 999px; background: #111; color: #fff; font-weight: 700; cursor: pointer; transition: opacity .2s ease, transform .2s ease; }
.rsg-open-popup:hover { opacity: .88; transform: translateY(-1px); color: #fff; }
.rsg-popup-lock { overflow: hidden; }
.rsg-popup-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.58); z-index: 999999; display: none; align-items: center; justify-content: center; padding: 18px; }
.rsg-popup-overlay.active { display: flex; }
.rsg-popup { width: min(980px, 96vw); max-height: 92vh; overflow: auto; background: #fff; border-radius: 22px; box-shadow: 0 22px 80px rgba(0,0,0,.25); position: relative; padding: 28px; color: #222; }
.rsg-popup-close { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f0f0f0; color: #111; font-size: 24px; line-height: 1; cursor: pointer; }
.rsg-popup-header h2 { margin: 0 42px 8px 0; font-size: 28px; }
.rsg-template-html { color: #555; margin-bottom: 16px; }
.rsg-main-tabs, .rsg-color-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.rsg-main-tab, .rsg-color-tab { border: 1px solid #d8d8d8; background: #fff; border-radius: 999px; padding: 9px 16px; cursor: pointer; font-weight: 700; color: #333; }
.rsg-main-tab.active, .rsg-color-tab.active { background: #111; color: #fff; border-color: #111; }
.rsg-tab-panel, .rsg-color-panel, .rsg-model-box { display: none; }
.rsg-tab-panel.active, .rsg-color-panel.active, .rsg-model-box.active { display: block; }
.rsg-table-wrap { overflow-x: auto; border: 1px solid #eee; border-radius: 16px; margin: 12px 0 18px; }
.rsg-table { width: 100%; border-collapse: collapse; min-width: 620px; background: #fff; }
.rsg-table th { background: #111; color: #fff; font-weight: 700; padding: 13px 12px; text-align: left; }
.rsg-table td { border-top: 1px solid #eee; padding: 12px; color: #333; }
.rsg-table tr:nth-child(even) td { background: #fafafa; }
.rsg-model-boxes { margin-top: 18px; }
.rsg-model-box { border: 1px solid #e7e7e7; border-radius: 18px; padding: 16px; background: #fafafa; }
.rsg-model-box strong { display: block; margin-bottom: 8px; font-size: 16px; }
.rsg-model-box ul { margin: 0 0 8px 18px; padding: 0; }
.rsg-info-blocks { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
.rsg-info-block { background: #f8f8f8; border: 1px solid #eee; border-radius: 18px; padding: 16px; }
.rsg-info-block h3 { margin: 0 0 8px; font-size: 17px; }
@media (max-width: 700px) { .rsg-popup { padding: 22px 16px; border-radius: 18px; } .rsg-info-blocks { grid-template-columns: 1fr; } .rsg-popup-header h2 { font-size: 24px; } }

.rsg-quick-selector { border: 1px solid #ececec; border-radius: 18px; padding: 16px; margin: 14px 0 18px; background: #fff; }
.rsg-choice-group { margin-bottom: 14px; }
.rsg-choice-title { font-weight: 700; margin-bottom: 9px; color: #111; }
.rsg-choice-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.rsg-choice-btn { min-width: 44px; min-height: 38px; border: 1px solid #d8d8d8; border-radius: 999px; background: #fff; color: #111; font-weight: 700; cursor: pointer; padding: 8px 14px; letter-spacing: .04em; }
.rsg-choice-btn.active { background: #111; border-color: #111; color: #fff; }
.rsg-selected-measures { margin: 10px 0 14px; }
.rsg-selected-title { font-weight: 800; margin-bottom: 10px; font-size: 16px; }
.rsg-measures-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rsg-measure-item { border: 1px solid #eee; background: #fafafa; border-radius: 14px; padding: 11px 12px; }
.rsg-measure-item span { display: block; font-size: 12px; color: #666; margin-bottom: 4px; }
.rsg-measure-item strong { display: block; font-size: 15px; color: #111; }
.rsg-add-to-cart { width: 100%; border: 0; border-radius: 8px; background: #111; color: #fff; text-transform: uppercase; font-weight: 800; letter-spacing: .08em; padding: 13px 18px; cursor: pointer; }
.rsg-add-to-cart:disabled { opacity: .45; cursor: not-allowed; }
.rsg-selector-note { margin-top: 8px; color: #9a3412; font-size: 13px; }
@media (max-width: 700px) { .rsg-measures-grid { grid-template-columns: 1fr; } .rsg-choice-btn { min-width: 42px; } }

/* Selector visual de colores tipo variantes de producto */
.rsg-choice-colors .rsg-choice-title,
.rsg-choice-sizes .rsg-choice-title {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
  color: #333;
}
.rsg-choice-colors .rsg-choice-buttons { gap: 14px; align-items: center; }
.rsg-choice-color-swatch { width: 32px; height: 32px; border: 1px solid #d6d6d6; border-radius: 50%; background: #fff; padding: 3px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; position: relative; }
.rsg-choice-color-swatch.active { border-color: #111; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #111; }
.rsg-color-dot, .rsg-swatch-dot { display: block; width: 100%; height: 100%; border-radius: 50%; background-size: cover; background-position: center; border: 1px solid rgba(0,0,0,.08); }
.rsg-color-tabs-swatch { gap: 14px; align-items: center; }
.rsg-color-swatch-tab { min-width: 0; width: 32px; height: 32px; padding: 3px; border-radius: 50%; font-size: 0; display: inline-flex; align-items: center; justify-content: center; }
.rsg-color-swatch-tab.active { background: #fff; color: #111; border-color: #111; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #111; }
.rsg-color-swatch-tab .rsg-swatch-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }


/* v1.9.2 refinamiento visual popup guía de tallas */
.rsg-popup {
  scrollbar-width: thin;
  scrollbar-color: #cfcfcf transparent;
  animation: rsgPopupIn .22s ease both;
}
.rsg-popup::-webkit-scrollbar { width: 7px; height: 7px; }
.rsg-popup::-webkit-scrollbar-track { background: transparent; }
.rsg-popup::-webkit-scrollbar-thumb { background: #cfcfcf; border-radius: 999px; }
.rsg-popup::-webkit-scrollbar-button { width: 0; height: 0; display: none; }
@keyframes rsgPopupIn { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }

.rsg-popup-header { text-align: center; }
.rsg-popup-header h2 { margin: 0 42px 8px; font-size: 30px; line-height: 1.15; }
.rsg-template-html { max-width: 720px; margin: 0 auto 18px; text-align: center; }

/* Tabs superiores estilo limpio con subrayado */
.rsg-main-tabs {
  justify-content: center;
  align-items: center;
  gap: 34px;
  border-bottom: 1px solid #ececec;
  margin: 18px auto 22px;
  padding: 0 0 8px;
}
.rsg-main-tab {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 0 7px;
  font-size: 18px;
  letter-spacing: 0;
  color: #777;
  font-weight: 800;
  position: relative;
  text-transform: none;
}
.rsg-main-tab.active {
  background: transparent;
  color: #111;
  border-color: transparent;
}
.rsg-main-tab.active::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 3px;
  background: #111;
  border-radius: 999px;
}

/* Bloque selector centrado */
.rsg-quick-selector {
  max-width: 900px;
  margin: 12px auto 22px;
  text-align: center;
  border-radius: 20px;
  padding: 18px 18px 20px;
}
.rsg-choice-group { margin-bottom: 16px; }
.rsg-choice-title {
  display: block;
  text-align: center;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.rsg-choice-buttons { justify-content: center; align-items: center; }
.rsg-choice-colors .rsg-choice-buttons { gap: 18px; }
.rsg-choice-sizes .rsg-choice-buttons { gap: 10px; }

/* Swatches más parecidos a Elessi */
.rsg-choice-color-swatch,
.rsg-color-swatch-tab {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
.rsg-choice-color-swatch .rsg-color-dot,
.rsg-color-swatch-tab .rsg-swatch-dot {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 1px solid #efefef;
  box-shadow: none;
}
.rsg-choice-color-swatch.active,
.rsg-color-swatch-tab.active {
  background: transparent;
  border: 1px solid #111;
  box-shadow: 0 0 0 3px #fff inset, 0 0 0 1px #111;
  padding: 3px;
  width: 34px;
  height: 34px;
}
.rsg-choice-color-swatch.active .rsg-color-dot,
.rsg-color-swatch-tab.active .rsg-swatch-dot {
  width: 25px;
  height: 25px;
}
.rsg-color-tabs-swatch {
  justify-content: center;
  margin: 18px auto;
}

/* Talles */
.rsg-choice-btn {
  border-radius: 50%;
  min-width: 40px;
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  letter-spacing: 0;
  font-size: 13px;
  border-color: #d8d8d8;
}
.rsg-choice-btn.active { background: #111; color: #fff; }

/* Medidas seleccionadas más compactas */
.rsg-selected-measures {
  max-width: 900px;
  margin: 12px auto 16px;
  animation: rsgFadeIn .18s ease both;
}
@keyframes rsgFadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.rsg-selected-title {
  text-align: center;
  font-size: 17px;
  margin: 10px 0 12px;
}
.rsg-measures-grid {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 10px;
}
.rsg-measure-item {
  flex: 1 1 0;
  min-width: 130px;
  max-width: 170px;
  border-radius: 14px;
  padding: 10px 12px;
  text-align: center;
}
.rsg-measure-item span { font-size: 11px; margin-bottom: 3px; }
.rsg-measure-item strong { font-size: 16px; }
.rsg-add-to-cart { max-width: 880px; margin: 10px auto 0; display: block; border-radius: 8px; }
.rsg-selector-note { text-align: center; }

/* Tablas tipo referencia, centradas y con scroll fino */
.rsg-table-wrap {
  max-width: 920px;
  margin: 16px auto 22px;
  border-radius: 14px;
  border: 1px solid #e6e6e6;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #cfcfcf transparent;
}
.rsg-table-wrap::-webkit-scrollbar { height: 6px; }
.rsg-table-wrap::-webkit-scrollbar-track { background: transparent; }
.rsg-table-wrap::-webkit-scrollbar-thumb { background: #cfcfcf; border-radius: 999px; }
.rsg-table-wrap::-webkit-scrollbar-button { width: 0; height: 0; display: none; }
.rsg-table { min-width: 720px; }
.rsg-table th,
.rsg-table td {
  text-align: center;
  vertical-align: middle;
  padding: 14px 12px;
}
.rsg-table th {
  background: #f5f5f5;
  color: #111;
  font-size: 13px;
  border-bottom: 1px solid #e2e2e2;
}
.rsg-table tr:nth-child(even) td { background: #f7f7f7; }
.rsg-table td:first-child,
.rsg-table th:first-child { font-weight: 800; }

.rsg-model-boxes,
.rsg-info-blocks { max-width: 920px; margin-left: auto; margin-right: auto; }
.rsg-model-box { text-align: center; }
.rsg-model-box ul { display: inline-block; text-align: left; }

@media (max-width: 700px) {
  .rsg-popup { width: 96vw; padding: 20px 14px; }
  .rsg-popup-header h2 { font-size: 26px; margin: 0 38px 8px; }
  .rsg-main-tabs { gap: 20px; }
  .rsg-main-tab { font-size: 16px; }
  .rsg-measures-grid { flex-direction: column; align-items: stretch; }
  .rsg-measure-item { max-width: none; width: 100%; text-align: center; }
  .rsg-table { min-width: 640px; }
}

/* v1.9.3 múltiples tipos de prenda + acordeones */
.rsg-table tbody tr { transition: background-color .18s ease, transform .18s ease; }
.rsg-table tbody tr:hover td { background: #f1f1f1 !important; }
.rsg-table tbody tr.rsg-row-active td { background: #eeeeee !important; }
.rsg-table tbody tr.rsg-row-active td:first-child { color: #111; font-weight: 900; }

.rsg-accordions { max-width: 920px; margin: 22px auto 4px; border-top: 1px solid #e7e7e7; }
.rsg-accordion { border-bottom: 1px solid #e7e7e7; background: #fff; }
.rsg-accordion summary { list-style: none; cursor: pointer; padding: 18px 4px; font-weight: 800; font-size: 17px; display: flex; align-items: center; justify-content: space-between; }
.rsg-accordion summary::-webkit-details-marker { display: none; }
.rsg-accordion summary::after { content: '⌄'; font-size: 20px; line-height: 1; transition: transform .2s ease; color: #777; }
.rsg-accordion[open] summary::after { transform: rotate(180deg); }
.rsg-accordion-content { display: grid; grid-template-columns: minmax(220px, 360px) 1fr; gap: 24px; align-items: center; padding: 0 4px 22px; animation: rsgFadeIn .18s ease both; }
.rsg-guide-image { display: block; width: 100%; max-width: 360px; margin: 0 auto; border-radius: 14px; background: #fff; }
.rsg-guide-copy { text-align: left; color: #222; font-size: 14px; line-height: 1.55; }
.rsg-guide-copy p { margin: 0 0 10px; }

@media (max-width: 700px) {
  .rsg-accordion-content { grid-template-columns: 1fr; gap: 14px; text-align: center; }
  .rsg-guide-copy { text-align: center; }
  .rsg-guide-image { max-width: 310px; }
}

/* v1.9.4 fase 1 - acordeones fluidos, modelo y textos */
.rsg-accordions { margin-top: 26px; }
.rsg-accordion { overflow: hidden; }
.rsg-accordion summary { user-select: none; }
.rsg-accordion-content {
  will-change: max-height, opacity, transform;
}
.rsg-guide-copy-title { font-size: 16px; margin-bottom: 8px !important; }
.rsg-guide-list { margin-top: 12px; }
.rsg-guide-list p { margin: 0 0 9px; }

.rsg-model-boxes {
  max-width: 880px;
  margin: 14px auto 22px;
}
.rsg-model-box {
  background: linear-gradient(180deg, #fff, #fafafa);
  border: 1px solid #e9e9e9;
  border-radius: 18px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,.035);
}
.rsg-model-title {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  font-weight: 900;
  color: #111;
  margin-bottom: 7px;
}
.rsg-model-color {
  font-size: 13px;
  color: #555;
  margin-bottom: 12px;
}
.rsg-model-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-width: 720px;
  margin: 0 auto;
}
.rsg-model-grid div {
  border: 1px solid #eee;
  background: #fff;
  border-radius: 13px;
  padding: 10px 8px;
}
.rsg-model-grid span {
  display: block;
  color: #777;
  font-size: 11px;
  margin-bottom: 3px;
}
.rsg-model-grid strong {
  display: block;
  color: #111;
  font-size: 15px;
  margin: 0;
}
.rsg-model-note {
  margin: 12px auto 0;
  color: #333;
  max-width: 620px;
}
@media (max-width: 700px) {
  .rsg-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rsg-guide-list p { text-align: left; }
}

/* Fase 2: modelo por color con foto */
.rsg-model-photo{display:flex;justify-content:center;margin:4px 0 8px;}
.rsg-model-photo img{width:76px;height:76px;object-fit:cover;border-radius:50%;border:1px solid #e7e7e7;background:#fff;}
.rsg-model-name{text-align:center;font-weight:800;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;font-size:12px;}

/* v1.9.6 ajustes compactos frontend */
.rsg-open-popup{
  padding:8px 14px!important;
  margin:8px 0!important;
  border-radius:7px!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  gap:7px!important;
}
.rsg-popup{padding:22px 22px 18px!important;}
.rsg-popup-header h2{margin-bottom:6px!important;}
.rsg-main-tabs{margin:12px auto 16px!important;}
.rsg-quick-selector{margin:8px auto 14px!important;padding:14px!important;}
.rsg-choice-group{margin-bottom:12px!important;}
.rsg-selected-measures{margin:8px auto 10px!important;}
.rsg-add-to-cart{margin-top:8px!important;}
.rsg-color-tabs-swatch{margin:10px auto 12px!important;}
.rsg-table-wrap{margin:10px auto 16px!important;}
.rsg-accordions{margin-top:16px!important;}

.rsg-model-boxes{max-width:760px!important;margin:12px auto 14px!important;}
.rsg-model-box{
  display:grid!important;
  grid-template-columns:72px 1fr!important;
  align-items:center!important;
  gap:12px 18px!important;
  padding:14px 18px!important;
  text-align:left!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.rsg-model-title{grid-column:1/-1;text-align:center;margin-bottom:0!important;font-size:11px!important;}
.rsg-model-photo{grid-row:2 / span 3;grid-column:1;justify-content:center!important;margin:0!important;}
.rsg-model-photo img{width:62px!important;height:62px!important;}
.rsg-model-name{text-align:left!important;margin:0!important;font-size:13px!important;}
.rsg-model-color{text-align:left!important;margin:0!important;font-size:12px!important;}
.rsg-model-grid{
  grid-column:2!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 16px!important;
  max-width:none!important;
  margin:0!important;
}
.rsg-model-grid div{border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;min-width:76px!important;}
.rsg-model-grid span{font-size:10px!important;text-transform:none!important;margin-bottom:1px!important;}
.rsg-model-grid strong{font-size:13px!important;}
.rsg-model-note{grid-column:2!important;margin:0!important;font-size:12px!important;text-align:left!important;}
@media(max-width:700px){
 .rsg-popup{padding:18px 12px 14px!important;}
 .rsg-model-box{grid-template-columns:58px 1fr!important;padding:12px!important;}
 .rsg-model-photo img{width:52px!important;height:52px!important;}
 .rsg-model-grid{gap:6px 12px!important;}
 .rsg-model-grid div{min-width:65px!important;}
}

/* v1.9.7: mostrar solo la referencia de modelo del color activo */
.rsg-model-boxes .rsg-model-box{display:none!important;}
.rsg-model-boxes .rsg-model-box.active{display:grid!important;}

/* v1.9.8 afinado final */
.rsg-guide-copy { font-size: 16px !important; line-height: 1.72 !important; }
.rsg-guide-copy-title { font-size: 19px !important; font-weight: 900 !important; margin-bottom: 10px !important; }
.rsg-guide-list p { font-size: 15px !important; margin-bottom: 11px !important; }
.rsg-guide-list strong { font-weight: 900 !important; color: #111 !important; }
.rsg-accordion summary { font-size: 18px !important; padding: 19px 4px !important; }
.rsg-accordion-content { align-items: center !important; }
.rsg-model-boxes:empty { display: none !important; }
.rsg-choice-colors:empty, .rsg-color-tabs-swatch:empty { display:none!important; }
@media(max-width:700px){
 .rsg-guide-copy { font-size: 15px !important; }
 .rsg-guide-copy-title { font-size: 17px !important; text-align:center; }
 .rsg-guide-list p { font-size: 14px !important; }
}


/* v1.9.9 vista visual de prenda + switch tabla */
.rsg-view-switch-wrap { display:flex; justify-content:flex-end; margin:-4px 0 8px; }
.rsg-view-switch { display:inline-flex; border:1px solid #ddd; border-radius:999px; padding:3px; background:#f5f5f5; gap:2px; }
.rsg-view-switch button { width:42px; height:34px; border:0; border-radius:999px; background:transparent; cursor:pointer; font-size:18px; line-height:1; }
.rsg-view-switch button.active { background:#111; color:#fff; box-shadow:0 2px 8px rgba(0,0,0,.14); }
.rsg-choice-sizes .rsg-choice-title:empty { display:none; }
.rsg-garment-visual { max-width:520px; margin:4px auto 12px; }
.rsg-diagram-stage { position:relative; width:min(100%, 430px); margin:0 auto; }
.rsg-diagram-stage img { display:block; width:100%; height:auto; }
.rsg-diagram-value { position:absolute; transform:translate(-50%,-50%); background:rgba(255,255,255,.96); padding:2px 5px; border-radius:4px; font-weight:800; font-size:13px; line-height:1.15; white-space:nowrap; color:#111; box-shadow:0 0 0 1px rgba(255,255,255,.8); }
.rsg-table-view .rsg-choice-sizes,
.rsg-table-view .rsg-selected-measures,
.rsg-table-view .rsg-add-cart-form,
.rsg-table-view .rsg-selector-note { display:none !important; }
.rsg-tab-panel[data-panel="prenda"] { display:none !important; }
.rsg-tab-panel[data-panel="prenda"].rsg-force-visible { display:block !important; }
.rsg-body-mode .rsg-quick-selector { display:none !important; }
.rsg-body-mode .rsg-tab-panel[data-panel="cuerpo"].active { display:block !important; }
.rsg-body-mode .rsg-accordion-garment { display:none !important; }
.rsg-body-mode .rsg-accordion-body { display:block !important; }
.rsg-model-boxes { transition:opacity .2s ease; }
@media (max-width:700px) {
  .rsg-view-switch-wrap { justify-content:center; margin-top:4px; }
  .rsg-diagram-stage { width:min(100%, 360px); }
  .rsg-diagram-value { font-size:12px; padding:2px 4px; }
}

/* v1.10.0 - panel lateral, barra unificada y guía estática */
.rsg-popup-overlay{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:stretch!important;
  padding:0!important;
  background:rgba(0,0,0,.48)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.rsg-popup-overlay.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.rsg-popup{
  width:min(760px,94vw)!important;
  max-width:94vw!important;
  height:100vh!important;
  max-height:100vh!important;
  margin:0!important;
  border-radius:22px 0 0 22px!important;
  padding:24px 28px 22px!important;
  transform:translateX(104%);
  transition:transform .34s cubic-bezier(.22,.8,.25,1);
  box-shadow:-18px 0 55px rgba(0,0,0,.22)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.rsg-popup-overlay.active .rsg-popup{transform:translateX(0);}
.rsg-popup-header{padding-right:38px;}
.rsg-template-html{display:none!important;}
.rsg-selector-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:2px 0 14px;
}
.rsg-selector-toolbar .rsg-choice-colors{
  flex:1 1 auto;
  margin:0!important;
  min-width:0;
}
.rsg-selector-toolbar .rsg-choice-colors .rsg-choice-title{text-align:left!important;}
.rsg-selector-toolbar .rsg-choice-colors .rsg-choice-buttons{justify-content:flex-start!important;}
.rsg-selector-toolbar-single{justify-content:flex-end;}
.rsg-view-switch-wrap{
  flex:0 0 auto;
  margin:0!important;
  align-self:flex-end;
}
.rsg-view-switch button{font-family:Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;}
.rsg-static-guide{
  display:block;
  margin:18px 0 4px;
  padding:22px 4px 8px;
  border-top:1px solid #e7e7e7;
}
.rsg-static-guide .rsg-guide-copy{
  max-width:680px;
  margin:0 auto;
}
.rsg-static-guide .rsg-guide-copy-title{
  margin-bottom:10px!important;
  font-size:20px!important;
}
.rsg-static-guide .rsg-guide-list{
  margin-top:14px;
}
.rsg-static-guide .rsg-guide-list p{
  margin:0 0 10px!important;
}
/* Ya no se duplica la ilustración dentro de “Cómo medir tu prenda”. */
.rsg-static-guide .rsg-guide-image{display:none!important;}

/* Ajuste visual del diagrama de pantalón */
.rsg-diagram-pantalon .rsg-diagram-stage{width:min(100%,400px);}
.rsg-diagram-pantalon .rsg-diagram-value{font-size:13px;}

@media(max-width:700px){
  .rsg-popup{width:100vw!important;max-width:100vw!important;border-radius:0!important;padding:20px 14px 18px!important;}
  .rsg-selector-toolbar{align-items:center;gap:10px;}
  .rsg-selector-toolbar .rsg-choice-colors .rsg-choice-buttons{gap:12px!important;}
  .rsg-view-switch button{width:38px;height:32px;font-size:17px;}
  .rsg-static-guide{padding:18px 2px 4px;}
  .rsg-static-guide .rsg-guide-copy{text-align:left;}
}


/* v1.10.1 - correcciones definitivas: drawer, barra en una fila y guía corporal estática */
body .rsg-popup-overlay{
  position:fixed!important;
  inset:0!important;
  display:block!important;
  padding:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:rgba(0,0,0,.48)!important;
  z-index:2147483000!important;
  transition:opacity .28s ease, visibility .28s ease!important;
}
body .rsg-popup-overlay.active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body .rsg-popup-overlay .rsg-popup{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:min(720px,94vw)!important;
  max-width:94vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  border-radius:22px 0 0 22px!important;
  transform:translate3d(105%,0,0)!important;
  transition:transform .34s cubic-bezier(.22,.8,.25,1)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-shadow:-18px 0 55px rgba(0,0,0,.22)!important;
}
body .rsg-popup-overlay.active .rsg-popup{
  transform:translate3d(0,0,0)!important;
}

.rsg-selector-toolbar{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
}
.rsg-selector-toolbar .rsg-choice-colors{
  flex:0 1 auto!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.rsg-selector-toolbar .rsg-choice-colors .rsg-choice-title{
  margin:0!important;
  white-space:nowrap!important;
  text-align:left!important;
}
.rsg-selector-toolbar .rsg-choice-colors .rsg-choice-buttons{
  display:flex!important;
  flex-flow:row nowrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:14px!important;
}
.rsg-selector-toolbar .rsg-view-switch-wrap{
  flex:0 0 auto!important;
  margin:0!important;
  align-self:center!important;
}
.rsg-view-switch button[data-rsg-view="visual"]{
  font-size:0!important;
}
.rsg-view-switch button[data-rsg-view="visual"]::before{
  content:'👖';
  font-size:18px;
  line-height:1;
}
.rsg-diagram-pantalon .rsg-diagram-stage{width:min(100%,390px)!important;}
.rsg-diagram-pantalon .rsg-diagram-value{font-size:12px!important;padding:1px 4px!important;}

.rsg-static-body-guide{
  display:none;
  margin:18px 0 4px;
  padding:22px 4px 8px;
  border-top:1px solid #e7e7e7;
}
.rsg-body-mode .rsg-static-body-guide{display:block!important;}
.rsg-static-body-layout{
  display:grid;
  grid-template-columns:minmax(220px,340px) 1fr;
  gap:26px;
  align-items:center;
  max-width:680px;
  margin:0 auto;
}
.rsg-static-body-guide .rsg-guide-image{
  display:block!important;
  width:100%;
  max-width:320px;
  margin:0 auto;
  border-radius:12px;
}
.rsg-static-body-guide .rsg-guide-copy{margin:0!important;max-width:none!important;}

@media(max-width:700px){
  body .rsg-popup-overlay .rsg-popup{
    width:100vw!important;
    max-width:100vw!important;
    border-radius:0!important;
  }
  .rsg-selector-toolbar{
    gap:10px!important;
    justify-content:space-between!important;
  }
  .rsg-selector-toolbar .rsg-choice-colors{
    gap:8px!important;
    overflow:hidden;
  }
  .rsg-selector-toolbar .rsg-choice-colors .rsg-choice-title{
    font-size:12px!important;
  }
  .rsg-selector-toolbar .rsg-choice-colors .rsg-choice-buttons{gap:10px!important;}
  .rsg-static-body-layout{grid-template-columns:1fr;gap:16px;}
  .rsg-static-body-guide .rsg-guide-copy{text-align:left!important;}
}

/* v1.11.0 - selector único, SVG escalable, navegación AJAX y espaciado */
.rsg-color-tabs{display:none!important;}
.rsg-diagram-stage{position:relative!important;}
.rsg-diagram-stage>img{display:block!important;width:100%!important;height:auto!important;}
.rsg-diagram-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:visible!important;pointer-events:none!important;}
.rsg-svg-measure{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:800;fill:#111;stroke:#fff;stroke-width:4px;paint-order:stroke fill;stroke-linejoin:round;}
.rsg-view-switch button{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:0!important;}
.rsg-view-switch button svg{width:19px;height:19px;display:block;fill:currentColor;}
.rsg-static-guide .rsg-guide-copy-title{margin:0 0 18px!important;font-size:21px!important;line-height:1.3!important;}
.rsg-static-guide .rsg-guide-copy>p:not(.rsg-guide-copy-title){margin:0 0 20px!important;line-height:1.7!important;}
.rsg-static-guide .rsg-guide-list{display:grid!important;gap:14px!important;margin-top:20px!important;}
.rsg-static-guide .rsg-guide-list p{margin:0!important;line-height:1.65!important;}
.rsg-static-guide{padding-top:28px!important;padding-bottom:20px!important;}
.rsg-popup-overlay .rsg-popup{will-change:transform;}
.rsg-open-popup.rsg-relocated{display:inline-flex!important;}
.rsg-color-panel{display:none!important;}
.rsg-color-panel.active{display:block!important;}
@media(max-width:700px){
 .rsg-svg-measure{font-size:11px;stroke-width:3px;}
 .rsg-static-guide .rsg-guide-copy-title{font-size:19px!important;margin-bottom:15px!important;}
 .rsg-static-guide .rsg-guide-copy>p:not(.rsg-guide-copy-title){margin-bottom:16px!important;}
 .rsg-static-guide .rsg-guide-list{gap:12px!important;margin-top:16px!important;}
}

/* v1.11.2: enlace estable, medidas dinámicas y switch lateral */
.rsg-open-popup.rsg-size-guide-link{
  display:block!important; width:max-content!important; margin:-34px 0 12px auto!important;
  padding:0!important; border:0!important; border-radius:0!important; background:transparent!important;
  color:#222!important; font-size:14px!important; font-weight:500!important; line-height:1.2!important;
  text-decoration:underline!important; text-underline-offset:2px!important; box-shadow:none!important;
  transform:none!important; position:relative!important; z-index:3;
}
.rsg-open-popup.rsg-size-guide-link:hover{opacity:.72!important;color:#222!important;transform:none!important;}
.single_variation_wrap{position:relative;}
.rsg-quick-selector{position:relative;}
.rsg-selector-toolbar{padding-right:58px;}
.rsg-view-switch-wrap{
  position:absolute!important; right:-18px!important; top:18px!important; z-index:5!important;
  margin:0!important; align-self:auto!important;
}
.rsg-view-switch{display:flex!important;flex-direction:column!important;border-radius:14px!important;padding:4px!important;gap:3px!important;background:#f2f2f2!important;}
.rsg-view-switch button{width:44px!important;height:40px!important;padding:7px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.rsg-view-switch button svg{display:block;width:25px;height:25px;fill:none;color:currentColor;}
.rsg-diagram-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.rsg-svg-measure{font-family:Arial,sans-serif;font-size:13px;font-weight:800;fill:#111;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;}
@media(max-width:700px){
 .rsg-open-popup.rsg-size-guide-link{margin:-32px 0 12px auto!important;font-size:13px!important;}
 .rsg-selector-toolbar{padding-right:48px;}
 .rsg-view-switch-wrap{right:-7px!important;top:12px!important;}
 .rsg-view-switch button{width:39px!important;height:36px!important;padding:6px!important;}
 .rsg-svg-measure{font-size:12px;stroke-width:3.5px;}
}

/* v1.11.3 - limpieza definitiva del acceso y switch */
/* El botón heredado deja de existir visualmente por seguridad ante cachés antiguas. */
.rsg-open-popup:not(.rsg-size-guide-inline-link){display:none!important;}
.variations .label label:has(.rsg-size-guide-inline-link),
.variations th.label label:has(.rsg-size-guide-inline-link){
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  width:100%!important;gap:16px!important;margin:0!important;
}
.rsg-size-label-text{display:inline-block!important;}
.rsg-size-guide-inline-link{
  display:inline-block!important;margin-left:auto!important;padding:0!important;border:0!important;
  background:transparent!important;color:#222!important;font-size:13px!important;font-weight:400!important;
  line-height:1.2!important;text-decoration:underline!important;text-underline-offset:2px!important;
  text-transform:none!important;letter-spacing:0!important;white-space:nowrap!important;box-shadow:none!important;
}
.rsg-size-guide-inline-link:hover{color:#222!important;opacity:.7!important;}
.rsg-popup-overlay .rsg-popup{position:relative!important;overflow:visible!important;}
.rsg-quick-selector{position:static!important;}
.rsg-selector-toolbar{padding-right:0!important;}
.rsg-view-switch-wrap{
  position:absolute!important;right:-58px!important;top:132px!important;z-index:50!important;
  margin:0!important;display:block!important;
}
.rsg-view-switch{
  display:flex!important;flex-direction:column!important;gap:4px!important;padding:5px!important;
  border:1px solid #d8d8d8!important;border-radius:16px!important;background:#f4f4f4!important;
  box-shadow:0 3px 12px rgba(0,0,0,.10)!important;
}
.rsg-view-switch button{
  width:44px!important;height:40px!important;border:0!important;border-radius:11px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;padding:7px!important;
  background:transparent!important;color:#252525!important;box-shadow:none!important;
}
.rsg-view-switch button.active{background:#111!important;color:#fff!important;}
.rsg-view-switch button svg{width:25px!important;height:25px!important;display:block!important;fill:none!important;}
.rsg-diagram-stage{max-width:520px!important;margin:0 auto!important;}
.rsg-svg-measure{font-size:12px!important;font-weight:800!important;stroke-width:3.5px!important;}
@media(max-width:700px){
  .variations .label label:has(.rsg-size-guide-inline-link),.variations th.label label:has(.rsg-size-guide-inline-link){gap:10px!important;}
  .rsg-size-guide-inline-link{font-size:12px!important;}
  .rsg-popup-overlay .rsg-popup{overflow-x:hidden!important;}
  .rsg-view-switch-wrap{right:10px!important;top:116px!important;}
  .rsg-view-switch{flex-direction:row!important;border-radius:999px!important;}
  .rsg-view-switch button{width:39px!important;height:35px!important;border-radius:999px!important;padding:6px!important;}
  .rsg-view-switch button svg{width:21px!important;height:21px!important;}
  .rsg-svg-measure{font-size:11px!important;stroke-width:3px!important;}
}


/* v1.11.4 - enlace compatible con temas que no usan woocommerce_attribute_label */
.rsg-size-label-host{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  gap:14px!important;
}
.rsg-size-label-host .rsg-size-guide-inline-link{
  margin-left:auto!important;
  flex:0 0 auto!important;
}
.variations tr:has(select[name="attribute_pa_talla"]) th.label,
.variations tr:has(select[name="attribute_pa_talle"]) th.label,
.variations tr:has(select[name="attribute_talla"]) th.label,
.variations tr:has(select[name="attribute_talle"]) th.label{
  width:100%!important;
}

/* v1.11.5 — switch dentro del cuadro, iconos monocromos y apertura móvil */
.rsg-view-switch button[data-rsg-view="visual"]::before{content:none!important;display:none!important;}
.rsg-popup-overlay .rsg-popup{overflow-x:hidden!important;}
.rsg-quick-selector{position:relative!important;}
.rsg-selector-toolbar{padding-right:104px!important;min-height:58px!important;}
.rsg-view-switch-wrap{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  left:auto!important;
  margin:0!important;
  z-index:8!important;
}
.rsg-view-switch{
  flex-direction:row!important;
  border-radius:999px!important;
  padding:4px!important;
  gap:3px!important;
  background:#f4f4f4!important;
  border:1px solid #d9d9d9!important;
  box-shadow:0 3px 10px rgba(0,0,0,.09)!important;
}
.rsg-view-switch button{
  width:42px!important;
  height:38px!important;
  border-radius:999px!important;
  padding:7px!important;
  font-size:0!important;
}
.rsg-view-switch button svg{
  width:23px!important;
  height:23px!important;
  display:block!important;
  color:currentColor!important;
  fill:none!important;
  stroke:currentColor!important;
}
/* Quita el espacio heredado que separaba la referencia del bloque “Cómo medir”. */
.rsg-accordions{margin-top:4px!important;}
.rsg-static-guide{margin-top:0!important;padding-top:14px!important;}
.rsg-model-boxes{margin-bottom:4px!important;}

@media(max-width:700px){
  .rsg-selector-toolbar{padding-right:98px!important;min-height:54px!important;}
  .rsg-view-switch-wrap{top:10px!important;right:10px!important;}
  .rsg-view-switch button{width:38px!important;height:34px!important;padding:6px!important;}
  .rsg-view-switch button svg{width:20px!important;height:20px!important;}
  body .rsg-popup-overlay .rsg-popup{
    transform:translateY(100%)!important;
    opacity:1!important;
    transition:transform .28s cubic-bezier(.22,.75,.25,1)!important;
    will-change:transform!important;
  }
  body .rsg-popup-overlay.active .rsg-popup{transform:translateY(0)!important;}
  .rsg-popup-overlay{align-items:flex-end!important;padding:0!important;}
  .rsg-accordions{margin-top:0!important;}
  .rsg-static-guide{padding-top:12px!important;}
}
@media(prefers-reduced-motion:reduce){
  body .rsg-popup-overlay .rsg-popup{transition:none!important;}
}

/* === RSG 1.11.6: calibrador visual para administradores === */
.rsg-calibration-panel{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px dashed #b8b8b8;
  border-radius:10px;
  background:#fffdf2;
  text-align:left;
}
.rsg-calibration-toggle,
.rsg-calibration-actions button{
  appearance:none;
  border:1px solid #222;
  border-radius:7px;
  background:#fff;
  color:#111;
  padding:8px 12px;
  font:600 12px/1.2 inherit;
  cursor:pointer;
}
.rsg-calibration-toggle{background:#111;color:#fff;}
.rsg-calibration-tools{margin-top:10px;}
.rsg-calibration-tools p{margin:0 0 8px;font-size:12px;line-height:1.45;color:#444;}
.rsg-calibration-tools pre{
  max-height:190px;
  overflow:auto;
  margin:0 0 8px;
  padding:9px;
  border-radius:7px;
  background:#f3f3f3;
  color:#111;
  font:11px/1.4 monospace;
  white-space:pre-wrap;
}
.rsg-calibration-actions{display:flex;gap:8px;flex-wrap:wrap;}
.rsg-calibration-active .rsg-svg-measure{
  cursor:grab;
  paint-order:stroke fill;
  stroke:#fff;
  stroke-width:5px;
  outline:none;
}
.rsg-calibration-active .rsg-svg-measure:hover,
.rsg-calibration-active .rsg-svg-measure:focus{
  fill:#d00000;
  stroke:#fff3a6;
  stroke-width:7px;
}
.rsg-calibration-active .rsg-calibration-dragging{cursor:grabbing;fill:#d00000;}
@media (max-width:767px){
  .rsg-calibration-panel{margin-top:6px;padding:9px;}
  .rsg-calibration-tools pre{max-height:150px;}
}


/* === RSG 1.11.7: posiciones calibradas y etiquetas de medida destacadas === */
.rsg-diagram-overlay .rsg-svg-measure{
  fill:#fff !important;
  stroke:#111 !important;
  stroke-width:11px !important;
  stroke-linejoin:round !important;
  stroke-linecap:round !important;
  paint-order:stroke fill !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
.rsg-calibration-active .rsg-svg-measure:hover,
.rsg-calibration-active .rsg-svg-measure:focus{
  fill:#fff !important;
  stroke:#d00000 !important;
  outline:none;
}
.rsg-calibration-active .rsg-calibration-dragging{
  fill:#fff !important;
  stroke:#d00000 !important;
}
@media (max-width:767px){
  .rsg-diagram-overlay .rsg-svg-measure{
    stroke-width:10px !important;
  }
}

/* Etiquetas de medidas SVG */
.rsg-measure-group .rsg-measure-bg{
 fill:#111;
 rx:4px;
 ry:4px;
}
.rsg-measure-group .rsg-svg-measure{
 fill:#fff;
 stroke:none;
 font-family:Arial,Helvetica,sans-serif;
 font-size:12px;
 font-weight:800;
}
.rsg-measure-group.rsg-calibration-dragging .rsg-measure-bg{
 fill:#333;
}
