:root{
  --verde:#4fa89b;
  --verde-oscuro:#147d70;
  --texto:#263238;
  --gris:#f5f7f7;
  --borde:#e2e7e7;
  --blanco:#fff;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:#fafafa;
  color:var(--texto);
}
.rdv-configurador-v2{
  max-width:1180px;
  margin:40px auto;
  padding:0 20px 40px;
}
.encabezado{
  text-align:center;
  margin-bottom:28px;
}
.encabezado h1{
  margin:0 0 10px;
  font-size:34px;
}
.encabezado p{
  margin:0;
  color:#687477;
}
.layout{
  display:grid;
  grid-template-columns:1fr 350px;
  gap:25px;
  align-items:start;
}
.seccion{
  background:#fff;
  border:1px solid var(--borde);
  border-radius:18px;
  padding:22px;
  margin-bottom:18px;
  box-shadow:0 5px 18px rgba(0,0,0,.05);
}
.seccion h2{
  margin:0 0 5px;
  font-size:21px;
}
.seccion .ayuda{
  color:#778184;
  font-size:14px;
  margin:0 0 18px;
}
.opciones{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
.opcion{
  position:relative;
  border:1px solid var(--borde);
  border-radius:14px;
  padding:16px;
  cursor:pointer;
  transition:.2s;
  background:#fff;
}
.opcion:hover{
  border-color:var(--verde);
  transform:translateY(-1px);
}
.opcion.seleccionada{
  border:2px solid var(--verde-oscuro);
  background:#f1fbf9;
}
.opcion input{
  position:absolute;
  opacity:0;
}

.imagen-opcion{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
  border-radius:10px;
  margin-bottom:12px;
  background:#eef4f3;
}
.imagen-placeholder{
  width:100%;
  height:180px;
  border-radius:10px;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  background:linear-gradient(135deg,#edf7f5,#f8fbfb);
  color:var(--verde-oscuro);
  font-size:13px;
  font-weight:bold;
  border:1px dashed #b8d8d2;
}
.lista li{align-items:center}
.item-resumen{display:flex;align-items:center;gap:9px;min-width:0}
.miniatura-resumen{width:42px;height:36px;object-fit:cover;border-radius:7px;background:#edf4f3;flex:0 0 auto}
.item-resumen span{overflow:hidden;text-overflow:ellipsis}

.opcion .titulo{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-weight:bold;
  margin-bottom:7px;
}
.precio{
  color:var(--verde-oscuro);
  font-weight:bold;
  white-space:nowrap;
}
.opcion small{
  color:#707b7e;
  line-height:1.4;
}
.obligatorio{
  display:inline-block;
  margin-top:10px;
  font-size:11px;
  padding:4px 8px;
  border-radius:20px;
  background:#e7f5f2;
  color:var(--verde-oscuro);
  font-weight:bold;
}
.resumen{
  position:sticky;
  top:20px;
  background:#fff;
  border:1px solid var(--borde);
  border-radius:18px;
  padding:22px;
  box-shadow:0 8px 25px rgba(0,0,0,.08);
}
.resumen h2{margin-top:0}
.lista{
  list-style:none;
  padding:0;
  margin:15px 0;
}
.lista li{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:9px 0;
  border-bottom:1px solid #edf0f0;
  font-size:14px;
}
.lista .oblig{
  color:var(--verde-oscuro);
  font-size:11px;
  margin-left:5px;
}
.total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:20px 0;
  padding-top:15px;
  border-top:2px solid var(--borde);
  font-size:20px;
  font-weight:bold;
}
.total strong{color:var(--verde-oscuro)}
.rdv-configurador-v2 .rdv-boton{
  width:100%;
  border:0;
  border-radius:12px;
  padding:14px 18px;
  font-size:16px;
  font-weight:bold;
  cursor:pointer;
  margin-top:9px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none !important;
  pointer-events:auto !important;
  position:relative;
  z-index:20;
  appearance:none;
  -webkit-appearance:none;
  line-height:1.2;
}

.rdv-configurador-v2 .rdv-boton-principal{
  background:var(--verde-oscuro);
  color:#fff;
}
.rdv-configurador-v2 .rdv-boton-secundario{
  background:var(--verde-oscuro);
  color:#fff;
}
.nota{
  margin-top:14px;
  font-size:12px;
  line-height:1.45;
  color:#7a8385;
}
.vacio{
  color:#8b9597;
  font-size:14px;
}
@media(max-width:850px){
  .layout{grid-template-columns:1fr}
  .resumen{position:static}
}
@media(max-width:560px){
  .opciones{grid-template-columns:1fr}
  .encabezado h1{font-size:28px}
}

.calculadora-km{
  display:none;
  margin-top:14px;
  padding:14px;
  border:1px solid var(--borde);
  border-radius:12px;
  background:#f7fbfa;
}
.opcion.seleccionada .calculadora-km{display:block}
.calculadora-km label{
  display:block;
  font-size:12px;
  font-weight:bold;
  color:#4f5c5e;
  margin:8px 0 5px;
}
.calculadora-km input,
.calculadora-km select{
  width:100%;
  padding:10px 11px;
  border:1px solid #d9e2e1;
  border-radius:9px;
  background:#fff;
  font-size:14px;
  color:var(--texto);
}
.calculadora-km .fila-km{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.calculadora-km .resultado-km{
  margin-top:12px;
  padding:10px;
  border-radius:9px;
  background:#e7f5f2;
  color:var(--verde-oscuro);
  font-size:13px;
  font-weight:bold;
}
.calculadora-km .maps-link{
  display:inline-block;
  margin-top:10px;
  color:var(--verde-oscuro);
  font-size:12px;
  font-weight:bold;
  text-decoration:none;
}
.calculadora-km .maps-link:hover{text-decoration:underline}
@media(max-width:560px){
  .calculadora-km .fila-km{grid-template-columns:1fr}
}


.imagen-instalacion{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:12px;
  background:#f1f4f4;
}


.servicios-gratuitos{
  margin:16px 0 20px;
  padding:16px 18px;
  background:#f1fbf9;
  border:1px solid #d5ebe7;
  border-radius:12px;
}
.servicios-gratuitos h3{
  margin:0 0 12px;
  color:var(--verde-oscuro);
  font-size:16px;
}
.servicios-gratuitos-lista{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.servicio-gratis{
  background:#fff;
  border:1px solid var(--borde);
  border-radius:10px;
  padding:12px;
  text-align:center;
  font-size:13px;
  font-weight:bold;
}
.servicio-gratis span{
  display:block;
  margin-top:5px;
  color:var(--verde-oscuro);
  font-size:10px;
  text-transform:uppercase;
}
@media(max-width:560px){
  .servicios-gratuitos-lista{grid-template-columns:1fr}
}


.servicio-gratis.seleccionable{
  position:relative;
  cursor:pointer;
  transition:.2s;
  display:block;
}
.servicio-gratis.seleccionable:hover{
  border-color:var(--verde);
  transform:translateY(-1px);
}
.servicio-gratis.seleccionable input{
  position:absolute;
  opacity:0;
}
.servicio-gratis.seleccionable.activo{
  border:2px solid var(--verde-oscuro);
  background:#eaf8f5;
}


.instalacion-completa{
  overflow:hidden;
}
.subbloque-instalacion{
  margin-top:18px;
}
.subbloque-instalacion > h3,
.instalacion-completa .servicios-gratuitos > h3{
  margin:0 0 12px;
  font-size:16px;
  color:var(--verde-oscuro);
}
.instalacion-completa .servicios-gratuitos{
  margin:20px 0 0;
}
.instalacion-completa .ayuda-gratis{
  margin:0 0 12px;
}


.cantidad-control{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e8eeee;
  font-size:12px;
  font-weight:bold;
}
.contador{
  display:flex;
  align-items:center;
  border:1px solid var(--borde);
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.contador button{
  width:34px;
  height:34px;
  border:0;
  background:#edf4f3;
  color:var(--verde-oscuro);
  font-size:19px;
  font-weight:bold;
  cursor:pointer;
}
.contador input{
  width:48px;
  height:34px;
  border:0;
  border-left:1px solid var(--borde);
  border-right:1px solid var(--borde);
  text-align:center;
  font-weight:bold;
  color:var(--texto);
  -moz-appearance:textfield;
}
.contador input::-webkit-outer-spin-button,
.contador input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}


/* Mejoras de selección y cantidad para arreglos florales */
.opcion-cantidad{
  transition:.2s ease;
}
.opcion-cantidad.seleccionada{
  border:2px solid var(--verde-oscuro);
  background:#edf8f6;
  box-shadow:0 5px 16px rgba(20,125,112,.12);
}
.opcion-cantidad .cantidad-control{
  background:#f7fbfa;
  border-radius:10px;
  padding:10px 11px;
  margin-top:14px;
  border-top:0;
}
.opcion-cantidad.seleccionada .cantidad-control{
  background:#dff3ef;
}
.contador{
  border:1px solid #bddbd5;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.contador button{
  background:var(--verde);
  color:#fff;
  transition:.15s ease;
}
.contador button:hover{
  background:var(--verde-oscuro);
}
.contador button:active{
  transform:scale(.94);
}
.contador input{
  background:#fff;
  color:var(--verde-oscuro);
  font-size:15px;
}
.cantidad-actual{
  color:var(--verde-oscuro);
  font-weight:700;
}
.lista .detalle-cantidad{
  display:block;
  margin-top:3px;
  color:var(--verde-oscuro);
  font-size:11px;
  font-weight:700;
}


/* Arreglos florales: interacción clara y robusta */
[data-floral-card]{
  cursor:default;
}
[data-floral-card] > .floral-check{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
[data-floral-card].seleccionada{
  border:2px solid var(--verde-oscuro);
  background:#edf8f6;
  box-shadow:0 5px 16px rgba(20,125,112,.12);
}
[data-floral-card] .cantidad-control{
  background:#f6faf9;
  border:1px solid #dfebe9;
  border-radius:10px;
  padding:10px 11px;
  margin-top:12px;
}
[data-floral-card].seleccionada .cantidad-control{
  background:#dff3ef;
  border-color:#badfd8;
}
.contador{
  display:flex;
  align-items:center;
  border:1px solid #bddbd5;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.contador button{
  width:38px;
  height:36px;
  border:0;
  font-size:21px;
  font-weight:800;
  cursor:pointer;
  transition:.15s ease;
}
.contador .mas{
  background:var(--verde-oscuro);
  color:#fff;
}
.contador .menos{
  background:var(--verde);
  color:#fff;
}
.contador .menos:disabled{
  background:#dbe4e3;
  color:#899493;
  cursor:not-allowed;
}
.contador button:not(:disabled):hover{
  filter:brightness(.92);
}
.contador button:not(:disabled):active{
  transform:scale(.92);
}
.contador input{
  width:54px;
  height:36px;
  border:0;
  border-left:1px solid #d6e2e0;
  border-right:1px solid #d6e2e0;
  text-align:center;
  font-size:15px;
  font-weight:800;
  color:var(--verde-oscuro);
  background:#fff;
  -moz-appearance:textfield;
}
.contador input::-webkit-outer-spin-button,
.contador input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}


.contador .menos,
.contador .mas{
  pointer-events:auto !important;
  position:relative;
  z-index:5;
}
.contador .menos:not(:disabled){
  cursor:pointer !important;
}


[data-floral-card]{
  cursor:pointer !important;
}
[data-floral-card]:hover{
  border-color:var(--verde);
  box-shadow:0 5px 16px rgba(20,125,112,.10);
}
[data-floral-card].seleccionada{
  border:2px solid var(--verde-oscuro);
  background:#edf8f6;
  box-shadow:0 5px 16px rgba(20,125,112,.12);
}
[data-floral-card].seleccionada::after{
  content:"✓ Seleccionado";
  display:inline-block;
  margin-top:12px;
  padding:6px 10px;
  border-radius:20px;
  background:var(--verde-oscuro);
  color:#fff;
  font-size:11px;
  font-weight:700;
}
[data-floral-card] .contador,
[data-floral-card] .contador *{
  cursor:auto;
}
[data-floral-card] .contador button{
  cursor:pointer;
}


/* Indicador verde universal para todas las opciones seleccionadas */
.opcion{
  position:relative;
}
.opcion.seleccionada::after{
  content:"✓ Seleccionado";
  display:inline-block;
  margin-top:12px;
  padding:6px 10px;
  border-radius:20px;
  background:var(--verde-oscuro);
  color:#fff;
  font-size:11px;
  font-weight:700;
}

/* Evita duplicar el indicador que ya tenían los arreglos florales */
[data-floral-card].seleccionada::after{
  content:"✓ Seleccionado";
}

/* Servicios gratuitos también muestran el mismo indicador */
.servicio-gratis.seleccionable{
  position:relative;
}
.servicio-gratis.seleccionable.activo::after{
  content:"✓ Seleccionado";
  display:inline-block;
  margin-top:8px;
  padding:5px 9px;
  border-radius:20px;
  background:var(--verde-oscuro);
  color:#fff;
  font-size:10px;
  font-weight:700;
}


/* WordPress: evita que el resumen fijo quede oculto detrás del menú superior */
.resumen{
  top:145px !important;
  max-height:calc(100vh - 165px);
  overflow-y:auto;
  scrollbar-width:thin;
}

/* En WordPress, la barra de administración añade altura cuando el usuario está conectado */
body.admin-bar .resumen{
  top:177px !important;
  max-height:calc(100vh - 197px);
}

@media (max-width:850px){
  .resumen,
  body.admin-bar .resumen{
    position:static !important;
    top:auto !important;
    max-height:none;
    overflow:visible;
  }
}


.desglose-totales{
  margin-top:18px;
  padding-top:14px;
  border-top:2px solid var(--borde);
}
.fila-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:6px 0;
  font-size:14px;
}
.fila-total strong{
  color:var(--texto);
}
.fila-total.iva strong{
  color:var(--verde-oscuro);
}
.desglose-totales .total{
  margin:10px 0 0;
  padding-top:12px;
  border-top:1px solid var(--borde);
}


/* Etiqueta "Seleccionado" siempre centrada en la parte inferior de la tarjeta */
.opcion.seleccionada,
.servicio-gratis.seleccionable.activo,
[data-floral-card].seleccionada{
  position:relative;
  padding-bottom:52px !important;
}

.opcion.seleccionada::after,
.servicio-gratis.seleccionable.activo::after,
[data-floral-card].seleccionada::after{
  content:"✓ Seleccionado";
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:12px !important;
  top:auto !important;
  transform:translateX(-50%);
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin:0 !important;
  padding:6px 12px;
  border-radius:20px;
  background:var(--verde-oscuro);
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  z-index:3;
}


.boton-llamar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin-top:10px;
  padding:12px 14px;
  border:1px solid var(--verde-oscuro);
  border-radius:10px;
  background:#fff;
  color:var(--verde-oscuro);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:.2s ease;
}
.boton-llamar:hover{
  background:#edf8f6;
}
.numero-telefono{
  display:block;
  margin-top:5px;
  font-size:12px;
  font-weight:600;
}


/* Compatibilidad WordPress: los indicadores visuales no bloquean los clics */
.opcion.seleccionada::after,
.servicio-gratis.seleccionable.activo::after,
[data-floral-card].seleccionada::after{
  pointer-events:none !important;
}

/* Evita conflictos de capas del tema de WordPress */
.rdv-configurador-v2{
  position:relative;
  z-index:1;
}
.rdv-configurador-v2 .opcion,
.rdv-configurador-v2 .servicio-gratis,
.rdv-configurador-v2 [data-floral-card]{
  pointer-events:auto !important;
}


/* Preguntas previsionales previas */
.preguntas-previas{
  max-width:1180px;
  margin:0 auto 22px;
  padding:0 20px;
}
.preguntas-previas-card{
  background:#fff;
  border:1px solid var(--borde);
  border-radius:18px;
  padding:22px;
  box-shadow:0 5px 18px rgba(0,0,0,.05);
}
.preguntas-previas h2{
  margin:0 0 6px;
  font-size:22px;
}
.preguntas-previas .intro{
  margin:0 0 18px;
  color:#778184;
  font-size:14px;
  line-height:1.5;
}
.preguntas-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.pregunta-box{
  border:1px solid var(--borde);
  border-radius:14px;
  padding:16px;
  background:#fafcfc;
}
.pregunta-box strong{
  display:block;
  margin-bottom:7px;
  font-size:14px;
}
.pregunta-box small{
  display:block;
  color:#707b7e;
  line-height:1.4;
  margin-bottom:12px;
}
.respuestas{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.respuesta-opcion{
  position:relative;
  cursor:pointer;
}
.respuesta-opcion input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.respuesta-opcion span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 12px;
  border:1px solid #cddbd8;
  border-radius:10px;
  background:#fff;
  color:#53605e;
  font-size:13px;
  font-weight:700;
  transition:.18s;
  text-align:center;
}
.respuesta-opcion input:checked + span{
  background:var(--verde-oscuro);
  border-color:var(--verde-oscuro);
  color:#fff;
}
.beneficio-info{
  margin-top:12px;
  padding:11px 12px;
  border-radius:10px;
  background:#edf8f6;
  color:var(--verde-oscuro);
  font-size:12px;
  line-height:1.45;
}
.fila-beneficio{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 0;
  font-size:14px;
}
.fila-beneficio strong{
  color:var(--verde-oscuro);
}
.saldo-beneficio{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:8px;
  padding-top:12px;
  border-top:1px solid var(--borde);
  font-size:16px;
  font-weight:700;
}
.saldo-beneficio strong{
  color:var(--verde-oscuro);
  font-size:20px;
}
@media(max-width:700px){
  .respuestas{grid-template-columns:1fr}
}


/* Estado de actualización automática de beneficios previsionales */
.estado-beneficio-auto{
  margin-top:8px;
  font-size:11px;
  color:#6f7b7a;
  line-height:1.4;
}
.estado-beneficio-auto.ok{ color:var(--verde-oscuro); }
.estado-beneficio-auto.error{ color:#9a5a5a; }


.boton-consulta-afiliacion{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:12px;
  padding:11px 14px;
  border:1px solid var(--verde-oscuro);
  border-radius:10px;
  background:#fff;
  color:var(--verde-oscuro);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  text-align:center;
  transition:.18s ease;
}
.boton-consulta-afiliacion:hover{
  background:var(--verde-oscuro);
  color:#fff;
}
.ayuda-consulta-afiliacion{
  display:block;
  margin-top:7px;
  color:#707b7e;
  font-size:11px;
  line-height:1.4;
}


/* Cuatro alternativas previsionales */
.respuestas-beneficio{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.beneficio-tarjeta{
  position:relative;
  border:1px solid var(--borde);
  border-radius:14px;
  padding:15px;
  background:#fff;
  transition:.18s ease;
}
.beneficio-tarjeta.seleccionada{
  border:2px solid var(--verde-oscuro);
  background:#edf8f6;
}
.beneficio-tarjeta .selector-principal{
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
  font-weight:800;
  color:var(--texto);
}
.beneficio-tarjeta .selector-principal input{
  width:18px;
  height:18px;
  accent-color:var(--verde-oscuro);
}
.beneficio-tarjeta small{
  display:block;
  margin-top:7px;
  color:#707b7e;
  line-height:1.4;
}
.beneficio-select{
  width:100%;
  margin-top:12px;
  padding:10px 11px;
  border:1px solid #ccd9d7;
  border-radius:9px;
  background:#fff;
  color:var(--texto);
  font-size:13px;
}
.beneficio-select:disabled{
  opacity:.55;
  background:#f2f5f4;
}
@media(max-width:700px){
  .respuestas-beneficio{grid-template-columns:1fr}
}


/* Código promocional */
.codigo-promo-box{
  margin-top:16px;
  padding:14px;
  border:1px dashed #b9cfca;
  border-radius:12px;
  background:#f8fbfa;
}
.codigo-promo-box label{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:800;
  color:var(--texto);
}
.codigo-promo-fila{
  display:flex;
  gap:8px;
}
.codigo-promo-fila input{
  flex:1;
  min-width:0;
  padding:10px 11px;
  border:1px solid #ccd9d7;
  border-radius:9px;
  background:#fff;
  font-size:13px;
}
.codigo-promo-fila button{
  border:0;
  border-radius:9px;
  padding:10px 13px;
  background:var(--verde-oscuro);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.codigo-promo-mensaje{
  display:block;
  min-height:17px;
  margin-top:7px;
  font-size:11px;
  line-height:1.4;
}
.codigo-promo-mensaje.ok{color:var(--verde-oscuro);}
.codigo-promo-mensaje.error{color:#a05050;}
.fila-promo{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 0;
  font-size:14px;
}
.fila-promo strong{color:var(--verde-oscuro);}
.total-promo{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:8px;
  padding-top:12px;
  border-top:1px solid var(--borde);
  font-size:16px;
  font-weight:700;
}
.total-promo strong{
  color:var(--verde-oscuro);
  font-size:20px;
}
@media(max-width:480px){
  .codigo-promo-fila{flex-direction:column;}
  .codigo-promo-fila button{width:100%;}
}


/* Presentación profesional de saldos */
.saldo-beneficio,
.total-promo{
  border-radius:10px;
  padding:12px 14px;
}
.saldo-beneficio{
  background:#f5f8f7;
  border:1px solid #dce7e4;
}
.total-promo{
  margin-top:10px;
  background:#e9f7f3;
  border:1px solid #bcded6;
}
.total-promo span{
  font-weight:800;
}
.total-promo strong{
  font-size:22px;
  color:var(--verde-oscuro);
}


/* Resumen unificado de descuentos */
.resumen-descuentos{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #d7e5e2;
  border-radius:12px;
  background:#f8fbfa;
}
.resumen-descuentos .fila-beneficio,
.resumen-descuentos .fila-promo{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid #e5eeec;
  font-size:14px;
}
.resumen-descuentos .fila-beneficio strong,
.resumen-descuentos .fila-promo strong{
  color:var(--verde-oscuro);
}
.resumen-descuentos .total-promo{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding:12px 0 0;
  border-top:1px solid #cfe0dc;
  font-size:16px;
  font-weight:800;
  background:transparent;
  border-radius:0;
}
.resumen-descuentos .total-promo strong{
  color:var(--verde-oscuro);
  font-size:22px;
}


/* Descuentos destacados en rojo */
.resumen-descuentos .fila-beneficio strong,
.resumen-descuentos .fila-promo strong{
  color:#c62828 !important;
  font-weight:800;
}
.resumen-descuentos .fila-beneficio span,
.resumen-descuentos .fila-promo span{
  color:#8e1b1b;
}


.aviso-confirmacion-beneficios{
  margin:12px 0 16px;
  padding:13px 14px;
  border:1px solid #d32f2f;
  border-left:5px solid #c62828;
  border-radius:10px;
  background:#fff5f5;
  color:#8f1d1d;
  font-size:12px;
  line-height:1.55;
}
.aviso-confirmacion-beneficios strong{
  color:#b71c1c;
  font-weight:900;
}


.pgu-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid #d7e5e2;
  border-radius:10px;
  background:#f8fbfa;
  cursor:pointer;
}
.pgu-check input{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--verde-oscuro);
}
.pgu-check span{display:block;}
.pgu-check strong{display:block;font-size:13px;}
.pgu-check small{
  display:block;
  margin-top:4px;
  color:#707b7e;
  font-size:11px;
  line-height:1.4;
}


.monto-colilla-box{
  display:none;
  margin-top:10px;
  padding:10px 11px;
  border:1px solid #d7e5e2;
  border-radius:9px;
  background:#f8fbfa;
}
.monto-colilla-box label{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  font-weight:800;
}
.monto-colilla-box input{
  width:100%;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid #ccd9d7;
  border-radius:8px;
  background:#fff;
  font-size:13px;
}
.monto-colilla-box small{
  display:block;
  margin-top:5px;
  color:#707b7e;
  font-size:10px;
  line-height:1.4;
}


.rut-persona-box{
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid #d7e5e2;
  border-radius:10px;
  background:#f8fbfa;
}
.rut-persona-box label{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  font-weight:800;
  color:var(--texto);
}
.rut-persona-box input{
  width:100%;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid #ccd9d7;
  border-radius:8px;
  background:#fff;
  font-size:13px;
}
.rut-persona-box small{
  display:block;
  margin-top:5px;
  color:#707b7e;
  font-size:10px;
  line-height:1.4;
}


/* Traslado: campos de escritura más claros y amigables */
.calculadora-km input[type="text"],
.calculadora-km input[type="number"],
.calculadora-km select{
  background:#fff;
  border:2px solid #cbdad7;
  box-shadow:inset 0 0 0 1px rgba(20,125,112,.03);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
  caret-color:var(--verde-oscuro);
}

.calculadora-km input[type="text"]:hover,
.calculadora-km input[type="number"]:hover,
.calculadora-km select:hover{
  border-color:#9ec9c1;
}

.calculadora-km input[type="text"]:focus,
.calculadora-km input[type="number"]:focus,
.calculadora-km select:focus{
  outline:none;
  border-color:var(--verde-oscuro);
  box-shadow:0 0 0 3px rgba(20,125,112,.15);
  background:#fafffe;
}

.calculadora-km input::placeholder{
  color:#9aa6a4;
  opacity:1;
}

.campo-escritura{
  position:relative;
}

.campo-escritura::after{
  content:"Escribe aquí";
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  color:#8aa49f;
  font-size:10px;
  font-weight:700;
  pointer-events:none;
  opacity:.9;
}

.campo-escritura:focus-within::after{
  color:var(--verde-oscuro);
  content:"Escribiendo…";
}

.campo-escritura.tiene-valor::after{
  display:none;
}


/* Traslado: el cuadro verde funciona directamente como campo de kilometraje */
.campo-escritura::after{
  display:none !important;
}

.resultado-km-editable{
  cursor:text;
  min-height:44px;
  outline:none;
  user-select:text;
  caret-color:var(--verde-oscuro);
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.resultado-km-editable:focus{
  background:#fff !important;
  color:var(--texto) !important;
  border:2px solid var(--verde-oscuro);
  box-shadow:0 0 0 3px rgba(20,125,112,.14);
}


.resultado-km-editable:focus{
  cursor:text !important;
  user-select:text !important;
}


/* Situación de sepultura / cremación */
.destino-final-box{
  margin:0 0 16px;
  padding:14px;
  border:1px solid #d7e5e2;
  border-radius:12px;
  background:#f8fbfa;
}
.destino-final-box > strong{
  display:block;
  margin-bottom:6px;
  font-size:14px;
  color:var(--texto);
}
.destino-final-box > small{
  display:block;
  margin-bottom:12px;
  color:#707b7e;
  font-size:11px;
  line-height:1.4;
}
.destino-final-opciones{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.destino-final-opcion{
  position:relative;
  cursor:pointer;
}
.destino-final-opcion input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.destino-final-opcion span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #ccd9d7;
  border-radius:10px;
  background:#fff;
  color:#53605e;
  font-size:12px;
  font-weight:800;
  text-align:center;
  transition:.18s ease;
}
.destino-final-opcion input:checked + span{
  background:var(--verde-oscuro);
  border-color:var(--verde-oscuro);
  color:#fff;
}
@media(max-width:560px){
  .destino-final-opciones{grid-template-columns:1fr}
}
/* RDV 3.3: aislamiento de botones de acción frente a estilos del tema */
.rdv-configurador-v2 #consultarWhatsApp,
.rdv-configurador-v2 #reiniciarSeleccion{
  pointer-events:auto !important;
  position:relative !important;
  z-index:50 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.rdv-configurador-v2 #consultarWhatsApp{
  background:var(--verde-oscuro) !important;
  color:#fff !important;
}
.rdv-configurador-v2 #reiniciarSeleccion{
  background:var(--verde-oscuro) !important;
  color:#fff !important;
}





/* RDV 3.7: WhatsApp y Reiniciar usan la misma base del enlace telefónico */
.rdv-configurador-v2 .rdv-link-accion{
  background:var(--verde-oscuro) !important;
  color:#fff !important;
  border-color:var(--verde-oscuro) !important;
  text-align:center !important;
  text-decoration:none !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:200 !important;
}

.rdv-configurador-v2 .rdv-link-accion:hover{
  background:var(--verde-oscuro) !important;
  color:#fff !important;
}


/* ============================================================
   RDV 3.8 - BOTONES DE ACCIÓN REHECHOS DESDE CERO
   ============================================================ */
.rdv-configurador-v2 .rdv-actions-v38{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:100% !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  position:relative !important;
  z-index:2147483000 !important;
  isolation:isolate !important;
  pointer-events:auto !important;
  overflow:visible !important;
}

.rdv-configurador-v2 .rdv-actions-v38,
.rdv-configurador-v2 .rdv-actions-v38 *{
  box-sizing:border-box !important;
}

.rdv-configurador-v2 .rdv-actions-v38::before,
.rdv-configurador-v2 .rdv-actions-v38::after,
.rdv-configurador-v2 .rdv-action-v38::before,
.rdv-configurador-v2 .rdv-action-v38::after{
  pointer-events:none !important;
}

.rdv-configurador-v2 .rdv-action-v38{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:12px 16px !important;

  border:0 !important;
  border-radius:8px !important;
  outline:none !important;

  background:var(--verde-oscuro) !important;
  color:#fff !important;

  font-family:inherit !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-decoration:none !important;

  cursor:pointer !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  user-select:none !important;

  position:relative !important;
  z-index:2147483001 !important;

  -webkit-appearance:none !important;
  appearance:none !important;
  opacity:1 !important;
  visibility:visible !important;
}

.rdv-configurador-v2 .rdv-action-v38:hover,
.rdv-configurador-v2 .rdv-action-v38:focus,
.rdv-configurador-v2 .rdv-action-v38:active{
  background:var(--verde-oscuro) !important;
  color:#fff !important;
  opacity:1 !important;
  transform:none !important;
}

.rdv-configurador-v2 .rdv-phone-v38{
  position:relative !important;
  z-index:2147483001 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}
