/* ============ WIDGETS PARTILHADOS: cookies, newsletter, popups ============ */

/* ---- Cookie banner ---- */
.cookie-banner{
  position:fixed; left:20px; right:20px; bottom:20px; z-index:300;
  max-width:560px; margin:0 auto;
  background:#131314; color:#fff; border-radius:20px;
  padding:24px 26px; box-shadow:0 24px 70px rgba(0,0,0,.35);
  display:flex; flex-direction:column; gap:16px;
  transform:translateY(140%); transition:transform .5s cubic-bezier(.16,.8,.24,1);
}
.cookie-banner.show{ transform:translateY(0); }
.cookie-banner p{ font-size:14px; line-height:1.55; color:rgba(255,255,255,.82); margin:0; }
.cookie-banner p a{ color:#fff; text-decoration:underline; }
.cookie-banner .cookie-btns{ display:flex; gap:10px; flex-wrap:wrap; }
.cookie-banner .cookie-btns button{
  font-family:inherit; font-size:14px; font-weight:500; border:none; cursor:pointer;
  border-radius:999px; padding:11px 20px; transition:transform .15s;
}
.cookie-banner .cookie-btns button:hover{ transform:translateY(-1px); }
.cookie-accept{ background:#fff; color:#131314; }
.cookie-reject{ background:rgba(255,255,255,.12); color:#fff; }
@media (max-width:480px){
  .cookie-banner{ left:12px; right:12px; bottom:12px; padding:20px; }
}

/* ---- Footer newsletter ---- */
.newsletter-block{ margin-top:6px; }
.newsletter-block h5{ font-size:16px; font-weight:600; margin-bottom:8px; }
.newsletter-block p{ font-size:14px; color:var(--muted); line-height:1.5; margin-bottom:16px; max-width:320px; }
.newsletter-form{ display:flex; gap:8px; max-width:340px; }
.newsletter-form input{
  flex:1; min-width:0; font-family:inherit; font-size:14.5px; padding:12px 16px;
  border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink);
}
.newsletter-form input:focus{ outline:none; border-color:#131314; }
.newsletter-form button{
  flex:none; font-family:inherit; font-size:14.5px; font-weight:500; cursor:pointer;
  background:#131314; color:#fff; border:none; border-radius:999px; padding:0 20px;
  transition:transform .15s;
}
.newsletter-form button:hover{ transform:translateY(-1px); }
.newsletter-msg{ font-size:13px; color:#188038; margin-top:10px; display:none; }
.newsletter-msg.show{ display:block; }
@media (max-width:480px){
  .newsletter-form{ flex-direction:column; max-width:100%; }
  .newsletter-form button{ padding:12px; }
}

/* ---- Popup modal (newsletter blog / quiz teaser) ---- */
.site-popup-overlay{
  position:fixed; inset:0; z-index:280; background:rgba(10,10,12,.6); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; transition:opacity .35s ease;
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.site-popup-overlay.show{ opacity:1; visibility:visible; }
.site-popup{
  position:relative; width:100%; max-width:440px; background:#fff; border-radius:24px;
  padding:38px 34px 34px; text-align:center; overflow:hidden;
  transform:scale(.92) translateY(14px); transition:transform .4s cubic-bezier(.16,.8,.24,1);
  box-shadow:0 40px 100px rgba(0,0,0,.35);
}
.site-popup-overlay.show .site-popup{ transform:none; }
.site-popup.dark{ background:#0a0a0c; color:#fff; }
.site-popup-close{
  position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(0,0,0,.1); background:#fff; cursor:pointer; font-size:16px; color:#5f6368;
  display:flex; align-items:center; justify-content:center;
}
.site-popup.dark .site-popup-close{ border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; }
.site-popup .pop-icon{
  width:56px; height:56px; margin:0 auto 18px; border-radius:16px; background:#f1f3f4;
  display:flex; align-items:center; justify-content:center; font-size:26px;
}
.site-popup.dark .pop-icon{ background:rgba(255,255,255,.1); }
.site-popup h3{ font-size:22px; font-weight:600; letter-spacing:-.01em; margin-bottom:10px; line-height:1.25; }
.site-popup p{ font-size:14.5px; line-height:1.55; color:var(--muted, #5f6368); margin-bottom:22px; }
.site-popup.dark p{ color:rgba(255,255,255,.65); }
.site-popup .newsletter-form{ margin:0 auto; }
.site-popup .btn-full{
  display:block; width:100%; font-family:inherit; font-size:15px; font-weight:500; cursor:pointer;
  background:#131314; color:#fff; border:none; border-radius:999px; padding:14px; transition:transform .15s;
}
.site-popup.dark .btn-full{ background:#fff; color:#131314; }
.site-popup .btn-full:hover{ transform:translateY(-1px); }
.site-popup .pop-fine{ font-size:12px; color:#9aa0a6; margin-top:14px; margin-bottom:0; }
