/*
 * These widgets get injected into arbitrary WordPress themes, some of
 * which (Elementor "Global Colors" and similar) apply text color via
 * broad, !important tag selectors (li, p, code, ...) that override plain
 * inheritance. So every text-bearing element below sets its own `color`
 * explicitly with !important, instead of relying on inheriting it from a
 * parent - inheritance only applies when nothing else matches the element
 * directly, and a theme's own !important rule on e.g. `li` would otherwise
 * win over whatever our container resolved to.
 */

.avdigdrp-backdrop {
	position: fixed;
	inset: 0;
	z-index: 999998;
	background: rgba( 0, 0, 0, 0.55 );
}

.avdigdrp-banner {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50% );
	z-index: 999999;
	width: min( 560px, 92vw );
	max-height: 85vh;
	overflow-y: auto;
	background: #1b1f24;
	color: #f2f2f2 !important;
	padding: 24px 28px;
	border-radius: 12px;
	box-shadow: 0 12px 48px rgba( 0, 0, 0, 0.45 );
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 14px;
	line-height: 1.5;
}

/* Once the category panel is open it has its own Accept/Reject/Save row -
   hide the first-screen intro + buttons instead of showing both stacked. */
.avdigdrp-banner--expanded .avdigdrp-banner__body,
.avdigdrp-banner--expanded > .avdigdrp-banner__actions {
	display: none;
}

.avdigdrp-banner--expanded .avdigdrp-banner__panel {
	margin-top: 0;
	border-top: none;
	padding-top: 0;
}

.avdigdrp-banner__close {
	position: absolute;
	top: 10px;
	right: 14px;
	background: transparent;
	border: none;
	color: #f2f2f2 !important;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	opacity: 0.7;
	padding: 4px;
}

.avdigdrp-banner__close:hover {
	opacity: 1;
}

.avdigdrp-fab {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999998;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: none;
	background: #1b1f24;
	color: #fff !important;
	font-size: 22px;
	line-height: 48px;
	text-align: center;
	padding: 0;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba( 0, 0, 0, 0.3 );
}

.avdigdrp-fab:hover {
	transform: scale( 1.06 );
}

.avdigdrp-quickpanel {
	position: fixed;
	right: 20px;
	bottom: 80px;
	z-index: 999997;
	width: 300px;
	max-width: calc( 100vw - 40px );
	background: #1b1f24;
	color: #f2f2f2 !important;
	border-radius: 10px;
	padding: 18px;
	box-shadow: 0 4px 24px rgba( 0, 0, 0, 0.35 );
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 13px;
	line-height: 1.5;
}

.avdigdrp-quickpanel__close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: transparent;
	border: none;
	color: #f2f2f2 !important;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	opacity: 0.7;
}

.avdigdrp-quickpanel__close:hover {
	opacity: 1;
}

.avdigdrp-quickpanel__title {
	margin: 0 0 10px;
	font-size: 15px;
	color: #f2f2f2 !important;
}

.avdigdrp-quickpanel__list {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.avdigdrp-quickpanel__row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	color: #f2f2f2 !important;
}

.avdigdrp-quickpanel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	font-size: 12px;
}

.avdigdrp-quickpanel__icon.is-on {
	color: #4caf6d !important;
}

.avdigdrp-quickpanel__icon.is-off {
	color: #8a8f98 !important;
}

.avdigdrp-quickpanel__icon.is-locked {
	color: #8ab4ff !important;
}

.avdigdrp-quickpanel__meta {
	margin: 6px 0;
	color: #c7cad0 !important;
	word-break: break-all;
}

.avdigdrp-quickpanel__meta strong {
	color: #f2f2f2 !important;
}

.avdigdrp-quickpanel__meta code {
	font-size: 11px;
	color: #c7cad0 !important;
	background: transparent;
}

.avdigdrp-quickpanel__actions {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.avdigdrp-quickpanel__actions .avdigdrp-btn {
	flex: 1;
	padding: 8px 10px;
	font-size: 13px;
}

.avdigdrp-quickpanel__actions .avdigdrp-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.avdigdrp-banner__title {
	margin: 0 0 6px;
	font-size: 18px;
	color: #f2f2f2 !important;
}

.avdigdrp-banner__text {
	margin: 0;
	color: #d7d9dc !important;
}

.avdigdrp-banner__text a {
	color: #8ab4ff !important;
}

.avdigdrp-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.avdigdrp-btn {
	border: 1px solid transparent;
	border-radius: 4px;
	padding: 10px 18px;
	font-size: 14px;
	cursor: pointer;
	background: #333;
	color: #fff !important;
}

.avdigdrp-btn--primary {
	background: var( --avdigdrp-accent, #2f6fed );
}

.avdigdrp-btn--outline {
	background: transparent;
	border-color: #666;
}

.avdigdrp-banner__panel {
	margin-top: 18px;
	max-height: 60vh;
	overflow-y: auto;
	border-top: 1px solid #3a3f47;
	padding-top: 16px;
	color: #f2f2f2 !important;
}

.avdigdrp-panel__intro {
	margin: 0 0 12px;
	color: #d7d9dc !important;
}

.avdigdrp-panel__category {
	border: 1px solid #3a3f47;
	border-radius: 4px;
	margin-bottom: 8px;
	padding: 4px 12px;
	color: #f2f2f2 !important;
}

.avdigdrp-panel__category summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	padding: 10px 0;
	list-style: none;
	color: #f2f2f2 !important;
}

.avdigdrp-panel__category summary::-webkit-details-marker { display: none; }

.avdigdrp-panel__category-title {
	font-weight: 600;
	color: #f2f2f2 !important;
}

.avdigdrp-badge {
	display: inline-block;
	min-width: 18px;
	padding: 1px 6px;
	border-radius: 10px;
	background: rgba( 127, 127, 127, 0.3 );
	color: inherit !important;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
}

.avdigdrp-panel__desc {
	color: #c7cad0 !important;
	margin: 0 0 10px;
}

.avdigdrp-panel__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
	margin-bottom: 12px;
	color: #f2f2f2 !important;
}

.avdigdrp-panel__table th,
.avdigdrp-panel__table td {
	text-align: left;
	padding: 6px 8px;
	border-bottom: 1px solid #3a3f47;
	vertical-align: top;
	color: #f2f2f2 !important;
}

.avdigdrp-panel__note {
	font-size: 12px;
	color: #9aa0a8 !important;
	margin: 12px 0;
}

.avdigdrp-panel__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.avdigdrp-switch {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 22px;
	flex: 0 0 auto;
}

.avdigdrp-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.avdigdrp-switch__slider {
	position: absolute;
	inset: 0;
	background: #555;
	border-radius: 22px;
	transition: background 0.15s;
}

.avdigdrp-switch__slider::before {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	left: 3px;
	top: 3px;
	background: #fff;
	border-radius: 50%;
	transition: transform 0.15s;
}

.avdigdrp-switch input:checked + .avdigdrp-switch__slider {
	background: var( --avdigdrp-accent, #2f6fed );
}

.avdigdrp-switch input:checked + .avdigdrp-switch__slider::before {
	transform: translateX( 18px );
}

.avdigdrp-switch input:disabled + .avdigdrp-switch__slider {
	opacity: 0.5;
}

/*
 * Inline preferences mount (shortcode) and the standalone cookie-list /
 * receipt tables render on the normal page background, using the site's
 * own text color - so every element that's forced to light text above
 * gets forced back to `inherit` here instead, still with !important so it
 * actually wins against the same kind of theme tag-selector overrides
 * (only now inheriting from the *page*, not our dark floating widgets).
 */
.avdigdrp-preferences-mount,
.avdigdrp-preferences-mount .avdigdrp-panel__category,
.avdigdrp-preferences-mount .avdigdrp-panel__category summary,
.avdigdrp-preferences-mount .avdigdrp-panel__category-title,
.avdigdrp-preferences-mount .avdigdrp-panel__desc,
.avdigdrp-preferences-mount .avdigdrp-panel__note,
.avdigdrp-preferences-mount .avdigdrp-panel__intro,
.avdigdrp-preferences-mount .avdigdrp-panel__table,
.avdigdrp-preferences-mount .avdigdrp-panel__table th,
.avdigdrp-preferences-mount .avdigdrp-panel__table td,
.avdigdrp-preferences-mount .avdigdrp-banner__panel,
.avdigdrp-receipt,
.avdigdrp-receipt h3,
.avdigdrp-receipt h4,
.avdigdrp-receipt p,
.avdigdrp-receipt__table th,
.avdigdrp-receipt__table td,
.avdigdrp-receipt__label,
.avdigdrp-cookie-list,
.avdigdrp-cookie-list__category,
.avdigdrp-cookie-list__table th,
.avdigdrp-cookie-list__table td {
	color: inherit !important;
}

.avdigdrp-preferences-mount .avdigdrp-panel__category,
.avdigdrp-preferences-mount .avdigdrp-banner__panel {
	border-color: rgba( 127, 127, 127, 0.35 );
}

.avdigdrp-preferences-mount .avdigdrp-panel__table th,
.avdigdrp-preferences-mount .avdigdrp-panel__table td {
	border-color: rgba( 127, 127, 127, 0.25 );
}

.avdigdrp-receipt {
	max-width: 640px;
}

.avdigdrp-receipt__intro {
	opacity: 0.8;
	margin-bottom: 16px;
}

.avdigdrp-receipt__table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}

.avdigdrp-receipt__table th,
.avdigdrp-receipt__table td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid rgba( 127, 127, 127, 0.25 );
	vertical-align: top;
}

.avdigdrp-receipt__table th {
	width: 45%;
	font-weight: 600;
	opacity: 0.85;
}

.avdigdrp-receipt__label {
	font-weight: 600;
	margin: 12px 0 2px;
}

.avdigdrp-receipt .avdigdrp-btn {
	margin-top: 12px;
	color: inherit !important;
	border-color: rgba( 127, 127, 127, 0.4 );
}

.avdigdrp-receipt .avdigdrp-btn--primary {
	background: var( --avdigdrp-accent, #2f6fed );
	color: #fff !important;
	border-color: transparent;
}

.avdigdrp-cookie-list__table {
	width: 100%;
	border-collapse: collapse;
	margin: 8px 0 24px;
	font-size: 14px;
}

.avdigdrp-cookie-list__table th,
.avdigdrp-cookie-list__table td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid rgba( 127, 127, 127, 0.25 );
}

@media ( max-width: 600px ) {
	.avdigdrp-banner {
		padding: 16px;
	}
	.avdigdrp-btn {
		flex: 1 1 auto;
	}
}
