/**
 * Campaign Overview Panel — Accessibility & responsive
 */
/* ==========================================================================
   Screen reader text
   ========================================================================== */
.wsscd-overview-panel .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	word-wrap: normal !important;
}

.wsscd-overview-panel .screen-reader-text:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	background: #f3f4f6;
	border-radius: 8px;
	box-shadow: 0 0 0 2px var(--wsscd-color-primary, #2563eb);
	color: var(--wsscd-color-primary, #2563eb);
	display: block;
	font-size: var(--wsscd-font-size-medium);
	font-weight: 600;
	line-height: normal;
	padding: 10px 16px;
	text-decoration: none;
	z-index: 100002;
}

/* ==========================================================================
   Focus styles
   ========================================================================== */
.wsscd-overview-panel a:focus,
.wsscd-overview-panel button:focus,
.wsscd-overview-panel input:focus,
.wsscd-overview-panel select:focus,
.wsscd-overview-panel textarea:focus {
	outline: none;
}

.wsscd-overview-panel a:focus-visible,
.wsscd-overview-panel button:focus-visible,
.wsscd-overview-panel input:focus-visible,
.wsscd-overview-panel select:focus-visible,
.wsscd-overview-panel textarea:focus-visible,
.wsscd-overview-panel summary:focus-visible {
	outline: 2px solid var(--wsscd-color-primary, #2563eb);
	outline-offset: 2px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media screen and (max-width: 782px) {
	.wsscd-overview-panel {
		width: 480px;
	}
	.wsscd-overview-panel__header {
		padding: 20px;
	}
	.wsscd-overview-panel__title {
		font-size: var(--wsscd-font-size-xl);
	}
	.wsscd-overview-panel__body {
		padding: 20px;
	}
	.wsscd-overview-panel__footer {
		padding: 14px 20px;
	}
	.wsscd-overview-hero__strip {
		flex-wrap: wrap;
	}
	.wsscd-overview-hero__metric {
		flex: 1 1 calc(50% - 1px);
	}
	.wsscd-overview-panel .wsscd-field-label {
		width: 120px;
	}
	.wsscd-overview-block,
	.wsscd-overview-section-card {
		padding: 14px 16px;
	}
	.wsscd-overview-panel .wsscd-category-grid {
		grid-template-columns: 1fr;
	}
	.wsscd-overview-panel .wsscd-product-grid-container {
		max-height: 320px;
	}
}

@media screen and (max-width: 600px) {
	.wsscd-overview-panel {
		width: 100%;
	}
	.wsscd-overview-panel__header {
		padding: 16px;
	}
	.wsscd-overview-panel__title {
		font-size: 17px;
	}
	.wsscd-overview-panel__body {
		padding: 16px;
	}
	.wsscd-overview-panel__footer {
		padding: 14px 16px;
		flex-direction: column;
		align-items: stretch;
	}
	.wsscd-overview-panel__footer-actions {
		flex-direction: column;
		width: 100%;
		margin-left: 0;
	}
	.wsscd-overview-panel__footer-actions .wsscd-button {
		width: 100%;
		text-align: center;
	}
	.wsscd-overview-hero {
		padding: 14px;
	}
	.wsscd-overview-hero__top {
		flex-direction: column;
		align-items: flex-start;
	}
	.wsscd-overview-hero__strip {
		flex-direction: column;
	}
	.wsscd-overview-hero__metric {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		flex: none;
	}
	.wsscd-overview-hero__metric:last-child {
		border-bottom: none;
	}
	.wsscd-overview-panel .wsscd-field-row {
		flex-direction: column;
		gap: 8px;
	}
	.wsscd-overview-panel .wsscd-field-label {
		width: 100%;
		padding-right: 0;
		padding-bottom: 4px;
	}
	.wsscd-overview-panel .wsscd-category-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.wsscd-overview-panel .wsscd-product-grid-container {
		max-height: 280px;
		padding: 8px;
	}
	.wsscd-overview-panel .wsscd-product-card {
		padding: 8px 6px;
		gap: 8px;
	}
	.wsscd-overview-panel .wsscd-product-card-image {
		width: 36px;
		height: 36px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wsscd-overview-panel-backdrop,
	.wsscd-overview-panel,
	.wsscd-overview-panel__close,
	.wsscd-overview-panel__block {
		transition: none;
		animation: none;
	}
}

@media print {
	.wsscd-overview-panel-backdrop,
	.wsscd-overview-panel {
		display: none !important;
	}
}

