/**
 * Futuros Vinotinto FC - Design Tokens, Reset & Button Styles
 */

:root {
	/* Color Palette (Brand Identity) */
	--fv-vinotinto: #650016;
	--fv-vinotinto-dark: #3D000D;
	--fv-vinotinto-light: #8D1B36;
	--fv-gold: #D6A84B;
	--fv-gold-light: #F2D288;
	--fv-gold-dark: #B8892D;
	--fv-white: #FFFFFF;
	--fv-dark: #111111;
	--fv-gray-100: #F7F7F8;
	--fv-gray-200: #EAEAEA;
	--fv-gray-600: #666666;
	--fv-gray-800: #222222;

	/* Typography */
	--fv-font-heading: 'Bebas Neue', 'Impact', sans-serif;
	--fv-font-body: 'Montserrat', system-ui, -apple-system, sans-serif;

	/* Border Radius (8-12px Standard) */
	--fv-radius-sm: 8px;
	--fv-radius-md: 12px;
	--fv-radius-lg: 20px;
	--fv-radius-full: 9999px;

	/* Shadows */
	--fv-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
	--fv-shadow-md: 0 8px 24px rgba(61, 0, 13, 0.15);
	--fv-shadow-lg: 0 16px 40px rgba(61, 0, 13, 0.25);

	/* Layout & Spacing */
	--fv-container-max: 1200px;
	--fv-header-height: 84px;
	--fv-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* CSS Reset & Global Base */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	font-family: var(--fv-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--fv-dark);
	background-color: var(--fv-white);
	overflow-x: hidden;
}

.site-container {
	width: 100%;
	max-width: var(--fv-container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* Typography Hierarchy */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--fv-font-heading);
	letter-spacing: 0.5px;
	line-height: 1.1;
	text-transform: uppercase;
}

p {
	margin-bottom: 1rem;
}

p:last-child {
	margin-bottom: 0;
}

a {
	color: inherit;
	text-decoration: none;
	transition: var(--fv-transition);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Unified Button Component (8-12px rounded borders) */
.fv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 24px;
	border-radius: var(--fv-radius-md);
	font-family: var(--fv-font-body);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	border: 1px solid transparent;
	transition: var(--fv-transition);
	white-space: nowrap;
}

.fv-btn:hover {
	transform: translateY(-2px);
}

.fv-btn--gold {
	background: linear-gradient(135deg, var(--fv-gold) 0%, var(--fv-gold-dark) 100%);
	color: var(--fv-vinotinto-dark);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.fv-btn--gold:hover {
	background: linear-gradient(135deg, var(--fv-gold-light) 0%, var(--fv-gold) 100%);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.fv-btn--vinotinto {
	background-color: var(--fv-vinotinto);
	color: var(--fv-white);
}

.fv-btn--vinotinto:hover {
	background-color: var(--fv-vinotinto-light);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.fv-btn--unopago {
	background-color: #0D6EFD;
	color: var(--fv-white);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.fv-btn--unopago:hover {
	background-color: #0b5ed7;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.fv-btn--whatsapp {
	background-color: #25D366;
	color: var(--fv-white);
}

.fv-btn--whatsapp:hover {
	background-color: #20bd5a;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.fv-btn--outline-white {
	background-color: transparent;
	color: var(--fv-white);
	border: 1.5px solid rgba(255, 255, 255, 0.85);
}

.fv-btn--outline-white:hover {
	background-color: var(--fv-white);
	color: var(--fv-vinotinto-dark);
}

.fv-btn--lg {
	padding: 16px 32px;
	font-size: 16px;
}

.fv-btn--xl {
	padding: 18px 36px;
	font-size: 18px;
}

@media (max-width: 768px) {
	.fv-btn--xl {
		padding: 13px 20px;
		font-size: 13.5px;
		letter-spacing: 0.3px;
	}

	.fv-btn--lg {
		padding: 12px 18px;
		font-size: 13px;
	}
}

.fv-btn--block {
	width: 100%;
}

.fv-btn--pill {
	border-radius: var(--fv-radius-full);
}

.fv-btn__icon {
	flex-shrink: 0;
}

/* Accessibility */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--fv-vinotinto-dark, #3b0a13);
	border-radius: 4px;
	box-shadow: 0 0 2px 2px rgba(214, 168, 75, 0.6);
	clip: auto !important;
	clip-path: none;
	color: var(--fv-white, #ffffff);
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 8px;
	line-height: normal;
	padding: 12px 18px;
	text-decoration: none;
	top: 8px;
	width: auto;
	z-index: 100000;
}
