/* ============================================================
   FORECASTER · Banner de cookies (LGPD)
   Posicionamento controlado pelo CMS via data-pos-v / data-pos-h.
   ============================================================ */

.cookie-banner{
  position:fixed;
  z-index:9999;
  max-width:48rem;
  width:calc(100vw - 4rem);
  pointer-events:auto;
}
.cookie-banner[hidden]{ display:none }

.cookie-banner[data-pos-v="top"]    { top:2.4rem }
.cookie-banner[data-pos-v="bottom"] { bottom:2.4rem }
.cookie-banner[data-pos-h="left"]   { left:2.4rem }
.cookie-banner[data-pos-h="right"]  { right:2.4rem }
.cookie-banner[data-pos-h="center"] {
  left:50%;
  transform:translateX(-50%);
}

.cookie-banner-card{
  background:var(--ink-2);
  border:0.1rem solid var(--line-strong);
  border-radius:1.6rem;
  padding:2.8rem 2.8rem 2.4rem;
  box-shadow:0 2.4rem 6.4rem rgba(0,0,0,.55);
  color:var(--white);
  font-size:1.4rem;
  line-height:1.55;
}

.cookie-banner-title{
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:2rem;
  letter-spacing:-0.01em;
  margin:0 0 1.2rem;
  color:var(--white);
}

.cookie-banner-desc{
  color:rgba(245,247,250,.78);
  margin-bottom:1.6rem;
}
.cookie-banner-desc p{ margin:0 0 0.8rem }
.cookie-banner-desc p:last-child{ margin-bottom:0 }
.cookie-banner-desc a{
  color:var(--cyan);
  border-bottom:0.1rem solid rgba(44,200,232,.4);
  transition:border-color .2s;
}
.cookie-banner-desc a:hover{ border-bottom-color:var(--cyan) }

.cookie-banner-options{
  list-style:none;
  margin:0 0 2rem;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  max-height:24rem;
  overflow-y:auto;
}

.cookie-banner-option{
  border:0.1rem solid var(--line);
  border-radius:1rem;
  padding:1.2rem 1.4rem;
  background:rgba(245,247,250,.02);
}

.cookie-banner-option-head{
  display:flex;
  align-items:center;
  gap:1rem;
  cursor:pointer;
}

.cookie-banner-toggle{
  appearance:none;
  -webkit-appearance:none;
  width:3.6rem;
  height:2rem;
  border-radius:1rem;
  background:rgba(245,247,250,.18);
  position:relative;
  cursor:pointer;
  transition:background .2s;
  flex-shrink:0;
  margin:0;
}
.cookie-banner-toggle::after{
  content:'';
  position:absolute;
  top:0.2rem;
  left:0.2rem;
  width:1.6rem;
  height:1.6rem;
  background:var(--white);
  border-radius:50%;
  transition:transform .2s;
}
.cookie-banner-toggle:checked{ background:var(--cyan) }
.cookie-banner-toggle:checked::after{ transform:translateX(1.6rem) }
.cookie-banner-toggle:focus-visible{
  outline:0.2rem solid var(--cyan);
  outline-offset:0.2rem;
}

.cookie-banner-option-title{
  font-weight:600;
  color:var(--white);
  font-size:1.4rem;
}

.cookie-banner-option-desc{
  margin-top:0.6rem;
  padding-left:4.6rem;
  color:rgba(245,247,250,.65);
  font-size:1.3rem;
}
.cookie-banner-option-desc p{ margin:0 0 0.4rem }
.cookie-banner-option-desc p:last-child{ margin-bottom:0 }

.cookie-banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.8rem;
  justify-content:flex-end;
}

.cookie-banner-btn{
  font-family:inherit;
  font-size:1.3rem;
  font-weight:600;
  padding:1rem 1.8rem;
  border-radius:0.8rem;
  border:0.1rem solid transparent;
  cursor:pointer;
  transition:background .2s, border-color .2s, color .2s;
}

.cookie-banner-btn-primary{
  background:var(--cyan);
  color:var(--ink);
}
.cookie-banner-btn-primary:hover{ background:#54d6f0 }

.cookie-banner-btn-secondary{
  background:transparent;
  color:var(--white);
  border-color:var(--line-strong);
}
.cookie-banner-btn-secondary:hover{
  border-color:var(--cyan);
  color:var(--cyan);
}

@media (max-width:600px){
  .cookie-banner{
    width:calc(100vw - 2rem);
    max-width:none;
  }
  .cookie-banner[data-pos-h="left"]   { left:1rem }
  .cookie-banner[data-pos-h="right"]  { right:1rem }
  .cookie-banner[data-pos-h="center"] { left:1rem; right:1rem; transform:none }
  .cookie-banner[data-pos-v="top"]    { top:1rem }
  .cookie-banner[data-pos-v="bottom"] { bottom:1rem }
  .cookie-banner-card{ padding:2rem 2rem 1.8rem }
  .cookie-banner-actions{ justify-content:stretch }
  .cookie-banner-btn{ flex:1 }
}
