.cookie-banner[hidden] { display: none; }
.cookie-banner { position: fixed; z-index: 90; inset: auto 20px 20px; display: flex; gap: 28px; align-items: center; max-width: 1180px; margin-inline: auto; padding: 24px; background: #fff; color: #12384f; border: 1px solid #cfe6f5; border-top: 4px solid #0c4a6e; border-radius: 14px; box-shadow: 0 8px 40px #082f4926; font: 400 1rem/1.6 "Noto Sans Thai",sans-serif; }
.cookie-banner h2, .cookie-dialog h2 { margin: 0 0 8px; font: 500 1.15rem/1.5 "Mitr",sans-serif; color: #0c4a6e; }
.cookie-banner p { margin: 0 0 6px; }
.cookie-banner a { color: #0c4a6e; text-decoration: underline; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
.cookie-actions button { padding: 10px 16px; border: 1px solid #0c4a6e; border-radius: 7px; background: #fff; color: #0c4a6e; font: inherit; cursor: pointer; }
.cookie-actions button:hover { background: #e0f2fe; }
.cookie-actions button:focus-visible { outline: 3px solid #0ea5e9; outline-offset: 3px; }
.cookie-dialog { width: min(560px,calc(100% - 32px)); max-height: 85dvh; padding: 28px; border: 1px solid #cfe6f5; border-radius: 16px; color: #12384f; font-family: "Noto Sans Thai",sans-serif; }
.cookie-dialog::backdrop { background: #082f49a6; }
.cookie-dialog label { display: flex; align-items: flex-start; gap: 12px; padding: 18px 0; border-bottom: 1px solid #cfe6f5; }
.cookie-dialog input { width: 20px; height: 20px; flex-shrink: 0; accent-color: #0c4a6e; }
.cookie-dialog .cookie-actions { margin-top: 24px; }
.cookie-settings { border: 0; padding: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
@media(max-width:800px) { .cookie-banner { inset: auto 12px 76px; max-height: calc(100dvh - 100px); overflow-y: auto; flex-direction: column; align-items: stretch; gap: 14px; padding: 18px; font-size: .9rem; } .cookie-actions { flex-shrink: 1; } .cookie-actions button { flex: 1; padding: 10px 12px; } }
@media print { .cookie-banner, .cookie-dialog, .cookie-settings { display: none !important; } }
