/* Presentation only: existing text, forms, consent and CAPTCHA remain intact. */
body:has(#quienes_somos),body:has(#div_contacto_mapa),body.marketing{color:#263d32}
body:has(#quienes_somos) #cabecera,body.marketing #cabecera{max-height:380px;overflow:hidden}
body:has(#quienes_somos) #cabecera img,body.marketing #cabecera img{display:block;max-height:380px;object-fit:cover;width:100%}
body:has(#quienes_somos) #titulo_comun,body:has(#div_contacto_mapa) #titulo_comun,body.marketing #titulo_comun{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:1000px!important;margin:36px auto 24px!important;padding:0!important;border:0!important;color:#004929!important;font-size:clamp(24px,2.4vw,34px)!important;line-height:1.3!important;text-align:center}
#quienes_somos.content,body.marketing .main-text{box-sizing:border-box!important;width:calc(100% - 40px)!important;max-width:860px!important;margin:24px auto 40px!important;padding:0!important;text-align:left!important;font:400 16px/1.85 'Open Sans',Arial,sans-serif!important;color:#34483e!important}
#quienes_somos p,body.marketing .main-text p{margin:0 0 22px!important;padding:0!important}
body:has(#quienes_somos) #bloque_pag_img,body.marketing #bloque_pag_img{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;box-sizing:border-box!important;width:calc(100% - 48px)!important;max-width:1080px!important;margin:36px auto 56px!important;padding:0!important}
body:has(#quienes_somos) #bloque_pag_img>div,body.marketing #bloque_pag_img>div{width:100%!important;float:none!important;margin:0!important;padding:0!important;min-width:0}
body:has(#quienes_somos) #bloque_pag_img img,body.marketing #bloque_pag_img img{display:block;width:100%!important;border-radius:12px;aspect-ratio:1.5;object-fit:cover}
#div_contacto_mapa{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:32px;box-sizing:border-box!important;width:calc(100% - 48px)!important;max-width:1080px!important;margin:32px auto 56px!important;padding:0!important}
#form_contacto.content{box-sizing:border-box!important;width:100%!important;float:none!important;margin:0!important;padding:28px!important;background:#fff;border:1px solid #dbe5de;border-radius:14px;box-shadow:0 6px 24px #173b2b08}
#form_contacto :is(#contacto1,#contacto3,#contacto5){float:none!important;width:100%!important;margin:0 0 10px!important;padding:0!important;color:#004929!important;font:600 20px/1.4 'Open Sans',Arial,sans-serif!important}
#form_contacto :is(#contacto2,#contacto4,#contacto6,#contacto7,#contacto8,#contacto9){float:none!important;width:100%!important;box-sizing:border-box!important;padding:0!important;margin:0 0 22px!important;font:400 14px/1.6 'Open Sans',Arial,sans-serif!important}
#form_contacto #contacto6 p{padding:0!important;margin:0 0 12px!important}
#form_contacto :is(input[type=text],input[type=email],textarea){box-sizing:border-box!important;width:100%!important;padding:11px 13px!important;border:1px solid #cbd9d0!important;border-radius:8px!important;background:#fbfcfb;color:#263d32;font:400 15px/1.5 'Open Sans',Arial,sans-serif!important;min-height:44px}
#form_contacto textarea{height:125px;min-height:125px!important;resize:vertical!important}
#form_contacto input[type=submit],body.marketing #btnsend{border:1px solid #004929!important;background:#004929!important;color:#fff!important;border-radius:8px!important;padding:10px 26px!important;font:600 14px/1.4 'Open Sans',Arial,sans-serif!important;min-height:42px}
#form_contacto :is(input,textarea):focus-visible,body.marketing :is(input,textarea,select,button):focus-visible{outline:3px solid #82b499;outline-offset:2px}
#google_map{float:none!important;box-sizing:border-box!important;width:100%!important;max-width:460px!important;margin:0 auto!important;padding:10px!important;border:1px solid #dbe5de;border-radius:14px;background:#f5f8f6;overflow:hidden;aspect-ratio:1}
#google_map iframe{display:block!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:8px}
body.marketing>.row{margin-left:0!important;margin-right:0!important}
body.marketing .main_marketing{box-sizing:border-box!important;width:calc(100% - 48px)!important;max-width:1000px!important;margin:32px auto 48px!important;padding:28px!important;border:1px solid #dbe5de!important;border-radius:14px;background:#f7faf8;box-shadow:0 6px 24px #173b2b08}
body.marketing .main_marketing>.ms-3{margin-left:0!important}
body.marketing .main_marketing h3{color:#004929;font-size:25px;margin-bottom:22px}
body.marketing .form-control,body.marketing .form-select{border:1px solid #cbd9d0!important;border-radius:8px!important;color:#263d32;background-color:#fff}
body.marketing .form-check-label{font-size:13px!important;line-height:1.5}
body.marketing .form-check-input:checked{background-color:#004929;border-color:#004929}
@media(max-width:800px){#div_contacto_mapa{grid-template-columns:minmax(0,1fr)}#google_map{max-width:420px}body.marketing .main_marketing .col-md-4{width:100%!important}body.marketing .main_marketing .ps-md-4{padding-left:0!important}body.marketing .main_marketing .mt-5{margin-top:20px!important}}
@media(max-width:540px){#quienes_somos.content,body.marketing .main-text{width:calc(100% - 32px)!important;font-size:15px!important;line-height:1.75!important}body:has(#quienes_somos) #bloque_pag_img,body.marketing #bloque_pag_img{grid-template-columns:minmax(0,1fr);width:calc(100% - 32px)!important;gap:16px}#div_contacto_mapa,body.marketing .main_marketing{width:calc(100% - 24px)!important;margin:24px auto 36px!important}#form_contacto.content,body.marketing .main_marketing{padding:16px!important}body:has(#quienes_somos) #cabecera img,body.marketing #cabecera img{min-height:160px;object-fit:cover}#contacto8 .g-recaptcha,body.marketing .g-recaptcha{transform:scale(.85);transform-origin:left top;width:304px;max-width:none}#contacto8{overflow:hidden}body.marketing .main_marketing .row{margin-left:0;margin-right:0}body.marketing .main_marketing .row>*{padding-left:0;padding-right:0}}

/* Refined contact and sale layout. */
#div_contacto_mapa{grid-template-columns:minmax(0,1fr)!important;max-width:760px!important;gap:24px!important}
#google_map{max-width:420px!important;width:100%!important}
body.marketing #bloque_pag_img img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}
body.marketing .main-text p{font:inherit!important;line-height:1.85!important;margin-bottom:24px!important}
body.marketing .ses-sale-tagline{justify-content:center;margin-top:0!important;margin-bottom:20px;text-align:center}
body.marketing .ses-sale-tagline>.col-md-4{width:100%!important;margin-top:0!important}
body.marketing .ses-sale-tagline p{border:0!important;font-weight:400!important;color:#53675c}
body.marketing .main_marketing h3{margin-bottom:10px!important}
body.marketing .ses-sale-fields{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:0!important}
body.marketing .ses-sale-fields>div{width:100%!important;padding:0!important}
body.marketing .ses-sale-person .ps-md-4{padding-left:0!important}
body.marketing .ses-sale-actions{width:100%!important;margin:20px 0 0!important;padding:0!important;display:flex;flex-direction:column;align-items:center;gap:16px}
body.marketing .ses-sale-actions>div{width:100%!important;margin:0!important;padding:0!important}
body.marketing .ses-sale-actions .form-check{max-width:600px;margin:0 auto}
body.marketing .ses-sale-required{margin:4px 0!important;color:#68776f}
@media(max-width:600px){body.marketing .ses-sale-fields{grid-template-columns:minmax(0,1fr);gap:16px}body.marketing .ses-sale-person>.mt-md-0{margin-top:0!important}}

body.marketing .main-text .ses-sale-text-title{margin:28px 0 12px;color:#004929;font:600 21px/1.4 'Open Sans',Arial,sans-serif}
#form_contacto .ses-contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px}
#form_contacto .ses-contact-detail-card{min-width:0;padding:18px;background:#f5f8f6;border:1px solid #dbe5de;border-radius:10px}
#form_contacto .ses-contact-detail-card :is(#contacto2,#contacto4){margin-bottom:0!important}
#form_contacto .ses-contact-detail-card p{line-height:1.55!important;margin-bottom:8px!important;overflow-wrap:anywhere}
#form_contacto .ses-contact-detail-card :is(#contacto1,#contacto3){border:0!important;font-size:18px!important}
@media(max-width:540px){#form_contacto .ses-contact-details{grid-template-columns:minmax(0,1fr);gap:12px}#form_contacto .ses-contact-detail-card{padding:14px}body.marketing .main-text .ses-sale-text-title{font-size:19px}}

#google_map{max-width:760px!important;aspect-ratio:16 / 7!important}
@media(max-width:540px){#google_map{aspect-ratio:12 / 7!important}}

#google_map{position:relative!important;height:auto!important;min-height:0!important}
#google_map iframe{position:absolute!important;top:10px!important;left:10px!important;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important;margin:0!important}

#quienes_somos .ses-about-text-title{margin:28px 0 12px;color:#004929;font:600 21px/1.4 "Open Sans",Arial,sans-serif}
#quienes_somos p{font:inherit!important;line-height:1.85!important}
@media(max-width:540px){#quienes_somos .ses-about-text-title{font-size:19px}}

body:has(#quienes_somos) #titulo_comun{max-width:1200px!important}
.ses-about-brand{display:block;font-size:32px;margin-bottom:8px}
.ses-about-subtitle{display:block;font-size:clamp(20px,2vw,27px);line-height:1.4}
@media(max-width:540px){.ses-about-brand{font-size:27px}.ses-about-subtitle{font-size:21px}}

.ses-about-brand{text-align:left;max-width:860px;margin-left:auto;margin-right:auto}
@media(max-width:540px){.ses-about-brand{width:calc(100% + 8px);margin-left:-4px}}

/* Sale form follows the centered contact form presentation. */
body.marketing .main_marketing{max-width:760px!important;background:#fff!important;padding:28px!important}
body.marketing .ses-sale-fields{grid-template-columns:minmax(0,1fr)!important;gap:16px}
body.marketing .main_marketing .form-control,body.marketing .main_marketing .form-select{background-color:#fbfcfb!important;font-family:'Open Sans',Arial,sans-serif!important;font-size:15px!important}
body.marketing .ses-sale-actions .form-check{max-width:100%;text-align:left}
body.marketing .ses-sale-actions .form-check-input{border-color:#8ca497}
body.marketing .ses-sale-tagline{font-size:14px}
@media(max-width:540px){body.marketing .main_marketing{padding:16px!important}}

.ses-sale-select{position:relative}
body.marketing .ses-sale-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}
.ses-sale-select-trigger{width:100%;min-height:58px;padding:23px 40px 8px 12px;text-align:left;border:1px solid #cbd9d0;border-radius:8px;background:#fbfcfb;color:#263d32;font:400 15px/1.4 'Open Sans',Arial,sans-serif;cursor:pointer}
.ses-sale-select-trigger::after{content:'';position:absolute;right:16px;top:27px;border:5px solid transparent;border-top:6px solid #004929}
.ses-sale-select-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;max-height:280px;overflow:auto;padding:5px;border:1px solid #cbd9d0;border-radius:8px;background:white;box-shadow:0 8px 24px #173b2b25}
.ses-sale-select-options[hidden]{display:none}
.ses-sale-select-options button{display:block;width:100%;min-height:40px;border:0;border-radius:5px;padding:9px 12px;text-align:left;color:#263d32;background:#fff;font:400 15px/1.4 'Open Sans',Arial,sans-serif;cursor:pointer}
.ses-sale-select-options button:hover,.ses-sale-select-options button.is-active{background:#004929;color:#fff}

body.marketing .ses-sale-field-label{display:none!important}
body.marketing .ses-sale-contact-field :is(input.form-control,textarea.form-control,select.form-select){padding:11px 13px!important;font:400 15px/1.5 'Open Sans',Arial,sans-serif!important;min-height:44px!important}
body.marketing .ses-sale-contact-field input.form-control{height:46px!important}
body.marketing .ses-sale-contact-field textarea.form-control{height:125px;min-height:125px!important;resize:vertical!important}
body.marketing .ses-sale-contact-field .form-control::placeholder{opacity:1!important;color:#757575!important}
body.marketing .ses-sale-contact-field .ses-sale-select-trigger{min-height:46px;padding:11px 40px 11px 13px;font:400 15px/1.5 'Open Sans',Arial,sans-serif}
body.marketing .ses-sale-contact-field .ses-sale-select-trigger::after{top:20px}

/* Same focus treatment in both forms; override Bootstrap's blue shadow. */
#form_contacto :is(input[type=text],input[type=email],textarea):focus,body.marketing .main_marketing :is(input.form-control,textarea.form-control):focus{border:1px solid #cbd9d0!important;box-shadow:none!important;outline:3px solid #82b499!important;outline-offset:2px!important;background:#fbfcfb!important}

body.marketing .main_marketing .ses-sale-fields{overflow:visible!important}

.google-map-zona{position:relative!important;box-sizing:border-box!important;width:calc(100% - 24px)!important;max-width:760px!important;aspect-ratio:16 / 7!important;height:auto!important;min-height:0!important;margin:28px auto!important;padding:10px!important;border:1px solid #dbe5de!important;border-radius:14px!important;background:#f5f8f6!important;overflow:hidden!important}
.google-map-zona iframe{position:absolute!important;top:10px!important;left:10px!important;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important;min-height:0!important;margin:0!important;border:0!important;border-radius:8px!important}
@media(max-width:540px){.google-map-zona{aspect-ratio:12 / 7!important}}

#txt_ficha_3{box-sizing:border-box!important;width:calc(100% - 40px)!important;max-width:900px!important;margin-left:auto!important;margin-right:auto!important;padding:0!important;text-align:left!important;color:#34483e!important;font:400 16px/1.7 "Open Sans",Arial,sans-serif!important}
#txt_ficha_3 p{font:inherit!important;margin:0 0 18px!important;padding:0!important;text-align:left!important}

.property-locality .texto-zonas{box-sizing:border-box!important;width:calc(100% - 40px)!important;max-width:900px!important;margin-left:auto!important;margin-right:auto!important;padding:0!important;text-align:left!important}

.property-locality .texto-zonas{color:#34483e!important;font:400 16px/1.7 'Open Sans',Arial,sans-serif!important}
.property-locality .texto-zonas p{font:inherit!important;text-align:left!important}
.property-locality .titulo_texto_zonas{margin-bottom:27.2px!important}

.property-locality .texto-zonas{max-width:760px!important;width:calc(100% - 24px)!important}

.property-locality .titulo_texto_zonas{box-sizing:border-box!important;width:calc(100% - 24px)!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;padding:0!important;text-align:left!important}
.property-locality .titulo_texto_zonas .icon-text-container{justify-content:flex-start!important}

/* Subtle divider between the property gallery and description. */
#txt_ficha_3::before{content:'';display:block;width:100%;height:1px;background:#d3ded7;margin:24px 0}

#demanda_input .ses-sale-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}
#demanda_input .ses-sale-select{width:100%;margin-top:6px}
#demanda_input .ses-sale-select-trigger{position:relative;min-height:40px;padding:9px 32px 9px 12px;font:400 15px/1.4 'Open Sans',Arial,sans-serif}
#demanda_input .ses-sale-select-trigger::after{top:17px;right:12px}
#demanda_input .ses-sale-select-options button:hover,#demanda_input .ses-sale-select-options button.is-active{background:#004929!important;color:#fff!important}

/* Keep spacing consistent whether optional Instagram and 3D blocks exist or not. */
body:has(.property-locality) #txt_ficha_3,body:has(.property-locality) #div_ficha{margin-bottom:0!important}
#main.property-locality{margin-top:32px!important}
#main.property-locality .titulo_texto_zonas{margin-top:0!important}

body:has(.property-locality) #div_ficha>.demandas_mov{margin:16px auto 0!important}

/* Equal breathing room around property sharing, between map and registration. */
#main:has(>#content>#redes_sociales_ficha){margin-top:0!important}
#main>#content:has(>#redes_sociales_ficha){padding-top:0!important}
body:has(.property-locality) .google-map-zona{margin-bottom:32px!important}
body:has(#redes_sociales_ficha) .ses-api-block{padding-top:32px!important}

#txt_ficha_3 .ses-property-description-title{margin:0 0 18px!important;padding:0!important;color:#004929!important;font:600 clamp(20px,2vw,25px)/1.35 "Open Sans",Arial,sans-serif!important;text-align:left!important}

/* One subtle location card, shared by the locality copy and map. */
#main.property-locality{box-sizing:border-box!important;width:calc(100% - 24px)!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;padding:24px!important;border:1px solid #d3ded7!important;border-radius:14px!important;background:#f8faf9!important}
#main.property-locality>#content{box-sizing:border-box!important;width:100%!important;margin:0!important;padding:0!important}
#main.property-locality :is(.titulo_texto_zonas,.texto-zonas){width:100%!important;max-width:none!important}
#main.property-locality .texto-zonas,#main.property-locality .texto-zonas p{text-align:justify!important;text-align-last:left!important}
#main.property-locality .google-map-zona{width:100%!important;max-width:none!important;margin:24px 0 0!important;padding:0!important;border:0!important;background:transparent!important;border-radius:8px!important}
#main.property-locality .google-map-zona iframe{top:0!important;left:0!important;width:100%!important;height:100%!important}
@media(max-width:540px){#main.property-locality{padding:16px!important}}

#main.ses-property-sharing-section{margin-top:32px!important;margin-bottom:32px!important}
#main.ses-property-sharing-section+.property-locality{margin-top:0!important}

/* Justified property copy on tablet and desktop; easy reading on mobile. */
@media(min-width:541px){#txt_ficha_3,#txt_ficha_3 p{text-align:justify!important;text-align-last:left!important}}
@media(max-width:540px){#txt_ficha_3,#txt_ficha_3 p{text-align:left!important;text-align-last:left!important}}

body:has(#txt_ficha_3) .tit_instam{margin-top:54.4px!important;color:#004929!important}

#txt_ficha_3::after{content:'';display:block;width:100%;height:1px;background:#d3ded7;margin:24px 0}

/* Reference badge shared by property sheets in all three languages. */
#div_ficha #con_txt_f2{border-radius:8px!important}

#ses-photo-notice{position:fixed;z-index:2147483647;box-sizing:border-box;width:max-content;max-width:calc(100vw - 16px);padding:9px 12px;border:1px solid #d3ded7;border-radius:8px;background:#fff;color:#004929;font:400 13px/1.5 "Open Sans",sans-serif;box-shadow:0 4px 18px #102b2430;pointer-events:none}#ses-photo-notice[hidden]{display:none}

@media(max-width:960px){.demandas_mov .ses-property-alert-card{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:calc(100% - 40px);max-width:900px;margin:20px auto 24px;padding:12px 16px;border:1px solid #d3ded7;border-radius:10px;background:#f8faf9;color:#004929;text-align:left;text-decoration:none;font:400 14px/1.45 "Open Sans",sans-serif}.ses-property-alert-icon{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#004929;color:#fff}.ses-property-alert-icon svg{width:23px;height:23px}.ses-property-alert-card>span:last-child{min-width:0}.ses-property-alert-card strong,.ses-property-alert-card>span:last-child>span{display:block}.ses-property-alert-card strong{font-weight:600}.ses-property-alert-card>span:last-child>span{color:#53685d;font-size:13px}.ses-property-alert-card:focus-visible{outline:3px solid #82b499;outline-offset:3px}}

/* Identical property controls and card dimensions across ES/EN/FR. */
.ses-property-copy{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.ses-property-copy:focus-visible{outline:3px solid #82b499;outline-offset:3px}.ses-property-copy-status{display:block;min-height:1.5em;font:400 13px/1.5 "Open Sans",Arial,sans-serif;color:#004929;text-align:center}
@media(max-width:960px){body:has(.property-locality) #div_ficha>.demandas_mov{display:block;width:100%;box-sizing:border-box}.demandas_mov .ses-property-alert-card{width:calc(100% - 40px);max-width:900px;min-height:86px}}

/* Desktop about heading shares the introduction text column. */
@media(min-width:960px){body:has(#quienes_somos) #titulo_comun{max-width:860px!important;text-align:left}}

@media(min-width:960px){.ses-about-subtitle{white-space:nowrap}}

/* Subtle photo zoom without moving the surrounding layout. */
body:has(#quienes_somos) #bloque_pag_img>div{overflow:hidden;border-radius:12px}
@media(hover:hover) and (pointer:fine){
 body:has(#quienes_somos) #bloque_pag_img img{transition:transform 1.5s ease}
 body:has(#quienes_somos) #bloque_pag_img>div:hover img{transform:scale(1.1)}
}
@media(prefers-reduced-motion:reduce){body:has(#quienes_somos) #bloque_pag_img img{transition:none}}

@media(min-width:960px){body.marketing #titulo_comun{max-width:860px!important;text-align:left;white-space:nowrap;line-height:1.4!important}}
@media(min-width:541px) and (max-width:959px){body.marketing #titulo_comun{font-size:20px!important;line-height:1.4!important}}
@media(max-width:540px){body.marketing #titulo_comun{font-size:21px!important;line-height:1.4!important}}
