:root{
  --c-bg:#f6f8fb;
  --c-surface:#fff;
  --c-primary:#1e88e5;
  --c-ink:#0b1f3a;
  --c-muted:#5f7187;
  --shadow:0 6px 20px rgba(11,31,58,.08);
  --radius:14px;
  --container:min(1120px,92vw);
  --nav-offset:0px;
}

*{box-sizing:border-box}
html{scrollbar-gutter:stable both-edges}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  color:var(--c-ink);
  background:linear-gradient(180deg,#f9fbff,var(--c-bg));
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:var(--container);margin-inline:auto;padding-inline:8px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:.55rem .9rem;
  border-radius:10px;
  border:1px solid #cfdcf0;
  background:#fff;
  color:#243449;
  cursor:pointer;
  font-weight:600;
  font-size:.9rem;
}
.btn.primary{
  background:var(--c-primary);
  border-color:transparent;
  color:#fff;
}
.btn.primary:hover{filter:brightness(.94)}
#btn-ver-estimado:not(:disabled){
  background:var(--c-primary);
  border-color:transparent;
  color:#fff;
}
#btn-ver-estimado:not(:disabled):hover{
  filter:brightness(.94);
}
#btn-confirmar-limpiar{
  background:#dc2626;
  border-color:#dc2626;
  color:#fff;
}
#btn-confirmar-limpiar:hover{
  background:#b91c1c;
  border-color:#b91c1c;
  filter:none;
}
.btn.is-disabled{
  background:#f4f6fb;
  border-color:#d7e1ef;
  color:#8a97ab;
  cursor:not-allowed;
}
.btn:disabled{
  background:#f4f6fb;
  border-color:#d7e1ef;
  color:#8a97ab;
  cursor:not-allowed;
  box-shadow:none;
}
.required-missing{
  border-color:#dc2626 !important;
  box-shadow:0 0 0 2px rgba(220,38,38,.15) !important;
}

.topbar{background:var(--c-ink);color:#cfe2ff;font-size:.9rem}
.topbar .container{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:.70rem 8px;min-height:60px}
.topbar .tb-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topbar .tb-label{color:#fff;opacity:.9;font-weight:600}
.topbar .social{display:flex;gap:8px}
.topbar .icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  transition:.2s;
  background:transparent;
}
.topbar .icon-btn:hover,.topbar .icon-btn:focus-visible{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.42);outline:none}
.topbar .icon-btn svg{width:18px;height:18px;display:block}

header.nav{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid #eef1f6;
}
.nav-row{display:flex;align-items:center;gap:16px;min-height:68px;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.logo-box{width:180px;height:48px;border-radius:10px;overflow:hidden}
.logo{width:100%;height:100%;object-fit:contain}
.menu{display:flex;gap:26px;align-items:center;margin-left:auto}
.menu a{padding:10px 4px;font-weight:600;color:#243449}
.menu a:hover,.menu a.active{color:var(--c-primary)}
.cta{flex:0 0 auto}
header.nav .cta.btn{padding:.6rem 1.15rem}

/* Igualar tamaño del botón WhatsApp del menú con rastreo.html */
header.nav .cta.btn{
  border:2px solid transparent;
  border-radius:12px;
  font-size:1rem;
  font-weight:700;
  line-height:1;
  padding:.6rem 1.15rem;
}

.overlay-menu .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid transparent;
  border-radius:12px;
  font-size:1rem;
  font-weight:700;
  line-height:1;
  padding:.7rem 1rem;
}

.burger{display:none;position:relative;width:44px;height:44px;border:2px solid #d4e2f7;border-radius:12px;background:#fff}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:#1b2b44;border-radius:2px;transition:.2s}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:28px}

body.nav-open{overflow:hidden}
.overlay{
  display:none;
  position:fixed;
  left:0;
  right:0;
  top:var(--nav-offset);
  bottom:0;
  background:rgba(11,31,58,.55);
  z-index:9999;
  pointer-events:auto;
}
body.nav-open .overlay{display:block}
.overlay-menu{
  position:fixed;
  right:12px;
  top:calc(var(--nav-offset) + 12px);
  width:min(92vw,420px);
  background:#fff;
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:6px;
  z-index:10000;
}
.overlay-menu a{display:block;padding:12px 14px;border-radius:10px}
.overlay-menu a:not(.btn):hover{background:#f3f7ff}

main{padding:42px 0 12px}
h1{margin:.2rem 0 .6rem;font-size:clamp(1.8rem,2.2vw+1rem,2.6rem)}
.lead{color:var(--c-muted);margin:0 0 1rem}
.aviso-casillero{
  margin:.85rem 0 0;
  color:#9a3412;
  font-weight:600;
  font-size:.92rem;
}

.card{
  background:var(--c-surface);
  border:1px solid #e8edf5;
  border-radius:var(--radius);
  padding:clamp(1rem,2vw,1.35rem);
  box-shadow:var(--shadow);
}

.grid{display:grid;gap:1rem;grid-template-columns:1fr}
label{display:block;font-weight:700;margin-bottom:.35rem}
input,select{
  width:100%;
  padding:.7rem .8rem;
  border-radius:10px;
  border:1px solid #d7e1ef;
  background:#fff;
  color:var(--c-ink);
}
input[disabled],select[disabled]{opacity:.6;cursor:not-allowed}
input:focus,select:focus{outline:2px solid var(--c-primary);outline-offset:1px}
.result{font-size:1.05rem;padding:.8rem 1rem;background:#f6f8fb;border:1px solid #e8edf5;border-radius:10px}
.muted{color:var(--c-muted);font-size:.95rem}
.result,
.result-text,
.volumen-header label,
.ref-volumen{
  transition:
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    color .22s ease,
    font-size .22s ease;
}

.row-convertir{display:grid;gap:1rem;grid-template-columns:1fr;align-items:end}
@media (min-width:720px){.row-convertir{grid-template-columns:1fr 1fr}}
.row-convertir--results{align-items:start}
.row-convertir--triple{align-items:start}
@media (max-width:719px){
  .row-convertir--triple{grid-template-columns:1fr 1fr}
  .row-convertir--triple > :first-child{grid-column:1 / -1}
  .service-complete-row{
    grid-template-columns:1fr 1fr;
  }
  .service-complete-row > :first-child{
    grid-column:auto;
  }
  .service-complete-row .service-complete-total-card{
    grid-column:1 / -1;
  }
  .service-complete-row .label-desktop{display:none}
  .service-complete-row .label-mobile{display:inline}
}
@media (min-width:720px){.row-convertir--triple{grid-template-columns:1.2fr 1fr 1fr}}
.row-convertir--equal{grid-template-columns:1fr 1fr}
.row-actions{display:flex;justify-content:flex-end}
.estimado-required-msg{
  margin:.55rem 0 0;
  color:#b91c1c;
  font-size:.88rem;
  font-weight:600;
  text-align:right;
}

.result-flex{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.result-text{flex:1 1 auto;word-break:break-word}

.copy-btn{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:8px;
  border:1px solid #d7e1ef;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  position:relative;
  overflow:visible;
}
.copy-btn svg{width:18px;height:18px;stroke:#1e88e5}
.copy-btn.copied{border-color:#22c55e}
.copy-hint{
  position:absolute;
  right:calc(100% + 8px);
  top:50%;
  transform:translateY(-50%) translateX(4px);
  background:#0f2a4f;
  color:#fff;
  font-size:.74rem;
  font-weight:600;
  line-height:1;
  padding:.36rem .5rem;
  border-radius:8px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
  box-shadow:0 6px 16px rgba(15,42,79,.24);
  z-index:3;
}
.copy-hint.is-visible{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.copy-hint-floating{
  position:fixed;
  right:auto;
  top:auto;
  left:0;
  transform:translate(-50%,-100%) translateY(4px);
  z-index:140;
}
.copy-hint-floating.is-visible{
  transform:translate(-50%,-100%) translateY(0);
}
@media (max-width:560px){
  .copy-hint{
    right:auto;
    left:50%;
    top:-8px;
    transform:translate(-50%,-100%) translateY(4px);
  }
  .copy-hint.is-visible{
    transform:translate(-50%,-100%) translateY(0);
  }
}

.mode-header-row{
  grid-template-columns:1fr 1fr;
  align-items:end;
}
.mode-header-row .toggle-row{
  grid-column:2;
}
.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.toggle-row--embedded{
  margin-bottom:.35rem;
  width:100%;
}
.toggle-row--embedded.is-disabled{
  opacity:.62;
}
.toggle-row--embedded.is-disabled .toggle-left{
  cursor:not-allowed;
}
.toggle-row--embedded.is-disabled .info-btn{
  pointer-events:none;
}
.toggle-row--embedded.is-disabled .info-pop{
  display:none !important;
}
.mode-unit-field{
  min-width:0;
}
.toggle-left{display:flex;align-items:center;gap:.5rem;position:relative}
.toggle-title{font-weight:700;font-size:.98rem}

.toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;user-select:none}
.toggle-switch input{position:absolute;opacity:0;width:0;height:0}
.toggle-track{
  width:44px;
  height:24px;
  border-radius:999px;
  background:#edf2fb;
  border:1px solid #cfdcf0;
  display:flex;
  align-items:center;
  padding:2px;
  transition:background .2s ease,border-color .2s ease;
}
.toggle-thumb{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#889ab4;
  transform:translateX(0);
  transition:transform .2s ease,background .2s ease;
}
.toggle-switch input:checked + .toggle-track{background:#22c55e22;border-color:#22c55e}
.toggle-switch input:checked + .toggle-track .toggle-thumb{transform:translateX(18px);background:#22c55e}

.info-btn{
  width:22px;
  height:22px;
  border-radius:999px;
  border:1px solid #bcd4f6;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.75rem;
  color:#243449;
  cursor:pointer;
}
.info-pop{
  position:absolute;
  top:130%;
  left:0;
  background:#f7fbff;
  border:1px solid #bfd6f7;
  border-radius:8px;
  padding:.5rem .75rem;
  font-size:.82rem;
  max-width:280px;
  box-shadow:0 10px 24px rgba(20,55,110,.14);
  display:none;
  z-index:20;
}
.info-pop.visible{display:block}
.info-pop strong{
  display:block;
  margin:.15rem 0 .2rem;
  color:#163056;
}
.info-pop--service{
  width:min(420px,calc(100vw - 48px));
  max-width:420px;
  line-height:1.45;
}
.info-pop--mode{
  width:min(360px,calc(100vw - 48px));
  max-width:360px;
}
.info-pop--charge{
  width:min(320px,calc(100vw - 56px));
  max-width:320px;
}
#info-pop-manejo-carga{
  left:0;
  right:auto;
}
#info-pop-recargo-condiciones{
  left:auto;
  right:0;
}
.service-type-field .info-pop--service{
  left:0;
  right:auto;
}
.label-with-info{
  display:flex;
  align-items:center;
  gap:.4rem;
  margin-bottom:.35rem;
}
.label-with-info--compact{
  margin-bottom:.35rem;
}
.label-mobile{display:none}
.label-with-info label{margin-bottom:0}
.inline-info-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.field-help{
  display:block;
  margin-top:.35rem;
  color:var(--c-muted);
  font-size:.78rem;
  line-height:1.35;
}

#bloque-medidas-2{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
  margin-top:.75rem;
}

.bulto-row{
  border:1px solid #e3eaf5;
  border-radius:10px;
  padding:.75rem .9rem;
  background:#f9fbff;
  margin-top:.75rem;
}
.bulto-row-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.5rem;
  gap:.75rem;
  flex-wrap:wrap;
}
.bulto-row-header--footer{
  margin-top:.6rem;
  margin-bottom:0;
}
.bulto-label{font-weight:700;font-size:.95rem}
.bulto-header-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.btn-bulto-remove{
  border:none;
  background:#fff;
  color:#dc2626;
  border-radius:999px;
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:1rem;
  line-height:1;
}
.bulto-grid{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}

.bulto-actions-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.25rem;flex-wrap:wrap}
.bultos-separator{
  height:1px;
  margin:1rem 0 1.1rem;
  background:linear-gradient(90deg, rgba(203,213,225,0), rgba(203,213,225,.95) 12%, rgba(203,213,225,.95) 88%, rgba(203,213,225,0));
}
.btn-link-bulto{
  font-size:.85rem;
  color:var(--c-primary);
  cursor:pointer;
  text-decoration:none;
  padding:.35rem .55rem;
  border-radius:8px;
  transition:background .2s ease;
  white-space:nowrap;
}
.btn-link-bulto:hover{background:#e9f2ff}
.btn-bulto-suggest{
  border-color:#f59e0b !important;
  box-shadow:0 0 0 2px rgba(245,158,11,.22);
}

.qty-wrapper{
  display:inline-flex;
  align-items:center;
  gap:.15rem;
  background:#fff;
  border-radius:999px;
  border:1px solid #d7e1ef;
  padding:0 .25rem;
}
.qty-input{
  width:42px;
  text-align:center;
  border:none;
  background:transparent;
  color:#243449;
  padding:.2rem 0;
  font-size:.85rem;
}
.qty-input:focus{outline:none}
.qty-btn{
  border:none;
  background:transparent;
  color:#243449;
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:.9rem;
  line-height:1;
}
.qty-btn:disabled{opacity:.4;cursor:not-allowed}

.simple-qty-block{display:flex;align-items:center;gap:.35rem;font-size:.85rem}

.volumen-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.ref-volumen{font-size:.8rem}
#bloque-resultado-volumen{position:relative}
.peso-volumen-nota{
  position:static;
  margin:.4rem 0 0;
  font-size:.82rem;
  color:#b91c1c;
  font-weight:600;
  opacity:0;
  max-height:0;
  overflow:hidden;
  transform:none;
  transition:opacity .18s ease, transform .18s ease;
  pointer-events:none;
}
.peso-volumen-nota.is-visible{
  opacity:1;
  max-height:3rem;
  transform:none;
}
.service-complete-row{
  margin-top:.75rem;
}
.service-complete-row[hidden]{
  display:none !important;
}
.service-complete-total-card .volumen-header label{
  color:#123f8a;
  font-weight:800;
}
.service-complete-total-card .ref-volumen{
  color:#4b6ea8;
}
.service-complete-total-card .result{
  background:linear-gradient(180deg,#edf4ff,#e4efff);
  border:1px solid #9fc2ff;
  box-shadow:0 8px 18px rgba(30,79,161,.10);
}
.service-complete-total-card .result-text{
  color:#123f8a;
  font-weight:800;
  font-size:1.24rem;
}
#flete-estimado-card.is-highlight .volumen-header label{
  color:#123f8a;
  font-weight:800;
}
#flete-estimado-card.is-highlight .ref-volumen{
  color:#4b6ea8;
}
#flete-estimado-card.is-highlight .result{
  background:linear-gradient(180deg,#edf4ff,#e4efff);
  border:1px solid #9fc2ff;
  box-shadow:0 8px 18px rgba(30,79,161,.10);
}
#flete-estimado-card.is-highlight .result-text{
  color:#123f8a;
  font-weight:800;
  font-size:1.24rem;
}

.minimo-bubble{
  margin-top:0;
  padding:.55rem .65rem;
  border:1px solid #f2c77a;
  background:#fff7e8;
  border-radius:10px;
  box-shadow:0 6px 14px rgba(180,83,9,.08);
  position:relative;
}
.minimo-bubble-row{
  margin-top:.55rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.minimo-bubble-slot{
  min-height:1px;
}
.consolidado-note{
  padding:.55rem .65rem;
  border:1px solid #d7e1ef;
  background:#f7f9fd;
  border-radius:10px;
}
.consolidado-note__title{
  color:#1f3554;
  font-weight:700;
  font-size:.84rem;
  line-height:1.2;
  text-transform:lowercase;
}
.consolidado-note__text{
  margin-top:.18rem;
  color:#5a6b83;
  font-size:.79rem;
  line-height:1.3;
}
.minimo-bubble::before{
  content:"";
  position:absolute;
  top:-7px;
  right:28px;
  width:12px;
  height:12px;
  background:#fff7e8;
  border-left:1px solid #f2c77a;
  border-top:1px solid #f2c77a;
  transform:rotate(45deg);
}
.minimo-bubble__title{
  color:#b45309;
  font-weight:700;
  font-size:.84rem;
  line-height:1.2;
}
.minimo-bubble__text{
  margin-top:.2rem;
  color:#7c5a1e;
  font-size:.8rem;
  line-height:1.3;
}
.minimo-bubble__cta{
  margin-top:.35rem;
  border:1px solid #f2c77a;
  background:#fff;
  color:#8a5a11;
  border-radius:999px;
  padding:.22rem .6rem;
  font-size:.76rem;
  font-weight:700;
  cursor:pointer;
}
.minimo-bubble__cta:hover{
  background:#fff4dc;
}
.minimo-bubble__actions{
  margin-top:.35rem;
  display:flex;
  gap:.4rem;
  flex-wrap:wrap;
}
.minimo-bubble__actions .minimo-bubble__cta{
  margin-top:0;
}
.minimo-bubble__cta--ghost{
  border-color:#d7e1ef;
  color:#7a879b;
  background:transparent;
  font-weight:600;
}
.minimo-bubble__cta--ghost:hover{
  background:#f6f8fb;
}

@keyframes bultoPulse{
  0%{ box-shadow:0 0 0 0 rgba(245,158,11,.36); }
  70%{ box-shadow:0 0 0 8px rgba(245,158,11,0); }
  100%{ box-shadow:0 0 0 0 rgba(245,158,11,0); }
}
.btn-bulto-pulse{
  animation:bultoPulse 1.1s ease-out 2;
}

@keyframes bultoArrowPulse{
  0%{ opacity:0; transform:translateY(-50%) translateX(0) scale(.92); }
  25%{ opacity:1; transform:translateY(-50%) translateX(-2px) scale(1); }
  60%{ opacity:1; transform:translateY(-50%) translateX(0) scale(1.04); }
  100%{ opacity:0; transform:translateY(-50%) translateX(-3px) scale(.96); }
}
.btn-bulto-arrow{
  position:relative;
  overflow:visible;
}
.btn-bulto-arrow::after{
  content:"\2190";
  position:absolute;
  top:49%;
  right:-42px;
  transform:translateY(-50%) scaleX(1.18);
  color:#d97706;
  font-weight:900;
  font-size:1.86rem;
  line-height:1;
  -webkit-text-stroke:1px #f59e0b;
  text-shadow:0 0 0 rgba(245,158,11,.65), 0 0 12px rgba(245,158,11,.4);
  animation:bultoArrowPulse .9s ease-in-out 3;
  pointer-events:none;
}
@media (max-width:719px){
  .btn-bulto-arrow::after{
    display:none;
  }
  .peso-volumen-nota{
    position:static;
    margin:.4rem 0 0;
    opacity:0;
    max-height:0;
    overflow:hidden;
    transform:none;
  }
  .peso-volumen-nota.is-visible{
    opacity:1;
    max-height:2.4rem;
  }
  .minimo-bubble{
    padding:.5rem .58rem;
  }
  .consolidado-note{
    margin-bottom:.4rem;
    padding:.5rem .58rem;
  }
  .consolidado-note__title{font-size:.8rem}
  .consolidado-note__text{font-size:.77rem}
  .minimo-bubble-row{
    grid-template-columns:1fr;
    gap:0;
  }
  .minimo-bubble-slot{
    display:none;
  }
  .consolidado-note{
    display:none !important;
  }
  .minimo-bubble::before{
    right:20px;
  }
  .minimo-bubble__title{font-size:.8rem}
  .minimo-bubble__text{font-size:.77rem}
}

.tarifa-row-inner{
  display:grid;
  grid-template-columns:1fr;
  gap:.5rem;
  align-items:center;
}
#tarifa-tipo{min-width:0}
@media (min-width:720px){#tarifa-tipo{min-width:260px}}

.convertir-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
}
.unidades-toggle{display:flex;gap:.75rem}
.unidad-pill{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.85rem}
.unidad-pill span{color:#243449}
.unidad-pill input{
  appearance:none;
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid #8aa0be;
  background:transparent;
  position:relative;
  cursor:pointer;
}
.unidad-pill input:checked{border-color:#22c55e}
.unidad-pill input:checked::after{
  content:"";
  position:absolute;
  inset:3px;
  background:#22c55e;
  border-radius:50%;
}
.unidad-pill input:disabled{cursor:not-allowed;opacity:.5}

#bloque-medidas-1,#bloque-medidas-2,#bloque-vol-directo,#bloque-vol-acciones{row-gap:.75rem;margin-top:.75rem}
.top-input-row{
  margin-top:.75rem;
  grid-template-columns:1fr 1fr;
  align-items:end;
}
.top-input-row .service-type-field--shared{order:1}
.top-input-row #col-ud-global,
.top-input-row #col-ud-vol-directo{order:2}
#bloque-medidas-1,
#bloque-vol-acciones{
  align-items:end;
  grid-template-columns:1fr;
}
.service-type-field{min-width:0}
.bulto-actions-row--full{grid-column:1 / -1}

footer{padding:18px 0;color:#5f7187}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand-long{display:inline}
.brand-short{display:none}

.wa-fab{
  position:fixed;
  left:clamp(12px,2.4vw,24px);
  bottom:calc(14px + env(safe-area-inset-bottom,0px));
  z-index:85;
  display:block;
  width:clamp(52px,9.2vw,68px);
  line-height:0;
  border-radius:14px;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.18));
}
.wa-fab img{display:block;width:100%;height:auto;pointer-events:none}
.wa-fab:focus-visible{outline:3px solid rgba(30,136,229,.5);outline-offset:3px}

@media (max-width:960px){.menu,.cta{display:none}.burger{display:inline-block;margin-left:auto}}
@media (max-width:768px){.topbar .tb-label{display:none}}
@media (max-width:640px){
  .topbar{font-size:.85rem}
  .topbar .tb-left{display:none}
  .topbar .container{flex-direction:row;gap:10px;padding:.60rem 8px;min-height:60px;align-items:center;justify-content:flex-end;text-align:right}
  .topbar .tb-right{margin-left:auto;flex-wrap:nowrap;justify-content:flex-end;gap:10px}
  .topbar .icon-btn{width:42px;height:36px}
  .brand-long{display:none}
  .brand-short{display:inline}
  h1{font-size:clamp(1.35rem,2.2vw + 1rem,1.75rem);line-height:1.15;margin:.15rem 0 .35rem}
  main{padding:28px 0 8px}
  .top-input-row{grid-template-columns:1fr}
  .top-input-row .service-type-field--shared{
    order:1;
    grid-column:auto;
  }
  .top-input-row #col-ud-global,
  .top-input-row #col-ud-vol-directo{
    order:2;
    grid-column:auto;
  }
  .toggle-row--embedded{margin-bottom:.5rem}
  #info-pop-tipo-servicio,
  #info-pop-manejo-carga,
  #info-pop-recargo-condiciones{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:min(360px,calc(100vw - 32px));
    max-width:calc(100vw - 32px);
  }
  #info-pop-manejo-carga,
  #info-pop-recargo-condiciones{
    width:calc(100vw - 32px);
    max-width:calc(100vw - 32px);
  }
}
@media (max-width:560px){
  .row-actions{justify-content:stretch}
  .row-actions .btn{flex:1}
  .estimado-required-msg{text-align:left}
  .row-convertir--equal{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  #bloque-medidas-2,.bulto-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #bloque-medidas-2{gap:.5rem}
  .bulto-grid{gap:.5rem}
}
@media (max-width:420px){.logo-box{width:140px;height:38px}}
@media (min-width:961px){.wa-fab{width:72px;bottom:20px;left:clamp(16px,2.2vw,28px)}}

.estimado-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
}
.estimado-modal.is-open{display:block}
.estimado-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.46);
}
.estimado-modal__dialog{
  position:relative;
  width:min(520px,92vw);
  max-height:86vh;
  margin:6vh auto 0;
  background:#fff;
  border:1px solid #d9e2f1;
  border-radius:14px;
  box-shadow:0 18px 50px rgba(15,23,42,.25);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.estimado-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.85rem 1rem;
  border-bottom:1px solid #e8edf5;
}
.estimado-modal__head h3{
  margin:0;
  font-size:1.02rem;
  color:#122645;
}
.estimado-modal__close{
  border:1px solid #d5deec;
  background:#fff;
  color:#4a607e;
  width:34px;
  height:34px;
  border-radius:10px;
  cursor:pointer;
  font-size:1.2rem;
  line-height:1;
}
.estimado-modal__body{
  padding:1rem;
  overflow:auto;
  color:#1f2f46;
}
.estimado-preview-img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid #e4ebf7;
  border-radius:10px;
  background:#fff;
}
.estimado-modal__actions{
  display:flex;
  gap:.55rem;
  justify-content:flex-end;
  padding:.75rem 1rem 1rem;
  border-top:1px solid #e8edf5;
}
.estimado-modal__terms-link{
  margin-right:auto;
}
.estimado-modal__wa-link[hidden]{
  display:none !important;
}
.estimado-modal__wa-link{
  background:#1fa855;
  border-color:#1fa855;
  color:#fff;
  text-align:center;
  display:inline-flex;
  justify-content:center;
  align-items:center;
}
.estimado-modal__wa-link:hover{
  filter:brightness(.95);
}
.estimado-modal__copy-btn{
  background:var(--c-primary);
  border-color:transparent;
  color:#fff;
}
.estimado-modal__copy-btn:hover{
  filter:brightness(.95);
}
.estimado-modal__actions .btn{
  min-width:108px;
}
.estimado-modal__dialog--confirm{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  margin:0;
  width:min(460px,92vw);
}
.estimado-modal__actions--confirm{
  justify-content:flex-end;
}
.estimado-line{
  font-size:.97rem;
  line-height:1.45;
  margin:0 0 .34rem;
  word-break:break-word;
}
.estimado-line--space{height:.4rem;margin:0}
.estimado-line--title{
  font-weight:800;
  color:#0f2a4f;
  margin-bottom:.5rem;
}
.estimado-line--key{
  font-weight:700;
  color:#17325a;
}
.estimado-line--accent{
  font-weight:700;
  color:#0b4a8b;
}
.estimado-line--warn{
  font-weight:700;
  color:#a04312;
}
@media (max-width:640px){
  .estimado-modal__dialog{
    width:96vw;
    max-height:90vh;
    margin:4vh auto 0;
    border-radius:12px;
  }
  .estimado-modal__body{padding:.9rem}
  .estimado-modal__actions{
    padding:.7rem .9rem .9rem;
  }
  .estimado-modal__terms-link{
    margin-right:0;
  }
  .estimado-modal__actions .btn{
    flex:1;
    min-width:0;
  }
}
