/* Consentimento: compacto no desktop e bottom sheet no mobile. */
.cookie-consent-banner { position: fixed; z-index: 1100; left: 1.25rem; right: 1.25rem; bottom: 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; max-width: 72rem; margin: 0 auto; padding: 1rem 1.25rem; color: #f8f3e9; background: rgba(6, 46, 35, .97); border: 1px solid rgba(204, 145, 38, .45); border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(0, 0, 0, .24); }
.cookie-consent-banner[hidden], .cookie-consent-modal-backdrop[hidden] { display: none; }
.cookie-consent-copy { min-width: 0; }
.cookie-consent-title, .cookie-consent-dialog-title { margin: 0; font-family: var(--font-display, Georgia, serif); font-weight: 500; }
.cookie-consent-title { font-size: 1.1rem; }
.cookie-consent-text { max-width: 42rem; margin: .3rem 0 0; color: rgba(248, 243, 233, .82); font-size: .84rem; line-height: 1.45; }
.cookie-consent-actions, .cookie-consent-modal-actions { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }
.cookie-consent-button { border: 1px solid transparent; border-radius: 999px; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 700; min-height: 2.5rem; padding: .55rem .85rem; transition: transform .15s ease, background .15s ease, border-color .15s ease; white-space: nowrap; }
.cookie-consent-button:hover { transform: translateY(-1px); }
.cookie-consent-button:focus-visible, .cookie-preferences-link:focus-visible, .cookie-consent-close:focus-visible, .cookie-consent-switch input:focus-visible + .cookie-consent-switch-visual { outline: 3px solid rgba(213, 157, 49, .65); outline-offset: 2px; }
.cookie-consent-primary { color: #173c2e; background: #d39a2a; }
.cookie-consent-secondary { color: #f8f3e9; background: transparent; border-color: rgba(248, 243, 233, .55); }
.cookie-consent-link, .cookie-consent-outline { color: #e5b85b; background: transparent; border-color: transparent; }
.cookie-consent-modal-backdrop { position: fixed; z-index: 1110; inset: 0; display: grid; place-items: center; padding: 1.25rem; background: rgba(11, 27, 22, .58); }
.cookie-consent-modal { width: min(100%, 38rem); max-height: min(90vh, 44rem); overflow: auto; padding: 1.5rem; color: #25251f; background: #faf7ef; border: 1px solid rgba(183, 128, 29, .35); border-radius: 1.1rem; box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .28); }
.cookie-consent-modal-header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.cookie-consent-eyebrow { margin: 0 0 .25rem; color: #b27517; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cookie-consent-dialog-title { font-size: 1.65rem; }
.cookie-consent-close { border: 0; background: transparent; color: #5a5a51; cursor: pointer; font: inherit; font-size: .8rem; padding: .3rem; }
.cookie-consent-modal-intro { color: #5d5b54; font-size: .9rem; line-height: 1.5; margin: 1rem 0; }
.cookie-consent-categories { display: grid; gap: .6rem; }
.cookie-consent-category { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem; background: rgba(255, 255, 255, .72); border: 1px solid rgba(55, 69, 58, .1); border-radius: .75rem; }
.cookie-consent-category-copy { display: grid; gap: .2rem; }
.cookie-consent-category-title { font-family: var(--font-display, Georgia, serif); font-size: 1rem; font-weight: 600; }
.cookie-consent-category-description { color: #68675f; font-size: .8rem; line-height: 1.4; }
.cookie-consent-switch { flex: 0 0 auto; position: relative; width: 2.7rem; height: 1.55rem; }
.cookie-consent-switch input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.cookie-consent-switch-visual { position: absolute; inset: 0; border-radius: 999px; background: #c6c5be; transition: background .15s ease; }
.cookie-consent-switch-visual::after { content: ""; position: absolute; width: 1.15rem; height: 1.15rem; left: .2rem; top: .2rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .15s ease; }
.cookie-consent-switch input:checked + .cookie-consent-switch-visual { background: #c48a22; }
.cookie-consent-switch input:checked + .cookie-consent-switch-visual::after { transform: translateX(1.15rem); }
.cookie-consent-switch input:disabled + .cookie-consent-switch-visual { opacity: .72; }
.cookie-consent-modal-actions { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid rgba(55, 69, 58, .12); }
.cookie-preferences-link { border: 0; padding: 0; color: inherit; background: none; cursor: pointer; font: inherit; text-decoration: underline; text-underline-offset: .16em; }
body.cookie-consent-modal-open { overflow: hidden; }
@media (max-width: 700px) {
  .cookie-consent-banner { left: 0; right: 0; bottom: 0; display: block; max-width: none; padding: 1.1rem 1rem calc(1rem + env(safe-area-inset-bottom)); border-radius: 1rem 1rem 0 0; }
  .cookie-consent-title { font-size: 1.2rem; }
  .cookie-consent-actions { display: grid; grid-template-columns: 1fr 1fr; margin-top: .9rem; }
  .cookie-consent-button { width: 100%; }
  .cookie-consent-link { grid-column: 1 / -1; }
  .cookie-consent-modal-backdrop { align-items: end; padding: 0; }
  .cookie-consent-modal { width: 100%; max-height: min(88vh, 42rem); border-radius: 1rem 1rem 0 0; padding: 1.2rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
  .cookie-consent-modal-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-consent-modal-actions .cookie-consent-outline { grid-column: 1 / -1; }
}
