/* Pianato Labs · botón flotante de acceso y ventana de solicitud o código. Público: no depende de /labs/. */
.nav .nav-labs.is-gated{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border:1px solid var(--green,#345752);border-radius:999px;color:var(--green,#345752);background:#fbfaf5;font-weight:600;box-shadow:0 6px 16px -10px rgba(52,87,82,.6);animation:labsFloat 3.6s ease-in-out infinite;transition:background-color .2s,color .2s}
.nav .nav-labs.is-gated:hover,.nav .nav-labs.is-gated:focus-visible{background:var(--green,#345752);color:#fbfaf5;animation-play-state:paused}
.nav .nav-labs.is-gated:before{content:"";position:absolute;inset:-1px;border-radius:inherit;box-shadow:0 0 0 0 rgba(52,87,82,.45);animation:labsPulse 2.4s cubic-bezier(.2,.6,.3,1) infinite;pointer-events:none}
.nav-labs-icon{width:12px;height:12px;flex:none}
.nav .nav-labs.has-access{position:relative;padding-left:14px}
.nav .nav-labs.has-access:after{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#3d8a62;box-shadow:0 0 0 3px rgba(61,138,98,.18)}
@keyframes labsPulse{0%{box-shadow:0 0 0 0 rgba(52,87,82,.45)}70%{box-shadow:0 0 0 12px rgba(52,87,82,0)}100%{box-shadow:0 0 0 0 rgba(52,87,82,0)}}
@keyframes labsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}

/* Aviso bajo el botón */
.labs-teaser{position:absolute;z-index:30;width:260px;padding:14px 38px 14px 16px;background:var(--ink,#171c1d);color:#f3f1ea;font-size:13px;line-height:1.45;box-shadow:0 18px 40px -16px rgba(0,0,0,.5);opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .35s;pointer-events:none}
.labs-teaser.is-shown{opacity:1;transform:none;pointer-events:auto}
.labs-teaser:before{content:"";position:absolute;top:-6px;left:var(--arrow,40px);width:12px;height:12px;background:inherit;transform:rotate(45deg)}
.labs-teaser p{margin:0 0 8px}
.labs-teaser button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}
.labs-teaser .labs-teaser-go{color:#d7bb83;text-decoration:underline;text-underline-offset:3px}
.labs-teaser .labs-teaser-close{position:absolute;top:8px;right:10px;font-size:18px;line-height:1;color:#b7c8bc;width:24px;height:24px}

/* Ventana */
.labs-gate{position:fixed;inset:0;margin:auto;height:fit-content;border:0;padding:0;width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);background:var(--paper,#f3f1ea);color:var(--ink,#171c1d);box-shadow:0 40px 90px -30px rgba(0,0,0,.55);overflow:auto}
.labs-gate::backdrop{background:rgba(16,25,21,.72)}
.labs-gate[open]{animation:labsGateIn .45s cubic-bezier(.2,.9,.3,1.1)}
@keyframes labsGateIn{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
.labs-gate-inner{padding:38px 40px 34px;position:relative}
.labs-gate-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--line,#d4d7cb);background:transparent;font-size:24px;line-height:1;cursor:pointer;color:inherit}
.labs-gate-close:hover{background:var(--line,#d4d7cb)}
.labs-gate-eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--green,#345752);margin:0 0 14px;display:flex;align-items:center;gap:8px}
.labs-gate h2{font-size:clamp(26px,3.4vw,34px);line-height:1.08;letter-spacing:-.03em;margin:0 44px 12px 0;font-weight:400}
.labs-gate-lead{font-size:14px;line-height:1.6;color:var(--muted,#535e5b);margin:0 0 20px}
.labs-gate-notice{font-size:13px;line-height:1.5;padding:10px 14px;margin:0 0 18px;border-left:3px solid var(--brass,#a18a5a);background:#ebe6d8}
.labs-gate-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line,#d4d7cb);margin-bottom:24px}
.labs-gate-tabs button{border:0;background:transparent;padding:12px 10px;font:inherit;font-size:13px;cursor:pointer;color:var(--muted,#535e5b)}
.labs-gate-tabs button[aria-selected=true]{background:var(--ink,#171c1d);color:#f3f1ea}
.labs-gate fieldset{border:0;padding:0;margin:0 0 16px}
.labs-gate legend{font-size:12px;color:var(--muted,#535e5b);margin-bottom:8px;padding:0}
.labs-gate-kind{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.labs-gate-kind label{display:flex;align-items:center;gap:8px;border:1px solid #9da999;padding:10px 12px;font-size:14px;cursor:pointer;background:#faf9f5}
.labs-gate-kind label:has(input:checked){border-color:var(--green,#345752);box-shadow:inset 0 0 0 1px var(--green,#345752)}
.labs-gate-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.labs-gate .form-field{margin-bottom:16px}
.labs-gate .form-field label{font-size:12px;display:block;margin-bottom:7px;color:var(--muted,#535e5b)}
.labs-gate .form-field input,.labs-gate .form-field select,.labs-gate .form-field textarea{width:100%;padding:11px 13px;border:1px solid #9da999;background:#faf9f5;border-radius:0;color:var(--ink,#171c1d);font:inherit;font-size:15px}
.labs-gate .form-field textarea{resize:vertical;min-height:104px}
.labs-gate .form-field input:focus,.labs-gate .form-field select:focus,.labs-gate .form-field textarea:focus{outline:2px solid var(--green,#345752);outline-offset:1px}
.labs-gate-optional{font-weight:400;opacity:.8}
.labs-gate-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:4px 0 20px}
.labs-gate-check input{margin-top:3px;width:16px;height:16px;flex:none}
.labs-gate-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.labs-gate-submit{width:100%;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid var(--ink,#171c1d);background:var(--ink,#171c1d);color:#f3f1ea;padding:14px 18px;font:inherit;font-size:14px;cursor:pointer}
.labs-gate-submit:hover{background:var(--green,#345752);border-color:var(--green,#345752)}
.labs-gate-submit:disabled{opacity:.6;cursor:progress}
.labs-gate-error{color:#a4483a;font-size:13px;margin:0 0 12px;min-height:0}
.labs-gate-error:empty{display:none}
.labs-gate-code{font-family:"Courier New",monospace;font-size:22px!important;letter-spacing:.14em;text-transform:uppercase;text-align:center}
.labs-gate-alt{font-size:13px;color:var(--muted,#535e5b);margin:16px 0 0;text-align:center}
.labs-gate-alt button{background:none;border:0;padding:0;color:var(--green,#345752);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
.labs-gate-done{text-align:center;padding:10px 0 4px}
.labs-gate-done svg{width:54px;height:54px;color:var(--green,#345752);margin-bottom:12px}
.labs-gate-done h3{font-size:24px;font-weight:400;margin:0 0 10px}
.labs-gate-done p{font-size:14px;line-height:1.6;color:var(--muted,#535e5b);margin:0 auto 10px;max-width:42ch}
.labs-gate-done .labs-gate-submit{margin-top:14px}
.labs-gate-privacy{font-size:11px;line-height:1.5;color:var(--muted,#535e5b);margin:14px 0 0}
.labs-gate [hidden]{display:none!important}

/* En las páginas de Labs: estado del acceso */
.labs-access-chip{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted,#535e5b);white-space:nowrap}
.labs-access-chip button{background:none;border:1px solid var(--line,#d4d7cb);padding:5px 9px;font:inherit;font-size:11px;cursor:pointer;color:var(--ink,#171c1d)}
.labs-access-chip button:hover{border-color:var(--ink,#171c1d)}

@media(max-width:700px){
  .nav .nav-labs.is-gated{padding:7px 11px 7px 10px;gap:6px}
  .labs-teaser{width:min(260px,calc(100vw - 32px))}
  .labs-gate-inner{padding:30px 20px 24px}
  .labs-gate-row,.labs-gate-kind{grid-template-columns:1fr}
  .labs-access-chip span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .nav .nav-labs.is-gated,.nav .nav-labs.is-gated:before,.labs-gate[open]{animation:none}
  .labs-teaser{transition:none}
}
