/* ============================================
   FIESTAS FIN DE SEMANA - Estilos específicos
   ============================================ */

/* Variables */
:root {
	--color-pink: #FF6B9D;
	--color-purple: #667eea;
	--color-orange: #FFA726;
}

/* Alert Boxes */
.alert-tematicas {
	background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
	border-left: 4px solid var(--color-pink);
	border-radius: 8px;
	padding: 20px;
}

/* Section Headers */
.h-sub {
	color: var(--color-pink);
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Feature Cards */
.feature-card {
	background: white;
	padding: 30px;
	border-radius: 12px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
}

.feature-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.feature-icon {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	color: white;
}

.icon-pink { background: linear-gradient(135deg, var(--color-pink), #FF4081); }
.icon-purple { background: linear-gradient(135deg, var(--color-purple), #764ba2); }
.icon-orange { background: linear-gradient(135deg, var(--color-orange), #FF7043); }

/* Info Section */
.info-image {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.info-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Info Cards */
.info-card {
	background: white;
	padding: 35px;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	height: 100%;
}

.info-card h3 {
	color: var(--color-pink);
	margin-bottom: 20px;
}

.info-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.info-card ul li {
	padding: 12px 0;
	border-bottom: 1px solid #f0f0f0;
	display: flex;
	align-items: start;
}

.info-card ul li:last-child {
	border-bottom: none;
}

.info-card ul li i {
	color: var(--color-pink);
	margin-right: 12px;
	margin-top: 3px;
	font-size: 1.1rem;
	flex-shrink: 0;
}

/* Benefits Grid */
.benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 30px;
}

.benefit-item {
	text-align: center;
	padding: 30px 25px;
	background: white;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
}

.benefit-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.benefit-icon {
	font-size: 3rem;
	color: var(--color-pink);
	margin-bottom: 15px;
}

.benefit-item h4 {
	font-size: 1.1rem;
	margin-bottom: 10px;
	color: #333;
}

.benefit-item p {
	font-size: 0.95rem;
	color: #666;
	margin: 0;
}

/* CTA Section */
.cta-section {
	background: linear-gradient(135deg, var(--color-pink) 0%, #FF4081 100%);
	color: white;
	padding: 70px 0;
}

.cta-section h2 {
	color: white;
	margin-bottom: 20px;
	font-size: 2.5rem;
}

.cta-section p {
	opacity: 0.95;
}

/* Buttons */
.btn-primary-custom {
	background: var(--color-pink);
	border-color: var(--color-pink);
	color: white;
	font-weight: 600;
	padding: 12px 30px;
	border-radius: 50px;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-block;
}

.btn-primary-custom:hover {
	background: #ff4081;
	border-color: #ff4081;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(255, 107, 157, 0.3);
	color: white;
	text-decoration: none;
}

.btn-outline-custom {
	border: 2px solid var(--color-pink);
	color: var(--color-pink);
	background: transparent;
	font-weight: 600;
	padding: 10px 25px;
	border-radius: 8px;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-block;
}

.btn-outline-custom:hover {
	background: var(--color-pink);
	color: white;
	transform: translateY(-2px);
	text-decoration: none;
}

.btn-light-custom {
	background: white;
	color: var(--color-pink);
	border: none;
	font-weight: 600;
	padding: 15px 40px;
	border-radius: 50px;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-block;
	font-size: 1.1rem;
}

.btn-light-custom:hover {
	background: #f5f5f5;
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
	color: var(--color-pink);
	text-decoration: none;
}

/* Responsive (primera mitad) */
@media (max-width: 991px) {
	.benefits-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.cta-section h2 {
		font-size: 2rem;
	}
}

@media (max-width: 767px) {
	.benefits-grid {
		grid-template-columns: 1fr;
	}
	.cta-section {
		padding: 50px 0;
	}
	.cta-section h2 {
		font-size: 1.75rem;
	}
	.btn-light-custom {
		padding: 12px 30px;
		font-size: 1rem;
		width: 100%;
		margin-bottom: 10px;
	}
}

@media (max-width: 575px) {
	.feature-icon {
		width: 60px;
		height: 60px;
		font-size: 1.6rem;
	}
	.benefit-icon {
		font-size: 2.5rem;
	}
}

/* SEGUNDA MITAD  */

body {
	font-family: 'Lato', sans-serif;
	color: #333;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Grandstander', cursive;
	font-weight: 700;
}

/* Hero Section */
.hero-section {
	background: linear-gradient(135deg, rgba(255, 107, 157, 0.9) 0%, rgba(255, 64, 129, 0.9) 100%), url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
	padding: 80px 0 60px;
	position: relative;
}

.hero-title {
	font-size: 3rem;
	color: white;
	text-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.hero-subtitle {
	font-size: 1.3rem;
	color: rgba(255, 255, 255, 0.95);
}

/* Alert Boxes */
.alert-weekend {
	background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
	border-left: 4px solid var(--color-orange);
	border-radius: 8px;
}

/* Paquete Cards Modernos */
.paquete-card-modern {
	background: white;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease;
	height: 100%;
	border: 2px solid transparent;
}

.paquete-card-modern:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

.paquete-card-modern.featured {
	border-color: var(--color-pink);
	transform: scale(1.03);
}

.paquete-header {
	padding: 25px;
	text-align: center;
	border-bottom: 2px solid #f5f5f5;
}

.paquete-badge {
	padding: 10px 20px;
	border-radius: 50px;
	font-weight: 600;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-block;
	margin-bottom: 15px;
}

.badge-happy { 
	background: linear-gradient(135deg, var(--color-pink), #FF4081);
	color: white;
}

.badge-inolvidable { 
	background: linear-gradient(135deg, var(--color-orange), #FF7043);
	color: white;
}

.badge-venjugar { 
	background: linear-gradient(135deg, var(--color-purple), #764ba2);
	color: white;
}

.precio-display {
	font-size: 2.5rem;
	font-weight: 700;
	margin: 15px 0;
}

.precio-happy { color: var(--color-pink); }
.precio-inolvidable { color: var(--color-orange); }
.precio-venjugar { color: var(--color-purple); }

.paquete-features {
	list-style: none;
	padding: 0;
}

.paquete-features li {
	padding: 10px 0;
	border-bottom: 1px solid #f5f5f5;
	display: flex;
	align-items: start;
}

.paquete-features li:last-child {
	border-bottom: none;
}

.paquete-features i {
	margin-right: 10px;
	margin-top: 4px;
	font-size: 0.9rem;
}

/* Info Section con imagen */
.info-section {
	background: #f9f9f9;
}

/* Responsive (segunda mitad) */
@media (max-width: 991px) {
	.hero-title { font-size: 2.5rem; }
	.paquete-card-modern.featured { transform: scale(1); }
}

@media (max-width: 767px) {
	.hero-section { padding: 60px 0 40px; }
	.hero-title { font-size: 2rem; }
	.hero-subtitle { font-size: 1.1rem; }
	.precio-display { font-size: 2rem; }
}

@media (max-width: 575px) {
	.hero-title { font-size: 1.7rem; }
}

/* ============================================
   ESTILOS ESPECÍFICOS PARA TABLA DE PAQUETES 
   (#preciospequenas)
   ============================================ */

#preciospequenas .col-lg-4,
#preciospequenas .col-md-4,
#preciospequenas .col-sm-6,
#preciospequenas .col-12 {
	display: flex !important;
	flex-direction: column !important;
}

#preciospequenas .single-event {
	width: 100% !important;
	min-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	margin-left: 0 !important;
	margin-right: 10px !important;
}

#preciospequenas .single-event {
	transition: all 0.3s ease;
}

#preciospequenas .single-event:hover {
	box-shadow: 0 12px 24px rgba(0,0,0,0.15) !important;
	transform: translateY(-5px);
}

@media (max-width: 991px) {
	#preciospequenas .row[style*="display: flex"] {
		margin: -15px !important;
	}
}

@media (max-width: 768px) {
	#preciospequenas .row[style*="display: flex"] {
		flex-direction: column;
		align-items: center;
	}
	
	#preciospequenas .col-lg-4,
	#preciospequenas .col-md-4 {
		max-width: 100%;
		flex-basis: 100%;
		padding: 10px !important;
	}
	
	#preciospequenas .single-event {
		transform: none !important;
		margin-bottom: 15px;
	}
	
	#preciospequenas h2 {
		font-size: 1.3rem;
	}
}

@media (max-width: 576px) {
	#preciospequenas .section-header h2 {
		font-size: 1.3rem;
	}
	
	#preciospequenas .event-image {
		padding: 15px !important;
	}
	
	#preciospequenas .event-image img {
		width: 60px !important;
		height: 60px !important;
	}
	
	#preciospequenas .event-description {
		padding: 15px !important;
	}
	
	#preciospequenas .section-header p {
		font-size: 0.95rem;
	}
	
	#preciospequenas h2.text-primary {
		font-size: 1.1rem !important;
	}
	
	#preciospequenas .btn {
		width: 100%;
		font-size: 0.9rem;
		padding: 10px 12px !important;
	}
	
	#preciospequenas ul li {
		font-size: 0.85rem !important;
	}
}

@media (min-width: 992px) {
	#preciospequenas .row[style*="display: flex"] {
		display: flex !important;
		align-items: stretch !important;
	}
}

/* Corrección botones CTA Hover */
.btn-one:hover {
	background-color: #667eea !important;
	border-color: #667eea !important;
	color: white !important;
}

.btn-three:hover {
	background-color: #FFA726 !important;
	border-color: #FFA726 !important;
	color: white !important;
}