/* components.css — base-kit BuildV · visual dos PRIMITIVOS (Nível 1). Só tokens. */

/* Loader */
[data-loader]{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--c-bg);
  transition:opacity .5s ease,visibility .5s}
[data-loader].is-done{opacity:0;visibility:hidden}

/* Menu off-canvas (mobile) */
[data-menu-toggle]{display:none}
@media (max-width:900px){
  [data-menu-toggle]{display:inline-flex;flex-direction:column;gap:5px;padding:8px}
  [data-menu-toggle] span{width:24px;height:2px;background:currentColor;transition:.25s}
  [data-menu]{position:fixed;inset:0 0 0 auto;width:min(80vw,340px);background:var(--c-bg);
    box-shadow:var(--shadow-md);transform:translateX(100%);transition:transform .3s var(--ease,ease);
    display:flex;flex-direction:column;gap:8px;padding:88px 28px 28px;z-index:60}
  [data-menu].is-open{transform:none}
  [data-menu] a{padding:12px 0;font-size:1.1rem;border-bottom:1px solid var(--c-n200)}
}

/* Banner de cookies — SEMPRE À ESQUERDA (o Merlin flutua à direita) */
[data-cookie]{position:fixed;left:20px;bottom:20px;z-index:70;max-width:360px;
  background:var(--c-white);color:var(--c-text);border:1px solid var(--c-n200);border-radius:var(--r-md);
  box-shadow:var(--shadow-md);padding:18px 20px;font-size:.9rem}
[data-cookie] .actions{display:flex;gap:10px;margin-top:12px}
[data-cookie] button{padding:.55em 1.1em;border-radius:var(--r-pill);font-weight:700;font-size:.85rem}
[data-cookie-accept]{background:var(--c-primary);color:var(--c-white)}
[data-cookie-reject]{border:1px solid var(--c-n200)}
@media (max-width:560px){[data-cookie]{left:12px;right:12px;bottom:12px;max-width:none}}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;gap:12px;
  background:rgba(8,12,20,.92);padding:24px}
.lb.is-open{display:flex}
.lb__stage{max-width:min(1100px,92vw);max-height:86vh;display:flex;flex-direction:column;gap:10px;align-items:center}
.lb__stage img{max-height:80vh;width:auto;border-radius:var(--r-sm)}
.lb__count{color:#fff;font-size:.85rem;opacity:.8}
.lb__x{position:absolute;top:18px;right:22px;color:#fff;font-size:2rem;line-height:1}
.lb__nav{color:#fff;font-size:2.4rem;line-height:1;padding:8px 14px;opacity:.8}
.lb__nav:hover{opacity:1}
@media (max-width:640px){.lb__nav{position:absolute;bottom:20px}.lb__prev{left:30%}.lb__next{right:30%}}

/* Form feedback */
.form-feedback{display:none;padding:12px 16px;border-radius:var(--r-sm);font-size:.9rem;margin-top:12px}
.form-feedback.success{background:color-mix(in srgb,var(--c-primary) 10%,#fff);border:1px solid var(--c-primary);color:var(--c-primary-dark)}
.form-feedback.error{background:#fdf2f2;border:1px solid #e8b4b4;color:#8a2020}
/* honeypot */
[name="_gotcha"]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Scroll horizontal pinado — fallback nativo fora do desktop com ponteiro fino */
[data-hscroll][data-hscroll-native] .track{overflow-x:auto;scroll-snap-type:x mandatory;flex-wrap:nowrap}
[data-hscroll][data-hscroll-native] .track > *{scroll-snap-align:start}
