:root { --primary-color: #211612; --accent-color: #373434; --text-color: #4d4948; --footer-bg: #ffffff; --light-color: #ffffff; --error-color: #dc3545; --success-color: #28a745; --dark-gradient: linear-gradient(135deg, #2c234d, #1a1531); --accent-gradient: linear-gradient(135deg, #4799f0, #35cdf0); --overlay-dark: rgba(44, 35, 77, 0.9); --container-width: 1240px; --section-spacing: 45px; --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); --hover-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); }
*, ::after, ::before { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Poppins', sans-serif, sans-serif; line-height: 1.6; color: var(--text-color); margin: 0; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4, h5, h6 { color: var(--primary-color); font-weight: 600; line-height: 1.6; margin-bottom: 2.5rem; margin-top: 3.5rem;}
h1 { font-size: 4rem; }
h2 { font-size: 3.2rem; }
h3 { font-size: 2.5rem; }
h4 { font-size: 2.1rem; }
h5 { font-size: 2.1rem; }
h6 { font-size: 1.8rem; }
p { margin-bottom: 1rem; color: var(--text-color); line-height: 2.2; font-size: 1.7rem; }
a { color: var(--accent-color); text-decoration: none; transition: all 0.3s ease; }
a:hover { color: var(--primary-color); }
.container { max-width: var(--container-width); width: 100%; margin: 0 auto; padding: 0 20px; }
.max-width-800 { max-width: 800px; margin: 0 auto; padding: 0 20px; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-gradient { background: var(--accent-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.mb-1 { margin-bottom: 1rem; }
.mb-2 { margin-bottom: 2rem; }
.mb-3 { margin-bottom: 3rem; }
.mb-4 { margin-bottom: 4rem; }
.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }
.mt-4 { margin-top: 4rem; }
.py-1 { padding-top: 1rem; padding-bottom: 1rem; }
.py-2 { padding-top: 2rem; padding-bottom: 2rem; }
.py-3 { padding-top: 3rem; padding-bottom: 3rem; }
.py-4 { padding-top: 4rem; padding-bottom: 4rem; }
.px-1 { padding-left: 1rem; padding-right: 1rem; }
.px-2 { padding-left: 2rem; padding-right: 2rem; }
.px-3 { padding-left: 3rem; padding-right: 3rem; }
.px-4 { padding-left: 4rem; padding-right: 4rem; }
.fade-in { animation: fadeIn 0.5s ease-in; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.hover-scale { transition: transform 0.3s ease; }
.hover-scale:hover { transform: scale(1.05); }
.hover-shadow { transition: box-shadow 0.3s ease; }
.hover-shadow:hover { box-shadow: var(--hover-shadow); }
.sticky-header.is-sticky { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px);border-bottom: 1px solid #f9f9f9;}
.logo { padding: 0.5rem 0; }
.logo img { width: 190px; height: auto; display: block; }
.navbar-nav { list-style: none; margin: 0; padding: 0; text-align: right; padding-top: 2rem; }
.nav-item { display: inline-block; margin-left: 5.5rem; }
.nav-item:first-child { margin-left: 0; }
.nav-link { font-weight: 500; color: var(--primary-color); font-size: 15px; text-decoration: none; transition: color 0.3s; }
.nav-link:hover { color: var(--accent-color); }
.navbar-toggler { display: none; border: none; padding: 0.5rem; background: transparent; cursor: pointer; }
.button-primary { background: var(--accent-gradient); color: white; padding: 1.5rem 4rem; border-radius: 10px; text-decoration: none; font-weight: 500; display: inline-block; transition: all 0.3s ease; border: none; cursor: pointer; text-align: center; height: 56px; }
.button-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(82, 182, 242, 0.3); color: white; }
.button-secondary { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); color: white; padding: 12px 30px; border-radius: 30px; text-decoration: none; font-weight: 500; display: inline-block; transition: all 0.3s ease; border: 1px solid rgba(255, 255, 255, 0.2); }
.button-secondary:hover { background: rgba(255, 255, 255, 0.2); color: white; }
.card { background: white; border-radius: 8px; padding: 1.5rem; margin-bottom: 2rem; box-shadow: var(--card-shadow); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card:hover { transform: translateY(-5px); box-shadow: var(--hover-shadow); }
.feature-card { padding: 2rem; border-radius: 15px; background: white; box-shadow: var(--card-shadow); transition: transform 0.3s ease; margin-bottom: 2rem; }
.feature-card:hover { transform: translateY(-5px); }
.testimonial-card { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); padding: 2rem; border-radius: 15px; margin: 1rem; }
.form-group { margin-bottom: 1.5rem; }
label { display: block; margin-bottom: 0.5rem; color: var(--primary-color); font-weight: 500; }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select { width: 100%; padding: 12px; border: 1px solid #eee; border-radius: 3px; font-family: 'Poppins', sans-serif; font-size: 14px; transition: all 0.3s ease; height: 60px; background: #f9faff; }
input:focus, textarea:focus, select:focus { border-color: var(--accent-color); outline: none; box-shadow: 0 0 0 3px rgba(82, 104, 242, 0.1); }
textarea { min-height: 150px; resize: vertical; }
.input-group { display: flex; gap: 1rem; }
.slider-container { position: relative; width: 100%; margin: 0; overflow: hidden; }
.slider { display: flex; width: 300%; transition: transform 0.5s ease-in-out; }
.slide { position: relative; flex: 1 0 33.333%; }
.slide img { width: 100%; height: 600px; object-fit: cover; }
.slide-content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; background: rgba(0,0,0,0.4); color: white; padding: 2rem; }
.slider-buttons { position: absolute; top: 50%; width: 100%; transform: translateY(-50%); display: flex; justify-content: space-between; padding: 0 2rem; z-index: 10; }
.slider-button { background-color: rgba(255,255,255,0.8); border: none; width: 50px; height: 50px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; font-size: 20px; }
.slider-dots { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.8rem; z-index: 10; }
.dot { width: 12px; height: 12px; border-radius: 50%; background-color: rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease; }
.dot.active { background-color: white; transform: scale(1.2); }
.footer-section { background-color: var(--footer-bg); padding: 4rem 0 8rem;}
.footer-section p { font-size: 15px; margin-bottom: 0; color: var(--text-color); }
.social-links { display: flex; gap: 1rem; margin-top: 1rem; }
.social-links a { width: 40px; height: 40px; border-radius: 50%; background: var(--accent-gradient); display: inline-flex; align-items: center; justify-content: center; color: white; transition: transform 0.3s ease; }
.social-links a:hover { transform: translateY(-3px); }
#contactForm {padding-top:3rem;}
.section-hero{padding:7rem 1rem 10rem 1rem;margin-bottom:3rem;position:relative;text-align:left;background-size:cover;background-position:center center;position:relative}
.section-hero::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.59)}
.section-hero div.container h1,.section-hero div.container p { color: var(--light-color); }
.section-hero div.container h1 { font-size:4.5rem } .section-hero div.container p { font-size:1.7rem; max-width:1080px;}
.hero-video-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.hero-video-container::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--overlay-dark); }
.hero-content { position: relative; z-index: 2; color: var(--light-color); max-width: 800px; margin: 0 auto; text-align: center; padding: 0 20px; }
.hero-title { font-size: 3.5rem; font-weight: 700; margin-bottom: 1.5rem; line-height: 1.2; color: white; }
.botonhero{margin-top:3rem;}
.home .section-hero{background:url("https://fletespuntaarenas.cl/imagenes/hero/home.webp");background-size:cover;background-position:center center;padding:13rem 1rem 17rem 1rem}
.somos .section-hero{background:url("https://fletespuntaarenas.cl/imagenes/hero/somos.jpg");background-size:cover;background-position:center center}
.servicios .section-hero{background:url("https://fletespuntaarenas.cl/imagenes/hero/servicios.webp");background-size:cover;background-position:center center}
.contacto .section-hero{background:url("https://fletespuntaarenas.cl/imagenes/hero/contacto.webp");background-size:cover;background-position:center center}
.info .section-hero{background:url("https://fletespuntaarenas.cl/imagenes/hero/info1.jpg");background-size:cover;background-position:center center}
.info2 .section-hero{background:url("https://fletespuntaarenas.cl/imagenes/hero/info2.jpg");background-size:cover;background-position:center center}
.info3 .section-hero{background:url("https://fletespuntaarenas.cl/imagenes/hero/info3.jpg");background-size:cover;background-position:center center}
.hero-subtitle { font-size: 1.5rem; margin-bottom: 2rem; opacity: 0.9; color: white; }
.products-grid { padding: 1rem 0 3rem; }
.simple {padding: 1rem 0 4rem;}
.simple2 {padding: 1rem 0 2rem;}
.cuadros {padding: 5rem 0 3rem;}
.cuadros2 {padding: 0rem 0 8rem;}
.product-card { background: #fff; border-radius: 8px; padding: 3rem; margin-bottom: 2rem; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 5px 20px rgba(0,0,0,0.1); }
.product-image { width: 100%; height: auto; object-fit: cover; border-radius: 4px; margin-bottom: 1.5rem; }
.product-title { font-size: 18px; color: var(--primary-color); margin: 0 0 0.5rem; font-weight: 600; }
.product-description { font-size: 16px; color: var(--text-color); margin-bottom: 1rem;padding: 1rem 0; }
.product-price { font-size: 20px; color: var(--accent-color); font-weight: 600; margin-bottom: 1rem; }
.product-header { padding: var(--section-spacing) 0; background-color: #f9f9f9; }
.product-main { padding: var(--section-spacing) 0; }
.product-section { padding: var(--section-spacing) 0; border-top: 1px solid #eee; }
.product-section:last-child { border-bottom: 1px solid #eee; }
.product-section h2 { color: var(--primary-color); font-size: 24px; margin-bottom: 1.5rem; }
.feature-list { list-style: none; padding: 0; }
.feature-list li { margin-bottom: 1rem; padding-left: 1.5rem; position: relative; }
.feature-list li::before { content: "•"; color: var(--accent-color); font-weight: bold; position: absolute; left: 0; }
.checkout-header { background: white; padding: 1rem 0; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.checkout-form { background: white; padding: 2rem; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); margin-bottom: 2rem; }
.form-title { color: var(--primary-color); font-size: 1.5rem; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; }
.order-summary { background: white; padding: 2rem; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); position: sticky; top: 2rem; }
.summary-item { display: flex; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; }
.summary-total { font-weight: 600; color: var(--primary-color); font-size: 1.2rem; }
.pricing-section { padding: var(--section-spacing) 0; background: #f8f9ff; }
.price-card { background: white; padding: 3rem 2rem; border-radius: 15px; box-shadow: var(--card-shadow); text-align: center; transition: transform 0.3s ease; }
.price-card.featured { transform: scale(1.05); border: 2px solid var(--accent-color); }
.price-amount { font-size: 3rem; font-weight: 700; color: var(--primary-color); margin: 1.5rem 0; }
.faq-section { padding: var(--section-spacing) 0; }
.faq-item { margin-bottom: 1.5rem; border-bottom: 1px solid rgba(0, 0, 0, 0.1); padding-bottom: 1.5rem; }
.faq-question { font-weight: 600; color: var(--primary-color); margin-bottom: 1rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-answer { display: none; padding-top: 1rem; }
.faq-answer.active { display: block;}
section.products-grid div.container div.row{ margin-top: 4rem;}
.sticky-header{position:sticky;top:0;background-color:#fff;transition:all 0.3s ease;padding:1.1rem 0;z-index:1000}
.contact-info-card{background:white;padding:4rem 1rem 2.5rem 1rem;border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:3rem;height:100%;transition:transform 0.3s ease}
.home .contact-info-card {padding: 1.7rem 1.7rem 2.5rem 1.7rem}
.pbloquecontacto{margin-bottom:-3px;font-size:1.4rem}
p.pbloquecontacto a{color:var(--text-color)}
.contact-info-card:hover{transform:translateY(-5px)}
.contact-icon{color:var(--accent-color);margin-bottom:.5rem;transition:transform 0.3s ease}
.contact-info-card:hover .contact-icon{transform:scale(1.1)}
.contact-info-card h3{font-size:1.8rem;margin-bottom:.5rem;margin-top:1rem}
.map-container{border-radius:8px;overflow:hidden;box-shadow:var(--card-shadow)}
.footer-links{list-style:none;padding:1rem 0rem 2rem 0rem;margin:0}
.footer-links li{margin-bottom:2rem}
.footer-links a{color:var(--text-color);text-decoration:none;transition:color 0.3s ease;align-items:center;font-size:16px}
.footer-links a:hover{color:var(--accent-color)}
.link-arrow{opacity:0;transform:translateX(-10px);transition:all 0.3s ease;position:relative;top:3px}
.footer-links a:hover .link-arrow{opacity:1;transform:translateX(0)}
.map-section{width:100%;margin:0;padding:0}
.map-container{width:100%;line-height:0}
.map-container iframe{width:100%;height:450px;border:none}
.copyright-section{background-color:var(--light-color);padding:5rem 0;color:var(--text-color);border-top:1px solid #f3f3f3}
.copyright-section p{margin:0;font-size:1.4rem;color:var(--text-color)}
.cta-light{background:linear-gradient(135deg,#fcfcfc 0%,#f0f1f3 100%);padding:8rem 0;margin-top:4rem}
.cta-content{max-width:700px;margin:0 auto;text-align:center}
.cta-light h3{color:var(--primary-color);margin-bottom:1.5rem;font-size:3.2rem}
.cta-light p{color:var(--text-color);font-size:1.8rem;margin-bottom:3rem}
.cta-buttons{display:flex;gap:2rem;justify-content:center}
.button-outline{font-size:1.6rem;padding:1.2rem 3rem;border:2px solid var(--primary-color);color:var(--primary-color);border-radius:10px;transition:all 0.3s ease;text-decoration:none}
.button-outline:hover{background:var(--primary-color);color:white}
@media (max-width:1280px){.container{max-width:100%;padding:0 30px}}
@media (max-width:768px){.logo img{width: 150px;}.cta-light p,.product-description, .section-hero div.container p, p, .footer-links a{font-size:1.4rem;}.cuadros {padding: 5rem 0 0rem;}.section-hero div.container h1 { font-size:2rem }.home .section-hero {padding: 6rem 1rem 7rem 1rem;}.stat-number{font-size: 2rem;}.cta-light{padding:6rem 0}.cta-light h3{font-size:2.8rem}.cta-buttons{gap:1.5rem}.copyright-section{padding-bottom:9rem}.navbar-toggler{display:block;position:absolute;right:1rem;top:0.63rem}.navbar-nav{display:none;position:absolute;top:122%;left:0;right:0;background-color:#fff;padding:1rem;text-align:left;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.navbar-nav.active{display:block}.nav-item{display:block;margin:0;line-height:3}.nav-item:last-child{border-bottom:none}.nav-link{display:block;padding:0.75rem 0}.input-group{flex-direction:column}.slide img{height:400px}.slider-button{width:40px;height:40px;font-size:16px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.container{padding:0 20px}.max-width-800{padding:0 15px}.contact-info-card{margin-bottom:2rem}.one-third.column{width:100%;margin-left:0}.contact-icon{width:36px;height:36px}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.timer-container{flex-wrap:wrap;gap:1rem}.timer-item{min-width:80px;padding:0.75rem 1rem}.price-card.featured{transform:none}.product-section{padding:2rem 0}.checkout-form,.order-summary{padding:1.5rem}}
@media (max-width:480px){h1{font-size:2.2rem}h2{font-size:2rem}h3{font-size:2rem}.hero-title{font-size:2rem}.timer-number{font-size:2rem}.price-amount{font-size:2.5rem}}
.whatsapp {
    position: fixed;
    width: 52px; /* Aumentamos el ancho */
    height: 52px; /* Aumentamos el alto */
    bottom: 15px; /* Ajustamos la posición para compensar el aumento de tamaño */
    right: 23px; 
    background-color: #25d366;
    color: white !important;
    border-radius: 50px;
    text-align: center;
    font-size: 32px;
    z-index: 100;
    transition: transform 0.2s ease; /* Transición para el efecto de pulsación */
}

.whatsapp-icon {
    margin-top: 10px;
}
.whatsapp::after { /* Pseudo-elemento para la onda expansiva */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #128C7E; /* Color más intenso para la onda */
    opacity: 0;
    animation: pulse 2s ease-out infinite; /* Animación cada 2 segundos */
}
@keyframes pulse {
    0% {
        opacity: 0.5;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(2);
    }
}