/* Optional consent uses its own scope and stays in document flow. */
.analytics-consent{box-sizing:border-box;width:calc(100% - 32px);max-width:1100px;margin:20px auto;padding:20px 24px;border:1px solid #c8c7bf;border-radius:12px;background:#f5f5f0;color:#242622;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;font-family:'DM Sans',sans-serif;text-align:left}
.analytics-consent h2{margin:0 0 8px;font:500 20px/1.3 'DM Sans',sans-serif;color:#242622}
.analytics-consent p{max-width:72ch;margin:0 0 8px;font:400 16px/1.5 'DM Sans',sans-serif;color:#42463f}
.analytics-consent a{color:#2e543d;font:400 16px/1.5 'DM Sans',sans-serif;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
.analytics-consent-actions{display:flex;flex-direction:column;gap:8px;min-width:220px}
.analytics-consent-actions button{box-sizing:border-box;min-height:44px;padding:10px 16px;border:1px solid #4b5e4c;background:transparent;color:#253a2b;border-radius:7px;font:500 16px/1.4 'DM Sans',sans-serif;cursor:pointer;white-space:normal}
.analytics-consent-actions button:hover{background:#e7ebe4}
.analytics-consent :focus-visible,.analytics-preferences:focus-visible{outline:3px solid #6b826b;outline-offset:3px}
.analytics-preferences{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;background:none;border:0;border-radius:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer;text-align:left}
@media(max-width:760px){.analytics-consent{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px;margin:16px auto}.analytics-consent-actions{min-width:0;display:grid;grid-template-columns:1fr 1fr}.analytics-consent-actions button{padding:10px 8px}.analytics-consent h2{font-size:19px}}
@media(max-width:359px){.analytics-consent-actions{grid-template-columns:1fr}}

.analytics-consent a{margin-right:16px}.recovery-code-box{max-width:680px;padding:20px;border:1px solid #c8c7bf;border-radius:12px;background:#f5f5f0;color:#242622}.recovery-code-box input{box-sizing:border-box;width:100%;min-height:44px;font:400 16px/1.5 monospace}.recovery-code-box button{margin:8px 8px 0 0;min-height:44px}

.analytics-consent .analytics-provider-choice{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;font:400 14px/1.5 "DM Sans",sans-serif}.analytics-provider-choice input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#2e543d}
