/* WebFusion Consent v3.0 · banner "Privacidade & Cookies" e Preferências (framework v4.35) */

/* ---------- Banner ---------- */
.wf-cookie-banner{
  position:fixed;
  left:20px;
  bottom:20px;
  z-index:10500;
  width:min(440px,calc(100vw - 40px));
  padding:22px 22px 18px;
  border:1px solid rgba(201,169,110,.32);
  border-radius:20px;
  background:var(--teal-dk,#0F3C47);
  color:#fff;
  box-shadow:0 22px 60px rgba(6,24,30,.38);
  font-family:'DM Sans',system-ui,sans-serif;
}
.wf-cookie-banner[hidden]{display:none!important}
.wf-cookie-banner h2{
  margin:0 0 8px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.5rem;
  line-height:1.15;
  color:#fff;
}
.wf-cookie-banner p{
  margin:0 0 10px;
  font-size:.95rem;
  line-height:1.55;
  color:rgba(255,255,255,.9);
}
.wf-cookie-links{font-size:.95rem}
.wf-cookie-links .lgpd-inline-link{color:#fff;font-weight:600}
.wf-cookie-links .lgpd-inline-link:hover{color:var(--gold-lt,#E8D5B0)}
.wf-cookie-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
/* Os dois botões têm o mesmo peso visual (7.3): mesma cor, borda, tamanho e fonte. */
.wf-cookie-actions .wf-consent-btn{
  min-height:48px;
  padding:10px 14px;
  border:1.5px solid var(--gold,#C9A96E);
  border-radius:999px;
  background:transparent;
  color:#fff;
  font:700 .95rem/1.2 'DM Sans',system-ui,sans-serif;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.wf-cookie-actions .wf-consent-btn:hover,
.wf-cookie-actions .wf-consent-btn:focus-visible{
  background:var(--gold,#C9A96E);
  color:var(--teal-dk,#0F3C47);
}
.wf-cookie-custom{
  display:block;
  width:100%;
  margin-top:10px;
  min-height:40px;
  border:0;
  background:none;
  color:#fff;
  font:600 .95rem/1.2 'DM Sans',system-ui,sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.wf-cookie-custom:hover{color:var(--gold-lt,#E8D5B0)}
.wf-cookie-banner :focus-visible{outline:3px solid var(--gold-lt,#E8D5B0);outline-offset:3px}
body.wf-banner-open .whatsapp-float,
body.wf-banner-open .top-float{opacity:0;pointer-events:none}

@media (max-width:560px){
  .wf-cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;
    width:auto;
    padding:18px 16px 12px;
    border-radius:18px;
  }
  .wf-cookie-banner h2{font-size:1.35rem}
}
@media (max-width:360px){
  .wf-cookie-actions{grid-template-columns:1fr}
}

/* ---------- Modal de Preferências ---------- */
.wf-pref-overlay[hidden]{display:none!important}
.wf-pref-overlay{
  position:fixed;
  inset:0;
  z-index:11000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(10,32,38,.66);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
body.wf-pref-open{overflow:hidden}
.wf-pref-dialog{
  width:min(600px,100%);
  max-height:min(90dvh,820px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(27,94,107,.16);
  border-radius:22px;
  background:#fff;
  color:#1F3338;
  box-shadow:0 25px 75px rgba(0,0,0,.27);
  font-family:'DM Sans',system-ui,sans-serif;
}
.wf-pref-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px 16px;
  border-bottom:1px solid rgba(15,60,71,.12);
}
.wf-pref-header h2{
  margin:0;
  color:var(--teal-dk,#0F3C47);
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.6rem;
  line-height:1.1;
}
.wf-pref-close{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(15,60,71,.16);
  border-radius:50%;
  background:#fff;
  color:var(--teal-dk,#0F3C47);
  cursor:pointer;
}
.wf-pref-close:hover{border-color:var(--gold,#C9A96E);color:var(--gold-text,#80612C)}
.wf-pref-content{
  overflow-y:auto;
  padding:16px 22px 18px;
}
.wf-pref-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid rgba(15,60,71,.10);
}
.wf-pref-text h3,
.wf-pref-rights h3{
  margin:0 0 4px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:1rem;
  font-weight:700;
  color:var(--teal-dk,#0F3C47);
}
.wf-pref-text p,
.wf-pref-rights p{
  margin:0;
  font-size:.95rem;
  line-height:1.55;
  color:#4E5662;
}
.wf-pref-state{
  flex:0 0 auto;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(27,94,107,.10);
  color:var(--teal-dk,#0F3C47);
  font-size:.9375rem;
  font-weight:700;
  white-space:nowrap;
}
.wf-pref-state-off{background:#F1EFEA;color:#4E5662}
.wf-pref-rights{padding:14px 0 4px}
.wf-switch{position:relative;flex:0 0 auto;width:52px;height:30px;cursor:pointer}
.wf-switch input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.wf-switch-track{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#7D868F;
  pointer-events:none;
  transition:background .2s ease;
}
.wf-switch-track::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  transition:transform .2s ease;
}
.wf-switch input:checked + .wf-switch-track{background:var(--teal,#1B5E6B)}
.wf-switch input:checked + .wf-switch-track::after{transform:translateX(22px)}
.wf-switch input:focus-visible + .wf-switch-track{outline:3px solid var(--gold,#C9A96E);outline-offset:3px}
.wf-pref-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.wf-pref-actions .wf-consent-btn{
  min-height:48px;
  padding:10px 12px;
  border:1.5px solid var(--teal,#1B5E6B);
  border-radius:999px;
  background:#fff;
  color:var(--teal-dk,#0F3C47);
  font:700 .95rem/1.2 'DM Sans',system-ui,sans-serif;
  cursor:pointer;
}
.wf-pref-actions .wf-consent-btn-primary{background:var(--teal,#1B5E6B);color:#fff}
.wf-pref-actions .wf-consent-btn:hover,
.wf-pref-actions .wf-consent-btn:focus-visible{background:var(--gold,#C9A96E);border-color:var(--gold,#C9A96E);color:var(--teal-dk,#0F3C47)}
.wf-pref-dialog :focus-visible{outline:3px solid var(--gold,#C9A96E);outline-offset:3px}
.wf-pref-law{
  margin:16px 0 0;
  padding-top:12px;
  border-top:1px solid rgba(15,60,71,.10);
  font-size:.9375rem;
  color:#4E5662;
}
@media (max-width:620px){
  .wf-pref-overlay{padding:10px;align-items:flex-end}
  .wf-pref-dialog{max-height:94dvh;border-radius:20px}
  .wf-pref-actions{grid-template-columns:1fr}
  .wf-pref-header,.wf-pref-content{padding-left:16px;padding-right:16px}
}
@media (prefers-reduced-motion:reduce){
  .wf-switch-track,.wf-switch-track::after,.wf-consent-btn{transition:none}
}

/* R18 · banner em barra larga centralizada embaixo (texto à esquerda, botões à direita); no celular volta a ser cartão de largura total */
@media (min-width:761px){
  .wf-cookie-banner{
    left:50%;
    right:auto;
    bottom:16px;
    transform:translateX(-50%);
    width:min(960px,calc(100vw - 32px));
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,380px);
    align-items:center;
    gap:14px 32px;
    padding:18px 26px;
    border-radius:18px;
  }
  .wf-cookie-banner h2{font-size:1.35rem;margin-bottom:6px}
  .wf-cookie-banner p{margin-bottom:6px}
  .wf-cookie-text p:last-child{margin-bottom:0}
  .wf-cookie-actions{margin-top:0}
  .wf-cookie-actions .wf-consent-btn{white-space:nowrap}
  .wf-cookie-custom{margin-top:6px;min-height:36px}
}
@media (min-width:561px) and (max-width:760px){
  .wf-cookie-banner{left:16px;right:16px;bottom:16px;width:auto}
}
