/* Compact FRDM consent card, using Skytale's existing type and palette. */
.frdm-consent { position:fixed; z-index:10000; bottom:24px; right:24px; left:auto; box-sizing:border-box; width:440px; max-width:calc(100vw - 48px); max-height:calc(100dvh - 48px); overflow:auto; overscroll-behavior:contain; background:var(--paper,#fbfbfd); color:var(--ink,#14162b); border:1px solid var(--rule-2,#c0c2d2); border-radius:18px; padding:24px; box-shadow:0 2px 4px #0d123e08,0 14px 44px #0d123e26; font:14px/1.65 var(--sans,Arial,sans-serif); outline:none; animation:frdm-consent-in .2s ease-out; }
.frdm-consent [hidden] { display:none!important; }
.frdm-consent h2 { font:600 25px/1.2 var(--sans,Arial,sans-serif); letter-spacing:-.025em; margin:0 0 12px; }
.frdm-consent p { font-size:14px; line-height:1.65; color:var(--ink-2,#565c7a); margin:0 0 12px; }
.frdm-consent a { font-size:13px; color:var(--navy,#0d123e); text-decoration:underline; text-underline-offset:4px; }
.frdm-consent-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:20px; }
.frdm-consent button { font-family:inherit; font-size:13px; line-height:1.25; cursor:pointer; letter-spacing:0; }
.frdm-consent-choice { min-height:44px; border:1px solid var(--rule-2,#c0c2d2); border-radius:24px; color:var(--navy,#0d123e); background:var(--paper-3,#eff1f6); padding:11px 12px; font-weight:600; transition:background .15s; }
.frdm-consent-choice:hover { background:#e1e4ee; }
.frdm-consent-customize { grid-column:1/-1; justify-self:center; border:0; background:transparent; color:var(--ink-2,#565c7a); min-height:36px; padding:7px 16px; text-decoration:underline; text-underline-offset:4px; }
.frdm-consent :is(button,a,input):focus-visible { outline:2px solid var(--navy,#0d123e); outline-offset:3px; }
.frdm-consent-tabs { display:flex; background:var(--paper-3,#eff1f6); border-radius:10px; padding:3px; margin:16px 0 4px; gap:3px; }
.frdm-consent-tabs button { flex:1; padding:10px 8px; border:0; border-radius:8px; background:transparent; color:var(--ink-2,#565c7a); min-height:40px; }
.frdm-consent-tabs [aria-selected=true] { background:var(--paper,#fbfbfd); color:var(--ink,#14162b); box-shadow:0 1px 3px #0d123e14; }
.frdm-consent-category,.frdm-consent-cookie-group { border-bottom:1px solid var(--rule,#dedfe7); padding:16px 0; }
.frdm-consent-label { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:14px; font-weight:600; margin:0 0 8px; }
.frdm-consent-badge { font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.06em; background:var(--paper-3,#eff1f6); border-radius:12px; padding:4px 8px; }
.frdm-consent input[type=checkbox] { appearance:none; -webkit-appearance:none; position:relative; flex:0 0 40px; width:40px; height:24px; border:1px solid var(--rule-2,#c0c2d2); border-radius:20px; background:#dcdfe9; cursor:pointer; margin:0; }
.frdm-consent input[type=checkbox]::before { content:''; position:absolute; width:18px; height:18px; top:2px; left:2px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0002; transition:transform .15s; }
.frdm-consent input[type=checkbox]:checked { background:var(--navy,#0d123e); border-color:var(--navy,#0d123e); }
.frdm-consent input[type=checkbox]:checked::before { transform:translateX(16px); }
.frdm-consent .frdm-consent-note { font-size:12px; line-height:1.6; margin:14px 0 0; }
.frdm-consent-cookie-group h3 { font:600 14px/1.4 var(--sans,Arial,sans-serif); margin:0 0 10px; }
.frdm-consent-cookie { margin-top:12px; }
.frdm-consent-cookie code { font-size:12px; overflow-wrap:anywhere; }
.frdm-consent-cookie p { font-size:12px; margin:3px 0; }
.frdm-consent .frdm-consent-error:empty { display:none; }
.frdm-consent .frdm-consent-error { margin:12px 0 0; }
@keyframes frdm-consent-in { from {transform:translateY(12px)} to {transform:translateY(0)} }
@media(max-width:767px) { .frdm-consent { left:12px; right:12px; bottom:12px; width:auto; max-width:none; max-height:calc(100dvh - 24px); padding:20px; border-radius:16px; } .frdm-consent h2 { font-size:24px; } }
@media(prefers-reduced-motion:reduce) { .frdm-consent { animation:none; } .frdm-consent * { transition:none!important; } }
