/* Estilos */
.imfletes-wrapper { border: 1px solid #eee; border-radius: 12px; padding: 16px; background:#fff; }
.imfletes-alert { background:#fff3cd; border:1px solid #ffeeba; padding:12px; border-radius:10px; margin-bottom:12px; }
.imfletes-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.imf-field { margin-bottom:12px; }
.imf-field label { display:block; font-weight:600; margin-bottom:6px; }
.imf-field input[type="text"], .imf-field input[type="email"], .imf-field input[type="date"], .imf-field select, .imf-field textarea { width:100%; padding:10px; border:1px solid #ddd; border-radius:8px; }
.imf-row { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.imf-radios { display:flex; gap:16px; flex-wrap:wrap; }
.imf-radio input { margin-right:6px; }
.imf-meta { display:flex; gap:20px; margin:10px 0; }
#im-map-canvas { min-height: 360px; border-radius: 12px; border:1px solid #eee; }
.imf-msg { margin-top: 10px; font-weight:600; }
.imf-ok { color: #1a7f37; }
.imf-error { color: #b00020; }
/* Mapa arriba a la derecha (desktop) */
.imf-map{
  position: sticky;
  top: 18px;
}

@media (max-width: 780px){
  .imfletes-grid { grid-template-columns: 1fr; }
  .imf-row { grid-template-columns: 1fr; }
  .imf-map{ position: relative; top: auto; }
}

/* === FLETES items UI === */
.imf-fletes-items{ display:grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap:8px; margin-top:6px; }
.imf-fletes-items .imf-item{ display:flex; align-items:center; gap:8px; padding:6px 8px; border:1px solid #e3e3e3; border-radius:8px; }
.imf-fletes-items .imf-badge{ margin-left:auto; font-size:12px; opacity:0.7; }



/* === FLETES items UI === */
.imf-fletes-items{ display:grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap:8px; margin-top:6px; }
.imf-fletes-items .imf-item{ display:flex; align-items:center; gap:8px; padding:6px 8px; border:1px solid #e3e3e3; border-radius:8px; }
.imf-fletes-items .imf-badge{ margin-left:auto; font-size:12px; opacity:0.7; }



/* Ocultar badges de categoría en ítems FLETES (solo visual) */
.imf-fletes-items .imf-badge{ display:none !important; }


/* Ocultar forma de pago (solo visual) */
.imf-hide-payment{display:none !important;}

/* Cotización destacada (solo visual) */
.imf-cotizacion-box{
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
}
.imf-cotizacion-box > div{ margin:0; font-size:14px; }
.imf-cotizacion-box .imf-costo-big{ font-size:18px; font-weight:700; }
@media (max-width:768px){
  .imf-cotizacion-box{ padding:12px; }
  .imf-cotizacion-box .imf-costo-big{ font-size:16px; }
}

/* === Modal de cotización (solo visual) === */
.imf-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.imf-modal[aria-hidden="false"]{ display:block; }
.imf-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45); }
.imf-modal__card{
  position:relative;
  max-width:520px;
  margin:8vh auto 0;
  background:#fff;
  border-radius:16px;
  padding:18px 18px 16px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.imf-modal__close{
  position:absolute; top:10px; right:12px;
  width:34px; height:34px; line-height:32px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-size:22px;
  cursor:pointer;
}
.imf-modal__title{ font-weight:800; font-size:18px; margin:4px 0 12px; }
.imf-modal__meta{ display:grid; gap:8px; margin-bottom:14px; }
.imf-modal__price{ font-size:16px; }
.imf-modal__price span{ font-size:20px; font-weight:800; }
.imf-modal__hint{ margin-top:10px; font-size:12px; opacity:.75; }

/* Cuando el modal está activo, ocultamos la cotización inline para no duplicar */
.imf-modal-enabled .imf-inline-quote{ display:none !important; }

@media (max-width:600px){
  .imf-modal__card{ margin:10vh 14px 0; }
}



.imf-modal__actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.imf-modal__actions .button{ min-width:150px; }
.imf-modal__motivos{ margin-top:12px; display:grid; gap:6px; }
.imf-modal__motivos textarea{
  width:100%;
  min-height:84px;
  border-radius:10px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.18);
}


/* Espera - Popup */
.imf-wait-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  padding: 20px;
}
.imf-wait-modal{
  width: min(520px, 100%);
  background: #fff;
  border-radius: 14px;
  padding: 18px 18px 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
  border: 1px solid rgba(0,0,0,.08);
}
.imf-wait-title{
  font-weight: 700;
  font-size: 18px;
  margin: 0 0 8px;
}
.imf-wait-text{
  font-size: 15px;
  line-height: 1.45;
  margin: 0 0 12px;
  color: #1f2937;
}
.imf-wait-spinner{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 3px solid rgba(0,0,0,.15);
  border-top-color: rgba(0,0,0,.6);
  animation: imfspin 1s linear infinite;
}
@keyframes imfspin { to { transform: rotate(360deg); } }



/* --- Mejoras visuales (v2.9.34) --- */
.imf-card{ box-shadow: 0 10px 25px rgba(0,0,0,.05); }
.imf-card-header{ padding: 12px 12px 16px; border-bottom: 1px solid #eef2f7; margin-bottom: 12px; }
.imf-title{ font-size: 22px; line-height: 1.2; margin: 0 0 6px; }
.imf-subtitle{ margin: 0; color: rgba(0,0,0,.65); }

.imf-form{ display:block; }
.imf-section{ padding: 14px 12px; border: 1px solid #eef2f7; border-radius: 14px; background: #fff; margin: 12px 0; }
.imf-section-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 10px; }
.imf-section h3{ margin:0; font-size: 16px; }
.imf-badge{ font-size: 12px; padding: 4px 10px; border-radius: 999px; border: 1px solid #e5e7eb; background: #f9fafb; }

.imf-help{ font-weight: 500; color: rgba(0,0,0,.6); }
.imf-hint{ margin-top: 6px; font-size: 12.5px; color: rgba(0,0,0,.6); }

.imf-files-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.imf-field input[type="file"]{
  width: 100%;
  padding: 10px;
  border: 1px dashed #cbd5e1;
  background: #f8fafc;
  border-radius: 12px;
}
.imf-field input[type="file"]::file-selector-button{
  border: 1px solid #e5e7eb;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff;
  margin-right: 10px;
  cursor: pointer;
}

/* File + mini date field (vencimiento/emisión) */
.imf-file-with-date{ display:flex; gap:10px; align-items:flex-start; }
.imf-file-with-date > input[type="file"]{ flex: 1 1 auto; }
.imf-date-mini{ width: 170px; flex: 0 0 170px; }
.imf-mini-label{ display:block; font-size: 12px; font-weight: 600; margin: 6px 0 6px; color: rgba(0,0,0,.7); }
.imf-field input[type="date"]{ width:100%; padding:10px; border:1px solid #e5e7eb; border-radius: 12px; background:#fff; }

.imf-field select{ width:100%; padding:10px; border:1px solid #ddd; border-radius: 10px; background:#fff; }
.imf-field input[type="text"], .imf-field input[type="email"], .imf-field input[type="number"]{ border-radius: 10px; }

/* Paradas (cliente minorista) */
.imf-stops-wrap{ display:grid; gap:10px; margin:10px 0 12px; }
.imf-stop-row{ display:flex; gap:10px; align-items:center; }
.imf-stop-row input{ flex: 1 1 auto; }
.imf-stop-remove{ border:1px solid rgba(0,0,0,.15); background:#fff; border-radius:10px; padding:8px 10px; cursor:pointer; }
.imf-stop-remove:hover{ filter: brightness(.98); }
.imf-btn-stop{ margin-top:6px; }

/* Sub-bloques dentro del módulo (cliente B2C) */
.imf-subblock{
  padding: 14px 12px;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  background: #fff;
  margin: 12px 0;
}
.imf-subblock__title{
  font-weight: 700;
  font-size: 15px;
  margin: 0 0 10px;
}

.imf-terms{ display:flex; align-items:flex-start; gap:10px; padding: 10px 12px; border: 1px solid #eef2f7; border-radius: 12px; background:#fafafa; }
.imf-terms input{ margin-top: 3px; }

.imf-actions{ margin-top: 12px; }
.imf-btn{
  width: 100%;
  border: 0;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  background: #f59e0b;
  color: #111827;
  box-shadow: 0 10px 25px rgba(245,158,11,.25);
}
.imf-btn:disabled{ opacity: .65; cursor: not-allowed; box-shadow:none; }

@media (max-width: 900px){
  .imf-row{ grid-template-columns: 1fr; }
  .imf-files-grid{ grid-template-columns: 1fr; }
  .imf-card-header{ padding: 10px 10px 14px; }
  .imf-file-with-date{ flex-direction: column; }
  .imf-date-mini{ width: 100%; flex: 1 1 auto; }
}


/* === Módulos / Etapas (UI B2C) === */
.imf-module{
  border:1px solid #e9e9e9;
  border-radius:12px;
  padding:14px 14px 10px;
  margin:0 0 14px;
  background:#fff;
}
.imf-module__title{
  font-weight:700;
  margin:0 0 10px;
  font-size:14px;
}
.imf-banner{
  background:#f7f7f7;
  border:1px solid #ededed;
  border-radius:10px;
  padding:12px;
  margin:0 0 12px;
  line-height:1.35;
}
.imf-checkline{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:13px;
  cursor:pointer;
}
.imf-checkline input{ margin-top:2px; }
.imf-module--actions .imf-btn-primary{
  width:100%;
  padding:12px 16px;
  font-weight:700;
}

/* Ajuste para que la cotización se vea como bloque claro */
.imf-cotizacion-box{
  background:#fafafa;
  border:1px solid #eee;
  border-radius:12px;
  padding:12px;
}

/* Configuración Abierto / Cerrado / Térmico */
.imev-vui-config{
  display:flex;
  gap:10px;
  margin:10px 0 14px;
}
.imev-vui-config-btn{
  background:#fff;
  color:#b30000;
  border:2px solid #b30000;
  border-radius:999px;
  padding:6px 14px;
  font-weight:700;
  cursor:pointer;
}
.imev-vui-config-btn.is-active{
  background:#b30000;
  color:#fff;
}

/* Config selector BELOW cards */
.imev-vui-config-bottom{
  margin-top:16px;
}


/* ===== SELECCION DESTACADA ROJO PRO ===== */
.carry-card.active,
.carry-option.active,
.carry-card.selected,
.carry-option.selected {
    border: 2px solid #D72638 !important;
    background: rgba(215, 38, 56, 0.06) !important;
    box-shadow: 0 0 0 3px rgba(215, 38, 56, 0.15);
    transition: all 0.25s ease;
}

.carry-card.active:hover,
.carry-option.active:hover {
    border-color: #FF4D5A !important;
}


/* ===== SERVICE COLLAPSE (Más opciones) ===== */
.imf-svc-row.imf-svc-row--collapsed .imf-svc-btn:not(.is-selected) {
  display: none !important;
}
.imf-svc-more {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px dashed rgba(215, 38, 56, 0.55);
  background: rgba(215, 38, 56, 0.06);
  color: #D72638;
  font-weight: 700;
  cursor: pointer;
}
.imf-svc-more:hover {
  border-color: #D72638;
  background: rgba(215, 38, 56, 0.09);
}
.imf-svc-more:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(215, 38, 56, 0.18);
}



/* === Mobile typography refresh (Carry) === */
#carry-app-root.imf-app,
#carry-app-root,
#carry-app-root input,
#carry-app-root textarea,
#carry-app-root select,
#carry-app-root button{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

@media (max-width: 980px){
  #carry-app-root{
    -webkit-text-size-adjust: 100%;
  }

  #carry-app-root .imf-topbar,
  #carry-app-root .imf-v2-header{
    padding: 12px 14px !important;
  }

  /* Título principal */
  #carry-app-root .imf-v2-header h2,
  #carry-app-root .imf-title-main,
  #carry-app-root .imf-page-title,
  #carry-app-root h1:first-of-type{
    font-size: 24px !important;
    line-height: 30px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
  }

  /* Subtítulo / ayuda inicial */
  #carry-app-root .imf-v2-header .sub,
  #carry-app-root .imf-subtitle,
  #carry-app-root .imf-note,
  #carry-app-root .imf-muted{
    font-size: 14px !important;
    line-height: 20px !important;
  }

  /* Títulos de sección */
  #carry-app-root .imf-sec__title,
  #carry-app-root .imf-v2-q,
  #carry-app-root .q,
  #carry-app-root .imf-section-title,
  #carry-app-root h2,
  #carry-app-root h3{
    font-size: 20px !important;
    line-height: 26px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
  }

  /* Labels */
  #carry-app-root label,
  #carry-app-root .imf-label,
  #carry-app-root .imf-field label,
  #carry-app-root .imev-field label{
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
    color: #111827 !important;
  }

  /* Inputs / selects / textareas */
  #carry-app-root input[type="text"],
  #carry-app-root input[type="tel"],
  #carry-app-root input[type="email"],
  #carry-app-root input[type="number"],
  #carry-app-root input[type="date"],
  #carry-app-root textarea,
  #carry-app-root select{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    padding: 12px 14px !important;
    min-height: 48px !important;
  }

  #carry-app-root textarea{
    min-height: 92px !important;
  }

  #carry-app-root input::placeholder,
  #carry-app-root textarea::placeholder,
  #carry-app-root select{
    color: rgba(75,85,99,.92) !important;
  }

  /* Radios / opciones clave */
  #carry-app-root .imf-radio,
  #carry-app-root .imf-radios label,
  #carry-app-root input[type="radio"] + span,
  #carry-app-root .imf-v2-btn,
  #carry-app-root .imf-vehmode-btn,
  #carry-app-root .imf-svc-btn{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
  }

  /* Botones */
  #carry-app-root .imf-btn-primary,
  #carry-app-root .imf-btn-solicitar,
  #carry-app-root .imf-submit,
  #carry-app-root #im-enviar,
  #carry-app-root button{
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
  }

  /* Cards y títulos de vehículo */
  #carry-app-root .imf-vui-card strong,
  #carry-app-root .imf-card-choice strong,
  #carry-app-root .imf-choice strong,
  #carry-app-root .imf-veh-title,
  #carry-app-root .imf_vehicle_title{
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
  }

  /* Descripciones y ayudas */
  #carry-app-root .imf-v2-helper,
  #carry-app-root .imf-help,
  #carry-app-root .imf-hint,
  #carry-app-root small,
  #carry-app-root .description{
    font-size: 14px !important;
    line-height: 20px !important;
  }

  /* Chips */
  #carry-app-root .imf-pill,
  #carry-app-root .imf-chip,
  #carry-app-root .imf-v2-pill{
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
    padding: 6px 10px !important;
  }

  /* Tarifa / valor destacado */
  #carry-app-root .imf-tarifa,
  #carry-app-root .imf-price,
  #carry-app-root .imf-price strong,
  #carry-app-root .imf-v2-price,
  #carry-app-root .imev-modal__price span{
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
  }

  /* Ajuste general mobile */
  #carry-app-root .imf-left,
  #carry-app-root .imf-right,
  #carry-app-root .imf-v2-card{
    border-radius: 14px !important;
  }
}



/* === MOBILE TYPOGRAPHY FIX REAL v4.4.85 === */
@media (max-width: 980px){
  #carry-app-root,
  #carry-app-root.imf-app,
  #carry-app-root .im-carry-proto,
  #carry-app-root .imf-v2-wrap,
  #carry-app-root .imf-app-single,
  #carry-app-root input,
  #carry-app-root textarea,
  #carry-app-root select,
  #carry-app-root button,
  #carry-app-root label{
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  }

  #carry-app-root .imf-brand__title,
  #carry-app-root .imf-v2-header h2,
  #carry-app-root .imf-title-main,
  #carry-app-root .imf-page-title,
  #carry-app-root h1{
    font-size: 24px !important;
    line-height: 30px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
  }

  #carry-app-root .imf-brand__sub,
  #carry-app-root .imf-v2-header .sub,
  #carry-app-root .imf-note,
  #carry-app-root .imf-muted,
  #carry-app-root .imf-v2-helper,
  #carry-app-root small,
  #carry-app-root .description{
    font-size: 14px !important;
    line-height: 20px !important;
  }

  #carry-app-root .imf-sec__title,
  #carry-app-root .imf-v2-q,
  #carry-app-root .q,
  #carry-app-root h2,
  #carry-app-root h3,
  #carry-app-root .imf-section-title{
    font-size: 20px !important;
    line-height: 26px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
  }

  #carry-app-root label,
  #carry-app-root .imf-label,
  #carry-app-root .imf-field label,
  #carry-app-root .imev-field label{
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
    color: #111827 !important;
  }

  #carry-app-root input[type="text"],
  #carry-app-root input[type="tel"],
  #carry-app-root input[type="email"],
  #carry-app-root input[type="number"],
  #carry-app-root input[type="date"],
  #carry-app-root textarea,
  #carry-app-root select{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    padding: 12px 14px !important;
    min-height: 48px !important;
  }

  #carry-app-root textarea{ min-height: 92px !important; }

  #carry-app-root input::placeholder,
  #carry-app-root textarea::placeholder{
    font-size: 14px !important;
    line-height: 20px !important;
    color: rgba(75,85,99,.92) !important;
  }

  #carry-app-root .imf-radio,
  #carry-app-root .imf-radios label,
  #carry-app-root .imf-v2-btn,
  #carry-app-root .imf-vehmode-btn,
  #carry-app-root .imf-svc-btn,
  #carry-app-root .imf-service-btn,
  #carry-app-root .imf-service-card{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
  }

  #carry-app-root .imf-btn-primary,
  #carry-app-root .imf-btn-solicitar,
  #carry-app-root .imf-submit,
  #carry-app-root #im-enviar,
  #carry-app-root button{
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
  }

  #carry-app-root .imf-vui-card strong,
  #carry-app-root .imf-card-choice strong,
  #carry-app-root .imf-choice strong,
  #carry-app-root .imf-veh-title,
  #carry-app-root .imf_vehicle_title{
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
  }

  #carry-app-root .imf-pill,
  #carry-app-root .imf-chip,
  #carry-app-root .imf-v2-pill{
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
    padding: 6px 10px !important;
  }

  #carry-app-root .imf-tarifa,
  #carry-app-root .imf-price,
  #carry-app-root .imf-price strong,
  #carry-app-root .imf-v2-price,
  #carry-app-root .imev-modal__price span{
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
  }
}



/* === MOBILE LEGIBILIDAD TEXTOS v4.4.86 === */
@media (max-width: 980px){
  /* Subtítulos de sección: "Elegí una opción para cotizar", etc. */
  #carry-app-root .imf-sec__sub,
  #carry-app-root .imf-v2-header .sub,
  #carry-app-root .sub,
  #carry-app-root .imf-subtitle{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    color: #4b5563 !important;
  }

  /* Texto guía dentro del flujo: familia/tamaño/tipo, mapa, programación, detalles, whatsapp */
  #carry-app-root .helper,
  #carry-app-root .imf-v2-helper,
  #carry-app-root .imf-note,
  #carry-app-root .imf-muted,
  #carry-app-root .muted,
  #carry-app-root .imf-v2-hint,
  #carry-app-root .description,
  #carry-app-root small{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    color: #4b5563 !important;
  }

  /* "1) Familia 2) Tamaño 3) Tipo carrocería" y pasos similares */
  #carry-app-root .q,
  #carry-app-root .imf-v2-q,
  #carry-app-root .imf-veh-step{
    font-size: 17px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    color: #111827 !important;
  }

  /* Descripción de tipos de vehículo: "Ideal para cargas livianas..." */
  #carry-app-root .imf-choice-sub,
  #carry-app-root .imf-card-sub,
  #carry-app-root .imf-v2-hint,
  #carry-app-root .imf-choice .muted,
  #carry-app-root .imf-vui-card .imf-muted,
  #carry-app-root .imf-vui-card small{
    font-size: 15px !important;
    line-height: 22px !important;
    font-weight: 500 !important;
    color: #4b5563 !important;
  }
}



/* === MOBILE CONTRASTE AJUSTE v4.4.87 === */
@media (max-width: 980px){

  /* Subtítulos y ayudas con menor contraste */
  #carry-app-root .imf-sec__sub,
  #carry-app-root .imf-v2-header .sub,
  #carry-app-root .sub,
  #carry-app-root .imf-subtitle,
  #carry-app-root .imf-note,
  #carry-app-root .imf-muted,
  #carry-app-root .imf-v2-helper,
  #carry-app-root .helper,
  #carry-app-root small,
  #carry-app-root .description{

    color: rgba(75,85,99,0.75) !important; /* antes más fuerte */
    font-weight: 400 !important; /* baja un poco el peso */
  }

}



/* === MOBILE VEHICULOS TEXTO MÁS GRANDE v4.4.88 === */
@media (max-width: 980px){

  /* Nombre del vehículo (PICK UP, UTILITARIO, etc) */
  #carry-app-root .imf-vui-card strong,
  #carry-app-root .imf-card-choice strong,
  #carry-app-root .imf-choice strong,
  #carry-app-root .imf-veh-title,
  #carry-app-root .imf_vehicle_title{
    font-size: 20px !important;
    line-height: 26px !important;
    font-weight: 800 !important;
  }

  /* Descripción del vehículo */
  #carry-app-root .imf-choice-sub,
  #carry-app-root .imf-card-sub,
  #carry-app-root .imf-v2-hint,
  #carry-app-root .imf-choice .muted,
  #carry-app-root .imf-vui-card .imf-muted,
  #carry-app-root .imf-vui-card small{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
  }

}



/* === PARADAS INTERMEDIAS IGUAL QUE ORIGEN/DESTINO v4.4.90 === */
#carry-app-root .imf-stops__title{
  font-size: 12px;
  line-height: 20px;
  font-weight: 700;
  color: rgba(20,23,28,.72);
}

@media (max-width: 980px){
  #carry-app-root .imf-stops__title{
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
    color: #111827 !important;
  }
}


/* === FIX botón "Agregar parada" en mobile v4.4.91 === */
@media (max-width: 980px){
  #carry-app-root .imf-stops__head{
    display:flex;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:8px !important;
  }
  #carry-app-root .imf-stops__title{
    flex:1 1 100%;
  }
  #carry-app-root .imf-btn-mini{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    padding:10px 12px !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }
}


/* === TARIFA MÁS GRANDE MOBILE v4.4.92 === */
@media (max-width: 980px){
  #carry-app-root .imf-mobilebar__value,
  #carry-app-root .imf-tarifa,
  #carry-app-root .imf-price{
    font-size: 26px !important;
    line-height: 30px !important;
    font-weight: 900 !important;
  }

  #carry-app-root .imf-mobilebar__label{
    font-size: 14px !important;
  }
}



/* === SEPARACIÓN REAL botón Volver a Pick Up v4.4.96 === */
#carry-app-root #imf_vehicle_reset.imf-link{
  margin-top: 14px !important;
  display: inline-flex !important;
}

@media (max-width: 768px){
  #carry-app-root #imf_vehicle_reset.imf-link{
    margin-top: 14px !important;
    display: inline-flex !important;
  }
}


/* === FIX REAL ICONOS VEHICULOS v4.4.98 === */
.imf-v2-choice__icon{
  width:80px !important;
  height:80px !important;
}
.imf-v2-choice__icon img{
  width:68px !important;
  height:68px !important;
}

/* Badge recomendado */
.imf-badge-rec{
  display:inline-block;
  margin-top:6px;
  font-size:11px;
  font-weight:700;
  color:#fff;
  background:#f97316;
  padding:4px 10px;
  border-radius:999px;
}


/* === REAL FIX iconos + recomendado pickup v4.4.99 === */
.imf-badge-rec{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:6px !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  background:#f97316 !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}

@media (max-width: 980px){
  #carry-app-root #familyGrid .imf-v2-choice--family,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice{
    padding:16px 14px 14px !important;
    min-height: 172px !important;
  }

  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__icon,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__icon,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__icon{
    width:100% !important;
    height:110px !important;
    border-radius:16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__icon img,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__icon img,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__icon img{
    width:132px !important;
    height:88px !important;
    max-width:none !important;
    object-fit:contain !important;
    display:block !important;
  }

  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__label,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__label,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__label{
    font-size:20px !important;
    line-height:26px !important;
    font-weight:800 !important;
    margin-top:8px !important;
  }

  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__sub,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__sub,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__sub{
    font-size:16px !important;
    line-height:24px !important;
    font-weight:500 !important;
    margin-top:8px !important;
  }
}


/* === BADGE RECOMENDADO CSS REAL v5.0.0 === */
#familyGrid .imf-v2-choice[data-id="Pickup"] .imf-v2-choice__label::after,
#familyGrid .imf-v2-choice[data-id="pickup"] .imf-v2-choice__label::after,
#imf_vehicle_cat .imf-v2-choice[data-imf-value="Pickup"] .t::after,
#imf_vehicle_cat .imf-v2-choice[data-imf-value="pickup"] .t::after{
  content:"RECOMENDADO";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:8px;
  padding:4px 10px;
  border-radius:999px;
  background:#f97316;
  color:#fff;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}

#familyGrid .imf-v2-choice[data-id="Pickup"] .imf-v2-choice__label,
#familyGrid .imf-v2-choice[data-id="pickup"] .imf-v2-choice__label,
#imf_vehicle_cat .imf-v2-choice[data-imf-value="Pickup"] .t,
#imf_vehicle_cat .imf-v2-choice[data-imf-value="pickup"] .t{
  display:flex;
  flex-direction:column;
  align-items:center;
}


/* === DESKTOP AJUSTE INTEGRAL v5.1.0 === */
@media (min-width: 981px){

  /* Base tipográfica escritorio */
  #carry-app-root,
  #carry-app-root.imf-app,
  #carry-app-root .im-carry-proto,
  #carry-app-root .imf-v2-wrap,
  #carry-app-root .imf-app-single,
  #carry-app-root input,
  #carry-app-root textarea,
  #carry-app-root select,
  #carry-app-root button,
  #carry-app-root label{
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  }

  /* Contenedor general con más aire */
  #carry-app-root .imf-shell{
    gap: 24px !important;
    padding: 22px 30px !important;
  }
  #carry-app-root .imf-left,
  #carry-app-root .imf-right,
  #carry-app-root .imf-v2-card,
  #carry-app-root .imf-mapcard{
    border-radius: 18px !important;
  }

  /* Header / topbar */
  #carry-app-root .imf-topbar{
    padding: 16px 22px !important;
    min-height: 72px !important;
  }
  #carry-app-root .imf-brand__title,
  #carry-app-root .imf-v2-header h2,
  #carry-app-root .imf-title-main,
  #carry-app-root .imf-page-title,
  #carry-app-root h1{
    font-size: 30px !important;
    line-height: 36px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
  }
  #carry-app-root .imf-brand__sub,
  #carry-app-root .imf-v2-header .sub{
    font-size: 16px !important;
    line-height: 24px !important;
    color: rgba(75,85,99,.82) !important;
  }

  /* Secciones */
  #carry-app-root .imf-sec{
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  #carry-app-root .imf-sec__title,
  #carry-app-root .imf-v2-q,
  #carry-app-root .q,
  #carry-app-root .imf-section-title,
  #carry-app-root h2,
  #carry-app-root h3{
    font-size: 24px !important;
    line-height: 30px !important;
    font-weight: 800 !important;
    letter-spacing: -.015em !important;
    margin-bottom: 8px !important;
  }
  #carry-app-root .imf-sec__sub,
  #carry-app-root .sub,
  #carry-app-root .imf-subtitle,
  #carry-app-root .helper,
  #carry-app-root .imf-v2-helper,
  #carry-app-root .imf-note,
  #carry-app-root .imf-muted,
  #carry-app-root .muted,
  #carry-app-root small,
  #carry-app-root .description{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    color: rgba(75,85,99,.78) !important;
  }

  /* Labels */
  #carry-app-root label,
  #carry-app-root .imf-label,
  #carry-app-root .imf-field label,
  #carry-app-root .imev-field label,
  #carry-app-root .imf-stops__title{
    font-size: 15px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    color: #111827 !important;
  }

  /* Inputs y selects */
  #carry-app-root input[type="text"],
  #carry-app-root input[type="tel"],
  #carry-app-root input[type="email"],
  #carry-app-root input[type="number"],
  #carry-app-root input[type="date"],
  #carry-app-root input[type="time"],
  #carry-app-root textarea,
  #carry-app-root select,
  #carry-app-root .imf-field,
  #carry-app-root .imf-v2-input,
  #carry-app-root .imf-v2-select,
  #carry-app-root .imf-v2-textarea{
    font-size: 17px !important;
    line-height: 26px !important;
    font-weight: 500 !important;
    padding: 13px 16px !important;
    min-height: 52px !important;
    border-radius: 14px !important;
  }
  #carry-app-root textarea,
  #carry-app-root .imf-v2-textarea{
    min-height: 110px !important;
  }
  #carry-app-root input::placeholder,
  #carry-app-root textarea::placeholder{
    font-size: 15px !important;
    line-height: 22px !important;
    color: rgba(107,114,128,.88) !important;
  }

  /* Radios, pills y controles secundarios */
  #carry-app-root .imf-radio,
  #carry-app-root .imf-radios label,
  #carry-app-root .imf-check,
  #carry-app-root .imf-v2-pill,
  #carry-app-root .imf-pill,
  #carry-app-root .imf-chip{
    font-size: 15px !important;
    line-height: 22px !important;
  }

  /* Botones */
  #carry-app-root .imf-btn-primary,
  #carry-app-root .imf-btn-solicitar,
  #carry-app-root .imf-submit,
  #carry-app-root #im-enviar,
  #carry-app-root .imf-svc-btn,
  #carry-app-root .imf-vehmode-btn,
  #carry-app-root .imf-btn-mini,
  #carry-app-root .imf-change-btn,
  #carry-app-root button{
    font-size: 17px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    border-radius: 14px !important;
  }
  #carry-app-root .imf-btn-mini{
    padding: 10px 14px !important;
  }

  /* Tarifa / precio */
  #carry-app-root .imf-mobilebar__label,
  #carry-app-root .imf-tarifa-label{
    font-size: 15px !important;
    line-height: 20px !important;
  }
  #carry-app-root .imf-mobilebar__value,
  #carry-app-root .imf-tarifa,
  #carry-app-root .imf-price,
  #carry-app-root .imf-price strong,
  #carry-app-root .imf-v2-price,
  #carry-app-root .imev-modal__price span{
    font-size: 34px !important;
    line-height: 38px !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
  }

  /* Grids con más respiración */
  #carry-app-root .imf-grid-2,
  #carry-app-root .imf-row,
  #carry-app-root .imf-v2-row{
    gap: 14px !important;
  }

  /* Tarjetas de familia (desktop) */
  #carry-app-root #familyGrid.imf-v2-grid,
  #carry-app-root #imf_vehicle_cat.imf-v2-grid{
    gap: 18px !important;
  }
  #carry-app-root #familyGrid .imf-v2-choice--family,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice{
    min-height: 170px !important;
    padding: 18px 18px 16px !important;
    border-radius: 18px !important;
  }
  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__icon,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__icon,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__icon{
    height: 118px !important;
    border-radius: 18px !important;
  }
  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__icon img,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__icon img,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__icon img{
    width: 148px !important;
    height: 96px !important;
    object-fit: contain !important;
  }
  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__label,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__label,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__label{
    font-size: 26px !important;
    line-height: 32px !important;
    font-weight: 800 !important;
    margin-top: 10px !important;
  }
  #carry-app-root #familyGrid .imf-v2-choice--family .imf-v2-choice__sub,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice--family .imf-v2-choice__sub,
  #carry-app-root #imf_vehicle_cat .imf-v2-choice .imf-v2-choice__sub{
    font-size: 18px !important;
    line-height: 27px !important;
    font-weight: 500 !important;
    margin-top: 10px !important;
    color: rgba(75,85,99,.82) !important;
  }

  /* Tipos y carrocerías */
  #carry-app-root #variantGrid.imf-v2-grid,
  #carry-app-root #imf_vehicle_size.imf-v2-grid,
  #carry-app-root #imf_vehicle_variant.imf-v2-grid{
    gap: 14px !important;
  }
  #carry-app-root #variantGrid .imf-v2-choice,
  #carry-app-root #imf_vehicle_size .imf-v2-choice,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice{
    padding: 16px 18px !important;
    min-height: 108px !important;
    border-radius: 16px !important;
  }
  #carry-app-root #variantGrid .imf-v2-choice .t,
  #carry-app-root #imf_vehicle_size .imf-v2-choice .t,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice .t{
    font-size: 20px !important;
    line-height: 26px !important;
    font-weight: 800 !important;
  }
  #carry-app-root #variantGrid .imf-v2-choice .s,
  #carry-app-root #imf_vehicle_size .imf-v2-choice .s,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice .s{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    color: rgba(75,85,99,.78) !important;
  }

  /* Resumen de vehículo */
  #carry-app-root .imf-veh-info,
  #carry-app-root .vehcard,
  #carry-app-root .imf-v2-card .kv{
    font-size: 16px !important;
    line-height: 24px !important;
  }

  /* Badge recomendado */
  #carry-app-root .imf-badge-rec,
  #familyGrid .imf-v2-choice[data-id="Pickup"] .imf-v2-choice__label::after,
  #familyGrid .imf-v2-choice[data-id="pickup"] .imf-v2-choice__label::after{
    font-size: 12px !important;
    padding: 5px 12px !important;
    margin-top: 10px !important;
  }
}



/* === FIX BOTÓN DISTRIBUCIÓN DESKTOP v5.1.1 === */
@media (min-width: 981px){
  #carry-app-root .imf-svc-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    padding:12px 18px !important;
    min-width:220px !important;
    white-space:nowrap !important;
  }

  #carry-app-root .imf-svc-btn span,
  #carry-app-root .imf-svc-btn{
    white-space:nowrap !important;
  }

  #carry-app-root .imf-svc-row{
    flex-wrap:wrap !important;
    gap:12px !important;
  }
}


/* === ICONOS ORIGEN / DESTINO v5.1.5 === */
#carry-app-root .imf-label{
  display:flex;
  align-items:center;
  gap:8px;
}
#carry-app-root .imf-label.origen::before{
  content:"📍";
  font-size:16px;
}
#carry-app-root .imf-label.destino::before{
  content:"🏁";
  font-size:16px;
}
