/*
Theme Name: ChapiPresta Theme
Theme URI: https://chapipresta.com
Author: DanielDev
Author URI: https://chapipresta.com
Description: Tema personalizado para el sitio web de ChapiPresta.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-theme, tailwindcss
Text Domain: chapipresta
*/

/* --- ESTILOS BASE Y GLOBALES --- */
body {
    font-family: 'Montserrat', sans-serif;
    background-color: #ffffff;
    color: #1a1a1a;
}

.font-poppins { 
    font-family: 'Poppins', sans-serif; 
}

/* --- ESTILOS DEL HERO Y SECCIONES --- */
.hero-bg {
    background-image: linear-gradient(rgba(10, 10, 20, 0.75), rgba(10, 10, 20, 0.75)), url('https://images.unsplash.com/photo-1621588141445-d3600a0b1de5?q=80&w=2070&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.text-shadow { 
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5); 
}

.calculator-section-bg {
    background-color: #f0f4f8;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23d0d9e3' fill-opacity='0.4'%3E%3Cpath opacity='.5' d='M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* --- ESTILOS DE LA CALCULADORA --- */

.slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: linear-gradient(to right, #0052cc var(--progress-percent, 0%), #e2e8f0 var(--progress-percent, 0%));
  border-radius: 9999px;
  height: 10px;
}

.slider-thumb::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%;
  border: 3px solid #0052cc;
  box-shadow: 0 1px 5px rgba(0, 82, 204, 0.4);
  cursor: pointer;
  margin-top: -7px;
  transition: transform 0.2s ease-in-out;
}

.slider-thumb:hover::-webkit-slider-thumb {
    transform: scale(1.1);
}

.slider-thumb::-moz-range-thumb {
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%;
  border: 3px solid #0052cc;
  box-shadow: 0 1px 5px rgba(0, 82, 204, 0.4);
  cursor: pointer;
  transition: transform 0.2s ease-in-out;
}

.slider-thumb:hover::-moz-range-thumb {
    transform: scale(1.1);
}

/* --- ESTILOS DEL SCROLLER DE PAGOS --- */
.payment-scroller {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 1rem;
}
.payment-scroller::-webkit-scrollbar { height: 8px; }
.payment-scroller::-webkit-scrollbar-track { background: #e0e0e0; border-radius: 10px; }
.payment-scroller::-webkit-scrollbar-thumb { background: #0052cc; border-radius: 10px; }
.payment-card {
    flex: 0 0 160px;
    scroll-snap-align: start;
}

/* --- Estilos para la página de Políticas --- */
.policy-section h2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 1.5rem;
    margin-top: 2.5rem;
    line-height: 1.25;
    font-size: 2.25rem;
}
.policy-section h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 1rem;
    margin-top: 2rem;
    line-height: 1.25;
    font-size: 1.75rem;
}
.policy-section p, .policy-section li {
    line-height: 1.75;
    color: #4a4a4a;
    font-size: 1.05rem;
}
.policy-section p { margin-bottom: 1.25rem; }
.policy-section ul, .policy-section ol {
    margin-bottom: 1.25rem;
    margin-left: 1.5rem;
    list-style-type: disc;
}
.policy-section ol { list-style-type: decimal; }
.policy-section li { margin-bottom: 0.5rem; }
.policy-section a { color: #0052cc; text-decoration: underline; }
.policy-section strong { font-weight: 700; color: #1a1a1a; }

.sticky-index {
    position: sticky;
    top: 100px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}
.sticky-index a {
    display: block;
    padding: 0.5rem 0.75rem;
    color: #6b7280;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
    border-left: 2px solid transparent;
}
.sticky-index a:hover {
    color: #0052cc;
    border-left-color: #0052cc;
    transform: translateX(5px);
}
.sticky-index a.active {
    color: #0052cc;
    border-left-color: #0052cc;
    font-weight: 700;
    transform: translateX(5px);
}
.sticky-index a.sub-item {
    padding-left: 1.5rem;
    font-size: 0.9rem;
    font-weight: 400;
}

.testimonials-scroller {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	gap: 1.5rem;
	padding: 1rem 0 2rem 0;
}

.testimonials-scroller::-webkit-scrollbar {
	height: 10px;
}

.testimonials-scroller::-webkit-scrollbar-track {
	background: #e2e8f0;
	border-radius: 10px;
}

.testimonials-scroller::-webkit-scrollbar-thumb {
	background: #0052cc;
	border-radius: 10px;
}

.testimonials-scroller::-webkit-scrollbar-thumb:hover {
	background: #0042a0;
}

.testimonial-card {
	flex: 0 0 350px;
	scroll-snap-align: start;
	background: white;
	border-radius: 20px;
	padding: 2rem;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
	border: 1px solid #f1f5f9;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.testimonial-card::before {
	content: '"';
	position: absolute;
	top: -20px;
	left: 20px;
	font-size: 120px;
	color: #0052cc;
	opacity: 0.1;
	font-family: serif;
	font-weight: bold;
}

.testimonial-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
	border-color: #0052cc;
}

.star-rating {
	display: inline-flex;
	gap: 0.25rem;
	margin-bottom: 1rem;
}

.star {
	width: 20px;
	height: 20px;
	fill: #fbbf24;
}

@media (max-width: 768px) {
	.testimonial-card {
		flex: 0 0 300px;
	}
}

@media (max-width: 480px) {
	.testimonial-card {
		flex: 0 0 280px;
	}
}