﻿/*
Theme Name: Astra Child - Grupo Acción
Theme URI: https://grupoaccioninmobiliaria.com
Description: Child theme for Astra applying the Grupo Acción design system (Manrope + Source Serif 4, berry/ink/cream palette) and the prototype header/footer.
Author: Grupo Acción Inmobiliaria
Author URI: https://grupoaccioninmobiliaria.com
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600&display=swap");


:root{--ink:#181819;--muted:#68666a;--berry:#b10039;--berry-dark:#86002b;--cream:#f5f2ec;--paper:#fff;--line:#dedbd5;--soft:#f8f7f4;--green:#1e6250;--shadow:0 18px 50px rgba(20,16,18,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Manrope",Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(2.65rem,5.4vw,5.25rem)}h2{font-size:clamp(2rem,3.5vw,3.6rem)}h3{line-height:1.25}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding-block:112px}.eyebrow{margin:0 0 14px;color:var(--berry);font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.eyebrow.light{color:#f1a9be}
.prototype-bar{display:flex;justify-content:space-between;gap:20px;padding:8px 32px;background:var(--berry);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:210px 1fr auto;align-items:center;min-height:84px;padding:0 34px;border-bottom:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}.brand{display:block;width:180px;height:58px;overflow:hidden}.brand img{width:180px;height:60px;object-fit:contain}.main-nav{display:flex;justify-content:center;gap:32px}.main-nav a{position:relative;padding:30px 0 27px;font-size:.87rem;font-weight:700}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:2px;background:var(--berry);transition:right .2s}.main-nav a:hover::after,.main-nav a.active::after{right:0}.nav-mobile-contact{display:none}.header-actions{display:flex;align-items:center;gap:18px}.phone-icon-link{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);transition:color .2s,border-color .2s,background .2s}.phone-icon-link:hover{border-color:var(--berry);color:var(--berry)}.menu-toggle{display:none;width:46px;height:46px;padding:12px;border:0;background:none}.menu-toggle span{display:block;height:2px;margin:5px 0;background:var(--ink)}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;text-align:center;padding:0 26px;border:1px solid var(--berry);background:var(--berry);color:#fff;font-size:.83rem;font-weight:800;cursor:pointer;transition:transform .2s,background .2s,border .2s}.button:hover{transform:translateY(-2px);background:var(--berry-dark);border-color:var(--berry-dark)}.button-small{min-height:44px;padding-inline:19px}.button-ghost{border-color:rgba(255,255,255,.65);background:transparent}.button-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}.button-light{border-color:#fff;background:#fff;color:var(--berry)}.button-light:hover{background:var(--cream);color:var(--berry-dark);border-color:var(--cream)}.button-outline{background:transparent;color:var(--berry)}
.home-hero{position:relative;min-height:730px;overflow:hidden;background:var(--ink);color:#fff}.hero-image{position:absolute;inset:0;background:url("images/background-home.jpg") center/cover no-repeat}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.24),transparent 60%),linear-gradient(90deg,rgba(24,24,25,.80) 0%,rgba(24,24,25,.62) 34%,rgba(24,24,25,.16) 62%,rgba(24,24,25,.01) 100%)}.hero-copy{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:auto;padding:115px 46% 105px 0}.hero-copy h1{max-width:720px;margin-bottom:28px;font-family:"Source Serif 4",Georgia,serif;font-weight:500}.hero-lead{max-width:650px;margin-bottom:34px;color:#e7e3de;font-size:1.12rem}.button-row{display:flex;flex-wrap:wrap;gap:12px}.hero-proof{display:flex;gap:24px;margin-top:56px;padding-top:26px;border-top:1px solid rgba(255,255,255,.2);color:#d4d0cc;font-size:.78rem}.hero-proof strong{display:block;color:#fff;font-size:1.05rem}
.search-panel{position:relative;z-index:3;margin-top:-52px;padding:26px;background:#fff;box-shadow:var(--shadow)}.search-tabs{display:flex;gap:22px;margin-bottom:20px;border-bottom:1px solid var(--line)}.search-tabs button{padding:0 0 10px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font-weight:700;cursor:pointer}.search-tabs button.active{border-bottom-color:var(--berry);color:var(--berry)}.search-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:14px}label{display:grid;gap:7px;color:#414043;font-size:.78rem;font-weight:800}label span{color:var(--muted);font-weight:500}input,select,textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #cbc7c1;border-radius:0;outline:0;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--berry);box-shadow:0 0 0 3px rgba(177,0,57,.1)}textarea{min-height:95px;resize:vertical}.search-button{min-width:185px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2{max-width:780px;margin-bottom:14px}.section-heading p:not(.eyebrow){max-width:680px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--berry);font-size:.83rem;font-weight:800}.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}
.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.property-grid.compact{grid-template-columns:repeat(2,1fr)}.property-card{overflow:hidden;border:1px solid var(--line);background:#fff;transition:transform .25s,box-shadow .25s}.property-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.property-image{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.property-card:hover .property-image img{transform:scale(1.04)}.property-badge{position:absolute;top:14px;left:14px;padding:6px 10px;background:#fff;color:var(--berry);font-size:.68rem;font-weight:800;text-transform:uppercase}.favorite{position:absolute;top:14px;right:14px;display:grid;width:36px;height:36px;place-items:center;background:rgba(255,255,255,.94);border-radius:50%;font-size:1.3rem}.property-info{padding:22px}.property-info>p{margin-bottom:8px;color:var(--berry);font-size:.68rem;font-weight:800;text-transform:uppercase}.property-info h3{min-height:50px;margin-bottom:12px;font-size:1.1rem}.property-card-meta{color:var(--muted);font-size:.8rem}.property-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.property-bottom strong{font-size:1.15rem}.property-bottom a{display:grid;width:34px;height:34px;place-items:center;background:var(--ink);color:#fff}
.service-band{background:var(--ink);color:#fff}.service-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.service-intro h2,.proof-copy h2{font-family:"Source Serif 4",Georgia,serif;font-weight:500}.service-intro>p:not(.eyebrow){margin-bottom:30px;color:#c7c3c0}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #4a484a;border-left:1px solid #4a484a}.service-item{padding:34px;border-right:1px solid #4a484a;border-bottom:1px solid #4a484a}.service-item>span{color:#e790aa;font-size:.72rem;font-weight:800}.service-item h3{margin:26px 0 10px;font-size:1.18rem}.service-item p{margin:0;color:#aaa7aa;font-size:.85rem}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.step{display:flex;gap:18px;padding:28px 24px 0 0}.step>span{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border:1px solid var(--berry);color:var(--berry);font-size:.76rem;font-weight:800;border-radius:50%}.step h3{margin:0 0 8px;font-size:1rem}.step p{margin:0;color:var(--muted);font-size:.82rem}
.proof-section{padding-block:90px;background:var(--cream)}.proof-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:center}.score-card{padding:46px;background:#fff;box-shadow:var(--shadow)}.score-card .score{margin:0;color:var(--berry);font-family:"Source Serif 4",Georgia,serif;font-size:5.4rem;line-height:.9}.stars{margin:16px 0 8px;color:var(--berry);letter-spacing:.16em}.score-card strong,.score-card span{display:block}.score-card span{margin-top:8px;color:var(--muted);font-size:.8rem}.proof-copy>p:not(.eyebrow){max-width:650px;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.blog-image{aspect-ratio:1.5;overflow:hidden;margin-bottom:20px;background:var(--cream)}.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.blog-card:hover .blog-image img{transform:scale(1.04)}.blog-card h3{margin:0 0 10px;font-size:1.16rem}.blog-card>p:not(.eyebrow){color:var(--muted);font-size:.83rem}.final-cta{padding:76px 0;background:var(--berry);color:#fff}.final-cta .wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px;text-align:center}.final-cta h2{max-width:780px;margin:0 auto 12px}.final-cta p:not(.eyebrow){margin-bottom:0;color:#f4ced9}
.sell-hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:720px;background:var(--ink);color:#fff}.sell-hero-copy{padding:100px max(56px,calc((100vw - 1180px)/2)) 90px;background:linear-gradient(90deg,rgba(24,24,25,.98),rgba(24,24,25,.76)),url("https://grupoaccioninmobiliaria.com/wp-content/uploads/2022/11/grupo-accion-inmobiliaria-vendedores.jpg") center/cover}.sell-hero-copy h1{max-width:730px;font-family:"Source Serif 4",Georgia,serif;font-weight:500}.sell-hero-copy>p:not(.eyebrow){max-width:650px;color:#d7d3d0;font-size:1.05rem}.check-list{padding:0;list-style:none}.check-list li{position:relative;padding:8px 0 8px 28px}.check-list li::before{content:"✓";position:absolute;left:0;color:#ef9db6;font-weight:800}.price-note{display:grid;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.25)}.price-note strong{font-size:.75rem;color:#f1a9be}.price-note span{color:#aaa6a7;font-size:.75rem}.lead-card{position:relative;display:grid;align-items:center;padding:60px clamp(32px,5vw,76px);background:var(--cream);color:var(--ink)}.lead-card form{display:grid;gap:16px;width:100%;max-width:610px;margin:auto}.lead-card h2{margin-bottom:0;font-size:clamp(1.7rem,3vw,2.5rem)}.form-intro{margin:-7px 0 5px;color:var(--muted);font-size:.83rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-field{display:flex;grid:none;align-items:flex-start;gap:9px;font-size:.72rem;font-weight:500}.check-field input{width:18px;min-height:18px;margin-top:2px}.form-button{width:100%}.lead-card small{color:var(--muted);font-size:.64rem}.form-success{max-width:520px;margin:auto;text-align:center}.success-icon{display:grid;width:66px;height:66px;margin:0 auto 24px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:1.5rem}.reset-demo{margin:0 auto;border:0;background:none;cursor:pointer}
.three-grid,.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{padding:34px;border:1px solid var(--line)}.feature-card>span{display:grid;width:48px;height:48px;place-items:center;background:var(--cream);color:var(--berry);font-size:.8rem;font-weight:800}.feature-card h3{margin:28px 0 10px}.feature-card p{margin:0;color:var(--muted);font-size:.85rem}.split-section{display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--soft)}.split-image{min-height:780px;background-size:cover;background-position:center}.seller-image{background-image:url("https://grupoaccioninmobiliaria.com/wp-content/uploads/2022/11/grupoaccioninmobiliaria-vendedores-foto-video-scaled.jpg")}.split-copy{padding:92px clamp(40px,7vw,110px)}.timeline{display:grid;gap:26px;margin-top:40px}.timeline .step{padding:0}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.faq-grid details{border-top:1px solid var(--line)}.faq-grid summary{display:flex;justify-content:space-between;gap:18px;padding:24px 0;font-weight:800;cursor:pointer;list-style:none}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary span{color:var(--berry);font-size:1.25rem}.faq-grid details p{padding:0 38px 24px 0;color:var(--muted);font-size:.86rem}
.listing-hero{padding:94px max(24px,calc((100vw - 1180px)/2));background:var(--ink);color:#fff}.listing-hero>div{max-width:820px}.listing-hero h1{font-family:"Source Serif 4",Georgia,serif;font-weight:500}.listing-hero p:not(.eyebrow){max-width:680px;margin-bottom:0;color:#c8c4c2}.listing-section{display:grid;grid-template-columns:260px 1fr;gap:42px;padding-block:64px 112px}.filter-card{align-self:start;display:grid;gap:20px;padding:24px;border:1px solid var(--line);background:var(--soft)}.filter-heading{display:flex;justify-content:space-between;align-items:center}.filter-heading button{border:0;background:none;color:var(--berry);font-size:.7rem;font-weight:800;cursor:pointer}.filter-button{width:100%}.filter-help{margin:0;color:var(--muted);font-size:.73rem}.filter-help a{color:var(--berry);font-weight:700}.results-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.results-top span{color:var(--muted);font-size:.78rem}.results-top select{width:auto;min-height:42px}.empty-state{padding:70px;text-align:center;background:var(--cream)}.search-assist{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:100px;padding:52px;background:var(--cream)}.search-assist h2{margin-bottom:12px}.search-assist p:not(.eyebrow){margin:0;color:var(--muted)}
.breadcrumbs{display:flex;gap:9px;padding-block:24px;color:var(--muted);font-size:.75rem}.breadcrumbs a{color:var(--berry)}.property-gallery{display:grid;grid-template-columns:2fr 1fr;gap:10px;height:590px}.property-gallery button{overflow:hidden;padding:0;border:0;background:var(--cream);cursor:pointer}.property-gallery img{width:100%;height:100%;object-fit:cover}.gallery-main{position:relative}.gallery-count{position:absolute;right:18px;bottom:18px;padding:7px 10px;background:rgba(24,24,25,.86);color:#fff;font-size:.75rem}.gallery-side{display:grid;gap:10px}.property-layout{display:grid;grid-template-columns:1fr 360px;gap:70px;padding-block:68px 110px}.property-content h1{max-width:820px;font-size:clamp(2.3rem,4.3vw,4.4rem);font-family:"Source Serif 4",Georgia,serif;font-weight:500}.property-meta{display:flex;flex-wrap:wrap;gap:28px;margin:32px 0;padding:22px 0;border-block:1px solid var(--line);color:var(--muted);font-size:.78rem}.property-meta strong{color:var(--ink);font-size:1rem}.property-copy h2,.amenities h2{margin-top:48px;font-size:1.65rem}.property-copy p{color:var(--muted)}.note-box{padding:22px;border-left:3px solid var(--berry);background:var(--cream);color:var(--ink)!important;font-size:.8rem}.amenities>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;color:#4e4c4e;font-size:.83rem}.map-placeholder{display:grid;min-height:280px;margin-top:54px;place-items:center;background-color:#ece9e2;background-image:linear-gradient(30deg,transparent 49%,#d9d5cd 50%,transparent 51%),linear-gradient(-30deg,transparent 49%,#dfdbd4 50%,transparent 51%);background-size:54px 54px;text-align:center}.map-placeholder div{display:grid;padding:18px 24px;background:#fff;box-shadow:var(--shadow)}.map-placeholder span,.map-placeholder small{color:var(--muted);font-size:.72rem}.property-lead{position:sticky;top:112px;align-self:start;padding:30px;border:1px solid var(--line);box-shadow:0 12px 40px rgba(20,16,18,.08)}.property-price{margin:0;font-size:2rem;font-weight:800}.property-lead>p:nth-child(2){color:var(--muted);font-size:.85rem}.full-button{width:100%;margin-top:10px}.advisor-mini{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.advisor-avatar{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--berry);color:#fff;font-size:.72rem;font-weight:800}.advisor-mini strong,.advisor-mini span{display:block}.advisor-mini strong{font-size:.8rem}.advisor-mini span{color:var(--muted);font-size:.68rem}.micro-list{padding:14px 0 0 18px;color:var(--muted);font-size:.7rem}
.about-hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:650px;background:var(--ink);color:#fff}.about-image{min-height:650px;background:linear-gradient(0deg,rgba(0,0,0,.18),transparent),url("https://grupoaccioninmobiliaria.com/wp-content/uploads/2022/10/grupo-accioninmobilaria-banner-quienes-somos.jpg") center/cover}.about-copy{display:flex;flex-direction:column;justify-content:center;padding:80px clamp(42px,6vw,90px)}.about-copy h1,.story-layout h2,.editorial-hero h1,.contact-intro h1{font-family:"Source Serif 4",Georgia,serif;font-weight:500}.about-copy p:not(.eyebrow){color:#c9c5c2}.story-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.story-layout p{color:var(--muted);font-size:1.03rem}.team-section{background:var(--cream)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.team-card{padding-bottom:28px;background:#fff;text-align:center}.team-image{aspect-ratio:1;overflow:hidden;background:#eee9e5}.team-image img{width:100%;height:100%;object-fit:cover}.team-card h3{margin:25px 12px 4px}.team-card p{margin-bottom:10px;color:var(--muted);font-size:.8rem}.team-card a{color:var(--berry);font-size:.76rem;font-weight:800}.editorial-hero{padding-block:100px 40px}.editorial-hero h1{max-width:850px}.editorial-hero>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.topic-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}.topic-tabs button{padding:9px 16px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.75rem;font-weight:700;cursor:pointer}.topic-tabs button.active{border-color:var(--berry);background:var(--berry);color:#fff}.newsletter-band{padding:70px 0;background:var(--ink);color:#fff}.newsletter-layout{display:flex;justify-content:space-between;gap:60px;align-items:center}.newsletter-layout h2{margin-bottom:10px}.newsletter-layout p:not(.eyebrow){margin:0;color:#aaa6a7}.newsletter-layout form{display:flex;min-width:min(480px,100%)}.newsletter-layout input{border-color:#fff}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:90px}.contact-intro{padding-top:30px}.contact-intro>p:not(.eyebrow){color:var(--muted)}.contact-options{display:grid;gap:14px;margin-top:40px}.contact-options>*{display:grid;padding:18px 0;border-top:1px solid var(--line)}.contact-options span{color:var(--berry);font-size:.68rem;font-weight:800;text-transform:uppercase}.contact-options strong{font-size:.9rem}.contact-page .lead-card{padding:50px}
.site-footer{padding:76px 0 24px;background:#111112;color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}.footer-brand img{width:190px;height:70px;object-fit:contain}.footer-brand p{color:#99969a;font-size:.8rem}.site-footer h2{margin:0 0 18px;font-family:"Manrope",Arial,sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.site-footer a,.site-footer p{display:block;margin:8px 0;color:#a9a6a9;font-size:.75rem}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:58px;padding-top:22px;border-top:1px solid #343335;color:#7c797d;font-size:.68rem}.footer-bottom div{display:flex;gap:20px}.footer-bottom a{display:inline;margin:0;font-size:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1080px){.site-header{grid-template-columns:170px 1fr auto;padding-inline:24px}.brand,.brand img{width:155px}.main-nav{gap:20px}.hero-copy{padding-right:38%}.service-layout{gap:44px}.property-layout{grid-template-columns:1fr 320px;gap:36px}}
@media(max-width:860px){.prototype-bar{padding-inline:20px}.prototype-bar span:last-child{display:none}.site-header{grid-template-columns:1fr auto auto;min-height:72px}.brand{height:52px}.brand img{height:52px}.menu-toggle{display:block}.main-nav{position:absolute;top:72px;left:0;right:0;display:none;padding:16px 24px 28px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.is-open{display:grid}.main-nav a{padding:12px 0}.main-nav a::after{display:none}.nav-mobile-contact{display:block!important;color:var(--berry)}.header-actions{margin-right:5px}.home-hero{min-height:700px}.hero-shade{background:linear-gradient(90deg,rgba(24,24,25,.92) 0%,rgba(24,24,25,.45) 100%)}.hero-copy{padding:100px 0 90px}.hero-proof{flex-wrap:wrap}.search-fields{grid-template-columns:1fr 1fr}.search-button{width:100%}.property-grid,.blog-grid,.team-grid,.three-grid,.value-grid{grid-template-columns:1fr 1fr}.service-layout,.proof-layout,.story-layout{grid-template-columns:1fr;gap:50px}.process-grid{grid-template-columns:1fr 1fr;gap:28px}.sell-hero{grid-template-columns:1fr}.sell-hero-copy{padding-inline:40px}.split-section{grid-template-columns:1fr}.split-image{min-height:500px}.listing-section{grid-template-columns:1fr}.filter-card{grid-template-columns:1fr 1fr}.filter-heading,.filter-help{grid-column:1/-1}.property-gallery{height:470px}.property-layout{grid-template-columns:1fr}.property-lead{position:static}.contact-page{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}}
@media(max-width:600px){body{font-size:15px}.wrap{width:min(100% - 32px,1180px)}.section{padding-block:76px}.site-header{padding-inline:16px}.header-actions .button{display:none}.home-hero{min-height:690px}.hero-copy{width:min(100% - 32px,1180px);padding-top:72px}.hero-copy h1{font-size:3.05rem}.hero-lead{font-size:.98rem}.button-row{display:grid}.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:38px}.search-panel{margin-top:-26px;padding:20px}.search-fields{grid-template-columns:1fr}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{margin-top:12px}.property-grid,.property-grid.compact,.blog-grid,.team-grid,.three-grid,.value-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.score-card{padding:34px}.final-cta .wrap,.search-assist,.newsletter-layout{display:grid}.final-cta .button,.search-assist .button{width:100%}.sell-hero-copy{padding:72px 24px}.lead-card,.contact-page .lead-card{padding:40px 22px}.form-row{grid-template-columns:1fr}.split-image{min-height:390px}.split-copy{padding:68px 24px}.faq-grid{grid-template-columns:1fr}.filter-card{grid-template-columns:1fr}.filter-heading,.filter-help{grid-column:auto}.results-top{align-items:flex-start;gap:14px}.results-top select{max-width:170px}.search-assist{padding:34px 24px}.property-gallery{display:block;height:380px;width:100%}.gallery-main{width:100%;height:100%}.gallery-side{display:none}.property-layout{padding-top:44px}.property-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px}.amenities>div{grid-template-columns:1fr 1fr}.about-hero{grid-template-columns:1fr}.about-image{min-height:360px}.about-copy{padding:60px 24px}.newsletter-layout form{display:grid;min-width:100%;gap:10px}.contact-page{padding-block:64px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{display:grid}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ==========================================================================
   WordPress / Astra / Beaver Builder integration
   These rules adapt existing CMS content to the Grupo Acción design system.
   ========================================================================== */

/* --- Content container: match the design's 1180px wrap --- */
.ast-container {
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: 24px;
}

/* --- Quiénes somos page: full width content so the hero can bleed --- */
body.gai-nosotros-page .site-content > .ast-container {
    max-width: 100% !important;
    padding-inline: 0 !important;
}

/* --- Blog page: full width content so sections can bleed --- */
body.gai-blog-page .site-content > .ast-container {
    max-width: 100% !important;
    padding-inline: 0 !important;
}

/* --- Home hero: heading must be white on the dark hero (Astra sets a dark h1) --- */
.home-hero h1 {
    color: #fff;
}

/* --- Listing hero: breathing room under the heading --- */
.listing-hero h1 {
    margin-bottom: 40px;
}

/* --- About hero: breathing room under the heading --- */
.about-hero .about-copy h1 {
    margin-bottom: 40px;
}

/* --- Sell hero: breathing room under the heading --- */
.sell-hero-copy h1 {
    margin-bottom: 40px;
}

/* --- Headings in dark design sections must be light (Astra forces a dark heading color) --- */
.service-band h2,
.service-band h3,
.final-cta h2,
.listing-hero h1,
.sell-hero-copy h1,
.about-hero .about-copy h1,
.newsletter-band h2,
.site-footer h2 {
    color: #fff;
}

/* --- Headings inside CMS content adopt the design typography --- */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
    color: var(--ink);
    letter-spacing: -0.035em;
    line-height: 1.15;
}
.entry-content h1,
.entry-content h2 {
    font-family: "Source Serif 4", Georgia, serif;
    font-weight: 500;
}
.entry-content h1 { font-size: clamp(2.2rem, 4.4vw, 3.8rem); }
.entry-content h2 { font-size: clamp(1.7rem, 3.1vw, 2.8rem); }
.entry-content h3 { font-size: 1.3rem; }
.entry-content h4 { font-size: 1.08rem; }

/* --- Links inside content --- */
.entry-content a:not(.button):not(.fl-button):not(.wp-block-button__link) {
    color: var(--berry);
}

/* --- Beaver Builder / UABB / Gutenberg buttons: match .button --- */
.fl-builder-content a.fl-button,
.uabb-creative-button,
.wp-block-button__link,
.entry-content .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 26px;
    border: 1px solid var(--berry);
    border-radius: 0;
    background: var(--berry);
    color: #fff;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 0.83rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    transition: transform 0.2s, background 0.2s, border 0.2s;
}
.fl-builder-content a.fl-button:hover,
.uabb-creative-button:hover,
.wp-block-button__link:hover,
.entry-content .button:hover {
    transform: translateY(-2px);
    background: var(--berry-dark);
    border-color: var(--berry-dark);
    color: #fff;
}

/* --- Gravity Forms fields: match the design inputs --- */
.gform_wrapper .gfield input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea,
.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.gform_wrapper select,
.gform_wrapper textarea {
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #cbc7c1;
    border-radius: 0;
    background: #fff;
    color: var(--ink);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1rem;
}
.gform_wrapper .gfield input:focus,
.gform_wrapper .gfield select:focus,
.gform_wrapper .gfield textarea:focus,
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
    border-color: var(--berry);
    box-shadow: 0 0 0 3px rgba(177, 0, 57, 0.1);
    outline: 0;
}
.gform_wrapper .gform_button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .button {
    min-height: 50px;
    padding: 0 26px;
    border: 1px solid var(--berry);
    border-radius: 0;
    background: var(--berry);
    color: #fff;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 0.83rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.2s, background 0.2s, border 0.2s;
}
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .button:hover {
    transform: translateY(-2px);
    background: var(--berry-dark);
    border-color: var(--berry-dark);
}

/* --- Main nav menu (WordPress <ul>/<li> markup) --- */
.main-nav ul,
.main-nav li {
    margin: 0;
    padding: 0;
    list-style: none;
}
.main-nav ul {
    display: flex;
    gap: 32px;
    align-items: center;
}
.main-nav li {
    display: inline-flex;
    align-items: center;
}
.main-nav a {
    padding: 30px 0 27px;
}
/* Hide submenus in case any depth sneaks in */
.main-nav .sub-menu {
    display: none;
}

/* --- Sticky header shadow on scroll --- */
.site-header.is-scrolled {
    box-shadow: 0 6px 24px rgba(20, 16, 18, 0.08);
}

/* Remove Astra clearfix pseudo-elements from the header grid (they become empty grid cells) */
.site-header::before,
.site-header::after {
    content: none;
    display: none;
}

/* --- GTranslate language switcher in the header --- */
.gai-language-switcher {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
}
.gai-language-switcher .gtranslate_wrapper {
    display: inline-flex;
}

/* Compact "flag only" dropdown: the dropdown_with_flags widget becomes a 44px
   circular button showing only the current flag (text hidden); clicking opens
   the flag list as an overlay so the header keeps its height. */
.gai-language-switcher .gt_switcher {
    position: relative;
    width: 44px !important;
    overflow: visible !important;
}
.gai-language-switcher .gt_switcher .gt_selected {
    background: #fff !important;
    background-image: none !important;
}
.gai-language-switcher .gt_switcher .gt_selected a {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line) !important;
    border-radius: 50%;
    background: #fff;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    padding: 0 !important;
    transition: border-color 0.2s;
}
.gai-language-switcher .gt_switcher .gt_selected a:hover {
    border-color: var(--berry);
}
.gai-language-switcher .gt_switcher .gt_selected a:after {
    display: none !important;
}
.gai-language-switcher .gt_switcher .gt_selected img {
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
}
.gai-language-switcher .gt_switcher .gt_option {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999;
    min-width: 150px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}
.gai-language-switcher .gt_switcher .gt_option a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 6px 10px !important;
    font-size: 0.78rem;
    font-weight: 700;
}
.gai-language-switcher .gt_switcher .gt_option a:hover {
    background: var(--cream);
}
.gai-language-switcher select {
    width: auto;
    min-width: 150px;
    min-height: 42px;
    padding: 8px 30px 8px 12px;
    border: 1px solid var(--line);
    border-radius: 0;
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23181819' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
    color: var(--ink);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

/* Desktop header: logo left, nav center, phone + button right */
@media (min-width: 861px) {
    .site-header {
        grid-template-columns: 210px 1fr auto;
    }
    .site-header .brand {
        grid-column: 1;
        justify-self: start;
    }
    .site-header .main-nav {
        grid-column: 2;
        justify-self: center;
    }
    .site-header .header-actions {
        grid-column: 3;
        justify-self: end;
    }
}

/* --- Admin bar offset for the sticky header --- */
.admin-bar .site-header {
    top: 32px;
}
@media (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }
}

/* --- Mobile nav: stack the menu list --- */
@media (max-width: 860px) {
    .main-nav ul {
        display: grid;
        gap: 0;
    }
    .main-nav li {
        display: block;
    }
    .main-nav li + li {
        border-top: 1px solid var(--line);
    }
}

/* ==========================================================================
   Footer — social icons + EU (Plan de Recuperación) band
   ========================================================================== */
.footer-social {
    margin-top: 24px;
}
.footer-social > span {
    display: block;
    margin-bottom: 12px;
    color: #a9a6a9;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.social-icons {
    display: flex;
    gap: 10px;
}
.social-icons a {
    display: inline-flex !important;
    width: 40px;
    height: 40px;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #3c3b3d;
    border-radius: 50%;
    background: transparent;
    color: #fff;
    transition: border-color 0.2s, background 0.2s, transform 0.2s;
}
.social-icons a svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}
.social-icons a:hover {
    border-color: var(--berry);
    background: var(--berry);
    color: #fff;
    transform: translateY(-2px);
}

/* Footer EU band (white-on-transparent logo, sits on the dark footer) */
.footer-eu {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 44px;
    padding-top: 34px;
    border-top: 1px solid #343335;
}
.footer-eu img {
    max-width: min(560px, 100%);
    height: auto;
}
@media (max-width: 600px) {
    .footer-eu {
        margin-top: 32px;
        padding-top: 26px;
    }
}

/* --- "Búsqueda activa" CTA band (listing pages) --- */
/* Reduced to fit the new design (width -30%, height -10%): the texts, the
   button and the paddings are scaled down and the band stays centred. */
.search-assist {
    width: min(743px, calc(100% - 48px));
    gap: 26px;
    padding: 40px 46px;
}
.search-assist .eyebrow {
    font-size: 0.68rem;
    margin-bottom: 7px;
}
.search-assist h2 {
    font-size: 1.65rem;
    line-height: 1.15;
    margin: 0 0 7px;
}
.search-assist p:not(.eyebrow) {
    font-size: 0.92rem;
    margin: 0;
}
.search-assist .button {
    font-size: 0.68rem;
    padding: 0 15px;
    min-height: 44px;
    white-space: nowrap;
}
@media (max-width: 700px) {
    .search-assist {
        padding: 28px 26px;
        gap: 18px;
    }
    .search-assist h2 {
        font-size: 1.55rem;
    }
    .search-assist .button {
        white-space: nowrap;
    }
}

/* --- Home hero: fit exactly the first viewport --- */
/* On desktop (header is 84px tall) make the hero fill the visible area so the
   whole hero (incl. the stats row) is seen without scrolling and clears the
   floating WhatsApp widget; the copy is centred and trimmed. */
@media (min-width: 1081px) {
    .home-hero {
        min-height: calc(100vh - 84px);
        display: flex;
        align-items: center;
    }
    .hero-copy {
        padding: 32px 46% 16px 0;
    }
    .hero-copy .eyebrow {
        margin-bottom: 8px;
    }
    .hero-copy h1 {
        font-size: clamp(1.7rem, 3.3vw, 2.45rem);
        line-height: 1.15;
        margin-bottom: 8px;
    }
    .hero-lead {
        font-size: 0.95rem;
        margin-bottom: 8px;
    }
    .hero-proof {
        margin-top: 14px;
        padding-top: 12px;
    }
}

/* --- Hero proof: heading + stats row (home) --- */
.home-hero .hero-proof {
    display: block;
    margin-top: 16px;
    padding-top: 0;
    border-top: 0;
}
.home-hero .hero-proof h2 {
    margin: 0 0 8px;
    color: #fff;
    font-family: "Source Serif 4", Georgia, serif;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.3;
    letter-spacing: -0.01em;
}
.home-hero .hero-proof-stats {
    display: flex;
    gap: 24px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* ==========================================================================
   Joinchat WhatsApp bubble
   The plugin pins it to the bottom-left corner. Move it to the opposite
   corner: vertical middle of the viewport, right edge, shrunk and repainted
   in the brand colour.
   The WhatsApp glyph is the button's own background-image (with
   `background-size: 60%`), so it scales by itself — only `background-color`
   is overridden here, never the `background` shorthand.
   ========================================================================== */
.joinchat.joinchat--btn {
    top: 50% !important;
    bottom: auto !important;
    left: auto !important;
    right: 20px !important;
}
.joinchat.joinchat--btn .joinchat__button {
    top: 0 !important;
    bottom: auto !important;
    left: auto;
    right: 8px;
    /* Half the bubble height, so it straddles the 50% line. */
    margin-top: -23px;
    /* Pulls it from 28px to 1px off the right edge: a tab stuck to the edge.
       Negative `margin-right` pushes an absolutely positioned element further
       right, since `right` positions its margin edge. */
    margin-left: 0;
    margin-right: -27px;
    width: 46px;
    height: 46px;
    background-color: var(--berry);
    box-shadow: 1px 6px 24px 0 rgba(134, 0, 43, .24);
}
.joinchat.joinchat--btn .joinchat__button:hover,
.joinchat.joinchat--btn .joinchat__button:active {
    background-color: var(--berry-dark);
}


