/* Privacy controls share the storefront's warm hospitality palette. */
.auraline-consent-banner {
    position: fixed;
    z-index: 1200;
    left: 1.5rem;
    bottom: 1.5rem;
    width: min(34rem, calc(100vw - 3rem));
    max-height: calc(100dvh - 3rem);
    overflow-y: auto;
    padding: 1.25rem;
    background: var(--bg-main, #faf8f5);
    border: 1px solid var(--border, #ded5cb);
    border-radius: var(--radius-lg, 18px);
    box-shadow: var(--shadow-xl, 0 24px 60px #1f1d1a1f);
    color: var(--text-primary, #1f1d1a);
    font-family: var(--font-sans, Inter, sans-serif);
}
.auraline-consent-banner[hidden] { display: none; }
.auraline-consent-copy strong { font-size: 1rem; font-weight: 600; }
.auraline-consent-copy p,
.auraline-consent-dialog p {
    margin: .5rem 0 0;
    color: var(--text-secondary, #5a544c);
    font-size: .875rem;
    line-height: 1.55;
}
.auraline-consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.auraline-consent-banner .auraline-consent-actions { margin-top: 1rem; }
.auraline-consent-actions button {
    min-height: 44px;
    padding: .65rem 1rem;
    border: 1px solid var(--border-dark, #c9beb1);
    border-radius: var(--radius-pill, 9999px);
    background: var(--bg-main, #faf8f5);
    color: var(--text-primary, #1f1d1a);
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
}
.auraline-consent-actions [data-action=accept] {
    background: var(--accent-darker, #846645);
    border-color: var(--accent-darker, #846645);
    color: #fff;
}
.auraline-consent-actions button:hover { filter: brightness(.95); }
.auraline-consent-actions button:focus-visible,
.auraline-consent-close:focus-visible {
    outline: 2px solid var(--accent-darker, #846645);
    outline-offset: 3px;
}
.auraline-consent-dialog {
    margin: auto;
    width: min(34rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    padding: 1.5rem;
    border: 1px solid var(--border, #ded5cb);
    border-radius: var(--radius-lg, 18px);
    background: var(--bg-main, #faf8f5);
    color: var(--text-primary, #1f1d1a);
    box-shadow: var(--shadow-xl, 0 24px 60px #1f1d1a1f);
    font-family: var(--font-sans, Inter, sans-serif);
}
.auraline-consent-dialog::backdrop { background: #1f1d1a80; }
.auraline-consent-dialog form { display: grid; gap: 1rem; }
.auraline-consent-dialog h2 { margin: 0; padding-right: 2rem; font: 600 1.2rem var(--font-sans, Inter, sans-serif); }
.auraline-consent-close { position: absolute; right: .6rem; top: .6rem; width: 44px; height: 44px; border: 0; background: transparent; color: inherit; font-size: 1.5rem; cursor: pointer; }
.auraline-consent-option { display: flex; gap: .75rem; align-items: flex-start; padding: .8rem; border: 1px solid var(--border-light, #ebe5dc); border-radius: var(--radius-md, 12px); }
.auraline-consent-option input { margin-top: .25rem; accent-color: var(--accent-darker, #846645); }
.auraline-consent-option span { display: grid; gap: .25rem; }
.auraline-consent-option small { color: var(--text-secondary, #5a544c); line-height: 1.45; }
.privacy-footer-links { display: flex; flex-wrap: wrap; gap: .8rem 1rem; margin-top: 1rem; align-items: center; }
.privacy-footer-links a, .privacy-footer-links button { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-size: .88rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.privacy-footer-links button:hover, .privacy-footer-links a:hover { color: var(--accent-darker, #846645); }
.auraline-consent-history-tools { display: grid; justify-items: start; gap: .35rem; }
.auraline-consent-history-tools button { padding: .25rem 0; border: 0; background: none; color: var(--accent-darker, #846645); font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.auraline-consent-history-tools button:disabled { opacity: .6; cursor: wait; }
.auraline-consent-history-tools [role=alert] { color: #a32e2e; }
@media (max-width: 600px) {
    .auraline-consent-banner { left: .75rem; bottom: .75rem; width: calc(100vw - 1.5rem); max-height: calc(100dvh - 1.5rem); padding: 1rem; }
    .auraline-consent-banner .auraline-consent-actions button { flex: 1 1 calc(50% - .5rem); padding: .6rem .7rem; }
    .auraline-consent-dialog { padding: 1.25rem; }
}
