/* Theme Name: Piscinas Huelva V19 - Galería única de trabajos
Theme URI: https://jmantenimientos.com/
Author: Piscinas Huelva / JMantenimientos
Description: Diseño comercial basado en la maqueta original de Piscinas Huelva, con páginas reales de WordPress.
Version: 19.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: piscinas-huelva-v15 */
:root{--navy:#082c4b;--blue:#078fd0;--cyan:#15bce9;--green:#13bf68;--ink:#16334a;--muted:#64798a;--line:#dce7ed;--soft:#eef7fb;--white:#fff;--shadow:0 12px 35px rgba(8,44,75,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.55}a{text-decoration:none;color:inherit}.container{width:min(1200px,94%);margin:auto}.topbar{height:34px;background:var(--navy);color:#fff;font-size:12px}.topbar .container{height:100%;display:flex;align-items:center;justify-content:space-between}.top-left,.top-right{display:flex;gap:24px;align-items:center}.site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.08)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;min-width:315px}.brand-text{display:block;color:var(--navy);font-size:27px;font-weight:900;letter-spacing:-1px;line-height:1}.brand-text b{color:var(--blue)}.brand-text small{display:block;font-size:9px;letter-spacing:3px;margin-top:7px;color:var(--muted)}.menu{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:800;text-transform:uppercase;white-space:nowrap}.menu a:hover,.menu a.current{color:var(--blue)}.nav-cta{background:var(--blue);color:#fff!important;padding:14px 18px;border-radius:4px}.mobile-toggle{display:none;border:0;background:none;font-size:29px;color:var(--navy)}.hero{min-height:590px;background:#eaf5fa;position:relative;color:var(--navy);display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#eaf5fa,#f7fbfd)}.hero .container{position:relative;z-index:2;padding:72px 0 125px}.hero-kicker{color:#14b9ed;font-weight:900;letter-spacing:.16em;font-size:16px;text-transform:uppercase}.hero h1{font-size:clamp(45px,6vw,76px);line-height:.98;margin:8px 0 12px;text-transform:uppercase;letter-spacing:-.035em}.hero h2{font-size:27px;color:var(--navy);margin:0 0 12px}.hero p{font-size:17px;color:var(--ink);max-width:560px;margin:0 0 26px}.script{position:absolute;right:6%;top:55px;font-family:cursive;font-style:italic;font-size:34px;transform:rotate(-5deg);color:var(--blue);z-index:2}.actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;padding:14px 21px;font-weight:900;text-transform:uppercase;font-size:13px}.btn-primary{background:var(--blue);color:#fff}.btn-green{background:var(--green);color:#fff}.hero-trust{position:absolute;z-index:3;bottom:0;left:50%;transform:translateX(-50%);width:min(1200px,94%);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(6,41,65,.83);padding:17px 22px;color:#fff}.trust{display:flex;gap:13px;align-items:center;border-right:1px solid rgba(255,255,255,.18);padding:4px 20px}.trust:last-child{border-right:0}.trust-icon{font-size:27px}.trust b{display:block;font-size:13px}.trust span{font-size:11px;color:#dcebf3}.section{padding:72px 0}.section-head{text-align:center;margin-bottom:34px}.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--blue)}h2{font-size:clamp(31px,4vw,45px);line-height:1.05;color:var(--navy);margin:7px 0}.underline{width:48px;height:3px;background:var(--blue);margin:13px auto}.lead{color:var(--muted);font-size:16px}.services{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.service{height:210px;border-radius:3px;overflow:hidden;position:relative;background:#eaf5fa;border:1px dashed #9bbdce;display:flex;align-items:flex-end;color:var(--navy)}.service:after{content:"AÑADIR FOTO";position:absolute;top:18px;left:0;right:0;text-align:center;color:#6b8798;font-size:11px;font-weight:800;letter-spacing:1px}.service-body{position:relative;z-index:2;padding:18px 14px;font-weight:900;width:100%}.service h3{font-size:15px;line-height:1.15;margin:0 0 7px;text-transform:uppercase}.service a{font-size:20px;color:var(--blue);float:right;margin-top:-30px}.projects-wrap{display:grid;grid-template-columns:1fr 2.2fr;gap:25px;align-items:center}.project-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:8px}.project{height:185px;background:#eaf5fa;border:1px dashed #9bbdce;position:relative}.project:after{content:"AÑADIR FOTO";position:absolute;top:18px;left:0;right:0;text-align:center;color:#6b8798;font-size:11px;font-weight:800;letter-spacing:1px}.project b{position:absolute;z-index:2;bottom:13px;left:15px;color:var(--navy)}.project:first-child{height:378px;grid-row:span 2}.renolit-band{background:#e9f7fc}.renolit{display:grid;grid-template-columns:1fr 2fr 170px;gap:28px;align-items:center}.renolit h3{font-size:23px;color:var(--navy);margin:0}.renolit p{margin:4px 0;color:var(--muted)}.cta-band{background:linear-gradient(rgba(4,31,49,.78),rgba(4,31,49,.9)) center/cover;color:#fff}.cta-band h2{color:#fff;margin:0}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-band .actions{flex-shrink:0}.footer{background:#061f32;color:#c9dce5;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:40px}.footer h3{color:#fff}.footer a:hover{color:#fff}.footer-brand{font-size:24px;font-weight:900;color:#fff;letter-spacing:-.5px;margin-bottom:12px}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:18px;font-size:12px;color:#8faab5}.whatsapp{position:fixed;z-index:1100;right:18px;bottom:18px;background:var(--green);color:#fff;padding:13px 18px;border-radius:4px;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.2)}.page-hero{min-height:320px;background:linear-gradient(rgba(4,35,55,.65),rgba(4,35,55,.7)) center/cover;color:#fff;display:flex;align-items:center}.page-hero h1{font-size:clamp(40px,6vw,64px);margin:0 0 8px}.page-hero p{max-width:700px;font-size:18px}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.feature-image{min-height:430px;border-radius:7px;background:#eaf5fa;border:1px dashed #9bbdce}.checks{display:grid;gap:10px;margin:22px 0}.checks div{font-weight:700}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{border:1px solid var(--line);padding:25px;border-radius:7px;background:#fff;box-shadow:var(--shadow)}.info-card h3{color:var(--navy);margin-top:0}.dark-section{background:var(--navy);color:#fff}.dark-section h2{color:#fff}.lamina-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lamina-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.lamina-img{height:190px;background:#eaf5fa;border-bottom:1px dashed #9bbdce;position:relative}.lamina-img:after{content:"AÑADIR FOTO";position:absolute;inset:0;display:grid;place-items:center;color:#6b8798;font-size:11px;font-weight:800;letter-spacing:1px}.lamina-card-body{padding:20px}.lamina-card h3{color:var(--navy);margin:0 0 7px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.form-box{background:#fff;padding:30px;border-radius:8px;box-shadow:var(--shadow)}.form{display:grid;gap:12px}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid #d3e0e6;border-radius:4px;font:inherit}.form textarea{min-height:140px}.notice{padding:18px;background:#eef8fb;border-left:4px solid var(--blue);margin-top:25px}.service-page-photo{min-height:380px;border-radius:7px;background:#eaf5fa;border:1px dashed #9bbdce}@media(max-width:1050px){.menu{gap:13px}.brand{min-width:270px}.brand-text{font-size:24px}.services{grid-template-columns:repeat(3,1fr)}.renolit{grid-template-columns:1fr 1.7fr 150px}}@media(max-width:820px){.topbar{display:none}.nav{min-height:76px}.brand-text{font-size:22px}.menu{display:none}.mobile-toggle{display:block}.hero{min-height:650px}.script{display:none}.hero-trust{grid-template-columns:repeat(2,1fr)}.trust:nth-child(2){border-right:0}.services,.lamina-grid,.cards3,.content-grid,.contact-grid,.footer-grid{grid-template-columns:1fr 1fr}.projects-wrap{grid-template-columns:1fr}.renolit{grid-template-columns:1fr 1.5fr}.renolit .btn{grid-column:1/-1}.project:first-child{height:260px}.project{height:180px}}@media(max-width:560px){.section{padding:58px 0}.brand-text{font-size:21px}.hero .container{padding:55px 0 125px}.hero h1{font-size:43px}.hero h2{font-size:22px}.hero-trust{display:none}.services,.lamina-grid,.cards3,.content-grid,.contact-grid,.footer-grid,.project-grid{grid-template-columns:1fr}.project:first-child,.project{height:245px}.renolit{grid-template-columns:1fr;text-align:center}.renolit .btn{grid-column:auto}.cta-band .container{display:block}.cta-band .actions{margin-top:20px}.whatsapp{right:9px;bottom:9px}.page-hero{min-height:300px}.service-page-photo{min-height:300px}}

/* V15 - identidad visual y fotografía */
.brand{min-width:250px;max-width:330px}.brand-logo{display:block;width:100%;max-width:315px;height:66px;object-fit:contain;object-position:left center}.hero{color:#fff;background:url('assets/images/piscina-hero.webp') center 54%/cover no-repeat;min-height:650px}.hero:before{background:linear-gradient(90deg,rgba(3,27,44,.82) 0%,rgba(3,27,44,.52) 48%,rgba(3,27,44,.10) 100%)}.hero-kicker{color:#8deaff}.hero h1,.hero h2{color:#fff}.hero p{color:#f0f8fc}.script{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}.service{border:0;background-size:cover;background-position:center}.service:after,.project:after{display:none}.service:before,.project:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,30,48,.78),rgba(4,30,48,.04) 72%);z-index:1}.service:nth-child(1){background-image:url('assets/images/piscina-villa.webp')}.service:nth-child(2){background-image:url('assets/images/piscina-jardin.webp')}.service:nth-child(3){background-image:url('assets/images/lamina-detalle.webp')}.service:nth-child(4){background-image:url('assets/images/piscina-hero.webp')}.service:nth-child(5){background-image:url('assets/images/escalera-piscina.webp')}.service:nth-child(6){background-image:url('assets/images/piscina-villa.webp')}.service-body{color:#fff}.service a{color:#fff}.project{border:0;border-radius:5px;overflow:hidden;background-size:cover;background-position:center}.project:nth-child(1){background-image:url('assets/images/piscina-villa.webp')}.project:nth-child(2){background-image:url('assets/images/piscina-jardin.webp')}.project:nth-child(3){background-image:url('assets/images/lamina-detalle.webp')}.project:nth-child(4){background-image:url('assets/images/escalera-piscina.webp')}.project b{color:#fff;z-index:2;text-shadow:0 1px 5px rgba(0,0,0,.6)}.renolit-band{background:#edf7fb}.renolit-home{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.renolit-home-photo{height:350px;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.renolit-home-photo img,.lamina-feature-photo img,.lamina-gallery img{width:100%;height:100%;object-fit:cover;display:block}.renolit-home-copy h2{margin:7px 0 16px}.btn-outline{border:1px solid var(--blue);color:var(--blue);background:#fff}.page-hero{background-image:linear-gradient(90deg,rgba(3,27,44,.82),rgba(3,27,44,.38)),url('assets/images/piscina-hero.webp');background-position:center;background-size:cover}.page-hero h1,.page-hero p{color:#fff}.page-hero .eyebrow{color:#9cecff}.page-hero-rehab{background-image:linear-gradient(90deg,rgba(3,27,44,.82),rgba(3,27,44,.38)),url('assets/images/piscina-jardin.webp')}.page-hero-lamina{background-image:linear-gradient(90deg,rgba(3,27,44,.84),rgba(3,27,44,.30)),url('assets/images/lamina-detalle.webp')}.page-hero-projects{background-image:linear-gradient(90deg,rgba(3,27,44,.82),rgba(3,27,44,.32)),url('assets/images/piscina-villa.webp')}.page-hero-contact{background-image:linear-gradient(90deg,rgba(3,27,44,.82),rgba(3,27,44,.32)),url('assets/images/piscina-hero.webp')}.service-page-photo,.feature-image{border:0;background:url('assets/images/piscina-villa.webp') center/cover no-repeat;min-height:420px}.page-hero-construction{background-image:linear-gradient(90deg,rgba(3,27,44,.82),rgba(3,27,44,.32)),url('assets/images/piscina-villa.webp')}.lamina-feature-photo{height:420px;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.lamina-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lamina-gallery figure{margin:0;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.lamina-gallery img{height:240px}.lamina-gallery figcaption{padding:14px 17px;font-weight:800;color:var(--navy)}.catalog-section{background:#f3f8fa}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.catalog-card{background:#fff;padding:28px;border-radius:8px;border:1px solid var(--line);box-shadow:var(--shadow)}.catalog-card h3{font-size:22px;color:var(--navy);margin:10px 0}.catalog-card p{color:var(--muted);min-height:82px}.catalog-tag{font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--blue)}.catalog-note{font-size:12px;color:var(--muted);margin-top:20px}@media(max-width:820px){.brand{min-width:0;max-width:245px}.brand-logo{max-width:235px;height:58px}.renolit-home{grid-template-columns:1fr;gap:24px}.renolit-home-photo{height:280px}.lamina-gallery,.catalog-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.brand{max-width:220px}.brand-logo{max-width:210px;height:52px}.hero{min-height:620px;background-position:58% center}.hero:before{background:linear-gradient(90deg,rgba(3,27,44,.82),rgba(3,27,44,.48))}.lamina-gallery,.catalog-grid{grid-template-columns:1fr}.lamina-feature-photo{height:290px}.catalog-card p{min-height:0}}

.footer-brand img{display:block;width:250px;max-width:100%;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}

/* V16 - comparador animado antes/despues en rehabilitacion */
.before-after{--reveal:50%;position:relative;width:100%;aspect-ratio:4/3;max-height:650px;overflow:hidden;border-radius:10px;background:#dce7ed;box-shadow:var(--shadow);isolation:isolate;touch-action:pan-y;}
.before-after__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.before-after__image--before{z-index:0;}
.before-after__after{position:absolute;z-index:1;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);transition:clip-path .12s ease-out;}
.before-after__after .before-after__image{object-position:center;}
.before-after__tag{position:absolute;z-index:3;top:18px;padding:9px 14px;border-radius:3px;background:rgba(5,35,56,.86);color:#fff;font-size:12px;font-weight:900;letter-spacing:.1em;box-shadow:0 2px 10px rgba(0,0,0,.2);}
.before-after__tag--before{left:18px;}
.before-after__tag--after{right:18px;}
.before-after__handle{position:absolute;z-index:4;top:0;bottom:0;left:var(--reveal);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 10px rgba(0,0,0,.35);transition:left .12s ease-out;}
.before-after__handle span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:25px;font-weight:700;box-shadow:0 3px 14px rgba(0,0,0,.3);}
.before-after__range{position:absolute;z-index:5;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;}
.before-after__range:focus-visible{outline:3px solid var(--cyan);outline-offset:-5px;opacity:.01;}
.before-after__hint{text-align:center;color:var(--muted);font-size:13px;margin:15px 0 0;}
.rehab-before-after-section{padding-bottom:35px;}
@media(max-width:600px){.before-after{aspect-ratio:4/3;border-radius:6px}.before-after__tag{top:10px;padding:7px 10px;font-size:10px}.before-after__tag--before{left:10px}.before-after__tag--after{right:10px}.before-after__handle span{width:40px;height:40px;font-size:21px}}

/* V17 - pagina autogestionable de trabajos realizados */
.trabajos-section{background:#f6f9fb}.trabajos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.trabajo-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.trabajo-card-head{padding:20px 22px 8px}.trabajo-card-head h3{margin:0;color:var(--navy);font-size:23px}.trabajo-comparator{aspect-ratio:4/3;max-height:480px;border-radius:0;box-shadow:none}.trabajo-description{padding:4px 22px 22px;color:var(--muted)}.trabajo-description p:last-child{margin-bottom:0}.trabajos-empty{padding:45px 30px;text-align:center;background:#fff;border:1px dashed #a8bdc9;border-radius:9px}.trabajos-empty h3{color:var(--navy)}.trabajo-missing{padding:35px 20px;text-align:center;background:#f2f6f8;color:#536a78}@media(max-width:760px){.trabajos-grid{grid-template-columns:1fr}.trabajo-card-head h3{font-size:20px}}

/* V18 - comparador visible tambien cuando aun no hay trabajos cargados */
.trabajo-card-demo .trabajo-comparator{display:block;position:relative;min-height:260px;}
.trabajo-card-demo .before-after__range{display:block;appearance:none;-webkit-appearance:none;opacity:0;pointer-events:auto;touch-action:pan-y;}
.trabajo-card-demo .before-after__handle{z-index:4;}
.trabajo-card-demo .before-after__after{will-change:clip-path;}


/* V20 - control deslizante robusto con raton y tactil */
.trabajo-comparator{cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.trabajo-comparator .before-after__range{pointer-events:none!important;opacity:0!important;}
.trabajo-comparator .before-after__handle{z-index:6;pointer-events:none;}
.trabajo-comparator .before-after__after{pointer-events:none;}
.trabajo-comparator .before-after__image{pointer-events:none;}
.trabajo-comparator:focus-within{outline:2px solid var(--cyan);outline-offset:3px;}
