/*
Theme Name: Andreu Base
Description: Base ligera para el rediseño de Reformas Andreu. Preparada para WordPress y Elementor.
Version: 0.10.0
Text Domain: andreu-base
*/
:root{--blue:#0751a8;--dark:#102c49;--green:#21783e;--pale:#eff5f7;--text:#25394b}*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff}a{color:var(--blue)}img{max-width:100%;height:auto}.wrap{width:min(1150px,90%);margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;z-index:100;padding:1rem}.topline{background:var(--dark);color:#fff;font-size:.88rem;padding:.55rem 0}.topline a{color:#fff;text-decoration:none}.topline .wrap{display:flex;justify-content:space-between;gap:1rem}.site-header{background:#fff;border-bottom:1px solid #dce6ec}.header-row{display:flex;gap:2rem;align-items:center;justify-content:space-between;min-height:86px}.brand{font-weight:850;color:var(--blue);font-size:1.35rem;line-height:1.1;text-decoration:none}.brand small{display:block;font-size:.68rem;letter-spacing:.18em;color:var(--green)}.custom-logo{max-height:65px;width:auto}.site-nav ul{list-style:none;display:flex;align-items:center;gap:1.3rem;padding:0;margin:0}.site-nav a{color:var(--dark);text-decoration:none;font-size:.92rem;font-weight:650}.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--green)}.header-cta,.primary-button{display:inline-block;background:var(--green);color:white!important;text-decoration:none;border:0;border-radius:6px;padding:.72rem 1rem;font-weight:700}.mobile-menu{display:none}.site-main{min-height:40vh}.normal-content{padding:48px 0}.normal-content h1,.normal-content h2{color:var(--dark);line-height:1.2}.home-hero{background:var(--pale)}.home-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;padding:68px 0}.eyebrow{color:var(--green);font-weight:800;letter-spacing:.12em;font-size:.75rem;text-transform:uppercase}.home-hero h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.03em;color:var(--dark);margin:1rem 0}.home-hero p{font-size:1.08rem;color:#4d6576;max-width:40rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0}.secondary-button{padding:.7rem 1rem;border:1px solid #8ca9b9;border-radius:6px;text-decoration:none;font-weight:700}.hero-image{min-height:320px;background:linear-gradient(135deg,#d9e8e8,#8baeb5);border-radius:12px;display:flex;align-items:end;padding:18px;color:#183b49;font-size:.85rem}.hero-image img{width:100%;height:320px;object-fit:cover;border-radius:8px}.section{padding:65px 0}.section h2{font-size:2rem;line-height:1.2;color:var(--dark);margin:.2rem 0 1rem}.subtle{color:#5b7180}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #dce7ed;border-radius:10px;padding:25px}.card h3{color:var(--dark);margin:.3rem 0}.card a{font-weight:700}.trust{background:var(--pale)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.callout{background:var(--blue);color:white}.callout .wrap{display:flex;justify-content:space-between;gap:2rem;align-items:center}.callout h2{color:white}.callout a{background:#fff;color:var(--blue)!important}.site-footer{background:var(--dark);color:#dce8ef;padding:48px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.site-footer a{color:#fff}.site-footer h2{color:#fff;font-size:1rem}.site-footer ul{list-style:none;padding:0}.copyright{border-top:1px solid #ffffff30;margin-top:25px;padding-top:20px;font-size:.85rem}.site-nav .sub-menu{display:none}@media(max-width:780px){.topline .wrap{flex-wrap:wrap}.header-row{flex-wrap:wrap;padding:15px 0;min-height:0}.mobile-menu{display:block}.site-nav{width:100%}.site-nav ul{display:block}.site-nav li{padding:.3rem 0}.header-cta{margin-left:auto}.home-hero .wrap,.cards,.trust-grid,.footer-grid{grid-template-columns:1fr}.home-hero .wrap{padding:42px 0;gap:1rem}.hero-image{min-height:150px}.callout .wrap{display:block}.section{padding:45px 0}}
.site-footer{padding:0 0 25px}.footer-intro{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:42px 0;border-bottom:1px solid #ffffff30}.footer-intro h2{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.2;margin:.35rem 0;color:white}.footer-intro p{margin:0;color:#dce8ef}.footer-kicker{font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#a8dbb5}.footer-button{display:inline-block;background:#fff;color:#102c49!important;text-decoration:none;padding:.85rem 1.15rem;border-radius:6px;font-weight:750;white-space:nowrap}.footer-grid{grid-template-columns:1.1fr .8fr 1.2fr;padding:40px 0;gap:3rem}.footer-grid h2{margin:0 0 .8rem}.footer-grid ul{margin:0 0 1.4rem}.footer-grid li{margin:.45rem 0}.footer-grid a{text-decoration:none}.footer-grid a:hover{text-decoration:underline}.footer-company p{margin:.9rem 0}.footer-logo{background:#fff;border-radius:7px;padding:12px;width:200px}.footer-logo img{display:block;max-height:80px;width:auto}.footer-map{min-height:180px;border-radius:8px;background:#e3eceb;color:#17374a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:12px}.footer-map p{font-weight:700;margin:0 0 .5rem}.footer-map small{font-size:.75rem;font-weight:400}.footer-map button{border:0;background:#21783e;color:#fff;border-radius:5px;padding:.6rem 1rem;margin:0 0 .5rem;font-weight:700;cursor:pointer}.footer-map:has(iframe){padding:0}.footer-map iframe{border:0;width:100%;height:200px}.footer-map-link{display:inline-block;margin-top:.7rem}.footer-partners{background:#fff;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;border-radius:8px;padding:14px 20px}.footer-partners img{max-width:240px;max-height:55px;object-fit:contain}.copyright{margin-top:25px}@media(max-width:780px){.footer-intro{align-items:flex-start;flex-direction:column;gap:1rem}.footer-grid{grid-template-columns:1fr;gap:1.6rem}.footer-partners{gap:1rem}.footer-partners img{max-width:100%;max-height:50px}}



/* Service, company and editorial templates */
.service-hero,.blog-intro{background:#eff5f7}.service-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding:72px 0}.service-hero h1,.blog-intro h1{font-size:clamp(2.35rem,4vw,3.7rem);line-height:1.08;letter-spacing:-.035em;color:#102c49;margin:1rem 0}.service-hero p,.blog-intro p{font-size:1.1rem;line-height:1.7;color:#526b7c;max-width:38rem}.service-hero-photo{width:100%;height:390px;object-fit:cover;border-radius:14px}.service-cards,.service-steps,.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:2rem}.service-card{padding:30px;border:1px solid #dbe6e8;border-radius:14px;background:white;box-shadow:0 8px 28px #102c4909}.service-card h3,.service-steps h3{color:#102c49;font-size:1.18rem;line-height:1.3;margin:.8rem 0 .5rem}.service-card p,.service-steps p{color:#526b7c;margin:0}.service-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#e4f2e8;color:#21783e;font-weight:800}.service-process{background:#f6f9f9}.service-steps>div{padding:20px 24px;border-left:2px solid #c8e2cf}.service-steps strong{font-size:.8rem;letter-spacing:.12em;color:#21783e}.blog-intro .wrap{padding:65px 0}.blog-grid{margin:0}.blog-card{border:1px solid #dbe6e8;border-radius:14px;overflow:hidden;background:white;box-shadow:0 8px 28px #102c4909;display:flex;flex-direction:column}.blog-photo{display:block;aspect-ratio:16/10;background:#e5f0ed;overflow:hidden}.blog-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.blog-card:hover .blog-photo img{transform:scale(1.03)}.blog-photo span{height:100%;display:flex;align-items:center;justify-content:center;color:#21783e;font-weight:800}.blog-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.blog-card time{font-size:.78rem;color:#668071}.blog-card h2{font-size:1.25rem;line-height:1.3;margin:.5rem 0}.blog-card h2 a{text-decoration:none;color:#102c49}.blog-card p{color:#526b7c;font-size:.95rem}.blog-more{margin-top:auto;color:#21783e;font-weight:750;text-decoration:none}.blog-pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:40px;flex-wrap:wrap}.blog-pagination a{font-weight:700;color:#21783e}.corcho-original .elementor-element-6d4dcf4,.corcho-original .elementor-element-24210cce,.corcho-original .elementor-element-5be574e2,.corcho-original .elementor-element-3f928fa{display:none!important}.corcho-original{padding:30px 0}.corcho-original h2{color:#102c49!important;line-height:1.25}.corcho-original p{line-height:1.7}.corcho-original img{border-radius:14px}
@media(max-width:780px){.service-hero-grid{grid-template-columns:1fr;padding:42px 0;gap:1.5rem}.service-hero-photo{height:260px}.service-cards,.service-steps,.blog-grid{grid-template-columns:1fr}.service-hero h1,.blog-intro h1{font-size:2.25rem}.blog-intro .wrap{padding:42px 0}.blog-card-body{padding:20px}}

.article-intro{background:#eff5f7;padding:60px 0}.article-intro .wrap{max-width:850px}.article-intro>a,.article-intro .wrap>a{display:block;color:#21783e;font-weight:700;text-decoration:none;margin-bottom:24px}.article-intro h1{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.12;letter-spacing:-.03em;color:#102c49;margin:.8rem 0}.article-intro time{color:#627687}.article-body{max-width:850px;width:90%;margin:auto;padding:55px 0;line-height:1.8}.article-body h2,.article-body h3{color:#102c49;line-height:1.3;margin:2rem 0 1rem}.article-body img{border-radius:12px;max-width:100%;height:auto}.article-body figure{margin:2rem 0}.article-body figcaption{font-size:.85rem;color:#627687}@media(max-width:780px){.article-intro{padding:40px 0}.article-body{padding:35px 0}}
/* Servicios y contacto: cohesión visual con la portada */
.contact-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.contact-original{scroll-margin-top:24px}.contact-original .elementor-element-4848b504{display:none!important}.contact-original .elementor-element-903fe84{display:none!important}.contact-original .elementor-element-7af0cc8{padding:45px 0 65px}.contact-original .elementor-element-7af0cc8 h2{font-size:clamp(1.65rem,3vw,2.1rem)!important;color:#102c49!important;letter-spacing:-.025em}.contact-original .elementor-element-7af0cc8 p{color:#526b7c;line-height:1.75}.contact-original .elementor-form{background:#f2f7f6!important;border:1px solid #dceae4!important;border-radius:16px!important;box-shadow:0 14px 35px rgba(16,44,73,.08)!important}.contact-original .elementor-form input:focus,.contact-original .elementor-form textarea:focus{outline:2px solid #21783e;outline-offset:2px}.service-original>.elementor>.elementor-top-section:first-child{display:none!important}.service-original,.corcho-original{background:#fff}.service-original .elementor-top-section:has(.elementor-widget-share-buttons){display:none!important}.service-original .elementor-heading-title,.corcho-original .elementor-heading-title{color:#102c49!important;line-height:1.22!important;letter-spacing:-.02em}.service-original .elementor-widget-text-editor,.corcho-original .elementor-widget-text-editor{color:#526b7c;line-height:1.8}.service-original img,.corcho-original img{border-radius:14px}.service-original .elementor-top-section,.corcho-original .elementor-top-section{max-width:100%}.service-original .elementor-widget-image img{box-shadow:0 15px 38px rgba(16,44,73,.1)}
@media(max-width:1000px){.site-header .header-row{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}.site-header .brand{grid-column:1!important;grid-row:1!important;width:clamp(120px,30vw,185px)!important;height:58px!important;margin:0!important}.site-header .header-cta{grid-column:2!important;grid-row:1!important;margin:0!important;padding:11px 13px!important;font-size:.79rem!important;white-space:nowrap}.site-header .mobile-menu,.site-header .mobile-menu[open]{display:block!important;grid-column:3!important;grid-row:1!important;width:auto!important;margin:0!important;position:static!important}.site-header .mobile-menu summary{display:flex;align-items:center;justify-content:center;width:43px;height:43px;list-style:none;cursor:pointer;border:1px solid #c9dcd5;border-radius:10px;background:#f0f7f3;color:#173c31}.site-header .mobile-menu summary::-webkit-details-marker{display:none}.site-header .mobile-menu summary:focus-visible{outline:3px solid #21783e;outline-offset:3px}.site-header .menu-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header .menu-icon{width:20px;display:grid;gap:4px}.site-header .menu-icon span{height:2px;width:20px;border-radius:2px;background:#153d33;display:block;transition:transform .2s,opacity .2s}.site-header .mobile-menu[open] .menu-icon span:first-child{transform:translateY(6px) rotate(45deg)}.site-header .mobile-menu[open] .menu-icon span:nth-child(2){opacity:0}.site-header .mobile-menu[open] .menu-icon span:last-child{transform:translateY(-6px) rotate(-45deg)}.site-header .mobile-menu .site-nav{position:absolute!important;z-index:1000!important;top:calc(100% + 4px)!important;left:0!important;right:0!important;width:100%!important;background:#fff;border:1px solid #dce8e4;border-radius:14px;padding:12px 18px!important;box-shadow:0 16px 35px rgba(16,44,73,.18)}.site-header .mobile-menu .site-nav ul{margin:0;padding:0;display:block!important}.site-header .mobile-menu .site-nav li{padding:0!important}.site-header .mobile-menu .site-nav a{display:block;padding:10px 8px;color:#102c49!important;font-weight:700!important;text-decoration:none}.site-header .mobile-menu .site-nav .sub-menu{display:block!important;padding:0 0 6px 14px!important;border-left:2px solid #dcece0}.site-header .mobile-menu .site-nav .sub-menu a{font-size:.9rem!important;color:#496579!important;font-weight:500!important;padding:7px 9px}.site-header .header-row:has(.mobile-menu[open]) .header-cta{grid-row:1!important;grid-column:2!important}}
@media(max-width:380px){.site-header .brand{width:120px!important}.site-header .header-cta{font-size:.72rem!important;padding:10px 8px!important}.site-header .header-row{gap:5px!important}.contact-original .elementor-element-7af0cc8{padding:30px 0 45px}}
/* Afinado visual: marca, legibilidad y páginas interiores */
:root{--blue:#003878;--dark:#003878;--text:#344e60}body,body p,body li,body label,body input,body textarea,body button,body .elementor-widget-text-editor,body .elementor-field{font-family:"Segoe UI",system-ui,sans-serif!important}body{color:#344e60}body h1,body h2,body h3,body .site-nav a{font-family:Poppins,"Segoe UI",sans-serif}.andreu-redesign h1,.andreu-redesign h2,.andreu-redesign h3,.article-intro h1,.blog-intro h1{color:#003878!important}a:not(.primary-button):not(.header-cta):not(.footer-button){color:#003878}.site-footer{background:#003878!important}.site-footer a{color:#eef6fb!important}.service-original .elementor-divider-separator,.corcho-original .elementor-divider-separator{border-color:#21783e!important}.service-original h2:before,.corcho-original h2:before{content:"✓"!important;width:38px!important;height:38px!important;border-radius:50%!important;color:#21783e!important;background:#e3f2e7!important;border:1px solid #bdddc7!important;font:700 19px/1 "Segoe UI",sans-serif!important;box-shadow:0 3px 12px rgba(33,120,62,.13)}
.service-hero-grid,.home-hero .wrap{padding:34px 0!important;gap:clamp(24px,4vw,48px)!important;min-height:320px}.service-hero-photo{height:250px!important}.home .home-hero .hero-image{min-height:250px!important}.home .home-hero .hero-image img{height:250px!important}.service-hero h1,.home-hero h1{font-size:clamp(2.1rem,3.2vw,2.9rem)!important;line-height:1.12!important}.service-hero p,.home-hero p{font-size:1rem!important}.service-hero .hero-actions,.contact-hero-actions{margin:18px 0 0!important}.blog-intro .wrap,.article-intro{padding:42px 0!important}.blog-intro h1,.article-intro h1{font-size:clamp(2.1rem,3.2vw,2.9rem)!important}
.page-id-55 .elementor-element-3fc4a77>.elementor-widget-wrap{align-content:flex-start!important;align-items:flex-start!important}.page-id-55 .elementor-element-7af0cc8>.elementor-container{align-items:flex-start!important}.page-id-59 .elementor-element-35a4b2fa,.page-id-53 .elementor-element-24210cce{display:none!important}
.footer-company .footer-tagline{font-size:1.05rem!important;color:#e2edf5!important;line-height:1.5!important;margin:5px 0 20px!important}.footer-contact-list{display:grid;gap:14px}.site-footer .footer-contact-list>a{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;font-weight:650!important;line-height:1.45!important;text-decoration:none;overflow-wrap:anywhere}.footer-contact-list small{display:block;color:#b7d2df;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:3px}.footer-contact-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(208,235,220,.4);border-radius:10px;background:rgba(255,255,255,.09);color:#b9e7c7;font-size:17px}.footer-contact-list a:hover span:last-child{text-decoration:underline}
.service-project{background:#edf6f1;padding:64px 0}.project-layout{display:grid;grid-template-columns:1fr .9fr;gap:clamp(28px,5vw,65px);align-items:center}.project-content h2,.company-more h2{color:#003878;font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.18;margin:.5rem 0 1rem}.project-content>p,.company-more p{color:#526b7c;max-width:45rem}.project-layout>img{width:100%;height:390px;object-fit:cover;border-radius:16px;box-shadow:0 16px 35px rgba(16,44,73,.12)}.project-points{display:grid;gap:12px;margin:24px 0}.project-points>div,.company-values>div{display:flex;align-items:flex-start;gap:13px}.project-points>div>span,.company-values>div>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:#d9eddf;color:#21783e;font-weight:700;font-size:20px}.project-points p,.company-values p{margin:0;line-height:1.45}.project-points strong,.company-values h3{color:#003878}.project-content .primary-button{color:#fff!important}.company-more{padding:64px 0;background:#f1f7f5}.company-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.company-values{display:grid;gap:12px}.company-values>div{background:#fff;border:1px solid #dce9e4;border-radius:12px;padding:18px}.company-values h3{font-size:1rem;margin:0 0 4px}.company-more-link{display:inline-block;margin-top:14px;font-weight:700}
@media(max-width:1000px){.site-header .header-row{grid-template-columns:minmax(0,1fr) auto!important}.site-header .brand{grid-column:1!important;width:clamp(170px,55vw,230px)!important;height:66px!important}.site-header .mobile-menu,.site-header .mobile-menu[open]{grid-column:2!important}.site-header .header-cta{display:none!important}.site-header .header-row:has(.mobile-menu[open]) .header-cta{display:none!important}}
@media(max-width:780px){.service-hero-grid,.home-hero .wrap{min-height:0;padding:30px 0!important;gap:18px!important}.service-hero h1,.home-hero h1{font-size:2rem!important}.service-hero-photo{height:200px!important}.home .home-hero .hero-image{min-height:200px!important}.home .home-hero .hero-image img{height:200px!important}.project-layout,.company-more-grid{grid-template-columns:1fr}.service-project,.company-more{padding:42px 0}.project-layout>img{height:220px}.site-header .brand{width:190px!important;height:62px!important}.site-header .header-row{min-height:0!important;padding:8px 0!important}.site-footer .footer-company .footer-logo{width:225px}.page-id-55 .elementor-element-7af0cc8>.elementor-container{align-items:stretch!important}}

/* Imágenes optimizadas, evitando descargar el fondo completo y la miniatura a la vez. */
.home .home-hero .hero-image { background-image: none !important; }
.home .trust .wrap:after { background-image: url("images/portada-interior.webp") !important; }
.service-original .elementor-element-1c5b45a:after { background-image: url("images/reformas.webp") !important; }
.site-header .brand, .site-footer .footer-logo { background-image: url("images/logo-andreu.webp") !important; }

.page-id-51 .elementor-element-9794cb1,.page-id-59 .elementor-element-339f831{display:none!important}.related-services{padding:48px 0 56px;background:#f5f9f7}.related-services h2,.company-story h2{margin:.4rem 0 1.3rem;font-size:clamp(1.7rem,2.7vw,2.4rem);line-height:1.2;color:#003878}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.related-card{display:block;overflow:hidden;border-radius:16px;background:white;text-decoration:none;box-shadow:0 10px 30px #102c4912}.related-card img{width:100%;height:220px;object-fit:cover;display:block}.related-card>span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px}.related-card strong{font-size:1.15rem;color:#003878}.related-card small{font-weight:700;color:#21783e}.service-icon{width:54px;height:54px;font-size:27px;line-height:1}.company-story{padding:50px 0}.company-story .wrap{max-width:850px}.company-story p{line-height:1.75;color:#526b7c}.service-original .elementor-widget-divider,.corcho-original .elementor-widget-divider{margin-bottom:8px!important}.service-original .elementor-widget-divider .elementor-divider,.corcho-original .elementor-widget-divider .elementor-divider{padding:8px 0!important}.service-original .elementor-widget-heading,.corcho-original .elementor-widget-heading{margin-bottom:12px!important}@media(max-width:780px){.related-services{padding:35px 0 40px}.related-grid{grid-template-columns:1fr;gap:16px}.related-card img{height:180px}.related-card>span{padding:16px 18px}.company-story{padding:36px 0}.service-original .elementor-widget-divider .elementor-divider,.corcho-original .elementor-widget-divider .elementor-divider{padding:5px 0!important}.service-original .elementor-widget-heading,.corcho-original .elementor-widget-heading{margin-bottom:8px!important}}