.elementor-5083 .elementor-element.elementor-element-d54d205{--display:flex;--min-height:1032px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for container, class: .elementor-element-d54d205 *//* =============================================
   COTIZADOR TURISVIÑA — CSS
   Pegar en: Elementor > Personalizar > CSS adicional
   o en el widget HTML antes del bloque principal
   ============================================= */

.tv-cotizador{font-family:'Montserrat',Arial,sans-serif;color:#27313b;background:#eef6fb}
.tv-cotizador *{box-sizing:border-box;margin:0;padding:0}

/* VARIABLES */
.tv-cotizador{
  --navy:#061f36;--orange:#f36f21;--yellow:#f9b733;
  --green:#48c774;--muted:#6d7a86;--border:#e4edf3;
  --sky:#eef6fb;--shadow:0 12px 28px rgba(6,31,54,.08);
  --shadow-lg:0 18px 45px rgba(6,31,54,.13);
  --r-lg:18px;--r-md:12px;--r-sm:8px;
}

/* WRAP */
.tv-wrap{max-width:860px;margin:0 auto;padding:24px 16px 48px}

/* STEPPER */
.tv-stepper{display:flex;align-items:center;margin-bottom:28px;background:#fff;border-radius:var(--r-lg);padding:16px 20px;box-shadow:var(--shadow)}
.tv-st{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;position:relative}
.tv-st:not(:last-child)::after{content:'';position:absolute;top:12px;left:56%;width:88%;height:2px;background:var(--border)}
.tv-st.done:not(:last-child)::after{background:var(--orange)}
.tv-st-num{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--muted);position:relative;z-index:1;transition:all .2s}
.tv-st.active .tv-st-num{border-color:var(--orange);background:var(--orange);color:#fff}
.tv-st.done .tv-st-num{border-color:var(--orange);background:var(--orange);color:#fff}
.tv-st-label{font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap}
.tv-st.active .tv-st-label,.tv-st.done .tv-st-label{color:var(--orange)}

/* TIPO SERVICIO */
.tv-tipo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.tv-tipo-card{background:#fff;border:2px solid var(--border);border-radius:var(--r-lg);padding:20px 12px;cursor:pointer;text-align:center;transition:all .18s;box-shadow:var(--shadow)}
.tv-tipo-card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.tv-tipo-card.selected{border-color:var(--orange);background:linear-gradient(135deg,#fff5ee,#fff)}
.tv-tipo-img{width:80px;height:56px;object-fit:cover;border-radius:8px;margin:0 auto 10px;display:block}
.tv-tipo-name{font-family:'Oswald',sans-serif;font-size:15px;text-transform:uppercase;color:var(--navy);margin-bottom:3px}
.tv-tipo-sub{font-size:11px;color:var(--muted);line-height:1.4}
.tv-tipo-badge{display:inline-block;background:var(--orange);color:#fff;font-size:9px;font-weight:700;padding:2px 8px;border-radius:20px;margin-top:6px;text-transform:uppercase}

/* CARD */
.tv-card{background:#fff;border-radius:var(--r-lg);padding:22px;margin-bottom:16px;box-shadow:var(--shadow)}
.tv-card-title{font-family:'Oswald',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.tv-card-title::after{content:'';flex:1;height:1.5px;background:var(--border)}

/* GRIDS */
.tv-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tv-g4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px}

/* FIELDS */
.tv-field{display:flex;flex-direction:column;gap:6px;position:relative}
.tv-field label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tv-field input,.tv-field select{height:44px;border:1.5px solid var(--border);border-radius:var(--r-md);padding:0 14px;font-size:14px;font-family:'Montserrat',sans-serif;color:#27313b;background:#fafcfe;outline:none;transition:all .15s;width:100%}
.tv-field input:focus,.tv-field select:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(243,111,33,.10)}
.tv-field input::placeholder{color:#b0bcc6}

/* AUTOCOMPLETE */
.tv-ac-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:2px solid var(--orange);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:9999;max-height:250px;overflow-y:auto;display:none}
.tv-ac-drop.open{display:block}
.tv-ac-item{padding:10px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:8px;transition:background .1s}
.tv-ac-item:last-child{border-bottom:none}
.tv-ac-item:hover,.tv-ac-item.focused{background:#fff5ee}
.tv-ac-icon{flex-shrink:0;font-size:15px}
.tv-ac-main{font-weight:600;color:#27313b;font-size:13px}
.tv-ac-sub{font-size:11px;color:var(--muted);margin-top:2px}
.tv-ac-loading{padding:12px 14px;font-size:13px;color:var(--muted);text-align:center}
.tv-ac-code{background:#fff0e6;color:var(--orange);font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:5px}

/* PARADAS */
.tv-parada-row{display:flex;align-items:flex-end;gap:8px;margin-top:12px}
.tv-parada-row .tv-field{flex:1}
.tv-btn-rm{width:36px;height:44px;border:1.5px solid var(--border);border-radius:var(--r-md);background:#fff;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:all .15s}
.tv-btn-rm:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}
.tv-btn-add{display:flex;align-items:center;justify-content:center;gap:6px;border:2px dashed var(--border);border-radius:var(--r-md);padding:10px;font-size:12px;font-weight:700;color:var(--orange);cursor:pointer;margin-top:12px;width:100%;background:none;text-transform:uppercase;letter-spacing:.06em;transition:all .15s;font-family:'Montserrat',sans-serif}
.tv-btn-add:hover{border-color:var(--orange);background:#fff5ee}

/* TOGGLE */
.tv-toggle-row{display:flex;align-items:center;gap:12px;padding:10px 0}
.tv-tgl{position:relative;width:46px;height:26px;flex-shrink:0}
.tv-tgl input{opacity:0;width:0;height:0;position:absolute}
.tv-tgl-slider{position:absolute;inset:0;background:#dde3e9;border-radius:26px;cursor:pointer;transition:background .2s}
.tv-tgl-slider::before{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.tv-tgl input:checked+.tv-tgl-slider{background:var(--orange)}
.tv-tgl input:checked+.tv-tgl-slider::before{transform:translateX(20px)}
.tv-tgl-label{font-size:14px;font-weight:600;color:#27313b}
.tv-tgl-badge{font-size:11px;background:#fff0e6;color:var(--orange);padding:3px 10px;border-radius:20px;font-weight:700}

/* VUELTA */
.tv-puntos-row{display:flex;gap:10px;margin:12px 0 16px}
.tv-btn-punto{flex:1;padding:9px;border:1.5px solid var(--border);border-radius:var(--r-md);background:#fff;font-size:12px;font-weight:700;cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;transition:all .15s;font-family:'Montserrat',sans-serif}
.tv-btn-punto.selected{border-color:var(--orange);background:#fff5ee;color:var(--orange)}
.tv-vuelta-card{background:#fdf6ef;border:1.5px solid #fddcca;border-radius:var(--r-md);padding:18px;margin-top:6px}

/* CONTADORES */
.tv-counter{display:flex;align-items:center;gap:12px}
.tv-ctr-btn{width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r-sm);background:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#27313b;transition:all .15s;line-height:1;font-family:'Montserrat',sans-serif}
.tv-ctr-btn:hover{border-color:var(--orange);color:var(--orange);background:#fff5ee}
.tv-ctr-val{font-size:22px;font-weight:800;min-width:38px;text-align:center;color:var(--navy)}
.tv-ctr-label{font-size:12px;color:var(--muted);font-weight:600}

/* VEHICULOS */
.tv-veh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px}
.tv-veh-card{background:#fff;border:2px solid var(--border);border-radius:var(--r-lg);padding:16px 12px;cursor:pointer;transition:all .18s;position:relative;text-align:center;box-shadow:var(--shadow)}
.tv-veh-card:hover:not(.disabled){border-color:var(--orange);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.tv-veh-card.selected{border-color:var(--orange);background:linear-gradient(135deg,#fff5ee,#fff)}
.tv-veh-card.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}
.tv-veh-rec{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:9px;font-weight:700;padding:3px 10px;border-radius:0 0 8px 8px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.tv-veh-img{width:100%;height:70px;object-fit:contain;margin-bottom:8px}
.tv-veh-name{font-family:'Oswald',sans-serif;font-size:14px;text-transform:uppercase;color:var(--navy);margin-bottom:3px}
.tv-veh-cap{font-size:11px;color:var(--muted);margin-bottom:8px}
.tv-veh-price{font-size:14px;font-weight:800;color:var(--orange)}
.tv-veh-price-sub{font-size:10px;color:var(--muted);margin-top:2px}

/* MAPA */
#tv-map-box{border-radius:var(--r-lg);overflow:hidden;border:2px solid var(--border);margin-bottom:16px;height:260px;display:none}
#tv-map{width:100%;height:100%}
.tv-dist-badge{display:none;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--border);border-radius:var(--r-md);padding:10px 16px;margin-bottom:16px;font-size:13px;font-weight:600;color:var(--navy);box-shadow:var(--shadow)}
.tv-dist-badge span{color:var(--orange)}

/* RESUMEN */
.tv-resumen{background:var(--navy);border-radius:var(--r-lg);padding:22px;margin-bottom:16px;box-shadow:var(--shadow-lg)}
.tv-res-title{font-family:'Oswald',sans-serif;font-size:16px;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;letter-spacing:.06em}
.tv-res-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(255,255,255,.7);padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tv-res-row:last-child{border-bottom:none}
.tv-res-row .val{font-weight:700;color:#fff}
.tv-res-row.total-row{font-size:20px;font-weight:800;padding-top:14px;border-top:2px solid rgba(255,255,255,.15);border-bottom:none;margin-top:4px}
.tv-res-row.total-row .val{color:var(--yellow)}
.tv-res-row.desc-row .val{color:var(--green)}

/* FORMULARIO */
.tv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tv-conf-block{margin-bottom:14px}
.tv-conf-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:3px}
.tv-conf-val{font-size:14px;font-weight:600;color:#27313b}

/* SUCCESS */
.tv-success{text-align:center;padding:3rem 1rem}
.tv-success-icon{font-size:64px;margin-bottom:16px}
.tv-success-title{font-family:'Oswald',sans-serif;font-size:32px;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.tv-success-sub{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:2rem}

/* BOTONES */
.tv-btn-primary{width:100%;background:var(--orange);color:#fff;border:none;border-radius:999px;padding:15px;font-size:14px;font-weight:800;font-family:'Montserrat',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 8px 20px rgba(243,111,33,.3)}
.tv-btn-primary:hover{background:var(--navy);box-shadow:0 8px 20px rgba(6,31,54,.3)}
.tv-btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.tv-btn-secondary{width:100%;background:#fff;color:var(--navy);border:2px solid var(--border);border-radius:999px;padding:13px;font-size:13px;font-weight:700;font-family:'Montserrat',sans-serif;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.05em}
.tv-btn-secondary:hover{border-color:var(--orange);color:var(--orange)}
.tv-btn-wa{width:100%;background:#25D366;color:#fff;border:none;border-radius:999px;padding:14px;font-size:14px;font-weight:800;font-family:'Montserrat',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase;letter-spacing:.05em}
.tv-btn-wa:hover{background:#1fb558}
.tv-btn-row{display:flex;gap:10px;margin-top:12px}
.tv-btn-row>*{margin:0}
.tv-nota{font-size:11px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.7}
.tv-tip{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}

@media(max-width:620px){
  .tv-tipo-grid,.tv-g4,.tv-form-grid{grid-template-columns:1fr}
  .tv-g2{grid-template-columns:1fr}
  .tv-veh-grid{grid-template-columns:1fr 1fr}
  .tv-btn-row{flex-direction:column}
  .tv-st-label{display:none}
  .tv-puntos-row{flex-direction:column}
}/* End custom CSS */