/* Asistente de contacto · Orthic — mismo lenguaje del sitio:
   carbón, hueso, bordes de 1px, radios de 2px, movimiento corto. */
.asis-fab{
  position:fixed; z-index:60; right:clamp(1rem,2.5vw,2rem); bottom:clamp(1rem,2.5vw,2rem);
  display:inline-flex; align-items:center; gap:0.7rem;
  padding:0.85rem 1.2rem 0.85rem 1rem;
  background:#0E0E10; color:#E8E8E6;
  border:1px solid rgba(232,232,230,0.16); border-radius:2px;
  font:600 0.72rem/1 'Outfit',system-ui,sans-serif; letter-spacing:0.12em; text-transform:uppercase;
  cursor:pointer;
  transition:border-color .3s ease, transform .3s ease, background-color .3s ease;
}
.asis-fab:hover{ border-color:#C9A85C; transform:translateY(-2px); }
.asis-fab:focus-visible{ outline:2px solid #C9A85C; outline-offset:3px; }
.asis-fab__dot{
  width:8px; height:8px; border-radius:50%; background:#3FBF7F;
  box-shadow:0 0 0 0 rgba(63,191,127,0.5); animation:asisPulso 2.4s ease-out infinite;
}
@keyframes asisPulso{ 0%{box-shadow:0 0 0 0 rgba(63,191,127,0.45)} 70%{box-shadow:0 0 0 8px rgba(63,191,127,0)} 100%{box-shadow:0 0 0 0 rgba(63,191,127,0)} }
.asis-fab__ico{ display:none; width:20px; height:20px; stroke:currentColor; stroke-width:1.6; fill:none; stroke-linejoin:round; }
.asis-fab[aria-expanded="true"]{ opacity:0; pointer-events:none; }

.asis{
  position:fixed; z-index:61; right:clamp(1rem,2.5vw,2rem); bottom:clamp(1rem,2.5vw,2rem);
  width:min(400px, calc(100vw - 2rem)); max-height:min(640px, calc(100vh - 2rem));
  display:flex; flex-direction:column;
  background:#0E0E10; color:#E8E8E6;
  border:1px solid rgba(232,232,230,0.14); border-radius:2px;
  font-family:'Outfit',system-ui,sans-serif;
  opacity:0; transform:translateY(14px);
  transition:opacity .22s ease, transform .22s ease;
}
.asis--in{ opacity:1; transform:none; }
.asis[hidden]{ display:none; }
.asis__head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  padding:1rem 1.1rem 0.9rem; border-bottom:1px solid rgba(232,232,230,0.08);
}
.asis__head b{ display:block; font:800 0.95rem/1.2 'Montserrat',sans-serif; letter-spacing:-0.01em; }
.asis__head span{ display:block; margin-top:0.25rem; font-size:0.7rem; color:#8A8A88; }
.asis__x{ background:none; border:0; padding:0.25rem; cursor:pointer; color:#8A8A88; }
.asis__x svg{ width:18px; height:18px; stroke:currentColor; stroke-width:1.6; fill:none; }
.asis__x:hover{ color:#E8E8E6; }
.asis__bar{ height:2px; background:rgba(232,232,230,0.06); }
.asis__bar i{ display:block; height:100%; background:#C9A85C; transform-origin:left; transform:scaleX(0.05); transition:transform .4s ease; }
.asis__body{ overflow-y:auto; padding:1.1rem; }
.asis__step{ animation:asisPaso .25s ease both; }
@keyframes asisPaso{ from{opacity:0; transform:translateX(8px)} to{opacity:1; transform:none} }

.asis__q{ margin:0 0 0.9rem; font:800 1.05rem/1.25 'Montserrat',sans-serif; letter-spacing:-0.01em; }
.asis__ruta{ margin:0 0 0.4rem; font-size:0.62rem; letter-spacing:0.16em; text-transform:uppercase; color:#C9A85C; }
.asis__aviso{ margin:0 0 1rem; font-size:0.86rem; line-height:1.55; color:#B9B9B6; }
.asis__aviso a{ color:#C9A85C; }
.asis__nota{ margin:0.6rem 0 0; font-size:0.72rem; line-height:1.5; color:#8A8A88; }

.asis__ops{ display:flex; flex-wrap:wrap; gap:0.45rem; }
.asis__ops--grande{ display:grid; grid-template-columns:1fr; gap:0.5rem; }
.asis__op{
  text-align:left; cursor:pointer; color:#E8E8E6;
  background:rgba(232,232,230,0.03); border:1px solid rgba(232,232,230,0.12); border-radius:2px;
  padding:0.8rem 0.9rem; font:inherit;
  transition:border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.asis__op b{ display:block; font-weight:600; font-size:0.9rem; }
.asis__op span{ display:block; margin-top:0.2rem; font-size:0.74rem; color:#8A8A88; }
.asis__op:hover, .asis__op:focus-visible{ border-color:#C9A85C; background:rgba(201,168,92,0.06); outline:none; }
.asis__op--chip{ padding:0.6rem 0.8rem; font-size:0.82rem; }
.asis__op[aria-pressed="true"]{ border-color:#C9A85C; }

.asis__libre{ margin-top:1.1rem; }
.asis__libre label, .asis__form label{ display:block; margin:0 0 0.35rem; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:#8A8A88; }
.asis__libre div{ display:flex; border:1px solid rgba(232,232,230,0.14); border-radius:2px; }
.asis__libre input{ flex:1; min-width:0; background:transparent; border:0; color:#E8E8E6; padding:0.7rem 0.8rem; font:inherit; font-size:0.86rem; }
.asis__libre input:focus{ outline:none; }
.asis__libre div:focus-within{ border-color:#C9A85C; }
.asis__libre button{ background:none; border:0; border-left:1px solid rgba(232,232,230,0.1); padding:0 0.8rem; cursor:pointer; color:#C9A85C; }
.asis__libre svg{ width:18px; height:18px; stroke:currentColor; stroke-width:1.6; fill:none; }

.asis__form input:not([type=checkbox]), .asis__form select, .asis__buscar{
  width:100%; box-sizing:border-box; margin:0 0 0.8rem;
  background:rgba(232,232,230,0.03); color:#E8E8E6;
  border:1px solid rgba(232,232,230,0.14); border-radius:2px;
  padding:0.7rem 0.8rem; font:inherit; font-size:0.9rem;
}
.asis__form select option{ background:#0E0E10; }
.asis__form input:focus, .asis__form select:focus, .asis__buscar:focus{ outline:none; border-color:#C9A85C; }
.asis__check{ display:flex !important; gap:0.6rem; align-items:flex-start; text-transform:none !important; letter-spacing:0 !important;
  font-size:0.76rem !important; line-height:1.5; color:#B9B9B6 !important; margin:0.2rem 0 0.6rem !important; cursor:pointer; }
.asis__check input{ margin-top:0.2rem; accent-color:#C9A85C; }
.asis__check a{ color:#C9A85C; }
.asis__hp{ position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }
.asis__err{ min-height:1em; margin:0 0 0.4rem; font-size:0.76rem; color:#E58C7A; }

.asis__cta{
  display:block; width:100%; box-sizing:border-box; margin-top:0.4rem; text-align:center; text-decoration:none;
  padding:0.9rem 1rem; cursor:pointer;
  background:#C9A85C; color:#0A0A0B; border:1px solid #C9A85C; border-radius:2px;
  font:700 0.74rem/1 'Outfit',sans-serif; letter-spacing:0.14em; text-transform:uppercase;
  transition:background-color .2s ease;
}
.asis__cta:hover{ background:#D9BA72; }
.asis__nav{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:0.9rem; }
.asis__nav .asis__cta{ width:auto; margin:0; }
.asis__link{ background:none; border:0; padding:0; cursor:pointer; color:#8A8A88; font:inherit; font-size:0.78rem; }
.asis__link:hover{ color:#E8E8E6; }

.asis__prods{ list-style:none; margin:0 0 0.4rem; padding:0; border-top:1px solid rgba(232,232,230,0.08); }
.asis__prods li{ border-bottom:1px solid rgba(232,232,230,0.08); }
.asis__prods a{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.7rem 0.1rem;
  color:#E8E8E6; text-decoration:none; font-size:0.88rem; transition:padding-left .2s ease, color .2s ease; }
.asis__prods a:hover{ padding-left:0.4rem; color:#fff; }
.asis__prods svg{ width:22px; height:10px; flex:none; stroke:#C9A85C; stroke-width:1.4; fill:none; }
.asis__vacio{ padding:0.8rem 0; font-size:0.82rem; color:#8A8A88; }

.asis__ok{ width:44px; height:44px; margin:0.2rem 0 0.9rem; border:1px solid #3FBF7F; border-radius:50%;
  display:grid; place-items:center; }
.asis__ok svg{ width:22px; height:22px; stroke:#3FBF7F; stroke-width:2; fill:none;
  stroke-dasharray:30; stroke-dashoffset:30; animation:asisCheck .5s .1s ease forwards; }
@keyframes asisCheck{ to{ stroke-dashoffset:0; } }

@media (max-width:30rem){
  .asis{ right:0.75rem; left:0.75rem; bottom:0.75rem; width:auto; }
  .asis-fab__txt{ display:none; }
  .asis-fab__ico{ display:block; }
  .asis-fab{ padding:0.9rem; gap:0; }
  .asis-fab__dot{ position:absolute; top:7px; right:7px; }
}
@media (prefers-reduced-motion:reduce){
  .asis, .asis__step, .asis__bar i, .asis-fab, .asis__ok svg{ transition:none; animation:none; }
  .asis__ok svg{ stroke-dashoffset:0; }
  .asis-fab__dot{ animation:none; }
}

/* compartir (minuta 1 oct 2026): WhatsApp, copiar enlace y menú nativo */
.compartir{ display:flex; flex-wrap:wrap; align-items:center; gap:0.4rem; margin-top:var(--s3, 1.25rem); }
.compartir__t{ margin-right:0.4rem; font-size:0.6rem; letter-spacing:0.16em; text-transform:uppercase; color:#8A8A88; }
.compartir__b{
  display:inline-flex; align-items:center; gap:0.45rem; cursor:pointer; text-decoration:none;
  padding:0.5rem 0.8rem; background:transparent; color:#E8E8E6;
  border:1px solid rgba(232,232,230,0.16); border-radius:2px;
  font:500 0.72rem/1 'Outfit',system-ui,sans-serif; letter-spacing:0.04em;
  transition:border-color .2s ease, color .2s ease;
}
.compartir__b svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.compartir__b:hover, .compartir__b:focus-visible{ border-color:#C9A85C; color:#fff; outline:none; }
.compartir__b:first-of-type:hover{ border-color:#3FBF7F; }

/* en celular, las fichas tienen barra fija abajo (Cotizar / WhatsApp):
   el asistente se sube para no taparla */
@media (max-width:48rem){
  body:has(.cta-fija) .asis-fab{ bottom:calc(3.4rem + 0.75rem); }
  body:has(.cta-fija) .asis{ bottom:calc(3.4rem + 0.75rem); max-height:calc(100vh - 5.5rem); }
}
