/* Shared additions for Lemon's public pages: desktop "Ajuda e Legal" dropdown,
   the full public footer, the privacy/cookies notice, contact form and the
   LGPD rights grid. Loaded on every public page alongside its existing
   stylesheet (index.html's inline <style> or /assets/legal.css) and reuses
   their color tokens (--ink, --blue, --mist, etc.) rather than redefining a
   second design system. */

.visually-hidden{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}

/* honeypot field — hidden from sighted users and screen readers, still in the DOM for bots */
.hp-field{position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden}

/* ---------- desktop "Ajuda e Legal" dropdown ---------- */
.nav-dropdown{position:relative}
.nav-dropdown-btn{font:inherit; color:var(--mist); background:none; border:0; cursor:pointer; display:inline-flex; align-items:center; gap:6px; padding:.35rem .2rem; font-weight:500; font-size:.95rem; min-height:44px}
.nav-dropdown-btn:hover{color:var(--white)}
.nav-dropdown-btn[aria-expanded="true"]{color:var(--white)}
.nav-dropdown-btn svg{width:14px; height:14px; transition:transform .2s}
.nav-dropdown-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-dropdown-panel{position:absolute; top:calc(100% + 12px); right:0; min-width:260px; background:var(--ink-2); border:1px solid var(--line-2); border-radius:14px; padding:8px; box-shadow:0 24px 48px -20px rgba(0,0,0,.65); flex-direction:column; gap:2px; z-index:80}
.nav-dropdown-panel:not([hidden]){display:flex}
.nav-dropdown-panel a{color:var(--mist); font-weight:600; font-size:.94rem; min-height:44px; padding:0 12px; border-radius:8px; display:flex; align-items:center}
.nav-dropdown-panel a:hover{color:var(--white); background:rgba(255,255,255,.06)}
.nav-dropdown-panel a[aria-current="page"]{color:var(--white); background:rgba(255,255,255,.08)}

/* ---------- public footer (all public pages) ---------- */
.lemon-footer{border-top:1px solid var(--line); padding:56px 0 32px; position:relative; z-index:1}
.lemon-footer-top{display:grid; grid-template-columns:1.1fr repeat(3,1fr); gap:32px; padding-bottom:32px}
.lemon-footer-brand img{height:26px; width:auto; margin-bottom:10px}
.lemon-footer-brand-desc{color:var(--mist-2); font-size:.88rem; max-width:26ch}
.lemon-footer-group{display:flex; flex-direction:column; gap:10px}
.foot-group-title{font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--mist-2); margin-bottom:2px}
.lemon-footer-group a,
.lemon-footer-group button.foot-link-btn{color:var(--mist); font-size:.92rem; font-weight:600; min-height:32px; display:inline-flex; align-items:center; text-align:left}
.lemon-footer-group a:hover,
.lemon-footer-group button.foot-link-btn:hover{color:var(--white)}
.foot-link-btn{font:inherit; background:none; border:0; padding:0; cursor:pointer}
.lemon-footer-bottom{border-top:1px solid var(--line); padding-top:22px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap}
.lemon-footer-bottom p{color:var(--mist-2); font-size:.85rem; margin:0}
.lemon-footer-bottom a{color:var(--mist); font-weight:600}
.lemon-footer-bottom a:hover{color:var(--white)}

@media (max-width:900px){
  .lemon-footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .lemon-footer-top{grid-template-columns:1fr; gap:26px}
}

/* ---------- privacy & cookies notice ---------- */
.privacy-notice{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--ink-2); border-top:1px solid var(--line-2); box-shadow:0 -12px 32px -12px rgba(0,0,0,.6); transform:translateY(100%); opacity:0; transition:transform .25s ease, opacity .25s ease}
.privacy-notice.is-visible{transform:translateY(0); opacity:1}
.privacy-notice-inner{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:18px 24px}
.privacy-notice-inner p{color:var(--white); font-size:.92rem; max-width:62ch; margin:0}
.privacy-notice-actions{display:flex; gap:12px; flex-wrap:wrap}

@media (max-width:640px){
  .privacy-notice-inner{flex-direction:column; align-items:stretch}
  .privacy-notice-actions{flex-direction:column}
  .privacy-notice-actions .btn{width:100%}
}

/* ---------- contact form ---------- */
.contact-form{display:flex; flex-direction:column; gap:20px; margin-top:28px}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.form-field{display:flex; flex-direction:column; gap:6px}
.form-field label{font-weight:700; font-size:.92rem; color:var(--white)}
.form-field .hint{font-size:.82rem; color:var(--mist-2)}
.form-field input,
.form-field select,
.form-field textarea{font:inherit; color:var(--white); background:var(--ink-3); border:1px solid var(--line-2); border-radius:10px; padding:.7rem .85rem; min-height:48px}
.form-field textarea{min-height:160px; resize:vertical}
.form-field input:focus-visible,
.form-field select:focus-visible,
.form-field textarea:focus-visible{outline:2px solid var(--blue); outline-offset:1px}
.form-field input[aria-invalid="true"],
.form-field select[aria-invalid="true"],
.form-field textarea[aria-invalid="true"]{border-color:var(--coral)}
.field-error{color:var(--coral); font-size:.86rem; min-height:1.1em}
.form-actions{display:flex; align-items:center; gap:16px; flex-wrap:wrap}
.form-status{border-radius:14px; padding:16px 18px; font-size:.94rem; display:none}
.form-status.is-visible{display:block}
.form-status-success{background:rgba(63,185,138,.12); border:1px solid rgba(63,185,138,.35)}
.form-status-success h2{font-family:var(--sans); font-size:1.05rem; margin:0 0 6px}
.form-status-error{background:rgba(255,107,91,.1); border:1px solid rgba(255,107,91,.35)}
.form-status-error h2{font-family:var(--sans); font-size:1.05rem; margin:0 0 6px}
.form-privacy-note{color:var(--mist); font-size:.88rem; max-width:var(--prose)}
button[disabled]{opacity:.6; cursor:not-allowed}

@media (max-width:640px){
  .form-row{grid-template-columns:1fr}
}

/* ---------- LGPD rights & actions ---------- */
.rights-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:18px 0 26px}
.rights-card{background:var(--ink-2); border:1px solid var(--line); border-radius:14px; padding:16px 18px}
.rights-card h3{font-size:.98rem; margin-bottom:4px}
.rights-card p{color:var(--mist); font-size:.88rem; margin:0}
.lgpd-actions{display:flex; gap:12px; flex-wrap:wrap; margin:22px 0}
.lgpd-identity{display:flex; flex-direction:column; gap:6px; margin:16px 0}
.lgpd-identity li{list-style:none}

@media (max-width:640px){
  .rights-grid{grid-template-columns:1fr}
}
