/* Cookie consent banner (rs-consent.js) and footer cookie links. Square corners, white card, mint primary, ink focus ring. */
.rs-consent { position: fixed; z-index: 1000; left: 24px; bottom: 24px; width: calc(100% - 48px); max-width: 400px; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow-y: auto; box-sizing: border-box; padding: 1.25rem; background: #fff; color: #02050a; border: 1px solid #e6e6e7; border-radius: 0; box-shadow: 0 12px 32px rgba(2, 5, 10, .08); font-size: .875rem; line-height: 1.5; }
.rs-consent[hidden], .rs-consent [hidden] { display: none; }
.rs-consent.rs-c-in { animation: rs-c-in .35s ease-out both; }
@keyframes rs-c-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.rs-consent .rs-c-title { margin: 0 0 .5rem; font-size: 1.125rem; font-weight: 600; line-height: 1.3; color: #02050a; letter-spacing: 0; }
.rs-consent .rs-c-title:focus { outline: none; }
.rs-consent p { margin: 0; }
.rs-consent .rs-c-text { color: #3d4247; margin-bottom: 1rem; }
.rs-consent a { color: #02050a; text-decoration: underline; text-underline-offset: 3px; }
.rs-consent a:hover { text-decoration-color: #55e6a5; }
.rs-c-btns { display: flex; gap: .5rem; }
.rs-c-btn { flex: 1 1 0; min-height: 44px; padding: .5rem .75rem; font: inherit; font-weight: 500; color: #02050a; background: #55e6a5; border: 1px solid #55e6a5; border-radius: 0; cursor: pointer; transition: background-color .3s, color .3s; }
.rs-c-btn--2 { background: #fff; border-color: #02050a; }
.rs-c-btn:hover { background: #02050a; border-color: #02050a; color: #fff; }
.rs-c-link { display: block; min-height: 44px; margin: .25rem auto -.25rem; padding: .5rem; font: inherit; font-weight: 500; color: #02050a; background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rs-c-link:hover { text-decoration-color: #55e6a5; }
.rs-consent button:focus-visible, .rs-consent a:focus-visible, .rs-consent input:focus-visible, a.rs-cookie-settings:focus-visible { outline: 2px solid #02050a; outline-offset: 3px; box-shadow: 0 0 0 5px rgba(85, 230, 165, .55); }
.rs-c-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: .75rem 0; border-top: 1px solid #e6e6e7; }
.rs-c-row:last-of-type { margin-bottom: .75rem; border-bottom: 1px solid #e6e6e7; }
.rs-c-row p { color: #3d4247; font-size: .8125rem; }
.rs-c-name { font-weight: 600; }
.rs-consent .rs-c-row input.rs-c-sw { flex: none; position: relative; box-sizing: border-box; width: 44px; height: 24px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: #fff; border: 1px solid #02050a; border-radius: 0; box-shadow: none; cursor: pointer; transition: background-color .2s; }
.rs-consent .rs-c-row input.rs-c-sw::before { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; background: #02050a; transition: transform .2s; }
.rs-consent .rs-c-row input.rs-c-sw:checked { background: #55e6a5; }
.rs-consent .rs-c-row input.rs-c-sw:checked::before { transform: translateX(20px); }
.rs-consent .rs-c-row input.rs-c-sw:disabled { cursor: default; opacity: 1; }
.rs-footer-legal { gap: .25rem 1.25rem; }
.rs-footer-legal p { margin: 0; }
.rs-footer-legal a { display: inline-block; padding-block: .35em; min-height: 24px; color: #3d4247; text-decoration: none; }
.rs-footer-legal a:hover { color: #02050a; text-decoration: underline; text-decoration-color: #55e6a5; text-underline-offset: 4px; }
.rs-footer-legal a.rs-cookie-settings { padding: .35em .85em; color: #02050a; border: 1px solid #02050a; }
.rs-footer-legal a.rs-cookie-settings:hover { background: #02050a; color: #fff; text-decoration: none; }
.rs-consent-fab { position: fixed; z-index: 999; left: 24px; bottom: 24px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #02050a; background: #fff; border: 1px solid #02050a; border-radius: 0; box-shadow: 0 1px 2px rgba(2, 5, 10, .06); cursor: pointer; transition: background-color .3s, color .3s; }
.rs-consent-fab[hidden] { display: none; }
.rs-consent-fab:hover { background: #02050a; color: #fff; }
.rs-consent-fab:focus-visible { outline: 2px solid #02050a; outline-offset: 3px; box-shadow: 0 0 0 5px rgba(85, 230, 165, .55); }
@media print { .rs-consent, .rs-consent-fab { display: none !important; } }
@media (max-width: 599px) { .rs-consent-fab { left: 16px; bottom: 16px; } footer.wp-block-template-part > .wp-block-group { padding-bottom: calc(var(--wp--preset--spacing--large) + 64px) !important; } .rs-consent { left: 16px; right: 16px; bottom: 16px; width: auto; max-width: none; padding: 1rem; max-height: calc(100dvh - 32px); } .rs-consent .rs-c-text { margin-bottom: .75rem; } .rs-c-link { margin-bottom: -.5rem; } }
@media (prefers-reduced-motion: reduce) { .rs-consent.rs-c-in { animation: none; } .rs-c-btn, .rs-consent-fab, .rs-consent .rs-c-row input.rs-c-sw, .rs-consent .rs-c-row input.rs-c-sw::before { transition: none; } }
