.cookies-aviso, .cookies-preferencias, .cookies-dialog { color: #252525; background: #fff; font-family: inherit; font-size: 1rem; line-height: 1.5; }
.cookies-aviso { position: fixed; inset: auto 0 0; z-index: 1100; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding: 20px max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)); border-top: 1px solid #d7ded9; box-shadow: 0 -4px 18px #00000014; max-height: 65vh; max-height: 65dvh; overflow-y: auto; }
.cookies-texto { flex: 1 1 420px; }
.cookies-aviso h2 { font-size: 1.25rem; font-weight: 700; margin: 0 0 6px; }
.cookies-aviso p { margin: 0; }
.cookies-acciones { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.cookies-acciones button, .cookies-acciones a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; font: inherit; font-weight: 700; border-radius: 24px; border: 1px solid #626b65; text-align: center; cursor: pointer; }
.cookies-acciones button { color: #fff; background: var(--colorVerde, #33cc66); border-color: var(--colorVerde, #33cc66); }
.cookies-acciones button:hover { filter: brightness(.96); }
.cookies-acciones button:disabled { background: #e7ebe8; color: #59655e; cursor: wait; border-color: #d7ded9; }
.cookies-aviso a, .cookies-preferencias a, .cookies-dialog a { color: #252525; text-decoration: underline; }
.cookies-acciones a { background: #fff; text-decoration: none; }
.cookies-aviso :focus-visible, .cookies-preferencias :focus-visible, .cookies-dialog :focus-visible { outline: 3px solid #252525; outline-offset: 3px; }
.cookies-preferencias { max-width: 760px; margin: 0 auto; padding: 32px 20px; }
.cookies-preferencias h1 { font-size: clamp(1.5rem, 5vw, 2rem); line-height: 1.3; }
.cookies-preferencias p, .cookies-dialog p { margin: 12px 0; }
.cookies-preferencias fieldset, .cookies-dialog fieldset { min-width: 0; border: 0; padding: 12px 0; }
.cookies-preferencias legend, .cookies-dialog legend { font-weight: bold; }
.cookies-opcion { padding: 16px 0; border-bottom: 1px solid #d7ded9; }
.cookies-opcion:last-child { margin-bottom: 16px; }
.cookies-opcion label { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; font-weight: bold; }
.cookies-opcion input { appearance: auto; width: 22px; height: 22px; flex: 0 0 22px; accent-color: #176d40; }
.cookies-opcion p { color: #505953; }
.cookies-estado { padding: 12px 16px; border-radius: 8px; background: #edf8f0; }
.cookies-error { color: #a42620; flex-basis: 100%; }
.cookies-error[hidden] { display: none; }
.cookies-dialog { width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 24px; border: 1px solid #d7ded9; border-radius: 16px; overflow-y: auto; }
.cookies-dialog::backdrop { background: #0008; }
.cookies-dialog-cabecera { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.cookies-dialog-cabecera h2 { font-size: 1.5rem; line-height: 1.25; font-weight: 700; margin: 0; }
.cookies-dialog-cabecera button { flex: 0 0 44px; height: 44px; background: #fff; color: #252525; border: 1px solid #626b65; border-radius: 50%; font-size: 28px; cursor: pointer; }
body.cookies-pendientes { padding-bottom: var(--cookies-altura, 230px); }
body.review-with-cookies.cookies-pendientes { padding-bottom: 0; }
.review-with-cookies .cookies-aviso { position: static; width: min(760px, calc(100% - 40px)); margin: 24px auto; max-height: none; box-shadow: none; border: 1px solid #d7ded9; border-radius: 8px; }
.cookies-pendientes :is(.assistantLauncher, .whatsapp-float) { bottom: calc(var(--cookies-altura, 230px) + 16px); }
@media (max-width: 600px) {
    .cookies-aviso { gap: 14px; padding: 16px 16px max(16px, env(safe-area-inset-bottom)); }
    .cookies-aviso .cookies-acciones { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
    .cookies-aviso .cookies-acciones a { grid-column: 1 / -1; }
    .cookies-acciones button, .cookies-acciones a { padding: 10px 12px; font-size: .9375rem; }
    .cookies-dialog { padding: 20px; }
    .cookies-dialog .cookies-acciones > *, .cookies-preferencias .cookies-acciones > * { flex: 1 1 100%; }
}
@media print { .cookies-aviso, .cookies-dialog { display: none; } body.cookies-pendientes { padding-bottom: 0; } }
