.legal-links { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:baseline; font:inherit; }
.legal-links a, .legal-links button { font:inherit; color:var(--ink-soft, #2A2620); background:none; border:0; border-bottom:1px solid var(--hairline, #D8D4C8); padding:0 0 1px; text-decoration:none; cursor:pointer; transition:color 220ms ease, border-color 220ms ease; }
.legal-links a:hover, .legal-links button:hover { color:var(--accent, #5C1A1A); border-bottom-color:var(--accent, #5C1A1A); }
.cookie-panel { position:fixed; z-index:10000; bottom:16px; left:16px; right:16px; max-width:620px; padding:20px; background:#F1F1ED; color:#1A1A1A; border:1px solid #5E5248; font:var(--text-secondary)/1.5 var(--serif-text, 'Vollkorn', Georgia, serif); max-height:70vh; overflow:auto; }
.cookie-panel[hidden] { display:none; }
.cookie-panel p { margin:0 0 16px; }
.cookie-panel a { color:#5C1A1A; }
.cookie-panel div { display:flex; flex-wrap:wrap; gap:12px; }
.cookie-panel button:focus-visible, .legal-links button:focus-visible { outline:2px solid #5C1A1A; outline-offset:4px; }
/* Preserve the softer optional labels beneath continuation names. */
.offer .terms .optional-label { opacity:0.6; }
.contact-form .field:has(:required) label::after { opacity:1; }
@media print { .cookie-panel, [data-cookie-settings] { display:none !important; } }

.cookie-panel:not([hidden]) { animation:cookie-panel-fade-in 2s ease-out both, cookie-panel-slide-in 1s ease-out both; }
@keyframes cookie-panel-fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes cookie-panel-slide-in { from { transform:translateY(calc(100% + 16px)); } to { transform:translateY(0); } }
.cookie-panel.is-closing:not([hidden]) { animation:cookie-panel-fade-out 2s ease-in both, cookie-panel-slide-out 1s ease-in both; pointer-events:none; }
@keyframes cookie-panel-fade-out { from { opacity:1; } to { opacity:0; } }
@keyframes cookie-panel-slide-out { from { transform:translateY(0); } to { transform:translateY(calc(100% + 16px)); } }
@media (prefers-reduced-motion: reduce) { .cookie-panel:not([hidden]), .cookie-panel.is-closing:not([hidden]) { animation:none; } }
