/* Cookie consent banner + preferences dialog */
.gtc-cc[hidden], .gtc-cc-modal[hidden] { display: none !important; }

.gtc-cc, .gtc-cc-modal { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

.gtc-cc {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 2147483000;
    background: #0f2a4d;
    color: #fff;
    box-shadow: 0 -6px 24px rgba(0, 0, 0, .25);
    padding: 16px;
}
.gtc-cc__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}
.gtc-cc__text { font-size: 14px; line-height: 1.5; }
.gtc-cc__text p { margin: 0; }
.gtc-cc__title { font-size: 16px; font-weight: 700; margin-bottom: 4px !important; }
.gtc-cc__text a { color: #ffc34d; text-decoration: underline; }

.gtc-cc__actions { display: flex; gap: 10px; flex-shrink: 0; align-items: center; }

/* Accept and Reject share identical styling so rejecting is as easy as accepting. */
.gtc-cc__btn {
    appearance: none;
    cursor: pointer;
    border: 2px solid #ffc34d;
    background: #ffc34d;
    color: #0f2a4d;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: 8px;
    white-space: nowrap;
}
.gtc-cc__btn:hover { filter: brightness(1.06); }
.gtc-cc__btn:focus-visible,
.gtc-cc-modal__close:focus-visible,
.gtc-cc-cat input:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.gtc-cc__btn--link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }

/* Preferences dialog */
.gtc-cc-modal { position: fixed; inset: 0; z-index: 2147483001; display: flex; align-items: center; justify-content: center; padding: 16px; }
.gtc-cc-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.gtc-cc-modal__panel {
    position: relative;
    background: #fff;
    color: #1b2433;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    max-height: 90dvh;
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
    outline: none;
}
.gtc-cc-modal__head { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px 8px; }
.gtc-cc-modal__head h2 { margin: 0; font-size: 20px; color: #0f2a4d; }
.gtc-cc-modal__close { appearance: none; border: 0; background: none; font-size: 28px; line-height: 1; cursor: pointer; color: #55607a; padding: 0 6px; }
.gtc-cc-modal__body { padding: 0 20px 8px; overflow-y: auto; font-size: 14px; line-height: 1.5; }
.gtc-cc-modal__body > p { margin: 0 0 12px; }
.gtc-cc-cat { border: 1px solid #dbe2ee; border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.gtc-cc-cat p { margin: 6px 0 0; color: #4a5568; }
.gtc-cc-cat__head { display: flex; justify-content: space-between; align-items: center; }
.gtc-cc-cat__head label { font-weight: 700; color: #0f2a4d; font-size: 15px; }
.gtc-cc-cat input[type="checkbox"] { width: 22px; height: 22px; accent-color: #0f2a4d; cursor: pointer; }
.gtc-cc-cat input[type="checkbox"]:disabled { cursor: not-allowed; }
.gtc-cc-modal__foot { display: flex; gap: 10px; justify-content: flex-end; padding: 14px 20px 18px; border-top: 1px solid #e6ebf3; }
.gtc-cc-modal__foot .gtc-cc__btn { border-color: #0f2a4d; background: #0f2a4d; color: #fff; }

@media (max-width: 720px) {
    .gtc-cc { padding: 14px; max-height: 88vh; max-height: 88dvh; overflow-y: auto; }
    .gtc-cc__inner { flex-direction: column; align-items: stretch; gap: 12px; }
    .gtc-cc__actions { flex-direction: column; }
    .gtc-cc__btn { width: 100%; padding: 12px 16px; }
    .gtc-cc-modal { align-items: flex-end; padding: 0; }
    .gtc-cc-modal__panel { max-width: none; max-height: 92vh; max-height: 92dvh; border-radius: 14px 14px 0 0; }
    .gtc-cc-modal__foot { flex-direction: column; }
}

@media (prefers-reduced-motion: no-preference) {
    .gtc-cc { animation: gtc-cc-in .25s ease-out; }
    @keyframes gtc-cc-in { from { transform: translateY(100%); } to { transform: none; } }
}
