/* Estilos do popup de consentimento de cookies — ver
   assets/cookie-consent.js. Mesma convenção de cart-shared.css:
   var(--token,fallback) para funcionar em qualquer página pública. */

.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1300;
  background: var(--black, #111); color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 -10px 30px rgba(0, 0, 0, .25);
  transform: translateY(100%); transition: transform .35s ease;
  font-family: 'Jost', sans-serif; cursor: auto;
}
.cookie-banner.open { transform: translateY(0); }
.cookie-banner-inner {
  max-width: 1200px; margin: 0 auto; padding: 22px 32px;
  display: flex; align-items: center; gap: 28px; flex-wrap: wrap;
}
.cookie-banner-text {
  flex: 1 1 420px; font-size: .84rem; line-height: 1.65; color: rgba(255, 255, 255, .82); margin: 0;
}
.cookie-banner-text a { color: var(--red, #CC0000); text-decoration: underline; }
.cookie-banner-actions { display: flex; gap: 10px; flex-wrap: wrap; flex-shrink: 0; }
.cookie-btn {
  font-family: 'Jost', sans-serif; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  padding: 12px 20px; cursor: pointer; border: none; white-space: nowrap; transition: all .2s;
}
.cookie-btn-solid { background: var(--red, #CC0000); color: #fff; }
.cookie-btn-solid:hover { background: var(--red-h, #E60000); }
.cookie-btn-outline { background: none; border: 1px solid rgba(255, 255, 255, .35); color: #fff; }
.cookie-btn-outline:hover { border-color: #fff; }
.cookie-btn-ghost { background: none; border: none; color: rgba(255, 255, 255, .7); text-decoration: underline; }
.cookie-btn-ghost:hover { color: #fff; }

.cookie-prefs {
  max-width: 1200px; margin: 0 auto; padding: 0 32px 26px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}
.cookie-prefs[hidden] { display: none; }
.cookie-pref-row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  padding: 18px 0; border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.cookie-pref-row:last-of-type { border-bottom: none; }
.cookie-pref-info { flex: 1; }
.cookie-pref-name { font-size: .82rem; font-weight: 500; margin-bottom: 4px; }
.cookie-pref-info p { font-size: .78rem; line-height: 1.6; color: rgba(255, 255, 255, .65); margin: 0; }
.cookie-toggle { position: relative; display: inline-block; width: 40px; height: 22px; flex-shrink: 0; margin-top: 2px; }
.cookie-toggle input { opacity: 0; width: 0; height: 0; }
.cookie-slider {
  position: absolute; inset: 0; background: rgba(255, 255, 255, .25); border-radius: 22px; cursor: pointer; transition: background .2s;
}
.cookie-slider::before {
  content: ''; position: absolute; width: 16px; height: 16px; left: 3px; top: 3px;
  background: #fff; border-radius: 50%; transition: transform .2s;
}
.cookie-toggle input:checked + .cookie-slider { background: var(--red, #CC0000); }
.cookie-toggle input:checked + .cookie-slider::before { transform: translateX(18px); }
.cookie-toggle input:disabled + .cookie-slider { opacity: .5; cursor: default; }
.cookie-prefs-footer {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 18px;
}
.cookie-prefs-note { font-size: .74rem; color: rgba(255, 255, 255, .55); margin: 0; max-width: 480px; }

@media (max-width: 720px) {
  .cookie-banner-inner { padding: 20px 20px; flex-direction: column; align-items: stretch; }
  .cookie-banner-actions { flex-direction: column; }
  .cookie-btn { width: 100%; text-align: center; }
  .cookie-prefs { padding: 0 20px 22px; }
  .cookie-prefs-footer { flex-direction: column; align-items: stretch; }
  .cookie-prefs-footer .cookie-btn { width: 100%; text-align: center; }
}
