/* ==========================================================================
   Contador Pro - Frontend Widget Styles
   ========================================================================== */

/* Base Container */
.contador-pro-container {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.contador-pro-items-wrapper {
	display: flex;
	flex-wrap: inherit;
	flex-direction: inherit;
	justify-content: inherit;
	align-items: flex-start;
	column-gap: 0;
	row-gap: 0;
	width: 100%;
	box-sizing: border-box;
}

/* If container has display: grid, adjust items-wrapper */
.contador-pro-container[style*="display: grid"] .contador-pro-items-wrapper,
.contador-pro-container[style*="display:grid"] .contador-pro-items-wrapper {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	column-gap: 0;
	row-gap: 0;
	width: 100%;
}

/* Individual Unit Block */
.contador-pro-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	flex: 1;
	min-width: 60px;
}

/* Label Position Overrides */
.cp-label-pos-above .contador-pro-item {
	flex-direction: column-reverse;
}

.cp-label-pos-below .contador-pro-item {
	flex-direction: column;
}

/* Typography Defaults */
.contador-pro-number {
	display: block;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}

.contador-pro-label {
	display: block;
	line-height: 1.2;
	min-height: 1.2em;
	text-align: center;
}

/* Separator Element */
.contador-pro-separator {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	user-select: none;
}

/* Expiration Message */
.contador-pro-expiration-message {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

/* ==========================================================================
   Display Presets Defaults
   ========================================================================== */

/* 1. Classic Boxes Preset */
.contador-pro-container.cp-preset-classic .contador-pro-item {
	background-color: #f5f6fa;
	border: 1px solid #dcdde1;
	border-radius: 8px;
	padding: 20px;
	min-width: 90px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
.contador-pro-container.cp-preset-classic .contador-pro-number {
	font-size: 2.5rem;
	color: #2f3640;
	margin-bottom: 8px;
}
.contador-pro-container.cp-preset-classic.cp-label-pos-above .contador-pro-number {
	margin-bottom: 0;
	margin-top: 8px;
}
.contador-pro-container.cp-preset-classic .contador-pro-label {
	font-size: 0.85rem;
	color: #718093;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* 2. Minimalist Preset */
.contador-pro-container.cp-preset-minimal .contador-pro-item {
	background: transparent;
	border: none;
	padding: 10px;
}
.contador-pro-container.cp-preset-minimal .contador-pro-number {
	font-size: 3rem;
	font-weight: 300;
	color: #2d3436;
}
.contador-pro-container.cp-preset-minimal .contador-pro-label {
	font-size: 0.75rem;
	color: #636e72;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-top: 4px;
}

/* 3. Editorial Preset */
.contador-pro-container.cp-preset-editorial .contador-pro-item {
	background-color: #fdfaf6;
	border-bottom: 3px solid #c8a2c8;
	padding: 25px 15px;
}
.contador-pro-container.cp-preset-editorial .contador-pro-number {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 3.5rem;
	color: #2c2c2c;
	font-style: italic;
}
.contador-pro-container.cp-preset-editorial .contador-pro-label {
	font-family: "Montserrat", sans-serif;
	font-size: 0.9rem;
	color: #8c8c8c;
	text-transform: lowercase;
	margin-top: 6px;
}

/* 4. Hero Impact Preset */
.contador-pro-container.cp-preset-hero .contador-pro-item {
	background: transparent;
	padding: 10px;
}
.contador-pro-container.cp-preset-hero .contador-pro-number {
	font-size: 5.5rem;
	font-weight: 900;
	background: linear-gradient(135deg, #6c5ce7, #a01a7d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.contador-pro-container.cp-preset-hero .contador-pro-label {
	font-size: 0.9rem;
	font-weight: 700;
	color: #2d3436;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-top: 10px;
}

/* 5. Numbers Only Preset */
.contador-pro-container.cp-preset-numbers .contador-pro-label {
	display: none !important;
}
.contador-pro-container.cp-preset-numbers .contador-pro-number {
	font-size: 4rem;
	color: #1e272e;
}

/* ==========================================================================
   Accessibility & RTL
   ========================================================================== */

/* WCAG screen-reader-only utility class */
.contador-pro-screen-reader {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* RTL Support */
body.rtl .contador-pro-container,
.rtl .contador-pro-container {
	direction: rtl;
}

body.rtl .contador-pro-items-wrapper,
.rtl .contador-pro-items-wrapper {
	direction: rtl;
}
