/* ==========================================================================
   main.css — Base styles, layout, grid, typography, utilities
   ========================================================================== */

/* CSS Custom Properties */
:root {
	--mt-primary: #E91E8C;
	--mt-primary-dark: #C4177A;
	--mt-primary-light: #FFF0F7;
	--mt-primary-lighter: #FFF8FC;
	--mt-secondary: #7B2D8E;
	--mt-dark: #1A1A2E;
	--mt-text: #333333;
	--mt-text-muted: #888888;
	--mt-text-light: #AAAAAA;
	--mt-border: #E8E8E8;
	--mt-border-light: #F0F0F0;
	--mt-bg: #FFFFFF;
	--mt-bg-light: #F9F9F9;
	--mt-bg-dark: #1A1A2E;
	--mt-success: #27AE60;
	--mt-warning: #F39C12;
	--mt-danger: #E74C3C;
	--mt-star: #FFC107;
	--mt-radius: 8px;
	--mt-radius-sm: 4px;
	--mt-radius-lg: 12px;
	--mt-radius-xl: 16px;
	--mt-radius-full: 9999px;
	--mt-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
	--mt-shadow: 0 2px 8px rgba(0,0,0,0.08);
	--mt-shadow-lg: 0 4px 16px rgba(0,0,0,0.1);
	--mt-transition: 0.2s ease;
	--mt-container: 1280px;
	--mt-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	font-family: var(--mt-font);
	font-size: 14px;
	line-height: 1.6;
	color: var(--mt-text);
	background: var(--mt-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--mt-transition); }
a:hover { color: var(--mt-primary); }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select, textarea { font-family: inherit; font-size: inherit; }

/* Container */
.mt-container {
	max-width: var(--mt-container);
	margin: 0 auto;
	padding: 0 20px;
	width: 100%;
}

/* Screen reader only */
.mt-sr-only {
	position: absolute; width: 1px; height: 1px;
	padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Button base */
.mt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 20px;
	font-size: 13px;
	font-weight: 600;
	border-radius: var(--mt-radius);
	transition: all var(--mt-transition);
	white-space: nowrap;
	border: 2px solid transparent;
}

.mt-btn--primary {
	background: var(--mt-primary);
	color: #fff;
}
.mt-btn--primary:hover {
	background: var(--mt-primary-dark);
	color: #fff;
}

.mt-btn--outline {
	background: transparent;
	border-color: var(--mt-primary);
	color: var(--mt-primary);
}
.mt-btn--outline:hover {
	background: var(--mt-primary);
	color: #fff;
}

.mt-btn--sm {
	padding: 6px 14px;
	font-size: 12px;
}

.mt-btn--lg {
	padding: 14px 28px;
	font-size: 15px;
}

/* Section layout */
.mt-section {
	padding: 48px 0;
}

.mt-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.mt-section__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--mt-dark);
}

.mt-section__link {
	font-size: 13px;
	font-weight: 600;
	color: var(--mt-primary);
	display: flex;
	align-items: center;
	gap: 4px;
}

.mt-section__link:hover {
	color: var(--mt-primary-dark);
}

/* Rating */
.mt-rating {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 13px;
	color: var(--mt-text-muted);
}

.mt-rating__star {
	color: var(--mt-star);
	font-size: 14px;
}

.mt-rating__value {
	font-weight: 600;
	color: var(--mt-text);
}

/* Badge */
.mt-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	font-size: 11px;
	font-weight: 700;
	border-radius: var(--mt-radius-sm);
}

.mt-badge--sale {
	background: var(--mt-primary);
	color: #fff;
}

/* Skeleton loader */
.mt-skeleton {
	background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	animation: mt-shimmer 1.5s infinite;
	border-radius: var(--mt-radius);
}

@keyframes mt-shimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* WordPress required */
.wp-caption { max-width: 100%; }
.wp-caption-text { text-align: center; font-size: 13px; color: var(--mt-text-muted); }
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-left: 1.5em; }
.aligncenter { display: block; margin: 0 auto; }
.gallery-caption { display: block; }

/* Main content wrapper */
.mt-site-main {
	min-height: 60vh;
}
