/* Consent banner. Uses theme tokens with safe fallbacks. */
.pc-consent {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999;
	background: var(--wp--preset--color--surface, #fff); color: var(--wp--preset--color--ink, #222);
	border-top: 1px solid var(--wp--preset--color--border, #ddd); box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.12);
	font: 400 0.9375rem/1.5 var(--wp--preset--font-family--body, system-ui, sans-serif);
	max-height: 90vh; overflow-y: auto;
}
.pc-consent__inner { max-width: 1100px; margin: 0 auto; padding: 1rem 1.25rem; }
.pc-consent__title { margin: 0 0 0.25rem; font-size: 1rem; font-weight: 700; font-family: var(--wp--preset--font-family--body, inherit); color: var(--wp--preset--color--heading, inherit); letter-spacing: 0; }
.pc-consent__text { margin: 0 0 0.75rem; color: var(--wp--preset--color--text-secondary, inherit); }
.pc-consent__text a { color: var(--wp--preset--color--primary, inherit); }
.pc-consent__panel { display: grid; gap: 0.75rem; margin: 0 0 0.75rem; }
.pc-consent__panel[hidden] { display: none; }
.pc-consent__opt { display: grid; grid-template-columns: 1.25rem 1fr; gap: 0.75rem; align-items: start; }
.pc-consent__opt input { margin-top: 0.2rem; width: 1.1rem; height: 1.1rem; accent-color: var(--wp--preset--color--primary, #1f7a55); }
.pc-consent__opt-text { display: grid; }
.pc-consent__opt-text span { color: var(--wp--preset--color--muted, #666); font-size: 0.875rem; }
.pc-consent__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
/* Accept and Reject look identical on purpose: declining is as easy as accepting. */
.pc-consent__btn {
	min-height: 2.75rem; padding: 0 1.25rem; cursor: pointer; font: inherit; font-weight: 700;
	border: 2px solid var(--wp--preset--color--primary, #1f7a55); border-radius: var(--wp--custom--radius--small, 4px);
	background: var(--wp--preset--color--primary, #1f7a55); color: var(--wp--preset--color--on-primary, #fff);
}
.pc-consent__btn:hover { filter: brightness(0.95); }
.pc-consent__btn--link { background: transparent; border-color: transparent; color: var(--wp--preset--color--heading, inherit); text-decoration: underline; padding: 0 0.5rem; }
.pc-consent__btn:focus-visible, .pc-consent a:focus-visible, .pc-consent input:focus-visible { outline: 2px solid var(--wp--preset--color--focus, #000); outline-offset: 2px; }
@media (max-width: 599px) { .pc-consent__btn { flex: 1 1 40%; } .pc-consent__btn--link { flex-basis: 100%; min-height: 2.25rem; } }

.pc-consent:focus { outline: none; }
