/* UT Components - Azorneo v4.1.3 */

:root{--ut-guinda:#931935;--ut-dorado:#c9925b;--ut-verde:#0e312d;--ut-line:rgba(15,23,42,.12)}

/* ===== HERO fullscreen parallax carousel ===== */
.ut-hero{position:sticky;top:0;width:100%;height:100svh;min-height:520px;overflow:hidden;background:#000}
.ut-hero__slides{position:absolute;inset:0;z-index:0}
.ut-hero__slide{position:absolute;inset:0;opacity:0;transform:scale(1.03);transition:opacity .8s ease,transform 1.2s ease;cursor:pointer}
.ut-hero__slide.is-active{opacity:1;transform:scale(1)}
.ut-hero__slide img{width:100%;height:100%;object-fit:cover;display:block;transform:translate3d(0,var(--parallaxY,0px),0) scale(1.08);will-change:transform;filter:saturate(1.02)}

.ut-hero__top{position:absolute;top:14px;right:14px;z-index:3;display:grid;gap:10px;justify-items:end}

.ut-hero__logo{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.18);backdrop-filter:blur(8px) saturate(140%);padding:10px 12px;transition:transform .18s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease}
.ut-hero__logo img{max-width:210px;height:auto;display:block;transition:transform .35s ease, filter .35s ease;transform-origin:center}
.ut-hero__logo:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.42);box-shadow:0 18px 46px rgba(0,0,0,.28);background:rgba(0,0,0,.24)}
.ut-hero__logo:hover img{transform:scale(1.04);filter:saturate(1.08) brightness(1.03)}
.ut-hero__logo:active{transform:translateY(-1px) scale(.99)}

.ut-hero__menuBtn{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 14px;background:rgba(0,0,0,.22);backdrop-filter:blur(8px) saturate(140%);color:#fff;font-weight:950;cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease}
.ut-hero__menuBtn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.42);background:rgba(0,0,0,.28)}
.ut-hero__menuText{font-size:.95rem}
.ut-hero__menuIcon{display:grid;gap:4px}
.ut-hero__menuIcon span{width:18px;height:2px;background:#fff;border-radius:99px;display:block}

.ut-hero__admBtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:11px 14px;background:var(--ut-guinda);color:#fff;font-weight:980;border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 40px rgba(0,0,0,.22);transition:transform .12s ease,filter .2s ease}
.ut-hero__admBtn:hover{transform:translateY(-1px);filter:brightness(1.03)}

.ut-hero__menu{position:absolute;top:14px;right:14px;z-index:4;width:min(420px,calc(100vw - 28px));border-radius:20px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.55);backdrop-filter:blur(10px) saturate(150%);box-shadow:0 26px 80px rgba(0,0,0,.35);overflow:hidden}
.ut-hero__menuInner{padding:14px}
.ut-hero__menuHead{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;font-weight:980;margin-bottom:10px}
.ut-hero__closeBtn{width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:22px;line-height:1}
.ut-hero__closeBtn:hover{background:rgba(255,255,255,.12)}

.ut-hero__menuList{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ut-hero__menuList a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px;border-radius:14px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);font-weight:900}
.ut-hero__menuList a:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}

.ut-hero__dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.18);backdrop-filter:blur(8px) saturate(140%)}
.ut-hero__dot{width:9px;height:9px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.20);cursor:pointer}
.ut-hero__dot.is-active{background:#fff;border-color:#fff}

@media (max-width:560px){
  .ut-hero__logo img{max-width:160px}
  .ut-hero__top{gap:8px}
  .ut-hero__menuBtn{padding:10px 12px}
  .ut-hero__admBtn{padding:10px 12px}
}

/* ===== Chat Asistente UT (gratis) ===== */
.ut-chat{position:fixed;right:16px;bottom:16px;z-index:9999;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}

/* FAB llamativo */
.ut-chat__fab{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--ut-line);
  border-radius:999px;
  padding:12px 14px;
  background:#fff;
  color:#0f172a;
  font-weight:950;
  box-shadow:0 18px 50px rgba(15,23,42,.12);
  cursor:pointer;
  transition:transform .12s ease, box-shadow .22s ease, border-color .22s ease;
  position:relative;
  overflow:hidden;
}
.ut-chat__fab:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(15,23,42,.16);border-color:rgba(147,25,53,.28)}
.ut-chat__fab::after{
  content:"";
  position:absolute;inset:-40%;
  background:radial-gradient(circle at 20% 30%, rgba(147,25,53,.12), transparent 55%);
  transform:translateX(-30%);
  transition:transform .45s ease;
}
.ut-chat__fab:hover::after{transform:translateX(0)}
.ut-chat__fabIcon{font-size:18px}
.ut-chat__fabText{font-size:.95rem}
.ut-chat__badge{
  width:10px;height:10px;border-radius:999px;
  background:var(--ut-guinda);
  border:2px solid #fff;
  box-shadow:0 10px 20px rgba(147,25,53,.25);
  display:none;
}

/* Panel */
.ut-chat__panel{
  width:min(360px,calc(100vw - 32px));
  margin-top:10px;
  border:1px solid var(--ut-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 26px 80px rgba(15,23,42,.16);
  overflow:hidden;
}

/* Head */
.ut-chat__head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 12px;
  border-bottom:1px solid var(--ut-line);
}
.ut-chat__title strong{display:block;font-weight:980}
.ut-chat__title span{display:block;font-size:12px;color:rgba(15,23,42,.62);margin-top:2px}
.ut-chat__close{
  width:36px;height:36px;border-radius:14px;border:1px solid var(--ut-line);
  background:#fff;cursor:pointer;font-size:20px;line-height:1
}
.ut-chat__close:hover{background:rgba(147,25,53,.06);border-color:rgba(147,25,53,.22)}

/* Mensajes */
.ut-chat__msgs{
  max-height: 320px;
  overflow:auto;
  padding:12px;
  display:grid;
  gap:10px;
  background:linear-gradient(to bottom, rgba(147,25,53,.03), transparent 70%);
}
.ut-chat__row{display:flex;flex-direction:column;gap:6px}
.ut-chat__row.is-user{align-items:flex-end}
.ut-chat__row.is-bot{align-items:flex-start}
.ut-chat__bubble{
  max-width: 90%;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--ut-line);
  font-size:14px;
  line-height:1.45;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.ut-chat__bubble--user{
  background:rgba(14,49,45,.08);
  border-color:rgba(14,49,45,.18);
}
.ut-chat__bubble--bot{
  background:#fff;
}
.ut-chat__miniLink{
  align-self:flex-start;
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(147,25,53,.22);
  background:rgba(147,25,53,.06);
  color:var(--ut-guinda);
  text-decoration:none;
  font-weight:950;
  font-size:12.5px;
}
.ut-chat__row.is-user .ut-chat__miniLink{align-self:flex-end}

/* Quick chips */
.ut-chat__quick{
  padding:10px 12px;
  border-top:1px solid var(--ut-line);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  background:#fff;
}
.ut-chat__chip{
  border:1px solid var(--ut-line);
  background:#fff;
  border-radius:999px;
  padding:8px 10px;
  font-weight:900;
  cursor:pointer;
  font-size:12.5px;
}
.ut-chat__chip:hover{border-color:rgba(147,25,53,.28);background:rgba(147,25,53,.05)}

/* Input */
.ut-chat__form{
  display:flex;
  gap:8px;
  padding:10px 12px 12px;
  background:#fff;
}
.ut-chat__input{
  flex:1;
  border:1px solid var(--ut-line);
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  outline:none;
}
.ut-chat__input:focus{
  border-color:rgba(147,25,53,.40);
  box-shadow:0 0 0 4px rgba(147,25,53,.10);
}
.ut-chat__send{
  border:1px solid rgba(147,25,53,.18);
  background:var(--ut-guinda);
  color:#fff;
  border-radius:14px;
  padding:10px 12px;
  font-weight:980;
  cursor:pointer;
  transition:transform .12s ease, filter .2s ease;
}
.ut-chat__send:hover{transform:translateY(-1px);filter:brightness(1.03)}

/* Actions */
.ut-chat__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:0 12px 12px;
}
.ut-chat__whats{
  flex:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:14px;
  padding:10px 12px;
  font-weight:980;
  background:#25D366; /* WhatsApp green */
  color:#fff;         /* obligatorio: letras blancas */
  border:1px solid rgba(37,211,102,.35);
  box-shadow:0 14px 30px rgba(37,211,102,.18);
}

.ut-chat__whats:hover{filter:brightness(1.05)}
.ut-chat__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:14px;
  padding:10px 12px;
  font-weight:980;
  color:var(--ut-guinda);
  background:rgba(147,25,53,.06);
  border:1px solid rgba(147,25,53,.22);
}
.ut-chat__link:hover{background:rgba(147,25,53,.09)}
@media (prefers-reduced-motion: reduce){
  .ut-hero__slide{transition:none}
  .ut-hero__slide img{transform:none !important}
  .ut-hero__logo,.ut-hero__logo img,.ut-hero__menuBtn,.ut-hero__admBtn,.ut-chat__fab{transition:none}
  .ut-hero__logo:hover,.ut-hero__menuBtn:hover,.ut-hero__admBtn:hover,.ut-chat__fab:hover{transform:none}
}

/* ===== Form Solicitudes (ut-req) ===== */
.ut-req{--guinda:#931935;--dorado:#c9925b;--verde:#0e312d;--text:#0f172a;--muted:#475569;--line:rgba(15,23,42,.12);--shadow:0 18px 50px rgba(15,23,42,.08);
  max-width:1020px;margin:0 auto;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
.ut-req__head{padding:6px 6px 14px}
.ut-req__kicker{letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--guinda);font-size:.78rem}
.ut-req h3{margin:.4rem 0 .35rem;font-size:1.25rem;letter-spacing:-0.01em;color:var(--text);font-weight:980}
.ut-req__sub{margin:0;color:var(--muted);line-height:1.6}
.ut-req__chips{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.ut-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:850;font-size:.85rem}
.ut-req__aster{color:var(--guinda);font-weight:980}
.ut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ut-field{display:flex;flex-direction:column;gap:6px}
.ut-field-full{margin-top:12px}
.ut-field label{font-size:13px;color:rgba(15,23,42,.82);font-weight:850}
.ut-help{color:rgba(15,23,42,.62);font-size:12.5px;margin-top:2px}
.ut-field input,.ut-field select,.ut-field textarea{border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:14px;outline:none;background:#fff;color:var(--text);transition:box-shadow .18s ease,border-color .18s ease}
.ut-field input:focus,.ut-field select:focus,.ut-field textarea:focus{border-color:rgba(147,25,53,.40);box-shadow:0 0 0 4px rgba(147,25,53,.10)}
.ut-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.ut-btn{border-radius:14px;padding:11px 14px;cursor:pointer;font-weight:980;font-size:14px;border:1px solid transparent;transition:transform .12s ease,box-shadow .22s ease,background .2s ease,border-color .2s ease}
.ut-btn--primary{background:var(--guinda);color:#fff;box-shadow:0 14px 30px rgba(147,25,53,.18)}
.ut-btn--primary:hover{transform:translateY(-1px);box-shadow:0 18px 40px rgba(147,25,53,.22)}
.ut-btn--primary:disabled{opacity:.7;cursor:not-allowed;transform:none}
.ut-btn--outline{background:#fff;color:var(--verde);border-color:rgba(14,49,45,.25)}
.ut-btn--outline:hover{transform:translateY(-1px);border-color:rgba(14,49,45,.45);box-shadow:0 14px 30px rgba(15,23,42,.06)}
.ut-msg{margin-top:10px;font-size:13px;line-height:1.5}
.ut-msg.ok{color:#0b6b2f}
.ut-msg.err{color:#9b1c1c}
@media (max-width:760px){.ut-grid{grid-template-columns:1fr}}
