/* Techduto — Banner de Consentimento (LGPD). Escopo: .tdt-cc / .tdt-cc-ov */
.tdt-cc{position:fixed;z-index:99999;left:0;right:0;bottom:0;background:#fff;
  box-shadow:0 -4px 24px rgba(0,0,0,.16);border-top:3px solid var(--cc-accent,#EE3124);
  font-family:inherit;color:#1a1a1a;animation:tdt-cc-in .25s ease}
@keyframes tdt-cc-in{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.tdt-cc__inner{max-width:1200px;margin:0 auto;padding:18px 22px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.tdt-cc__txt{flex:1 1 420px;min-width:0}
.tdt-cc__title{display:block;font-size:15px;font-weight:800;margin-bottom:4px}
.tdt-cc__txt p{margin:0;font-size:13.5px;line-height:1.55;color:#3a3a3a}
.tdt-cc__link{color:var(--cc-accent,#EE3124);font-weight:600;text-decoration:underline}
.tdt-cc__btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tdt-cc__b{font:inherit;font-size:13.5px;font-weight:700;padding:11px 20px;border-radius:8px;cursor:pointer;
  border:1.5px solid transparent;transition:background .15s,border-color .15s,transform .1s;line-height:1}
.tdt-cc__b--solid{background:var(--cc-accent,#EE3124);color:#fff}
.tdt-cc__b--solid:hover{filter:brightness(.92)}
.tdt-cc__b--ghost{background:#fff;color:#333;border-color:#cfcfcf}
.tdt-cc__b--ghost:hover{border-color:#999;background:#f6f6f6}
.tdt-cc__b:active{transform:translateY(1px)}
.tdt-cc__b:focus-visible{outline:3px solid var(--cc-accent,#EE3124);outline-offset:2px}

/* Variantes em caixa */
.tdt-cc--box-left,.tdt-cc--box-right{right:auto;max-width:420px;border:1px solid #e5e5e5;border-top:3px solid var(--cc-accent,#EE3124);
  border-radius:12px;bottom:20px;box-shadow:0 8px 40px rgba(0,0,0,.2)}
.tdt-cc--box-left{left:20px}
.tdt-cc--box-right{right:20px;left:auto}
.tdt-cc--box-left .tdt-cc__inner,.tdt-cc--box-right .tdt-cc__inner{flex-direction:column;align-items:stretch;gap:14px;padding:20px}
.tdt-cc--box-left .tdt-cc__btns,.tdt-cc--box-right .tdt-cc__btns{justify-content:flex-end}

/* Modal de preferências */
.tdt-cc-ov{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.55);display:flex;
  align-items:center;justify-content:center;padding:20px;animation:tdt-cc-fade .2s ease}
@keyframes tdt-cc-fade{from{opacity:0}to{opacity:1}}
.tdt-cc-modal{background:#fff;border-radius:14px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;
  padding:28px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.tdt-cc-modal:focus{outline:none}
.tdt-cc-modal__x{position:absolute;top:14px;right:16px;border:none;background:#f0f0f0;width:32px;height:32px;
  border-radius:50%;font-size:22px;line-height:1;color:#555;cursor:pointer}
.tdt-cc-modal__x:hover{background:var(--cc-accent,#EE3124);color:#fff}
.tdt-cc-modal__t{font-size:20px;font-weight:800;margin:0 0 8px}
.tdt-cc-modal__i{font-size:13.5px;color:#555;line-height:1.55;margin:0 0 18px}
.tdt-cc-cat{border:1px solid #ececec;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.tdt-cc-cat__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tdt-cc-cat__name{font-size:14.5px;font-weight:700}
.tdt-cc-cat__on{font-size:12px;font-weight:700;color:#2e9e5b;background:#e9f7ef;padding:3px 10px;border-radius:20px}
.tdt-cc-cat__d{font-size:12.5px;color:#666;line-height:1.5;margin:8px 0 0}
.tdt-cc-modal__btns{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}

/* Switch */
.tdt-cc-sw{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}
.tdt-cc-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.tdt-cc-sw__t{position:absolute;inset:0;background:#ccc;border-radius:24px;transition:background .2s}
.tdt-cc-sw__t::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}
.tdt-cc-sw input:checked + .tdt-cc-sw__t{background:var(--cc-accent,#EE3124)}
.tdt-cc-sw input:checked + .tdt-cc-sw__t::before{transform:translateX(20px)}
.tdt-cc-sw input:focus-visible + .tdt-cc-sw__t{outline:3px solid var(--cc-accent,#EE3124);outline-offset:2px}

/* Link-style para o botão de preferências */
.tdt-cc__b--link{background:none;border:none;padding:4px 0;color:#666;font-size:13px;font-weight:600;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px;line-height:1;white-space:nowrap}
.tdt-cc__b--link:hover{color:#1a1a1a}
.tdt-cc__b--link:focus-visible{outline:3px solid var(--cc-accent,#EE3124);outline-offset:2px;border-radius:2px}

/* Mobile */
@media (max-width:768px){
  .tdt-cc__inner{padding:12px 14px;gap:10px}
  .tdt-cc__title{font-size:13px;margin-bottom:2px}
  .tdt-cc__txt p{font-size:12px;line-height:1.4}
  .tdt-cc,.tdt-cc--box-left,.tdt-cc--box-right{left:0;right:0;bottom:0;max-width:none;border-radius:0}
  .tdt-cc__btns{width:100%;gap:8px;align-items:center}
  .tdt-cc__btns .tdt-cc__b--link{margin-right:auto;font-size:12px}
  .tdt-cc__btns .tdt-cc__b--ghost,.tdt-cc__btns .tdt-cc__b--solid{flex:1;text-align:center;padding:10px 8px;font-size:12.5px}
  .tdt-cc-modal{padding:20px 16px;max-height:92vh}
  .tdt-cc-modal__btns .tdt-cc__b{flex:1 1 auto;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .tdt-cc,.tdt-cc-ov{animation:none}
}

/* Links legais no rodapé */
.footer-bottom__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-legal-links{margin:0;font-size:13px}
.footer-legal-links a{color:inherit;opacity:.85;text-decoration:none}
.footer-legal-links a:hover{opacity:1;text-decoration:underline}
.footer-legal-links span{opacity:.5;margin:0 8px}
@media (max-width:768px){.footer-bottom__row{flex-direction:column;gap:6px;text-align:center}}
