/*
Theme Name: Better Fast
Theme URI: https://betterFast.com/
Author: Better Fast Srl
Description: Sitio corporativo para Better Fast Srl - soluciones de agua filtrada para autoservicio y hogar.
Version: 1.0.0
Text Domain: better-Fast
*/

:root{
    --bf-navy:#001B6B;
    --bf-cyan:#2DC4FD;
    --bf-blue:#079BF2;
    --bf-white:#FFFFFF;
    --bf-light:#EAF8FE;
    --bf-text:#17315F;
    --bf-muted:#60708F;
    --bf-border:#DCEAF5;
    --bf-shadow:0 12px 35px rgba(0,27,107,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--bf-text);
    background:#fff;
    line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(1180px,92%);margin:0 auto}
.site-header{
    position:sticky;top:0;z-index:1000;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid rgba(0,27,107,.08);
}
.header-inner{
    min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px;
}
.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;color:var(--bf-navy);white-space:nowrap}
.brand-mark{
    width:40px;height:40px;border:4px solid var(--bf-blue);border-radius:50% 50% 50% 8px;
    transform:rotate(-45deg);position:relative;display:inline-block;
}
.brand-mark:after{
    content:"";position:absolute;inset:7px;border:2px solid var(--bf-cyan);border-radius:50% 50% 50% 8px;
}
.brand-name span{color:var(--bf-blue)}
.main-nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:600}
.main-nav a{padding:28px 0;position:relative}
.main-nav a:hover,.main-nav a.active{color:var(--bf-blue)}
.main-nav a.active:after{
    content:"";position:absolute;left:0;right:0;bottom:17px;height:3px;border-radius:3px;background:var(--bf-blue)
}
.header-button,.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    border-radius:999px;padding:13px 24px;font-weight:700;border:2px solid transparent;
    transition:.2s ease;cursor:pointer
}
.header-button,.btn-primary{background:var(--bf-blue);color:#fff}
.header-button:hover,.btn-primary:hover{transform:translateY(-2px);filter:brightness(.96)}
.btn-outline{border-color:#fff;color:#fff;background:transparent}
.btn-outline-dark{border-color:var(--bf-navy);color:var(--bf-navy);background:#fff}
.mobile-toggle{display:none;background:none;border:0;font-size:28px;color:var(--bf-navy)}

.hero{
    position:relative;overflow:hidden;background:var(--bf-navy);color:#fff;
    padding:92px 0 115px;
}
.hero:after{
    content:"";position:absolute;left:-5%;right:-5%;bottom:-90px;height:180px;
    background:linear-gradient(175deg,transparent 40%,rgba(7,155,242,.75) 41%,rgba(45,196,253,.4) 55%,transparent 56%);
    border-radius:50%;transform:rotate(-2deg)
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.hero h1{font-size:clamp(42px,5vw,67px);line-height:1.03;margin:0 0 24px;letter-spacing:-1.5px}
.hero h1 span{color:var(--bf-cyan)}
.hero p{font-size:19px;max-width:590px;color:#e8f6ff;margin:0 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-image{
    min-height:410px;border-radius:22px;background:linear-gradient(145deg,#eaf8fe,#cfeeff);
    display:flex;align-items:center;justify-content:center;box-shadow:var(--bf-shadow);
    color:#5283aa;font-weight:700;text-align:center;padding:25px;
}
.hero-image .placeholder-icon{font-size:75px;color:var(--bf-blue);margin-bottom:12px}
.section{padding:82px 0}
.section-light{background:var(--bf-light)}
.section-title{text-align:center;max-width:760px;margin:0 auto 45px}
.section-title h2{font-size:38px;line-height:1.15;color:var(--bf-navy);margin:0 0 12px}
.section-title p{color:var(--bf-muted);font-size:17px;margin:0}
.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.solution-card{
    display:grid;grid-template-columns:42% 1fr;gap:28px;align-items:center;
    background:#fff;border:1px solid var(--bf-border);border-radius:18px;padding:18px;
    box-shadow:var(--bf-shadow)
}
.product-placeholder{
    min-height:270px;border-radius:13px;background:#eaf5fc;
    display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#5a86a7
}
.placeholder-icon{font-size:60px;color:#70add1;line-height:1}
.solution-card h3{font-size:27px;color:var(--bf-navy);margin:0 0 12px}
.solution-card p{color:var(--bf-muted);margin:0 0 22px}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.benefit{text-align:center;padding:20px 25px}
.benefit-icon{
    width:70px;height:70px;margin:0 auto 18px;border-radius:50%;
    background:#e8f7fe;color:var(--bf-blue);display:flex;align-items:center;justify-content:center;
    font-size:34px
}
.benefit h3{color:var(--bf-navy);font-size:19px;margin:0 0 8px}
.benefit p{color:var(--bf-muted);font-size:15px;margin:0}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{
    background:#fff;border:1px solid var(--bf-border);border-radius:15px;padding:15px;
    transition:.2s ease
}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--bf-shadow)}
.product-card .product-placeholder{min-height:210px}
.product-card h3{font-size:17px;color:var(--bf-navy);margin:17px 5px 5px}
.product-card p{font-size:14px;color:var(--bf-muted);margin:0 5px 12px}
.product-card .product-link{color:var(--bf-blue);font-weight:700;margin:0 5px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-image{min-height:430px;border-radius:20px;background:#eaf5fc;display:flex;align-items:center;justify-content:center;color:#5683a5;text-align:center;padding:30px}
.about-content h2{font-size:38px;line-height:1.15;color:var(--bf-navy);margin:0 0 18px}
.about-content p{color:var(--bf-muted);font-size:17px}
.cta{
    position:relative;overflow:hidden;background:var(--bf-navy);color:#fff;text-align:center;padding:75px 0
}
.cta:before,.cta:after{
    content:"";position:absolute;width:45%;height:100px;border-top:4px solid rgba(45,196,253,.75);
    border-radius:50%;bottom:-30px
}
.cta:before{left:-5%;transform:rotate(7deg)}
.cta:after{right:-5%;transform:rotate(-7deg)}
.cta .container{position:relative;z-index:2}
.cta h2{font-size:38px;margin:0 0 12px}
.cta p{font-size:18px;color:#dceeff;margin:0 auto 25px;max-width:700px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:45px}
.contact-card{text-align:center;border:1px solid var(--bf-border);border-radius:15px;padding:30px;background:#fff}
.contact-card h3{color:var(--bf-navy);margin:12px 0 7px}
.contact-card p{color:var(--bf-muted);margin:0}
.contact-icon{font-size:35px;color:var(--bf-blue)}
.contact-form{max-width:850px;margin:0 auto;background:#fff;border:1px solid var(--bf-border);box-shadow:var(--bf-shadow);border-radius:18px;padding:32px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:block;font-weight:700;color:var(--bf-navy);margin-bottom:6px}
.contact-form input,.contact-form select,.contact-form textarea{
    width:100%;border:1px solid #c9dbea;border-radius:9px;padding:13px;font:inherit;outline:none
}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form .full{grid-column:1/-1}
.site-footer{background:var(--bf-navy);color:#fff;padding:55px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.site-footer .brand{color:#fff}
.footer-title{font-weight:800;margin:0 0 13px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:7px 0;color:#cfe5ff}
.site-footer li a:hover{color:var(--bf-cyan)}
.footer-description{color:#cfe5ff;max-width:330px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:18px;text-align:center;color:#bcd6ee;font-size:13px}

@media(max-width:950px){
    .main-nav{display:none}
    .header-button{display:none}
    .mobile-toggle{display:block}
    .hero-grid,.about-grid{grid-template-columns:1fr}
    .hero{padding:65px 0 90px}
    .hero-image{min-height:330px}
    .products-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
    .header-inner{min-height:68px}
    .brand{font-size:20px}
    .brand-mark{width:32px;height:32px}
    .section{padding:60px 0}
    .hero h1{font-size:42px}
    .hero p{font-size:17px}
    .solution-grid,.benefit-grid,.contact-grid,.contact-form-grid{grid-template-columns:1fr}
    .solution-card{grid-template-columns:1fr}
    .products-grid{grid-template-columns:1fr}
    .about-content h2,.section-title h2,.cta h2{font-size:31px}
    .footer-grid{grid-template-columns:1fr}
    .contact-form .full{grid-column:auto}
}

.custom-logo-link img{max-height:58px;width:auto}
.hero-image img{width:100%;height:410px;object-fit:contain;border-radius:18px}
.solution-card .product-placeholder,.solution-card img{width:100%;height:270px;object-fit:cover;border-radius:13px}
.product-card .product-placeholder,.product-card>img{width:100%;height:210px;object-fit:cover;border-radius:13px}
.about-image img{width:100%;height:430px;object-fit:cover;border-radius:20px}
.page-hero{
    background:linear-gradient(135deg,var(--bf-navy),#063a9b);
    color:#fff;padding:75px 0 90px;position:relative;overflow:hidden
}
.page-hero:after{
    content:"";position:absolute;width:65%;height:90px;right:-10%;bottom:-35px;
    border-top:4px solid rgba(45,196,253,.7);border-radius:50%;transform:rotate(-5deg)
}
.page-hero h1{position:relative;z-index:2;font-size:clamp(42px,5vw,60px);line-height:1.05;margin:0 0 18px}
.page-hero h1 span{color:var(--bf-cyan)}
.page-hero p{position:relative;z-index:2;font-size:19px;max-width:760px;color:#e6f5ff;margin:0}
.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.catalog-card{background:#fff;border:1px solid var(--bf-border);border-radius:20px;overflow:hidden;box-shadow:var(--bf-shadow)}
.catalog-image{height:380px;background:#edf8fd;padding:20px}
.catalog-image img{width:100%;height:100%;object-fit:contain;border-radius:12px}
.catalog-content{padding:28px}
.catalog-content h3{font-size:27px;color:var(--bf-navy);margin:0 0 10px}
.catalog-content p{color:var(--bf-muted);margin:0 0 15px}
.feature-list{padding:0;margin:0 0 22px;list-style:none;color:var(--bf-text)}
.feature-list li{margin:7px 0}
.feature-list li:before{content:"✓";font-weight:bold;color:var(--bf-blue);margin-right:10px}
.contact-form-wrap{max-width:850px;margin:0 auto;background:#fff;border:1px solid var(--bf-border);box-shadow:var(--bf-shadow);border-radius:18px;padding:35px}
.contact-form-wrap h2{color:var(--bf-navy);margin:0 0 8px;font-size:31px}
.contact-form-wrap>p{color:var(--bf-muted);margin:0 0 22px}
.form-message{padding:14px 18px;border-radius:9px;margin-bottom:18px;font-weight:600}
.form-message.success{background:#e7f8ed;color:#176b35}
.form-message.error{background:#fff0f0;color:#a52929}
@media(max-width:950px){
    .catalog-grid{grid-template-columns:1fr}
    .catalog-image{height:330px}
}
@media(max-width:650px){
    .page-hero{padding:55px 0 65px}
    .page-hero h1{font-size:40px}
    .hero-image img{height:300px}
    .catalog-image{height:300px}
    .contact-form-wrap{padding:22px}
}

.contact-card-link{display:block;color:inherit;transition:.2s ease}
.contact-card-link:hover{transform:translateY(-4px);box-shadow:var(--bf-shadow);border-color:var(--bf-blue)}
.contact-card-link strong{display:block;color:var(--bf-blue);margin-top:14px}
.form-message{border-radius:12px;padding:15px 20px;margin:0 auto 25px;max-width:850px;font-weight:700}
.form-message.success{background:#e9f8ef;color:#19703b;border:1px solid #b9e5c9}
.form-message.error{background:#fff0f0;color:#a32121;border:1px solid #f1bcbc}

.contact-card-link{cursor:pointer;text-decoration:none!important}
.contact-card-link strong{font-size:15px}
.form-message{padding:14px 18px;border-radius:10px;margin:0 0 20px;font-weight:700}
.form-message.success{background:#e9f9ef;color:#176b38}
.form-message.error{background:#fff0f0;color:#a32222}


/* Contactos Better Fast */
.contact-card-link{
    display:block;
    color:inherit;
    text-decoration:none;
    cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.contact-card-link:hover{
    transform:translateY(-4px);
    box-shadow:var(--bf-shadow);
    border-color:var(--bf-blue);
}
.contact-card-link strong{color:var(--bf-blue)}
/* Contactos Better Fast */

.contact-team{
    width:100%;
    margin:28px 0 45px;
    text-align:center;
}

.contact-team h3{
    color:var(--bf-navy);
    margin:0 0 20px;
}

.contact-team-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    width:100%;
}

.contact-person{
    width:100%;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:14px;
    text-align:left;
    background:#fff;
    border:1px solid var(--bf-border);
    border-radius:14px;
    padding:22px;
    color:var(--bf-text);
    box-sizing:border-box;
}

.contact-person-row{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    min-width:0;
    margin-bottom:0;
}

.contact-person-row strong{
    font-size:19px;
    color:var(--bf-navy);
    white-space:nowrap;
}

.contact-person-row span:last-child{
    min-width:0;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.contact-person-icon,
.contact-whatsapp-icon,
.contact-email-icon{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.contact-person-icon{
    background:#EAF8FE;
    color:var(--bf-blue);
    font-size:19px;
}

.contact-whatsapp-icon{
    background:#EAF8FE;
    color:#20B858;
    font-size:18px;
}

.contact-email-icon{
    background:#EAF8FE;
    color:var(--bf-blue);
    font-size:19px;
}

@media(max-width:900px){
    .contact-team-grid{
        grid-template-columns:1fr;
    }
}
.contact-person2{
    display:flex;
    flex-direction:column;
    gap:4px;
    text-align:left;
    background:#fff;
    border:1px solid var(--bf-border);
    border-radius:14px;
    padding:20px;
    text-decoration:none;
    color:var(--bf-text);
    transition:.2s ease;
}