/* DOVELUME — privacy notice bar and privacy settings panel (shared by every page). */
.consent-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #14211f; color: #f3efe6; padding: 14px max(16px, env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); box-shadow: 0 -6px 24px rgba(0,0,0,.18); font: 13px/1.5 Arial, Helvetica, sans-serif; }
.consent-bar .consent-text { max-width: 640px; margin: 0 auto 10px; }
.consent-bar a { color: #f0d9a4; }
.consent-bar .consent-actions { max-width: 640px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; }
.consent-btn { min-height: 40px; padding: 0 14px; border-radius: 8px; border: 1px solid #c9b48a; background: #f6f0e3; color: #1d1912; font: 13px Arial, Helvetica, sans-serif; cursor: pointer; }
.consent-btn.consent-link { background: transparent; color: inherit; border-color: transparent; text-decoration: underline; }
.consent-bar .consent-btn.consent-link { color: #f3efe6; }
.consent-btn:focus-visible, .consent-switch input:focus-visible { outline: 2px solid #b8913f; outline-offset: 2px; }
.consent-dialog { border: 1px solid #e3dccd; border-radius: 10px; padding: 22px; width: min(460px, calc(100% - 28px)); max-height: calc(100% - 28px); overflow-y: auto; background: #fcfaf5; color: #1d1912; font: 13px/1.5 Arial, Helvetica, sans-serif; }
.consent-dialog::backdrop { background: rgba(20, 18, 14, .4); }
.consent-dialog h2 { font: 400 24px "Times New Roman", Times, serif; margin: 0 0 6px; }
.consent-intro { color: #5d574d; margin: 0 0 14px; }
.consent-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid #e8e1d3; }
.consent-row h3 { font-size: 14px; margin: 0 0 2px; }
.consent-row p { margin: 0; color: #5d574d; font-size: 12px; }
.consent-always, .consent-none { font-size: 12px; color: #5d574d; white-space: nowrap; }
.consent-switch { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; white-space: nowrap; }
.consent-switch input { width: 18px; height: 18px; accent-color: #8a6a24; }
.consent-tools { border-top: 1px solid #e8e1d3; padding-top: 8px; }
.consent-tools .consent-btn { padding: 0; min-height: 32px; font-size: 12px; color: #6e5520; }
.consent-status { min-height: 18px; margin: 4px 0 8px; font-size: 12px; color: #6e5520; }
.consent-dialog .consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.consent-more { margin: 12px 0 0; font-size: 12px; }
.consent-more a { color: #6e5520; }
@media (max-width: 420px) { .consent-bar .consent-actions { grid-template-columns: 1fr 1fr; } .consent-bar .consent-link { grid-column: 1 / -1; } }

/* ---- language picker (globe) ---- */
.lang-picker { position: relative; display: inline-block; font-family: Arial, Helvetica, "Liberation Sans", sans-serif; }
.lang-globe { display: inline-flex !important; align-items: center; gap: 5px; height: 34px; padding: 0 10px 0 8px; border: 1px solid #d8cdb8; border-radius: 17px; background: transparent; color: #1f1b14; font: 600 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .8px; cursor: pointer; box-shadow: none; }
.lang-globe:hover { border-color: #b89a5e; }
.lang-globe:focus-visible { outline: 2px solid #7a5c1e; outline-offset: 2px; }
.lang-globe svg { width: 18px; height: 18px; color: #7a5c1e; }
.lang-menu { position: absolute; top: calc(100% + 6px); inset-inline-end: 0; z-index: 60; list-style: none; margin: 0; padding: 6px; width: 220px; max-height: min(70vh, 520px); overflow-y: auto; background: #fffdf8; border: 1px solid #e4dccd; border-radius: 10px; box-shadow: 0 10px 30px rgba(31, 27, 20, .16); text-align: start; }
.lang-menu[hidden] { display: none; }
.lang-menu button { display: flex !important; align-items: center; justify-content: space-between !important; width: 100%; min-height: 40px; padding: 0 10px; border: 0; border-radius: 7px; background: transparent; color: #1f1b14; font: 15px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif; text-align: start; cursor: pointer; box-shadow: none; }
.lang-menu button:hover, .lang-menu button:focus-visible { background: #f3ecdd; outline: none; }
.lang-menu button[aria-checked="true"] { font-weight: 600; background: #efe5cf; }
.lang-menu button svg { color: #7a5c1e; flex-shrink: 0; }
@media print { .lang-picker { display: none; } }

/* Scripts whose letters join (Arabic, Urdu) or hang from a line (Hindi, Bengali) break apart with letter-spacing. */
html:is(:lang(ar), :lang(ur), :lang(hi), :lang(bn)) * { letter-spacing: 0 !important; }
