.cp-recommender,.cp-recommender *{box-sizing:border-box}.cp-recommender{position:relative;width:min(calc(100% - 48px),1280px);margin:26px auto 0;padding:28px;display:grid;grid-template-columns:275px minmax(0,1fr);gap:28px;border:1px solid rgba(61,136,224,.28);border-radius:17px;color:#fff;background:linear-gradient(135deg,#011b3e 0%,#032d63 55%,#02234e 100%);box-shadow:0 22px 55px rgba(2,28,63,.2);overflow:hidden}.cp-recommender:before,.cp-recommender:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.cp-recommender:before{width:500px;height:500px;right:-260px;top:-290px;background:radial-gradient(circle,rgba(20,125,255,.2),transparent 68%)}.cp-recommender:after{width:410px;height:180px;left:-90px;bottom:-90px;background:radial-gradient(ellipse,rgba(18,160,255,.16),transparent 70%)}
.cp-rec-intro{position:relative;z-index:2;min-height:100%;padding:22px 30px 22px 10px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(85,151,231,.28)}.cp-rec-eyebrow{margin-bottom:14px;font:800 11px/1 Arial;letter-spacing:1.4px;color:#63b9ff}.cp-rec-intro h2{margin:0;font:800 25px/1.18 Arial;letter-spacing:-.45px}.cp-rec-intro p{max-width:235px;margin:18px 0 0;font:400 15px/1.65 Arial;color:#b5c8e2}.cp-rec-note{margin-top:22px;display:flex;align-items:center;gap:11px}.cp-rec-note-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid rgba(64,157,255,.32);border-radius:10px;color:#55b8ff;background:rgba(7,60,115,.55)}.cp-rec-note-icon svg{width:24px;height:24px;display:block}.cp-rec-note div{display:flex;flex-direction:column;gap:4px}.cp-rec-note strong{font:800 14px/1.25 Arial}.cp-rec-note small{font:500 12px/1.45 Arial;color:#a5b9d4}
.cp-rec-main{position:relative;z-index:2}.cp-rec-steps{display:grid;grid-template-columns:1.15fr .8fr 1.15fr .8fr;gap:18px}.cp-rec-step-title{margin-bottom:13px;display:flex;align-items:center;gap:10px}.cp-rec-step-title span{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:50%;font:800 14px Arial;background:linear-gradient(135deg,#0d69da,#178cff);box-shadow:0 7px 16px rgba(10,111,229,.24)}.cp-rec-step-title strong{font:800 13px/1.25 Arial}.cp-rec-options{display:grid;gap:8px}.cp-rec-options--space{grid-template-columns:repeat(4,minmax(0,1fr))}.cp-rec-options--use{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-rec-options--installation{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-rec-option{min-width:0;min-height:82px;padding:11px 8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px solid rgba(58,130,212,.42);border-radius:9px;color:#d3e2f5;background:linear-gradient(180deg,rgba(3,47,96,.78),rgba(2,35,77,.88));cursor:pointer;transition:.25s}.cp-rec-option:hover,.cp-rec-option.is-active{color:#fff;border-color:#28a2ff;background:linear-gradient(180deg,rgba(12,104,198,.92),rgba(4,65,131,.96));transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(35,177,255,.2),0 10px 20px rgba(0,41,90,.25)}.cp-rec-option svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cp-rec-option strong{font:800 10px/1.3 Arial;text-align:center;color:inherit}
.cp-rec-location-fields{display:grid;grid-template-columns:minmax(150px,.78fr) minmax(190px,1.22fr);gap:9px;align-items:end}.cp-rec-location-field{display:flex;flex-direction:column;gap:6px}.cp-rec-location-field>span{font:700 10px/1.2 Arial;color:#c7d8ed}.cp-rec-location-field select,.cp-rec-location-field input{width:100%;min-height:43px;padding:0 12px;border:1px solid rgba(58,130,212,.42);border-radius:8px;color:#fff;background:linear-gradient(180deg,rgba(3,47,96,.78),rgba(2,35,77,.88));outline:none}.cp-rec-location-field input::placeholder{color:#8da7c8}.cp-rec-location-field select:focus,.cp-rec-location-field input:focus{border-color:#28a2ff;box-shadow:0 0 0 3px rgba(40,162,255,.12)}.cp-rec-location-field select option{color:#0b2344;background:#fff}.cp-rec-result{margin-top:20px;padding:16px;display:grid;grid-template-columns:210px minmax(0,1fr) 195px;align-items:center;gap:20px;border:1px solid rgba(45,130,226,.34);border-radius:12px;background:linear-gradient(135deg,rgba(3,54,108,.88),rgba(2,37,78,.88))}.cp-rec-product{position:relative}.cp-rec-product>span{position:absolute;top:-5px;left:0;z-index:3;min-height:22px;padding:0 9px;display:flex;align-items:center;border-radius:5px;font:800 8px Arial;background:linear-gradient(135deg,#176fff,#13a6ff)}.cp-rec-product-img{height:112px;padding:16px 4px 4px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;overflow:hidden}.cp-rec-product-img img{width:100%;max-width:190px;max-height:95px;object-fit:contain}.cp-rec-info small{font:700 9px Arial;color:#6fbaff}.cp-rec-info h3{margin:5px 0 0;font:800 22px/1.15 Arial}.cp-rec-info ul{margin:11px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;list-style:none}.cp-rec-info li{display:flex;align-items:flex-start;gap:9px;font:600 13px/1.5 Arial;color:#d4e1f2}.cp-rec-info li b{width:21px;height:21px;flex:0 0 21px;display:grid;place-items:center;border-radius:50%;font:800 11px Arial;color:#fff;background:#117eff}.cp-rec-price{padding-left:20px;display:flex;align-items:flex-start;flex-direction:column;border-left:1px solid rgba(67,139,221,.25)}.cp-rec-price>span{font:700 11px Arial;color:#98b0cf}.cp-rec-price>strong{margin-top:5px;font:800 18px/1.25 Arial;color:#16d8e7}.cp-rec-price>small{margin-top:7px;font:600 10px/1.45 Arial;color:#9cb3cf}.cp-rec-price a{width:100%;min-height:40px;margin-top:12px;padding:0 10px;display:flex;align-items:center;justify-content:center;border-radius:7px;font:800 10px Arial;color:#fff;text-decoration:none;background:linear-gradient(135deg,#0d8cff,#086be9)}
@media(max-width:1100px){.cp-recommender{grid-template-columns:230px minmax(0,1fr)}.cp-rec-steps{grid-template-columns:1fr;gap:17px}.cp-rec-result{grid-template-columns:185px minmax(0,1fr) 180px}}
@media(max-width:860px){.cp-recommender{grid-template-columns:1fr;padding:22px}.cp-rec-intro{min-height:auto;padding:5px 0 24px;justify-content:flex-start;border-right:0;border-bottom:1px solid rgba(85,151,231,.28)}.cp-rec-intro p{max-width:520px}.cp-rec-result{grid-template-columns:170px minmax(0,1fr)}.cp-rec-price{grid-column:1/-1;padding:15px 0 0;border-left:0;border-top:1px solid rgba(67,139,221,.25);align-items:center;text-align:center}.cp-rec-price a{max-width:280px}}
@media(max-width:767px){.cp-recommender{width:calc(100% - 28px);margin-top:20px;padding:18px;border-radius:14px}.cp-rec-intro h2{font-size:25px}.cp-rec-options--space{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-rec-options--use{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-rec-options--installation{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-rec-option{min-height:76px;padding:10px 7px}.cp-rec-option svg{width:27px;height:27px}.cp-rec-result{grid-template-columns:1fr;gap:15px}.cp-rec-product-img{height:130px}.cp-rec-product-img img{max-width:230px;max-height:110px}.cp-rec-price{grid-column:auto}}
@media(max-width:430px){.cp-rec-options--use,.cp-rec-options--installation{grid-template-columns:1fr}.cp-rec-option{min-height:64px;padding:11px 15px;flex-direction:row;justify-content:flex-start;gap:13px}.cp-rec-option strong{font-size:12px;text-align:left}}

/* =========================================================
     AJUSTE SOLICITADO · TODO EL TEXTO +1PX
  ========================================================== */

  .cp-recommender .cp-rec-eyebrow {
    font-size: 12px !important;
  }

  .cp-recommender .cp-rec-intro h2 {
    font-size: 26px !important;
  }

  .cp-recommender .cp-rec-intro p {
    font-size: 16px !important;
  }

  .cp-recommender .cp-rec-note strong {
    font-size: 15px !important;
  }

  .cp-recommender .cp-rec-note small {
    font-size: 13px !important;
  }

  .cp-recommender .cp-rec-step-title span {
    font-size: 15px !important;
  }

  .cp-recommender .cp-rec-step-title strong {
    font-size: 14px !important;
  }

  .cp-recommender .cp-rec-option strong {
    font-size: 11px !important;
  }

  .cp-recommender .cp-rec-location-field > span {
    font-size: 11px !important;
  }

  .cp-recommender .cp-rec-location-field select,
  .cp-recommender .cp-rec-location-field input {
    font-size: 14px !important;
  }

  .cp-recommender .cp-rec-product > span {
    font-size: 9px !important;
  }

  .cp-recommender .cp-rec-info small {
    font-size: 10px !important;
  }

  .cp-recommender .cp-rec-info h3 {
    font-size: 23px !important;
  }

  .cp-recommender .cp-rec-info li {
    font-size: 14px !important;
  }

  .cp-recommender .cp-rec-info li b {
    font-size: 12px !important;
  }

  .cp-recommender .cp-rec-price > span {
    font-size: 12px !important;
  }

  .cp-recommender .cp-rec-price > strong {
    font-size: 19px !important;
  }

  .cp-recommender .cp-rec-price > small {
    font-size: 11px !important;
  }

  .cp-recommender .cp-rec-price a {
    font-size: 11px !important;
  }

  @media (max-width: 767px) {
    .cp-recommender .cp-rec-intro h2 {
      font-size: 26px !important;
    }
  }

  @media (max-width: 430px) {
    .cp-recommender .cp-rec-option strong {
      font-size: 13px !important;
    }
  }

/* Botón principal del recomendador en 15px */
  .cp-recommender .cp-rec-price a {
    font-size: 15px !important;
  }

/* =========================================================
   AJUSTE FINAL · RECOMENDADOR MÁS ANCHO Y MENOS APRETADO
========================================================= */
@media (min-width: 1101px) {
  .cp-recommender {
    width: min(calc(100% - 32px), 1440px) !important;
    grid-template-columns: 290px minmax(0, 1fr) !important;
    gap: 34px !important;
    padding: 32px 36px !important;
  }

  .cp-rec-intro {
    padding-right: 34px !important;
  }

  .cp-rec-main {
    min-width: 0;
  }

  .cp-rec-steps {
    grid-template-columns: 1.2fr .85fr 1.2fr .85fr !important;
    gap: 22px !important;
  }

  .cp-rec-option {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .cp-rec-result {
    grid-template-columns: 225px minmax(0, 1fr) 215px !important;
    gap: 24px !important;
    padding: 18px 20px !important;
  }

  .cp-rec-product-img {
    height: 122px !important;
  }
}

@media (min-width: 1280px) {
  .cp-recommender {
    width: min(calc(100% - 40px), 1500px) !important;
  }
}

/* AJUSTE DE UBICACIÓN · PROVINCIA Y DIRECCIÓN EN UNA SOLA LÍNEA */
.cp-recommender .cp-rec-location-fields{
  grid-template-columns:minmax(150px,.78fr) minmax(190px,1.22fr) !important;
  align-items:end;
}
.cp-recommender .cp-rec-location-field select,
.cp-recommender .cp-rec-location-field input{
  min-width:0;
}
@media(max-width:560px){
  .cp-recommender .cp-rec-location-fields{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap:8px;
  }
  .cp-recommender .cp-rec-location-field>span{
    white-space:nowrap;
  }
  .cp-recommender .cp-rec-location-field select,
  .cp-recommender .cp-rec-location-field input{
    padding:0 9px;
    font-size:12px !important;
  }
}
@media(max-width:390px){
  .cp-recommender .cp-rec-location-fields{
    grid-template-columns:1fr !important;
  }
}

/* CORRECCIÓN FINAL · BOTÓN WHATSAPP SIEMPRE EN UNA SOLA LÍNEA */
.cp-recommender .cp-rec-result {
  grid-template-columns: 210px minmax(0, 1fr) minmax(230px, 250px) !important;
}

.cp-recommender .cp-rec-price a {
  width: 100% !important;
  min-width: 220px !important;
  padding: 0 16px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1 !important;
  text-align: center !important;
}

@media (max-width: 1100px) {
  .cp-recommender .cp-rec-result {
    grid-template-columns: 185px minmax(0, 1fr) minmax(220px, 240px) !important;
  }
}

@media (max-width: 860px) {
  .cp-recommender .cp-rec-result {
    grid-template-columns: 170px minmax(0, 1fr) !important;
  }

  .cp-recommender .cp-rec-price a {
    width: auto !important;
    min-width: 235px !important;
    max-width: none !important;
  }
}

@media (max-width: 430px) {
  .cp-recommender .cp-rec-price a {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   MÓVIL ESTRECHO · SOLO PASOS 1 Y 2 TIPO HAMBURGUESA
   Los pasos 3 y 4 permanecen visibles y normales.
========================================================= */
@media (max-width: 560px) {
  .cp-recommender .cp-rec-step:nth-child(1),
  .cp-recommender .cp-rec-step:nth-child(2) {
    border: 1px solid rgba(58, 130, 212, 0.35);
    border-radius: 12px;
    background: rgba(2, 35, 77, 0.45);
    overflow: hidden;
  }

  .cp-recommender .cp-rec-step:nth-child(1) > .cp-rec-step-title,
  .cp-recommender .cp-rec-step:nth-child(2) > .cp-rec-step-title {
    position: relative;
    margin: 0;
    min-height: 58px;
    padding: 12px 48px 12px 14px;
    cursor: pointer;
    user-select: none;
  }

  .cp-recommender .cp-rec-step:nth-child(1) > .cp-rec-step-title::after,
  .cp-recommender .cp-rec-step:nth-child(2) > .cp-rec-step-title::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid #7fc8ff;
    border-bottom: 2px solid #7fc8ff;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .25s ease;
  }

  .cp-recommender .cp-rec-step:nth-child(1).is-open > .cp-rec-step-title::after,
  .cp-recommender .cp-rec-step:nth-child(2).is-open > .cp-rec-step-title::after {
    transform: translateY(-35%) rotate(225deg);
  }

  .cp-recommender .cp-rec-step:nth-child(1) > .cp-rec-options,
  .cp-recommender .cp-rec-step:nth-child(2) > .cp-rec-options {
    display: none;
    padding: 0 12px 12px;
  }

  .cp-recommender .cp-rec-step:nth-child(1).is-open > .cp-rec-options,
  .cp-recommender .cp-rec-step:nth-child(2).is-open > .cp-rec-options {
    display: grid;
  }

  .cp-recommender .cp-rec-step:nth-child(1) .cp-rec-options--space,
  .cp-recommender .cp-rec-step:nth-child(2) .cp-rec-options--use {
    grid-template-columns: 1fr !important;
  }

  .cp-recommender .cp-rec-step:nth-child(1) .cp-rec-option,
  .cp-recommender .cp-rec-step:nth-child(2) .cp-rec-option {
    width: 100%;
    min-height: 58px;
    padding: 11px 14px;
    flex-direction: row;
    justify-content: flex-start;
    gap: 13px;
  }

  .cp-recommender .cp-rec-step:nth-child(1) .cp-rec-option strong,
  .cp-recommender .cp-rec-step:nth-child(2) .cp-rec-option strong {
    text-align: left !important;
    font-size: 13px !important;
  }

  .cp-recommender .cp-rec-step:nth-child(1) .cp-rec-option svg,
  .cp-recommender .cp-rec-step:nth-child(2) .cp-rec-option svg {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
  }

  /* Pasos 3 y 4 siempre visibles, sin comportamiento de acordeón. */
  .cp-recommender .cp-rec-step:nth-child(3) > .cp-rec-location-fields,
  .cp-recommender .cp-rec-step:nth-child(4) > .cp-rec-options {
    display: grid !important;
  }
}

/* =========================================================
   NUEVA ORGANIZACIÓN · ENCABEZADO ARRIBA Y CONTENIDO ABAJO
========================================================= */
.cp-recommender{
  grid-template-columns:1fr !important;
  gap:24px !important;
}

.cp-rec-intro{
  min-height:auto !important;
  padding:4px 0 24px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:end !important;
  gap:24px !important;
  border-right:0 !important;
  border-bottom:1px solid rgba(85,151,231,.28) !important;
}

.cp-rec-intro > .cp-rec-eyebrow,
.cp-rec-intro > h2,
.cp-rec-intro > p{
  grid-column:1 !important;
}

.cp-rec-eyebrow{
  margin-bottom:8px !important;
}

.cp-rec-intro h2{
  margin:0 !important;
  font-size:clamp(28px,3vw,38px) !important;
  line-height:1.12 !important;
}

.cp-rec-intro h2 br{
  display:none !important;
}

.cp-rec-intro p{
  max-width:760px !important;
  margin:12px 0 0 !important;
}

.cp-rec-note{
  grid-column:2 !important;
  grid-row:1 / span 3 !important;
  margin-top:0 !important;
  align-self:center !important;
  min-width:245px !important;
  padding:14px 16px !important;
  border:1px solid rgba(64,157,255,.24) !important;
  border-radius:12px !important;
  background:rgba(7,60,115,.35) !important;
}

.cp-rec-main{
  width:100% !important;
}

@media(max-width:860px){
  .cp-rec-intro{
    grid-template-columns:1fr !important;
    align-items:start !important;
  }

  .cp-rec-note{
    grid-column:1 !important;
    grid-row:auto !important;
    min-width:0 !important;
    width:100% !important;
    margin-top:4px !important;
  }
}

/* RESTAURAR ANCHO NORMAL DEL CONTENEDOR */
.cp-recommender{
  width:min(calc(100% - 48px),1280px) !important;
}

@media(max-width:767px){
  .cp-recommender{
    width:calc(100% - 28px) !important;
  }
}

/* =========================================================
   BLOQUE "NUESTRA RECOMENDACIÓN" · RESPONSIVE FINAL
   Mantiene escritorio intacto y reorganiza tablet/móvil.
========================================================= */

.cp-recommender .cp-rec-result,
.cp-recommender .cp-rec-product,
.cp-recommender .cp-rec-info,
.cp-recommender .cp-rec-price {
  min-width: 0;
}

.cp-recommender .cp-rec-info h3,
.cp-recommender .cp-rec-info li span,
.cp-recommender .cp-rec-price > small {
  overflow-wrap: anywhere;
}

@media (max-width: 860px) {
  .cp-recommender .cp-rec-result {
    grid-template-columns: 180px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 18px !important;
    padding: 18px !important;
  }

  .cp-recommender .cp-rec-product {
    align-self: stretch;
  }

  .cp-recommender .cp-rec-product-img {
    width: 100%;
    height: 100% !important;
    min-height: 145px;
    padding: 24px 10px 10px !important;
  }

  .cp-recommender .cp-rec-product-img img {
    width: 100%;
    max-width: 220px !important;
    max-height: 125px !important;
  }

  .cp-recommender .cp-rec-info {
    align-self: center;
  }

  .cp-recommender .cp-rec-price {
    grid-column: 1 / -1 !important;
    width: 100%;
    padding: 16px 0 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
    border-top: 1px solid rgba(67, 139, 221, .25) !important;
    border-left: 0 !important;
  }

  .cp-recommender .cp-rec-price a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

@media (max-width: 640px) {
  .cp-recommender .cp-rec-result {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 16px !important;
  }

  .cp-recommender .cp-rec-product {
    width: 100%;
  }

  .cp-recommender .cp-rec-product > span {
    top: 10px !important;
    left: 10px !important;
  }

  .cp-recommender .cp-rec-product-img {
    height: 170px !important;
    min-height: 170px !important;
    padding: 36px 12px 10px !important;
  }

  .cp-recommender .cp-rec-product-img img {
    max-width: 260px !important;
    max-height: 132px !important;
  }

  .cp-recommender .cp-rec-info {
    width: 100%;
  }

  .cp-recommender .cp-rec-info h3 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  .cp-recommender .cp-rec-info ul {
    gap: 9px !important;
  }

  .cp-recommender .cp-rec-info li {
    align-items: flex-start !important;
  }

  .cp-recommender .cp-rec-price {
    grid-column: auto !important;
    padding-top: 16px !important;
  }
}

@media (max-width: 430px) {
  .cp-recommender .cp-rec-result {
    padding: 14px !important;
    border-radius: 11px !important;
  }

  .cp-recommender .cp-rec-product-img {
    height: 150px !important;
    min-height: 150px !important;
  }

  .cp-recommender .cp-rec-product-img img {
    max-width: 225px !important;
    max-height: 112px !important;
  }

  .cp-recommender .cp-rec-info h3 {
    font-size: 20px !important;
  }

  .cp-recommender .cp-rec-info li {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .cp-recommender .cp-rec-price > strong {
    font-size: 18px !important;
  }

  .cp-recommender .cp-rec-price a {
    min-height: 44px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}


/* v0.2.8 · El icono de cada check conserva el tamaño original. */
.cp-recommender .cp-rec-benefit-icon{
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  max-width:21px!important;
  flex:0 0 21px!important;
  padding:0!important;
  overflow:hidden!important;
}
.cp-recommender .cp-rec-benefit-icon svg,
.cp-recommender .cp-rec-benefit-icon i{
  width:11px!important;
  height:11px!important;
  min-width:11px!important;
  max-width:11px!important;
  font-size:11px!important;
  line-height:11px!important;
  display:block!important;
}
