#carry-app-root{
  --imf-bg:#f5f7fb;
  --imf-card:#ffffff;
  --imf-text:#0f172a;
  --imf-muted:#64748b;
  --imf-line:#e2e8f0;
  --imf-accent:#f97316;
  --imf-ok:#10b981;
  --imf-warn:#f59e0b;
}

/* Scope to evitar conflictos con el theme */
.imf-v2-wrap{ color:var(--imf-text); }
.imf-v2-wrap *{ box-sizing:border-box; }
.imf-v2-header{ padding:18px 16px; border-bottom:1px solid var(--imf-line); position:sticky; top:0; background:rgba(245,247,251,.92); backdrop-filter: blur(8px); z-index:5; }
.imf-v2-header h2{ margin:0; font-size:18px; letter-spacing:.2px; }
.imf-v2-header .sub{ margin-top:6px; color:var(--imf-muted); font-size:13px; }

.imf-v2-main{ max-width:1120px; margin:0 auto; padding:16px 16px 26px; display:grid; grid-template-columns: 1fr 380px; gap:16px; }
@media (max-width: 980px){ .imf-v2-main{ grid-template-columns:1fr; } }

/* Sidebar: mantener arriba sin tapar contenido */
.imf-v2-right{ align-self:start; }
@media (min-width: 981px){
  .imf-v2-right{ position: sticky; top: 88px; }
}


.imf-v2-card{ background:var(--imf-card); border:1px solid var(--imf-line); border-radius:16px; padding:16px; box-shadow: 0 10px 30px rgba(2,6,23,.08); }
.imf-v2-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid var(--imf-line); border-radius:999px; color:var(--imf-muted); font-size:12px; }
.imf-v2-pill b{ color:var(--imf-text); font-weight:600; }
.imf-v2-stepbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }

.imf-v2-q{ font-size:18px; margin:6px 0 6px; }
.imf-v2-helper{ color:var(--imf-muted); font-size:13px; margin:0 0 14px; }

.imf-v2-btns{ display:flex; flex-wrap:wrap; gap:10px; }
.imf-v2-btn{
  cursor:pointer; border-radius:12px; border:1px solid var(--imf-line);
  background:#ffffff; color:var(--imf-text); padding:10px 12px; font-size:14px;
  transition:.15s transform, .15s border-color, .15s background;
}
.imf-v2-btn:hover{ transform: translateY(-1px); border-color: rgba(37,99,235,.35); background:#f1f5f9; }
.imf-v2-btn.primary{ background: rgba(37,99,235,.10); border-color: rgba(37,99,235,.40); }
.imf-v2-btn.primary:hover{ background: rgba(37,99,235,.14); }
.imf-v2-btn.ghost{ background: transparent; }
.imf-v2-btn.danger{ border-color:#fecaca; background:#fff1f2; }
.imf-v2-btn.small{ padding:8px 10px; font-size:13px; border-radius:10px; }

.imf-v2-row{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
@media (max-width:620px){ .imf-v2-row{ grid-template-columns:1fr; } }

.imf-v2-label{ display:block; font-size:12px; color:var(--imf-muted); margin:0 0 6px; }
.imf-v2-input, .imf-v2-select, .imf-v2-textarea{
  width:100%; padding:10px 12px; border-radius:12px; border:1px solid var(--imf-line);
  background:#ffffff; color:var(--imf-text); outline:none;
}
.imf-v2-textarea{ min-height: 96px; resize: vertical; }
.imf-v2-divider{ height:1px; background:var(--imf-line); margin:14px 0; }

.imf-v2-toast{ margin-top:12px; padding:10px 12px; border-radius:12px; border:1px solid #57451b; background:rgba(255,211,122,.08); color:var(--imf-warn); font-size:13px; display:none; }
.imf-v2-toast.show{ display:block; }

.imf-v2-right h3{ margin:0 0 10px; font-size:14px; color:var(--imf-muted); font-weight:600; }
.imf-v2-kv{ display:grid; grid-template-columns: 150px 1fr; gap:8px; font-size:13px; padding:8px 0; border-bottom:1px solid var(--imf-line); }
.imf-v2-kv:last-child{ border-bottom:none; }

.imf-v2-map{ border-radius:14px; overflow:hidden; border:1px solid var(--imf-line); }
.imf-v2-map #im-map-canvas{ width:100%; height:220px; }

.imf-v2-hidden{ display:none !important; }


/* Light background */
.imf-v2-wrap{ background:var(--imf-bg); min-height:100vh; }

/* Vehicle cards UI */
.imf-v2-grid{ display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.imf-v2-choice{ background:var(--imf-card); border:1px solid var(--imf-line); border-radius:14px; padding:12px 12px; cursor:pointer; transition:transform .08s ease, box-shadow .08s ease, border-color .08s ease; }
.imf-v2-choice:hover{ transform:translateY(-1px); box-shadow:0 10px 25px rgba(2,6,23,.08); }
.imf-v2-choice .t{ font-weight:800; color:var(--imf-text); }
.imf-v2-choice .s{ margin-top:4px; font-size:12px; color:var(--imf-muted); }
.imf-v2-choice.active{ border-color:rgba(37,99,235,.55); box-shadow:0 12px 28px rgba(37,99,235,.14); }
.imf-v2-choice.disabled{ opacity:.55; pointer-events:none; }
.imf-v2-breadcrumb{ display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 6px; }
.imf-v2-tag{ font-size:12px; padding:6px 10px; border-radius:999px; background:rgba(37,99,235,.08); border:1px solid rgba(37,99,235,.18); color:var(--imf-text); }


/* --- Contrast + theme override hardening --- */
.imf-v2-wrap, .imf-v2-wrap *{
  color: var(--imf-text);
}
.imf-v2-wrap .imf-v2-helper,
.imf-v2-wrap .imf-v2-label,
.imf-v2-wrap .imf-v2-breadcrumb,
.imf-v2-wrap .imf-v2-pill,
.imf-v2-wrap .imf-v2-card p{
  color: var(--imf-muted) !important;
}
.imf-v2-wrap .imf-v2-choice .t{ color: var(--imf-text) !important; }
.imf-v2-wrap .imf-v2-choice .s{ color: var(--imf-muted) !important; }

/* Buttons */
.imf-v2-wrap .imf-v2-btn.primary{
  background: var(--imf-accent) !important;
  border-color: var(--imf-accent) !important;
  color:#fff !important;
}
.imf-v2-wrap .imf-v2-btn.primary:hover{ filter: brightness(.96); }
.imf-v2-wrap .imf-v2-btn:disabled,
.imf-v2-wrap .imf-v2-btn.disabled{
  background:#e2e8f0 !important;
  border-color:#cbd5e1 !important;
  color:#64748b !important;
  opacity:1 !important;
}

/* Inputs */
.imf-v2-wrap input, .imf-v2-wrap select, .imf-v2-wrap textarea{
  background:#fff !important;
  color: var(--imf-text) !important;
}


/* --- VUI v2: botones gráficos (pressed) --- */
.imf-v2-btns-icons{gap:10px; flex-wrap:wrap;}
.imf-v2-iconbtn{display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:16px; border:1px solid rgba(15,23,42,.14); background:#fff; color:#0f172a; box-shadow:0 6px 18px rgba(2,6,23,.06); min-width:220px;}
.imf-v2-iconbtn .ic{font-size:20px; width:34px; height:34px; display:grid; place-items:center; border-radius:12px; background:rgba(37,99,235,.10);}
.imf-v2-iconbtn .tx{display:flex; flex-direction:column; line-height:1.05; text-align:left;}
.imf-v2-iconbtn .tx small{font-size:12px; opacity:.75; margin-top:4px;}
.imf-v2-btn.is-selected,
.imf-v2-iconbtn.is-selected{border-color:rgba(37,99,235,.55) !important; box-shadow:0 10px 26px rgba(37,99,235,.18) !important; background:rgba(37,99,235,.06) !important;}
.imf-v2-btn.is-selected.primary{background:#2563eb !important; color:#fff !important;}
.imf-v2-btn[data-imf-service]{min-width:170px;}
/* Choices with icon */
.imf-v2-choice{display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; column-gap:10px; row-gap:2px; align-items:center;}
.imf-v2-choice .ic{grid-row:1 / span 2; width:34px; height:34px; border-radius:12px; display:grid; place-items:center; background:rgba(37,99,235,.08); font-size:18px;}
.imf-v2-choice .t{font-weight:800;}
.imf-v2-choice .s{font-size:12.5px; color:#475569; line-height:1.25;}
.imf-v2-choice.selected{border-color:rgba(37,99,235,.55) !important; box-shadow:0 10px 26px rgba(37,99,235,.16) !important; background:rgba(37,99,235,.06) !important;}
/* Force contrast no matter theme */
.imf-v2-wrap, .imf-v2-wrap *{color:inherit;}
.imf-v2-wrap{background:#f8fafc !important;}
.imf-v2-card{background:#fff !important; color:#0f172a !important;}
.imf-v2-helper{color:#475569 !important;}
.imf-v2-label{color:#0f172a !important;}
.imf-v2-btn{border-color:rgba(15,23,42,.18) !important;}
.imf-v2-btn.primary{background:#2563eb !important; color:#fff !important; border-color:#2563eb !important;}
.imf-v2-btn.primary:disabled{opacity:.55 !important; color:#fff !important;}


/* --- V2.9.67 UX fixes: service pills + contrast hardening (theme-proof) --- */
.imf-v2-wrap .imf-v2-btns-service .service-pill{
  border-radius:999px !important;
  padding:10px 16px !important;
  font-weight:800 !important;
  min-width:auto !important;
}
.imf-v2-wrap .imf-v2-btns-service .service-pill.is-selected{
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#ffffff !important;
}
.imf-v2-wrap .imf-v2-btns-service .service-pill.disabled{
  opacity:.55 !important;
  pointer-events:none !important;
}
.imf-v2-wrap .imf-v2-note{
  margin-top:10px !important;
  font-size:12px !important;
  color:#475569 !important;
  background:#f1f5f9 !important;
  border:1px solid #e2e8f0 !important;
  padding:10px 12px !important;
  border-radius:12px !important;
}
.imf-v2-wrap .imf-v2-choice .t{ display:block !important; line-height:1.2 !important; }
.imf-v2-wrap .imf-v2-choice .s{ display:block !important; margin-top:6px !important; font-size:12px !important; color:#475569 !important; }
.imf-v2-wrap .imf-v2-iconbtn{ background:#fff !important; color:#0f172a !important; }
.imf-v2-wrap .imf-v2-iconbtn .tx b{ color:#0f172a !important; }
.imf-v2-wrap .imf-v2-iconbtn .tx small{ color:#334155 !important; opacity:1 !important; }
.imf-v2-wrap .imf-v2-btn.primary{
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#ffffff !important;
}
.imf-v2-wrap .imf-v2-btn.primary:hover{ filter:brightness(.98); }
.imf-v2-wrap .imf-v2-btn:disabled, .imf-v2-wrap button[disabled]{ opacity:.6 !important; }

.imf-v2-choice.is-selected{ border-color: rgba(255,122,0,.65) !important; box-shadow:0 12px 30px rgba(255,122,0,.12); background: rgba(255,122,0,.06); }
.imf-v2-choice.is-selected .t{ color:var(--imf-text-strong); }



/* === VUI2 hard visibility + prototype-like pills === */
.imf-v2-wrap, .imf-v2-wrap * { box-sizing:border-box; }
.imf-v2-wrap { background:#f5f7fb !important; color:#0f172a !important; }
.imf-v2-wrap .imf-v2-card { background:#ffffff !important; color:#0f172a !important; border:1px solid rgba(15,23,42,.10) !important; }
.imf-v2-wrap .imf-v2-help, .imf-v2-wrap .imf-v2-small { color:#334155 !important; }
.imf-v2-wrap .imf-v2-label { color:#0f172a !important; font-weight:700 !important; }
.imf-v2-wrap input.imf-v2-input, .imf-v2-wrap select, .imf-v2-wrap textarea { background:#ffffff !important; color:#0f172a !important; border:1px solid rgba(15,23,42,.18) !important; }
.imf-v2-wrap input.imf-v2-input::placeholder { color:#64748b !important; }

/* primary button always readable */
.imf-v2-wrap .imf-v2-btn.primary { background:#2563eb !important; color:#fff !important; border-color:#2563eb !important; }
.imf-v2-wrap .imf-v2-btn.primary:hover { filter:brightness(0.98); }

/* mode selector pills */
.imf-v2-wrap .imf-v2-btns-icons { display:flex; gap:10px; flex-wrap:wrap; }
.imf-v2-wrap .imf-v2-iconbtn { padding:10px 14px !important; border-radius:999px !important; min-height:auto !important; box-shadow:none !important; background:#ffffff !important; border:1px solid rgba(37,99,235,.35) !important; color:#0f172a !important; }
.imf-v2-wrap .imf-v2-iconbtn .ic { display:none !important; }
.imf-v2-wrap .imf-v2-iconbtn .tx b { font-size:14px !important; }
.imf-v2-wrap .imf-v2-iconbtn .tx small { display:none !important; }
.imf-v2-wrap .imf-v2-iconbtn.is-selected { background:#0b2a6f !important; border-color:#0b2a6f !important; color:#ffffff !important; }
.imf-v2-wrap .imf-v2-iconbtn.is-selected .tx b { color:#ffffff !important; }

/* category/size/variant choice cards pressed */
.imf-v2-wrap .imf-v2-choice { background:#fff !important; color:#0f172a !important; border:1px solid rgba(15,23,42,.12) !important; }
.imf-v2-wrap .imf-v2-choice.is-selected { border-color:#2563eb !important; box-shadow:0 0 0 3px rgba(37,99,235,.12) !important; }
.imf-v2-wrap .imf-v2-choice .sub { color:#334155 !important; }

/* fix price hint alignment */
.imf-v2-wrap .imf-v2-choice .price { float:right; color:#334155 !important; font-weight:600 !important; }



/* Force visibility against aggressive themes */
.imf-v2-wrap .imf-force-grid{display:grid !important;}
.imf-v2-wrap .imf-force-block{display:block !important;}

/* Hotfix: ocultar cualquier badge de paso actual (debug) */
.im-carry-proto .step .pill:nth-child(2){display:none!important;}

/* Google Places Autocomplete dropdown fix */
.pac-container{z-index:999999 !important;}
.pac-container.pac-logo:after{display:none !important;}


/* UI 3.1 – tarjetas de selección con íconos */
.imf-v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width: 980px){.imf-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 560px){.imf-v2-grid{grid-template-columns:1fr;}}

.imf-v2-choice{width:100%;text-align:left;border:1px solid #e7edf5;background:#fff;border-radius:14px;padding:12px 12px;display:flex;gap:12px;align-items:center;box-shadow:0 6px 16px rgba(17,24,39,.06);transition:transform .06s ease, box-shadow .06s ease, border-color .06s ease}
.imf-v2-choice:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(17,24,39,.10)}
.imf-v2-choice.selected{border-color:rgba(255,122,0,.65);box-shadow:0 10px 24px rgba(255,122,0,.18)}
.imf-v2-choice__icon{width:54px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,122,0,.10);color:#ff7a00;flex:0 0 auto}
.imf-v2-choice__icon svg{width:48px;height:28px}
.imf-v2-choice__label{font-weight:800;color:#0f172a}
.imf-v2-choice__sub{font-size:12px;color:#64748b;margin-top:2px}

.imf-v2-pills{display:flex;flex-wrap:wrap;gap:10px}
.imf-v2-pill{border:1px solid #e7edf5;background:#fff;border-radius:999px;padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer}
.imf-v2-pill span{font-weight:700;color:#0f172a}
.imf-v2-pill small{font-size:11px;color:#64748b}
.imf-v2-pill.selected{border-color:rgba(255,122,0,.65);background:rgba(255,122,0,.08)}


/* UI 3.1.2 – vehicle cards polish */
.imf-v2-choice{
  min-height: 104px;
  overflow: visible;
  padding: 14px 14px;
}
.imf-v2-choice__icon{
  width: 92px;
  height: 60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
}
.imf-v2-choice__icon svg{
  width:92px;
  height:60px;
  display:block;
}
.imf-v2-choice__label{
  font-size: 15px;
  line-height: 1.2;
  overflow: visible;
  display: block;
  word-break: break-word;
}
.imf-v2-choice__sub{
  font-size: 12px;
  line-height: 1.2;
  opacity: .78;
  overflow: visible;
  white-space: normal;
}
.imf-v2-grid{
  gap: 12px;
}



/* ===== Carry PRO override: tarjetas más anchas para legibilidad ===== */
#imf_vehicle_size.imf-v2-grid,
#imf_vehicle_variant.imf-v2-grid{
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
}

/* Ajuste sutil de tipografías en cards para evitar cortes */
.imf-v2-choice .t{ line-height: 1.15; }
.imf-v2-choice .s{ line-height: 1.25; }


/* ===== 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;
}

/* --- Mobile: evita que los textos del Paso 2 se rompan por íconos grandes (cuadrados de color) --- */
@media (max-width: 560px){
  .imf-v2-choice{ grid-template-columns:26px 1fr; column-gap:8px; }
  .imf-v2-choice .ic{ width:26px; height:26px; border-radius:10px; font-size:14px; }
  .imf-v2-choice .t{ font-size:14px; }
  .imf-v2-choice .s{ font-size:12px; }
}



/* === 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;
  }

}



/* === MOBILE VEHICLE TITLES/DESCRIPTIONS REAL FIX v4.4.89 === */
@media (max-width: 980px){
  #carry-app-root .imf-v2-choice .t,
  #carry-app-root #imf_vehicle_cat .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;
    color: #111827 !important;
  }

  #carry-app-root .imf-v2-choice .s,
  #carry-app-root #imf_vehicle_cat .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;
  }
}



/* === 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;
}
