/*
  Carry — App Shell v4 (FULL WIDTH + ONE SCREEN)
  Scoped to #carry-app-root so the theme can't break it.
*/

#carry-app-root{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background: var(--imf-bg, #f6f7fb) !important;
}

/* App frame: center content like Fletalo (no huge blank sides) */
#carry-app-root .imf-v2-wrap{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 16px !important;
}

#carry-app-root *{ box-sizing:border-box; }

/* Compact sticky header (mobile first) */
#carry-app-root .imf-topbar{
  padding:10px 12px !important;
  margin:0 !important;
}

#carry-app-root .imf-topbar__inner{
  align-items:center !important;
}

/* Make the brand area compact */
#carry-app-root .imf-brand__logo{ width:28px !important; height:28px !important; border-radius:10px !important; }
#carry-app-root .imf-brand__title{ font-size:16px !important; }
#carry-app-root .imf-brand__sub{ display:none !important; }
#carry-app-root .imf-steps{ display:none !important; }
#carry-app-root .imf-tarifa{ display:none !important; } /* keep only the mini price like Fletalo */


#carry-app-root .imf-topbar{
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  background: rgba(246,247,251,.92) !important;
  backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
}
#carry-app-root .imf-topbar__inner{
  display:flex !important;
  justify-content:space-between !important;
  gap:12px !important;
}

/* One-screen layout */
#carry-app-root .imf-v2-main{
  display:flex !important;
  gap:14px !important;
  padding:14px 12px 18px !important;
  height: calc(100vh - 64px) !important; /* header approx */
  overflow:hidden !important;
}

#carry-app-root .imf-v2-left{
  /* Wider left column so cards never truncate */
  flex: 0 0 560px !important;
  min-width: 460px !important;
  height: 100% !important;
  overflow:auto !important;
  padding-right:2px !important;
}

#carry-app-root .imf-v2-right{
  flex: 1 1 auto !important;
  height:100% !important;
  overflow:hidden !important;
}

#carry-app-root .imf-mapcard{
  height:100% !important;
  overflow:hidden !important;
}

#carry-app-root .imf-v2-map,
#carry-app-root #im-map-canvas{
  height: calc(100% - 58px) !important; /* header of card + bottom hint approx */
  min-height: 360px !important;
}

#carry-app-root .imf-map-hint{ display:none !important; }

/* === Single view form visuals (pro) === */
#carry-app-root .imf-formcard{ padding:16px !important; }
#carry-app-root .imf-sec{ padding:14px 0; border-bottom:1px solid rgba(20,23,28,.08); }
#carry-app-root .imf-sec:last-child{ border-bottom:none; }
#carry-app-root .imf-sec__title{ font-weight:800; font-size:14px; margin:0 0 6px; }
#carry-app-root .imf-sec__sub{ color:rgba(20,23,28,.62); font-size:12px; margin:0 0 12px; }

#carry-app-root .imf-label{ display:block; font-size:12px; font-weight:700; margin:0 0 6px; color:rgba(20,23,28,.72); }
#carry-app-root .imf-field{
  width:100%;
  border:1px solid rgba(20,23,28,.14);
  border-radius:12px;
  padding:11px 12px;
  font-size:14px;
  background:#fff;
  outline:none;
}
#carry-app-root .imf-field:focus{ border-color: rgba(20,23,28,.35); box-shadow: 0 0 0 4px rgba(20,23,28,.06); }

#carry-app-root .imf-grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
@media (max-width: 520px){
  #carry-app-root .imf-grid-2{ grid-template-columns: 1fr; }
}

#carry-app-root .imf-svc-row{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:10px; }
@media (max-width: 980px){
  #carry-app-root .imf-svc-row{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
#carry-app-root .imf-svc-btn{
  border-radius:14px;
  border:1px solid rgba(20,23,28,.14);
  padding:12px 10px;
  background:#fff;
  font-weight:800;
  font-size:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
}
#carry-app-root .imf-svc-btn span{ font-weight:800; }
#carry-app-root .imf-svc-btn.is-selected{ border-color: rgba(255,122,0,.35); box-shadow: 0 0 0 4px rgba(255,122,0,.10); }
#carry-app-root .imf-svc-btn--ghost{ opacity:.8; }

#carry-app-root .imf-note{
  margin-top:10px;
  background: rgba(255,122,0,.08);
  border:1px solid rgba(255,122,0,.20);
  color: rgba(20,23,28,.78);
  border-radius:12px;
  padding:10px 12px;
  font-size:12px;
}

#carry-app-root .imf-veh-step{ font-size:12px; font-weight:800; margin:6px 0 8px; color:rgba(20,23,28,.72); }

/* Ícono en cards/choices (familia / tamaño / etc.) */
#carry-app-root .imf-choice-ico{
  background: transparent;
  border: none;
  box-shadow:none;
  width:auto; height:auto;
  border-radius:0;
  display:flex; align-items:center; justify-content:center;
  flex: 0 0 auto;
  overflow: visible;
}

#carry-app-root .imf-choice-ico img{
  width:78px; height:auto;
  display:block;
  object-fit:contain;
  opacity:.98;
}


/* En mobile, un toque más chico para que no rompa el grid */
@media (max-width: 560px){
  /* Mantener los PNG visibles (Familia) - NO achicar de más */
  #carry-app-root .imf-choice-ico{ width:56px; height:56px; flex-basis:56px; }
  #carry-app-root .imf-choice-ico img{ width:46px; height:46px; }
}
#carry-app-root .imf-veh-info{ margin-top:10px; border:1px solid rgba(20,23,28,.10); border-radius:14px; padding:12px; background:#fff; }
#carry-app-root .imf-link{ background:none; border:none; padding:8px 0; font-weight:800; cursor:pointer; color: rgba(20,23,28,.72); }

#carry-app-root .imf-stops{ margin-top:10px; }
#carry-app-root .imf-stops__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
#carry-app-root .imf-stops__title{ font-weight:800; font-size:12px; color:rgba(20,23,28,.72); }
#carry-app-root .imf-btn-mini{ border-radius:999px; border:1px solid rgba(20,23,28,.14); background:#fff; padding:8px 10px; font-weight:800; font-size:12px; cursor:pointer; }
#carry-app-root .imf-stop-input{ width:100%; }

#carry-app-root .imf-radio-row{ display:flex; gap:14px; flex-wrap:wrap; }
#carry-app-root .imf-radio{ display:flex; align-items:center; gap:8px; font-weight:800; font-size:13px; }

#carry-app-root .imf-check{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:13px; }

#carry-app-root .imf-msg{ margin:12px 0 10px; font-size:13px; }

#carry-app-root .imf-submit{
  width:100%;
  border:none;
  border-radius:14px;
  padding:14px 14px;
  font-weight:900;
  letter-spacing:.3px;
  cursor:pointer;
  background: rgba(20,23,28,1);
  color:#fff;
}
#carry-app-root .imf-footerhint{ margin-top:10px; font-size:12px; color:rgba(20,23,28,.55); }

/* Mobile: stack, keep header small */
@media (max-width: 980px){
  #carry-app-root .imf-v2-main{ flex-direction:column !important; height:auto !important; overflow:visible !important; }
  #carry-app-root .imf-v2-left{ width:100% !important; min-width:0 !important; height:auto !important; overflow:visible !important; }
  #carry-app-root .imf-v2-right{ width:100% !important; height: 52vh !important; min-height: 360px !important; }
  #carry-app-root .imf-mapcard{ height:100% !important; }
  #carry-app-root .imf-v2-map,
  #carry-app-root #im-map-canvas{ height:100% !important; }
}

/* Super compact header on small phones */
@media (max-width: 520px){
  #carry-app-root .imf-topbar__inner{ gap:10px !important; }
  #carry-app-root .imf-topbar__mini{ font-size:13px !important; }
  #carry-app-root .imf-topbar__btn{ padding:10px 14px !important; font-size:12px !important; }
}


/* UI 4.1.6 overrides (Carry accent) */
#carry-app-root .imf-v2-choice.is-selected{ border-color: rgba(255,122,0,.65) !important; box-shadow:0 12px 30px rgba(255,122,0,.12) !important; background: rgba(255,122,0,.06) !important; }
#carry-app-root .imf-v2-choice:hover{ border-color: rgba(255,122,0,.25) !important; }

/* ===== Visual fix: family cards not cut (Semirremolque/Utilitario) ===== */
#carry-app-root .imf-v2-left .imf-v2-grid{
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

#carry-app-root .imf-v2-choice{ min-width:0 !important; }
#carry-app-root .imf-v2-choice__label,
#carry-app-root .imf-v2-choice__sub{ min-width:0 !important; }

/* If markup includes family modifier */
#carry-app-root .imf-v2-choice--family{ min-height: 88px !important; padding: 12px 12px !important; }
#carry-app-root .imf-v2-choice--family .imf-v2-choice__icon{ width:72px !important; height:50px !important; }
#carry-app-root .imf-v2-choice--family .imf-v2-choice__icon svg{ width:72px !important; height:50px !important; }

/* ===== Bigger PNGs: make all family icons match PICK UP size ===== */
#carry-app-root .imf-v2-choice--family .imf-v2-choice__icon{
  width: 96px !important;
  height: 64px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
#carry-app-root .imf-v2-choice--family .imf-v2-choice__icon img{
  width: 88px !important;
  height: 56px !important;
  object-fit: contain !important;
  display: block !important;
}
#carry-app-root .imf-v2-choice--family .imf-v2-choice__icon svg{
  width: 88px !important;
  height: 56px !important;
}

#carry-app-root .imf-v2-choice--family .imf-v2-choice__label{ font-size:14px !important; line-height:1.15 !important; white-space:normal !important; word-break:break-word !important; }


/* ===== 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 fix: SOLO tamaños/carrocerías (evitar romper Familia con PNG grandes) ===== */
@media (max-width: 560px){
  /* Aplicar únicamente a los pasos 2 y 3 */
  #carry-app-root #imf_vehicle_size .imf-v2-choice,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice{
    display:grid !important;
    /* Darle espacio real al texto (evita que se apile en columna) */
    grid-template-columns: 72px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px !important;
    align-items:center !important;
    min-width: 0 !important;
  }
  #carry-app-root #imf_vehicle_size .imf-v2-choice .imf-choice-ico,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice .imf-choice-ico{
    width:56px !important;
    height:56px !important;
    flex: 0 0 56px !important;
    border-radius: 16px !important;
    grid-row: 1 / span 2 !important;
  }
  #carry-app-root #imf_vehicle_size .imf-v2-choice .imf-choice-ico img,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice .imf-choice-ico img{
    width:26px !important;
    height:26px !important;
  }
  #carry-app-root #imf_vehicle_size .imf-v2-choice .t,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice .t{
    grid-column: 2 !important;
    grid-row: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height:1.15 !important;
    min-width: 0 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  #carry-app-root #imf_vehicle_size .imf-v2-choice .s,
  #carry-app-root #imf_vehicle_variant .imf-v2-choice .s{
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: 2px !important;
    white-space: normal !important;
    min-width: 0 !important;
  }
}



/* ===== DESKTOP: ICONOS GRANDES, SIN RECUADRO ===== */
@media (min-width: 1024px){
  #carry-app-root .imf-choice-ico{
    width:auto;
    height:auto;
    flex: 0 0 auto;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
  #carry-app-root .imf-choice-ico img{
    width: 72px;
    height: auto;
    max-width: 100%;
    display:block;
    object-fit: contain;
  }
}



/* ===== Desktop: Familia como mobile (1 columna, iconos grandes, sin caja) ===== */
@media (min-width: 1024px){
  #carry-app-root #imf_vehicle_cat.imf-v2-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Card familia: una por fila */
  #carry-app-root #imf_vehicle_cat .imf-v2-choice{
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    padding: 14px 16px !important;
    min-height: 96px !important;
  }

  /* Icono libre y protagonista */
  #carry-app-root #imf_vehicle_cat .imf-choice-ico{
    width: 92px !important;
    height: 92px !important;
    flex: 0 0 92px !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  #carry-app-root #imf_vehicle_cat .imf-choice-ico img{
    width: 86px !important;
    height: 86px !important;
    object-fit: contain !important;
  }

  /* Textos */
  #carry-app-root #imf_vehicle_cat .t{
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
  }
  #carry-app-root #imf_vehicle_cat .s{
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    opacity: .78 !important;
    max-width: 70ch !important;
  }
}

/* family card mobile-list */
#carry-app-root #imf_vehicle_cat .imf-v2-choice{
  padding: 16px 16px;
  gap: 14px;
}
#carry-app-root #imf_vehicle_cat .t{ font-weight:800; font-size:16px; }
#carry-app-root #imf_vehicle_cat .s{ font-size:12.5px; line-height:1.25; opacity:.78; max-width: 70ch; }


/* ===== HARD COLLAPSE (CSS) to ensure only selected option is visible ===== */
#carry-app-root #imf_vehicle_cat.imf-wrap--collapsed .imf-v2-choice{ display:none !important; }
#carry-app-root #imf_vehicle_cat.imf-wrap--collapsed .imf-v2-choice.imf-choice--collapsed{ display:flex !important; }
#carry-app-root #imf_vehicle_cat.imf-wrap--collapsed .imf-v2-choice.imf-choice--collapsed[style*="display:none"]{ display:flex !important; }



#carry-app-root .imf-msg--error{ color:#b42318 !important; font-weight:800; }
#carry-app-root .imf-field--error{ border-color:#f04438 !important; box-shadow:0 0 0 3px rgba(240,68,56,.12) !important; }
#carry-app-root .imf-label--error,
#carry-app-root .imf-sec__sub--error{ color:#b42318 !important; font-weight:800 !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;
}
