/*!
 * Cookie Consent Plugin — front-end styles.
 * All selectors are prefixed with .ccp- and scoped under .ccp-root to avoid theme conflicts.
 * Colors and sizes come from CSS variables printed by the plugin (Design settings).
 */

.ccp-root {
	--ccp-bg: #62311e;
	--ccp-text: #f1e6df;
	--ccp-heading: #ffffff;
	--ccp-link: #ffffff;
	--ccp-primary-bg: #ffffff;
	--ccp-primary-text: #62311e;
	--ccp-secondary-bg: #7a4430;
	--ccp-secondary-text: #ffffff;
	--ccp-border: #7d4a35;
	--ccp-icon: #b47a58;
	--ccp-toggle-on: #d9a27e;
	--ccp-font: inherit;
	--ccp-font-size: 12px;
	--ccp-btn-radius: 3px;
	--ccp-radius: 8px;
	--ccp-border-width: 0px;
	--ccp-bar-width: 1240px;
	--ccp-popup-width: 440px;
	--ccp-pad-v: 14px;
	--ccp-pad-h: 24px;
	--ccp-gap: 18px;
	--ccp-shadow: 0 -2px 14px rgba(0, 0, 0, .18);
	--ccp-panel-shadow: 0 18px 50px rgba(0, 0, 0, .35);
	--ccp-z: 2147483000;
	--ccp-speed: .28s;
	--ccp-tint: rgba(255, 255, 255, .07);
	--ccp-tint: color-mix(in srgb, var(--ccp-text) 9%, transparent);
	--ccp-line: color-mix(in srgb, var(--ccp-text) 18%, transparent);
}

.ccp-root.ccp-shadow-none { --ccp-shadow: none; --ccp-panel-shadow: none; }
.ccp-root.ccp-shadow-medium { --ccp-shadow: 0 -4px 24px rgba(0, 0, 0, .28); --ccp-panel-shadow: 0 22px 60px rgba(0, 0, 0, .45); }
.ccp-root.ccp-shadow-strong { --ccp-shadow: 0 -6px 36px rgba(0, 0, 0, .45); --ccp-panel-shadow: 0 28px 80px rgba(0, 0, 0, .6); }
.ccp-root.ccp-pos-top { --ccp-shadow-dir: 1; }

/* ---------- Reset inside the component (protects against theme / builder styles) ---------- */
.ccp-root,
.ccp-root *,
.ccp-root *::before,
.ccp-root *::after {
	box-sizing: border-box;
}

.ccp-root [hidden] { display: none !important; }

.ccp-root .ccp-banner,
.ccp-root .ccp-prefs,
.ccp-root .ccp-floating {
	font-family: var(--ccp-font);
	line-height: 1.5;
	text-align: left;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ccp-root p,
.ccp-root h2,
.ccp-root ul,
.ccp-root li {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	list-style: none;
	letter-spacing: inherit;
	text-transform: inherit;
}

.ccp-root button {
	font-family: inherit;
	margin: 0;
	text-shadow: none;
	box-shadow: none;
	min-width: 0;
	width: auto;
	height: auto;
	line-height: 1.2;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ccp-root a.ccp-link {
	color: var(--ccp-link);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	box-shadow: none;
	background: none;
}
.ccp-root a.ccp-link:hover { text-decoration-thickness: 2px; color: var(--ccp-link); }

.ccp-root :focus-visible {
	outline: 2px solid var(--ccp-toggle-on);
	outline-offset: 2px;
}

/* ---------- Banner ---------- */
.ccp-root .ccp-banner {
	position: fixed;
	z-index: var(--ccp-z);
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--ccp-bg);
	color: var(--ccp-text);
	font-size: var(--ccp-font-size);
	border: 0 solid var(--ccp-border);
	border-top-width: var(--ccp-border-width);
	box-shadow: var(--ccp-shadow);
	max-height: 100vh;
	max-height: 100dvh;
	overflow-y: auto;
	overscroll-behavior: contain;
	opacity: 0;
	transform: translateY(100%);
	transition: transform var(--ccp-speed) ease, opacity var(--ccp-speed) ease;
	padding-bottom: env(safe-area-inset-bottom, 0px);
}

.ccp-root .ccp-banner.ccp-is-visible { opacity: 1; transform: none; }

.ccp-root.ccp-pos-top .ccp-banner {
	top: 0;
	bottom: auto;
	transform: translateY(-100%);
	border-top-width: 0;
	border-bottom-width: var(--ccp-border-width);
	box-shadow: 0 2px 14px rgba(0, 0, 0, .18);
	padding-bottom: 0;
	padding-top: env(safe-area-inset-top, 0px);
}
.ccp-root.ccp-pos-top .ccp-banner.ccp-is-visible { transform: none; }
.ccp-root.ccp-pos-top.ccp-shadow-none .ccp-banner { box-shadow: none; }

.ccp-root .ccp-banner__inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--ccp-gap);
	max-width: var(--ccp-bar-width);
	margin: 0 auto;
	padding: var(--ccp-pad-v) var(--ccp-pad-h);
}

.ccp-root .ccp-banner__icon {
	flex: 0 0 auto;
	display: inline-flex;
	width: 34px;
	height: 34px;
}
.ccp-root .ccp-banner__icon .ccp-icon { width: 100%; height: 100%; }

.ccp-root .ccp-icon { display: block; }
.ccp-root .ccp-icon__body { fill: var(--ccp-icon); }
.ccp-root .ccp-icon__chips circle { fill: var(--ccp-bg); opacity: .85; }
.ccp-root .ccp-icon__crumb { fill: var(--ccp-icon); }

.ccp-root .ccp-banner__content {
	flex: 1 1 auto;
	min-width: 0;
}

.ccp-root .ccp-banner__title {
	color: var(--ccp-heading);
	font-size: 1.25em;
	font-weight: 700;
	margin-bottom: .25em;
}

.ccp-root .ccp-banner__text {
	color: var(--ccp-text);
	font-size: 1em;
	overflow-wrap: anywhere;
}

.ccp-root .ccp-banner__links,
.ccp-root .ccp-prefs__links {
	display: flex;
	flex-wrap: wrap;
	gap: .35em 1.2em;
	margin-top: .35em;
	font-size: .95em;
}

.ccp-root.ccp-uppercase .ccp-banner__content,
.ccp-root.ccp-uppercase .ccp-btn,
.ccp-root.ccp-uppercase .ccp-cat__always {
	text-transform: uppercase;
	letter-spacing: .09em;
}
.ccp-root.ccp-uppercase .ccp-banner__text { font-weight: 500; }

.ccp-root .ccp-banner__actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
}

/* ---------- Buttons ---------- */
.ccp-root .ccp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 9px 18px;
	border: 1px solid transparent;
	border-radius: var(--ccp-btn-radius);
	font-size: max(11px, calc(var(--ccp-font-size) - 1px));
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease, opacity .15s ease, transform .1s ease;
}
.ccp-root .ccp-btn:active { transform: translateY(1px); }

.ccp-root .ccp-btn--primary {
	background: var(--ccp-primary-bg);
	border-color: var(--ccp-primary-bg);
	color: var(--ccp-primary-text);
	min-width: 72px;
}
.ccp-root .ccp-btn--primary:hover,
.ccp-root .ccp-btn--primary:focus { background: var(--ccp-primary-bg); color: var(--ccp-primary-text); opacity: .9; }

.ccp-root .ccp-btn--secondary {
	background: transparent;
	border-color: var(--ccp-secondary-text);
	color: var(--ccp-secondary-text);
}
.ccp-root .ccp-btn--secondary:hover,
.ccp-root .ccp-btn--secondary:focus { background: var(--ccp-tint); color: var(--ccp-secondary-text); }

.ccp-root.ccp-secondary-solid .ccp-btn--secondary {
	background: var(--ccp-secondary-bg);
	border-color: var(--ccp-secondary-bg);
}
.ccp-root.ccp-secondary-solid .ccp-btn--secondary:hover { opacity: .9; background: var(--ccp-secondary-bg); }

.ccp-root.ccp-secondary-text .ccp-btn--secondary {
	border-color: transparent;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ccp-root .ccp-btn--link {
	background: transparent;
	border-color: transparent;
	color: var(--ccp-secondary-text);
	text-decoration: underline;
	text-underline-offset: 3px;
	padding-left: 8px;
	padding-right: 8px;
}
.ccp-root .ccp-btn--link:hover,
.ccp-root .ccp-btn--link:focus { background: transparent; color: var(--ccp-secondary-text); text-decoration-thickness: 2px; }

.ccp-root .ccp-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ccp-heading);
}
.ccp-root .ccp-close:hover { background: var(--ccp-tint); color: var(--ccp-heading); }
.ccp-root .ccp-close svg { display: block; }

.ccp-root .ccp-banner__close { margin-left: -6px; }

/* ---------- Box layout ---------- */
.ccp-root.ccp-layout-box .ccp-banner {
	left: 50%;
	right: auto;
	bottom: 16px;
	width: min(var(--ccp-popup-width), calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	border: var(--ccp-border-width) solid var(--ccp-border);
	border-radius: var(--ccp-radius);
	box-shadow: var(--ccp-panel-shadow);
	transform: translate(-50%, 24px);
	padding-bottom: 0;
	margin-bottom: env(safe-area-inset-bottom, 0px);
}
.ccp-root.ccp-layout-box .ccp-banner.ccp-is-visible { transform: translate(-50%, 0); }
.ccp-root.ccp-layout-box.ccp-pos-top .ccp-banner { top: 16px; bottom: auto; transform: translate(-50%, -24px); padding-top: 0; }
.ccp-root.ccp-layout-box.ccp-pos-top .ccp-banner.ccp-is-visible { transform: translate(-50%, 0); }
.ccp-root.ccp-layout-box.ccp-pos-bottom-left .ccp-banner { left: 16px; transform: translateY(24px); }
.ccp-root.ccp-layout-box.ccp-pos-bottom-right .ccp-banner { left: auto; right: 16px; transform: translateY(24px); }
.ccp-root.ccp-layout-box.ccp-pos-bottom-left .ccp-banner.ccp-is-visible,
.ccp-root.ccp-layout-box.ccp-pos-bottom-right .ccp-banner.ccp-is-visible { transform: none; }

.ccp-root.ccp-layout-box .ccp-banner__inner,
.ccp-root.ccp-layout-modal .ccp-banner__inner {
	flex-wrap: wrap;
	align-items: flex-start;
}
.ccp-root.ccp-layout-box .ccp-banner__content,
.ccp-root.ccp-layout-modal .ccp-banner__content { flex: 1 1 200px; }
.ccp-root.ccp-layout-box .ccp-banner__actions,
.ccp-root.ccp-layout-modal .ccp-banner__actions { flex: 1 1 100%; }
.ccp-root.ccp-layout-box .ccp-banner__close,
.ccp-root.ccp-layout-modal .ccp-banner__close { position: absolute; top: 6px; right: 6px; }

/* ---------- Modal layout ---------- */
.ccp-root.ccp-layout-modal .ccp-banner {
	left: 50%;
	top: 50%;
	right: auto;
	bottom: auto;
	width: min(var(--ccp-popup-width), calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	border: var(--ccp-border-width) solid var(--ccp-border);
	border-radius: var(--ccp-radius);
	box-shadow: var(--ccp-panel-shadow);
	transform: translate(-50%, -46%);
	padding-bottom: 0;
}
.ccp-root.ccp-layout-modal .ccp-banner.ccp-is-visible { transform: translate(-50%, -50%); }

/* ---------- Overlay ---------- */
.ccp-root .ccp-overlay {
	position: fixed;
	inset: 0;
	z-index: calc(var(--ccp-z) - 1);
	background: rgba(15, 8, 5, .55);
	opacity: 0;
	transition: opacity var(--ccp-speed) ease;
}
.ccp-root .ccp-overlay.ccp-is-visible { opacity: 1; }

/* ---------- Preference panel ---------- */
.ccp-root .ccp-prefs {
	position: fixed;
	z-index: calc(var(--ccp-z) + 1);
	left: 50%;
	top: 50%;
	width: min(640px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	display: flex;
	flex-direction: column;
	background: var(--ccp-bg);
	color: var(--ccp-text);
	border: var(--ccp-border-width) solid var(--ccp-border);
	border-radius: var(--ccp-radius);
	box-shadow: var(--ccp-panel-shadow);
	font-size: max(14px, var(--ccp-font-size));
	opacity: 0;
	transform: translate(-50%, -46%);
	transition: transform var(--ccp-speed) ease, opacity var(--ccp-speed) ease;
	outline: none;
}
.ccp-root .ccp-prefs.ccp-is-visible { opacity: 1; transform: translate(-50%, -50%); }

.ccp-root .ccp-prefs__header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 16px 14px 22px;
	border-bottom: 1px solid var(--ccp-line);
}
.ccp-root .ccp-prefs__icon { display: inline-flex; width: 28px; height: 28px; flex: 0 0 auto; }
.ccp-root .ccp-prefs__icon .ccp-icon { width: 100%; height: 100%; }

.ccp-root .ccp-prefs__title {
	flex: 1 1 auto;
	color: var(--ccp-heading);
	font-family: inherit;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
}

.ccp-root .ccp-prefs__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding: 16px 22px 18px;
}

.ccp-root .ccp-prefs__desc { color: var(--ccp-text); }
.ccp-root .ccp-prefs__links { margin-top: 8px; }

.ccp-root .ccp-cats {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
}

.ccp-root .ccp-cat {
	background: var(--ccp-tint);
	border: 1px solid var(--ccp-line);
	border-radius: max(4px, calc(var(--ccp-radius) - 2px));
	padding: 12px 14px;
}

.ccp-root .ccp-cat__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 32px;
}

.ccp-root .ccp-cat__title {
	color: var(--ccp-heading);
	font-weight: 700;
}

.ccp-root .ccp-cat__always {
	flex: 0 0 auto;
	font-size: .78em;
	font-weight: 700;
	color: var(--ccp-toggle-on);
}

.ccp-root .ccp-cat__desc {
	margin-top: 4px;
	font-size: .92em;
	opacity: .92;
}

.ccp-root .ccp-cat__details { margin-top: 8px; font-size: .88em; }
.ccp-root .ccp-cat__details summary {
	cursor: pointer;
	color: var(--ccp-link);
	text-decoration: underline;
	text-underline-offset: 2px;
	display: inline-block;
	padding: 4px 0;
	list-style: none;
}
.ccp-root .ccp-cat__details summary::-webkit-details-marker { display: none; }
.ccp-root .ccp-cat__details summary::before { content: "▸ "; display: inline-block; transition: transform .15s ease; text-decoration: none; }
.ccp-root .ccp-cat__details[open] summary::before { transform: rotate(90deg); }

/* Cookie table (also used by [ccp_cookie_policy]) */
.ccp-table-wrap { overflow-x: auto; margin-top: 6px; }
.ccp-table { width: 100%; border-collapse: collapse; font-size: inherit; margin: 0; }
.ccp-table th,
.ccp-table td { text-align: left; vertical-align: top; padding: 6px 8px; border: 0; border-bottom: 1px solid rgba(127, 127, 127, .3); }
.ccp-table code { font-size: .95em; background: none; padding: 0; color: inherit; word-break: break-all; }
.ccp-root .ccp-table th,
.ccp-root .ccp-table td { color: var(--ccp-text); border-bottom-color: var(--ccp-line); background: none; }

.ccp-root .ccp-prefs__meta { margin-top: 14px; font-size: .8em; opacity: .8; overflow-wrap: anywhere; }
.ccp-root .ccp-prefs__meta code { background: none; color: inherit; padding: 0; font-size: 1em; }

.ccp-root .ccp-prefs__footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 22px 16px;
	border-top: 1px solid var(--ccp-line);
	padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
}

/* ---------- Toggle switch ---------- */
.ccp-root .ccp-switch {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	width: 46px;
	height: 26px;
	margin: 0;
	cursor: pointer;
}
.ccp-root .ccp-switch__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
}
.ccp-root .ccp-switch__track {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 13px;
	background: var(--ccp-line);
	border: 1px solid var(--ccp-line);
	transition: background-color .2s ease, border-color .2s ease;
}
.ccp-root .ccp-switch__thumb {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .35);
	transition: transform .2s ease;
}
.ccp-root .ccp-switch__input:checked + .ccp-switch__track { background: var(--ccp-toggle-on); border-color: var(--ccp-toggle-on); }
.ccp-root .ccp-switch__input:checked + .ccp-switch__track .ccp-switch__thumb { transform: translateX(20px); }
.ccp-root .ccp-switch__input:focus-visible + .ccp-switch__track { outline: 2px solid var(--ccp-heading); outline-offset: 2px; }

/* ---------- Floating button ---------- */
.ccp-root .ccp-floating {
	position: fixed;
	z-index: calc(var(--ccp-z) - 2);
	bottom: max(16px, env(safe-area-inset-bottom, 0px));
	left: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 8px;
	border: 2px solid var(--ccp-icon);
	border-radius: 50%;
	background: var(--ccp-bg);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	transition: transform .2s ease, opacity .2s ease;
}
.ccp-root.ccp-float-right .ccp-floating { left: auto; right: 16px; }
.ccp-root .ccp-floating:hover { transform: scale(1.06); background: var(--ccp-bg); }
.ccp-root .ccp-floating .ccp-icon { width: 100%; height: 100%; }

/* Shortcode link */
.ccp-settings-link {
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}

/* Placeholder for blocked iframes / embeds */
.ccp-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 160px;
	padding: 20px;
	text-align: center;
	background: var(--ccp-bg, #62311e);
	color: var(--ccp-text, #f1e6df);
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.5;
}
.ccp-placeholder button {
	background: var(--ccp-primary-bg, #fff);
	color: var(--ccp-primary-text, #62311e);
	border: 0;
	border-radius: var(--ccp-btn-radius, 3px);
	padding: 9px 18px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

/* Prevent background scroll while a modal is open */
html.ccp-scroll-lock,
html.ccp-scroll-lock body { overflow: hidden !important; }

/* ---------- Responsive ---------- */

/* Tablets: text on top, buttons below, right-aligned. */
@media (max-width: 900px) {
	.ccp-root.ccp-layout-bar .ccp-banner__inner {
		flex-wrap: wrap;
	}
	.ccp-root.ccp-layout-bar .ccp-banner__content { flex: 1 1 calc(100% - 60px); }
	.ccp-root.ccp-layout-bar .ccp-banner__actions { flex: 1 1 100%; }
	.ccp-root.ccp-layout-bar .ccp-banner__close { position: absolute; top: 6px; right: 6px; }
	.ccp-root.ccp-layout-bar .ccp-banner__inner:has(.ccp-banner__close) .ccp-banner__content { padding-right: 32px; }
}

/* Phones: full-width stacked buttons with large touch targets. */
@media (max-width: 600px) {
	.ccp-root {
		--ccp-pad-h: 16px;
		--ccp-gap: 12px;
	}
	.ccp-root .ccp-banner__icon { width: 28px; height: 28px; }
	.ccp-root .ccp-banner__actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.ccp-root .ccp-banner__actions .ccp-btn {
		min-height: 44px;
		white-space: normal;
		text-align: center;
	}
	.ccp-root .ccp-banner__actions .ccp-btn--primary,
	.ccp-root .ccp-prefs__footer .ccp-btn--primary { order: 1; }
	.ccp-root .ccp-banner__actions .ccp-btn--secondary,
	.ccp-root .ccp-prefs__footer .ccp-btn--secondary { order: 2; }
	.ccp-root .ccp-banner__actions .ccp-btn--link { order: 3; min-height: 40px; }

	.ccp-root.ccp-layout-box .ccp-banner,
	.ccp-root.ccp-layout-box.ccp-pos-bottom-left .ccp-banner,
	.ccp-root.ccp-layout-box.ccp-pos-bottom-right .ccp-banner {
		left: 8px;
		right: 8px;
		width: auto;
		bottom: 8px;
		transform: translateY(24px);
	}
	.ccp-root.ccp-layout-box .ccp-banner.ccp-is-visible { transform: none; }
	.ccp-root.ccp-layout-box.ccp-pos-top .ccp-banner { top: 8px; bottom: auto; }

	/* Preference panel becomes a bottom sheet. */
	.ccp-root .ccp-prefs {
		left: 0;
		right: 0;
		top: auto;
		bottom: 0;
		width: 100%;
		max-height: 92vh;
		max-height: 92dvh;
		border-radius: var(--ccp-radius) var(--ccp-radius) 0 0;
		transform: translateY(100%);
	}
	.ccp-root .ccp-prefs.ccp-is-visible { transform: none; }
	.ccp-root .ccp-prefs__header { padding: 12px 10px 12px 16px; }
	.ccp-root .ccp-prefs__body { padding: 14px 16px; }
	.ccp-root .ccp-prefs__footer {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		padding-left: 16px;
		padding-right: 16px;
	}
	.ccp-root .ccp-prefs__footer .ccp-btn { min-height: 44px; white-space: normal; text-align: center; }
	.ccp-root .ccp-prefs__footer .ccp-btn--primary { grid-column: 1 / -1; }

	/* Stack the cookie table as cards. */
	.ccp-root .ccp-table thead { display: none; }
	.ccp-root .ccp-table tr { display: block; padding: 6px 0; border-bottom: 1px solid var(--ccp-line); }
	.ccp-root .ccp-table td { display: block; border: 0; padding: 2px 0; }
	.ccp-root .ccp-table td::before { content: attr(data-label) ": "; font-weight: 700; }
}

@media (max-width: 360px) {
	.ccp-root .ccp-banner__icon { display: none; }
	.ccp-root .ccp-prefs__footer { grid-template-columns: 1fr; }
}

/* Short landscape phones: let the bar scroll internally instead of covering everything. */
@media (max-height: 480px) {
	.ccp-root .ccp-banner { max-height: 70vh; }
}

/* ---------- Motion preferences ---------- */
.ccp-root.ccp-no-anim .ccp-banner,
.ccp-root.ccp-no-anim .ccp-prefs,
.ccp-root.ccp-no-anim .ccp-overlay { transition: none; }

@media (prefers-reduced-motion: reduce) {
	.ccp-root .ccp-banner,
	.ccp-root .ccp-prefs,
	.ccp-root .ccp-overlay,
	.ccp-root .ccp-floating,
	.ccp-root .ccp-btn,
	.ccp-root .ccp-switch__thumb { transition: none !important; }
}

/* ---------- Admin preview container ---------- */
.ccp-root.ccp-is-preview .ccp-banner {
	position: relative !important;
	inset: auto !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 auto !important;
	z-index: 1 !important;
	max-height: none !important;
}
.ccp-root.ccp-is-preview.ccp-layout-box .ccp-banner,
.ccp-root.ccp-is-preview.ccp-layout-modal .ccp-banner { width: min(var(--ccp-popup-width), 100%) !important; }
