/* Botones de cotizar y lista lateral. */
.licot-btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--li-font, inherit); font-size:1rem; font-weight:600; line-height:1.2;
  color:#fff; background:var(--li-green-texto, #487A00);
  border:0; border-radius:var(--li-radius, 8px);
  padding:12px 22px; cursor:pointer; text-decoration:none;
  box-shadow:0 1px 2px rgba(14,24,56,.08);
  transition:filter .15s ease, box-shadow .15s ease, transform .1s ease;
}
.licot-btn:hover{ filter:brightness(.92); text-decoration:none; color:#fff; box-shadow:0 4px 12px rgba(14,24,56,.16); }
.licot-btn:active{ transform:translateY(1px); }
.licot-btn:focus-visible{ outline:2px solid var(--li-foco, var(--li-green-texto)); outline-offset:2px; }
.licot-icono{ width:18px; height:18px; flex:0 0 auto; }
.licot-ficha{ margin:16px 0 6px; }

/* ---------- Botón flotante ---------- */
.licot-fab{
  position:fixed; right:20px; bottom:20px; z-index:900;
  display:flex; align-items:center; gap:10px;
  padding:13px 20px; border:0; border-radius:999px;
  background:var(--li-navy, #233F92); color:#fff;
  font-family:var(--li-font, inherit); font-size:1rem; font-weight:600;
  box-shadow:0 8px 24px rgba(10, 17, 44, .35);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.licot-fab:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(10, 17, 44, .4); }
.licot-fab:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.licot-fab[hidden]{ display:none; }
.licot-fab-n{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:24px; height:24px; padding:0 7px; border-radius:999px;
  background:#fff; color:var(--li-navy, #233F92);
  font-size:.85rem; font-weight:700;
  font-variant-numeric:tabular-nums;
}

/* ---------- Lista lateral ---------- */
html.licot-abierto{ overflow:hidden; }
.licot-dialogo{
  width:min(440px, 100vw); max-width:100vw;
  height:100dvh; max-height:100dvh;
  margin:0 0 0 auto; padding:0; border:0;
  background:var(--li-surface, #fff); color:var(--li-ink, #202020);
  box-shadow:-12px 0 40px rgba(10, 17, 44, .3);
}
.licot-dialogo::backdrop{ background:rgba(10, 17, 44, .55); }
.licot-dialogo [hidden]{ display:none !important; }

@media (prefers-reduced-motion:no-preference){
  .licot-dialogo[open]{ animation:licot-entra .25s cubic-bezier(.2,.7,.2,1); }
  @keyframes licot-entra{
    from{ transform:translateX(28px); opacity:0; }
    to{ transform:none; opacity:1; }
  }
}

.licot-panel{ display:flex; flex-direction:column; height:100%; }
.licot-cabecera{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 16px 16px 22px;
  background:var(--li-navy, #233F92); color:#fff;
  border-bottom:2px solid var(--li-green);
}
.licot-cabecera h2{ margin:0; font-size:1.15rem; font-weight:700; color:#fff; }
.licot-cerrar{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0; border:0; border-radius:999px; background:transparent; color:#fff;
  font-size:1.8rem; line-height:1; cursor:pointer;
  transition:background-color .15s ease;
}
.licot-cerrar:hover{ filter:none; background:rgba(255,255,255,.14); }
.licot-cerrar:focus-visible{ outline:2px solid #fff; outline-offset:-4px; }
.licot-cuerpo{ flex:1; overflow:auto; padding:10px 20px 20px; }
.licot-vacio{
  display:grid; justify-items:center; gap:14px;
  padding:52px 8px 20px; margin:0;
  text-align:center; color:var(--li-ink-muted, #545B66);
}
.licot-vacio::before{
  content:"";
  width:44px; height:44px;
  background-color:var(--li-border, #DDE1E6);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3.5 6h.01M3.5 12h.01M3.5 18h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3.5 6h.01M3.5 12h.01M3.5 18h.01'/%3E%3C/svg%3E") center/contain no-repeat;
}

.licot-lista{ margin:0; padding:0; list-style:none; }
.licot-item{
  display:grid; grid-template-columns:1fr auto; gap:8px 12px;
  padding:14px 0; border-bottom:1px solid var(--li-border, #DDE1E6);
}
.licot-item-titulo{
  grid-area:1 / 1; font-size:.92rem; font-weight:700; color:var(--li-navy, #233F92);
  text-decoration:none;
}
.licot-item-titulo:hover{ text-decoration:underline; }
.licot-quitar{
  grid-area:1 / 2; align-self:start;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:36px; height:36px; margin:-8px -6px 0 0; padding:0; border:0; border-radius:999px; background:transparent;
  color:var(--li-ink-muted, #545B66); font-size:1.5rem; font-weight:400; line-height:1; cursor:pointer;
  transition:background-color .15s ease, color .15s ease;
}
.licot-quitar:hover{ filter:none; background:var(--li-bg, #F5F6F8); color:var(--li-danger, #B42318); }
.licot-quitar:focus-visible{ outline:2px solid var(--li-foco, var(--li-green-texto)); outline-offset:1px; }
.licot-datos{ display:grid; gap:14px; margin-top:18px; }
.licot-ciudad{ display:grid; gap:10px; }
.licot-ciudad label,
.licot-campo label{ display:block; margin-bottom:6px; font-size:.9rem; font-weight:700; color:var(--li-ink, #202020); }
.licot-opc{ font-weight:400; color:var(--li-ink-muted, #545B66); }
.licot-ciudad select,
.licot-ciudad input,
.licot-campo input,
.licot-campo textarea{
  box-sizing:border-box; width:100%; padding:11px 12px;
  border:1px solid var(--li-border-strong, #C3C9D2); border-radius:var(--li-radius, 8px);
  background:var(--li-surface, #fff); color:var(--li-ink, #202020);
  font-family:var(--li-font, inherit); font-size:1rem; line-height:1.4;
}
.licot-campo textarea{ resize:vertical; min-height:64px; }
.licot-ciudad select:focus-visible,
.licot-ciudad input:focus-visible,
.licot-campo input:focus-visible,
.licot-campo textarea:focus-visible{ outline:2px solid var(--li-foco, var(--li-green-texto, #487A00)); outline-offset:1px; }
.licot-asesor{ margin:0; font-size:.9rem; font-weight:700; color:var(--li-green-texto, #487A00); }
.licot-asesor:empty{ display:none; }

.licot-pie{ padding:16px 20px 20px; border-top:1px solid var(--li-border, #DDE1E6); background:var(--li-bg, #F5F6F8); }
.licot-enviar{
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:15px; border-radius:var(--li-radius, 8px);
  background:var(--li-green-texto, #487A00); color:#fff;
  font-size:1.05rem; font-weight:700; text-decoration:none;
  box-shadow:0 1px 2px rgba(14,24,56,.08);
  transition:filter .15s ease, box-shadow .15s ease;
}
.licot-enviar:hover{ filter:brightness(.92); color:#fff; text-decoration:none; box-shadow:0 4px 12px rgba(14,24,56,.16); }
.licot-enviar:focus-visible{ outline:2px solid var(--li-foco, var(--li-green-texto)); outline-offset:2px; }
.licot-enviar[aria-disabled="true"]{
  background:var(--li-ink-muted, #545B66); cursor:not-allowed; filter:none; box-shadow:none;
}
.licot-nota{ min-height:1.2em; margin:8px 0 0; font-size:.85rem; color:var(--li-ink-muted, #545B66); }
.licot-acciones{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; font-size:.88rem; }
.licot-vaciar{
  min-height:32px; padding:8px 0; border:0; background:none;
  color:var(--li-ink-muted, #545B66); font-weight:600; text-decoration:underline; cursor:pointer;
}
.licot-vaciar:hover{ filter:none; color:var(--li-ink, #202020); }
.licot-vaciar:focus-visible{ outline:2px solid var(--li-foco, var(--li-green-texto)); outline-offset:2px; }
.licot-tel{ min-height:32px; display:inline-flex; align-items:center; gap:6px; padding:8px 0; color:var(--li-navy, #233F92); font-weight:700; }
.licot-tel:hover{ text-decoration:underline; }
.licot-tel .licot-icono{ width:16px; height:16px; }

/* Alternativas: correo y copiar. */
.licot-alt{ display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.licot-sec{
  flex:1 1 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;
  min-height:44px; padding:10px 14px;
  border:1px solid var(--li-border-strong, #C3C9D2); border-radius:var(--li-radius, 8px);
  background:var(--li-surface, #fff); color:var(--li-navy, #233F92);
  font-family:var(--li-font, inherit); font-size:.95rem; font-weight:600; text-decoration:none; cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease;
}
.licot-sec:hover{ background:var(--li-hover, #F8F9FB); border-color:var(--li-navy, #233F92); color:var(--li-navy, #233F92); text-decoration:none; filter:none; }
.licot-sec:focus-visible{ outline:2px solid var(--li-foco, var(--li-green-texto, #487A00)); outline-offset:2px; }
.licot-sec .licot-icono{ width:17px; height:17px; }

/* Botón ya agregado. */
.licot-btn.is-added{ background:var(--li-surface, #fff); color:var(--li-green-texto, #487A00); box-shadow:inset 0 0 0 2px var(--li-green-texto, #487A00); }
.licot-btn.is-added:hover{ color:var(--li-green-texto, #487A00); filter:none; background:var(--li-hover, #F8F9FB); }

/* Aviso al agregar. */
.licot-toast{
  position:fixed; right:20px; bottom:84px; z-index:901;
  display:flex; align-items:center; gap:10px;
  max-width:min(420px, calc(100vw - 40px)); padding:12px 14px;
  border-radius:var(--li-radius, 8px);
  background:var(--li-ink, #202020); color:#fff;
  font-family:var(--li-font, inherit); font-size:.92rem;
  box-shadow:0 8px 24px rgba(10, 17, 44, .35);
}
.licot-toast[hidden]{ display:none; }
.licot-toast .licot-icono{ color:var(--li-green, #73BA00); }
.licot-toast-txt{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.licot-toast-ver{
  flex:0 0 auto; min-height:32px; padding:6px 10px; border:0; border-radius:var(--li-radius, 8px);
  background:rgba(255,255,255,.14); color:#fff; font:inherit; font-weight:700; cursor:pointer;
}
.licot-toast-ver:hover{ background:rgba(255,255,255,.24); filter:none; }
.licot-toast-ver:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
@media (prefers-reduced-motion:no-preference){
  .licot-toast:not([hidden]){ animation:licot-sube .2s ease-out; }
  @keyframes licot-sube{ from{ transform:translateY(8px); opacity:0; } to{ transform:none; opacity:1; } }
}

/* Contacto directo por ciudad. */
.licot-contacto{
  display:grid; gap:12px; margin-top:24px; padding:20px;
  border:1px solid var(--li-border, #DDE1E6); border-radius:var(--li-radius, 8px);
  background:var(--li-surface, #fff);
}
.licot-contacto-titulo{ margin:0; font-size:1.05rem; font-weight:700; color:var(--li-ink, #202020); }
.licot-contacto-btn{ justify-content:center; }
.licot-contacto-btn[aria-disabled="true"]{ background:var(--li-ink-muted, #545B66); cursor:not-allowed; filter:none; box-shadow:none; }
.licot-contacto .licot-nota:empty{ display:none; }

@media (max-width:480px){
  .licot-cabecera{ padding:14px 14px 14px 18px; }
  .licot-cuerpo{ padding:8px 16px 16px; }
  .licot-pie{ padding:14px 16px 18px; }
  .licot-fab{ right:16px; bottom:16px; }
  .licot-toast{ right:16px; left:16px; bottom:76px; max-width:none; }
}
