/* Cristco V17.2 · modales legales, OTP y ajustes visuales */

/* Modal legal flotante */
.legal-modal{width:min(860px,calc(100% - 28px));max-height:min(82dvh,820px);padding:0;border:1px solid #2b3850;border-radius:24px;background:#0a111d;color:#f5f8fc;box-shadow:0 35px 100px rgba(0,0,0,.55)}
.legal-modal::backdrop{background:rgba(2,6,12,.76);backdrop-filter:blur(7px)}
.legal-modal-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:min(82dvh,820px)}
.legal-modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 16px;border-bottom:1px solid #202d40}
.legal-modal-head h2{margin:4px 0 0;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.04em}
.legal-modal-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid #2a3850;border-radius:12px;background:#0d1725;color:#dce6f2;font-size:1.5rem;cursor:pointer}
.legal-modal-tabs{display:flex;gap:8px;padding:14px 24px;border-bottom:1px solid #202d40}
.legal-modal-tabs button{border:1px solid #2a3850;border-radius:999px;background:#0e1725;color:#9daec3;padding:8px 12px;font-size:.72rem;font-weight:800;cursor:pointer}
.legal-modal-tabs button.is-active{background:#55e7f1;border-color:#55e7f1;color:#071018}
.legal-modal-scroll{overflow:auto;padding:24px}
.legal-modal-panel[hidden]{display:none!important}
.legal-modal .legal-content h2{font-size:1.25rem}
.legal-modal .legal-content p{font-size:.9rem}

/* OTP */
.otp-card{width:min(540px,100%)}
.otp-form{margin-top:22px}
.otp-input{font:900 2rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.35em;text-align:center}
.otp-resend{margin-top:16px}.otp-resend button{border:0;background:none;color:#55e7f1;font-weight:800;cursor:pointer}
.account-admin-note{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid rgba(85,231,241,.25);border-radius:14px;background:rgba(85,231,241,.055)}
.account-admin-note strong{color:#eafaff}.account-admin-note span{color:#8fa3bb;font-size:.72rem}

/* Proyectos en portada: separaciones y jerarquía */
.home-project>div{min-width:0;padding:8px 0}
.home-project small,.home-project strong{display:block}
.home-project small{margin-bottom:6px;font-size:.66rem}
.home-project strong{margin-bottom:8px;line-height:1.15}
.home-project p{margin:0}

/* Equipo en portada con imagen A/B */
.home-team-media{position:relative;width:86px;height:86px;border-radius:14px;overflow:hidden;background:#09111b;flex:0 0 auto}
.home-team-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .34s ease,transform .45s ease}
.home-team-media .home-team-hover{opacity:0}
.home-team-person:hover .home-team-hover,.home-team-person:focus-within .home-team-hover{opacity:1;transform:scale(1.035)}
.home-team-person:hover .home-team-base,.home-team-person:focus-within .home-team-base{opacity:0}
.home-team-person>img{display:none!important}

@media(max-width:680px){
 .legal-modal{width:min(100% - 16px,860px);border-radius:18px}
 .legal-modal-head,.legal-modal-tabs,.legal-modal-scroll{padding-left:16px;padding-right:16px}
 .legal-modal-tabs{overflow-x:auto}
 .otp-input{font-size:1.7rem;letter-spacing:.28em}
 .home-team-media{width:78px;height:78px}
}

/* V17.5 · modal legal: un solo scroll, sin barras visuales superpuestas */
.legal-modal{
  overflow:hidden!important;
  max-height:none!important;
}
.legal-modal-shell{
  height:min(82dvh,820px);
  max-height:min(82dvh,820px);
  overflow:hidden;
}
.legal-modal-head,.legal-modal-tabs{flex:0 0 auto}
.legal-modal-scroll{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-behavior:smooth;
}
.legal-modal-scroll::-webkit-scrollbar{width:0;height:0;display:none}
.legal-modal-panel{padding-bottom:14px}
.legal-modal .legal-content h2{scroll-margin-top:18px}
body:has(.legal-modal[open]){overflow:hidden}
@media(max-width:680px){
  .legal-modal-shell{height:min(88dvh,760px);max-height:min(88dvh,760px)}
}

/* V17.5 · Robty liviano hasta abrir el chat */
.chat-launcher-vector{display:grid;place-items:center}
.chat-launcher-vector svg{width:30px;height:30px;fill:none;stroke:#6cecf5;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.chat-avatar-image img:not([src]){opacity:0}
.chat-avatar-image img{transition:opacity .2s ease}
