:root{--cpcp-green:#46624B;--cpcp-green-2:#78906F;--cpcp-bg:#F5F8F3;--cpcp-text:#2F372F;--cpcp-border:#DCE4D8;--cpcp-white:#fff}.cpcp-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1.15rem;border:2px solid var(--cpcp-green);border-radius:9px;background:var(--cpcp-green);color:#fff!important;text-decoration:none!important;font-weight:700;cursor:pointer}.cpcp-button:hover{filter:brightness(.94)}.cpcp-button-outline{background:transparent;color:var(--cpcp-green)!important}.cpcp-search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:20px;background:#fff;border:1px solid var(--cpcp-border);border-radius:16px}.cpcp-search label,.cpcp-contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.cpcp-search select,.cpcp-search input,.cpcp-contact-form input,.cpcp-contact-form textarea{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #b8c3b5;border-radius:8px;background:#fff;color:var(--cpcp-text);font:inherit}.cpcp-type-grid,.cpcp-property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.cpcp-type-card{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px;border:1px solid var(--cpcp-border);border-radius:16px;background:#fff;color:var(--cpcp-text)!important;text-decoration:none!important;text-align:center}.cpcp-type-card strong{font-size:1.15rem}.cpcp-type-icon{font-size:2rem}.cpcp-location-links{display:flex;flex-wrap:wrap;gap:10px}.cpcp-location-links a{padding:10px 14px;border:1px solid var(--cpcp-border);border-radius:999px;background:#fff;color:var(--cpcp-text);text-decoration:none}.cpcp-card{overflow:hidden;border:1px solid var(--cpcp-border);border-radius:16px;background:#fff}.cpcp-card-image{position:relative;display:block;aspect-ratio:4/3;background:#edf1eb}.cpcp-card-image img{display:block;width:100%;height:100%;object-fit:cover}.cpcp-card-body{padding:18px}.cpcp-card h3{margin:.5rem 0;font-size:1.18rem}.cpcp-card h3 a{color:var(--cpcp-text);text-decoration:none}.cpcp-chip{display:inline-block;padding:5px 9px;border-radius:999px;background:#e7efe4;color:#35523b;font-size:.82rem;font-weight:700}.cpcp-chip.secondary{background:#edf0f4;color:#36404a}.cpcp-chip.subtle{background:#f3f1e9;color:#5a5140}.cpcp-price{margin:.5rem 0;font-size:1.3rem;font-weight:800}.cpcp-location,.cpcp-features{color:#5a6559}.cpcp-features{display:flex;flex-wrap:wrap;gap:10px;font-size:.92rem}.cpcp-no-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px;background:#edf1eb;color:#647063}.cpcp-no-photo.cpcp-large{min-height:420px}.cpcp-detail{color:var(--cpcp-text)}.cpcp-detail-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.cpcp-detail-header h1{margin:.55rem 0}.cpcp-badges{display:flex;flex-wrap:wrap;gap:8px}.cpcp-detail-price{text-align:right}.cpcp-detail-price strong{display:block;font-size:clamp(1.5rem,3vw,2.2rem)}.cpcp-detail-price small{display:block;margin-top:5px;color:#677166}.cpcp-gallery-main{position:relative;overflow:hidden;border-radius:18px;background:#edf1eb;aspect-ratio:16/9}.cpcp-gallery-main img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.cpcp-open-lightbox{position:absolute;right:14px;bottom:14px;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:rgba(25,35,27,.86);color:#fff;cursor:pointer}.cpcp-gallery-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:10px}.cpcp-thumb{padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none;aspect-ratio:4/3;cursor:pointer}.cpcp-thumb.is-active{border-color:var(--cpcp-green)}.cpcp-thumb img{display:block;width:100%;height:100%;object-fit:cover}.cpcp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0}.cpcp-facts div{padding:16px;border:1px solid var(--cpcp-border);border-radius:12px;background:#fff;text-align:center}.cpcp-facts strong,.cpcp-facts span{display:block}.cpcp-facts strong{font-size:1.15rem}.cpcp-facts span{margin-top:5px;color:#677166;font-size:.88rem}.cpcp-detail-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:32px;align-items:start}.cpcp-contact-panel{padding:22px;border:1px solid var(--cpcp-border);border-radius:16px;background:#fff}.cpcp-contact-form{display:grid;gap:12px}.cpcp-consent{display:grid!important;grid-template-columns:auto 1fr;align-items:start;font-weight:400!important}.cpcp-consent input{width:auto!important;min-height:auto!important;margin-top:4px}.cpcp-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.cpcp-whatsapp{width:100%;box-sizing:border-box;margin-top:10px;background:#2e7d54;border-color:#2e7d54}.cpcp-success{padding:10px;border-radius:8px;background:#e8f5e9;color:#1b5e20}.cpcp-error{padding:10px;border-radius:8px;background:#ffebee;color:#8f1d28}.cpcp-video iframe{max-width:100%;width:100%;aspect-ratio:16/9;height:auto}.cpcp-lightbox{position:fixed;inset:0;z-index:999999;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:20px;background:rgba(8,12,9,.94)}.cpcp-lightbox figure{position:relative;margin:0;text-align:center}.cpcp-lightbox img{max-width:100%;max-height:82vh;object-fit:contain}.cpcp-lightbox figcaption{margin-top:8px;color:#fff}.cpcp-lb-close,.cpcp-lb-prev,.cpcp-lb-next{min-width:44px;min-height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:2rem;cursor:pointer}.cpcp-lb-close{position:absolute;top:14px;right:14px}.cpcp-muted,.cpcp-empty{color:#677166}@media(max-width:980px){.cpcp-search{grid-template-columns:repeat(2,minmax(0,1fr))}.cpcp-search .cpcp-button{grid-column:1/-1}.cpcp-type-grid,.cpcp-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cpcp-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.cpcp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.cpcp-detail-columns{grid-template-columns:1fr}}@media(max-width:600px){.cpcp-search,.cpcp-type-grid,.cpcp-property-grid{grid-template-columns:1fr}.cpcp-detail-header{display:block}.cpcp-detail-price{text-align:left;margin-top:14px}.cpcp-gallery-main{aspect-ratio:4/3}.cpcp-gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.cpcp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.cpcp-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:10px}.cpcp-lb-prev,.cpcp-lb-next{font-size:1.5rem}}

.cpcp-watermark{position:absolute;z-index:3;right:12px;bottom:12px;max-width:calc(100% - 24px);padding:5px 9px;border:1px solid rgba(255,255,255,.42);border-radius:7px;background:rgba(255,255,255,.62);color:#253429;font-size:clamp(.58rem,1.15vw,.78rem);font-weight:800;letter-spacing:.055em;line-height:1.15;text-transform:uppercase;opacity:var(--cpcp-watermark-opacity,.62);pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.75);backdrop-filter:blur(2px)}.cpcp-lightbox figure .cpcp-watermark{right:10px;bottom:34px;background:rgba(255,255,255,.76)}@media(max-width:600px){.cpcp-watermark{right:8px;bottom:8px;padding:4px 6px;font-size:.56rem;letter-spacing:.035em}.cpcp-lightbox figure .cpcp-watermark{bottom:32px}}
.cpcp-price-consult{font-size:1.05rem;color:#46624b}.cpcp-search label small{font-size:.75rem;font-weight:400;color:#677166}
.cpcp-video-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.cpcp-video-item{padding:14px;border:1px solid var(--cpcp-border);border-radius:12px;background:#fff}.cpcp-video-item h3{margin:0 0 10px;font-size:1rem}.cpcp-video-item video,.cpcp-video-item .wp-video,.cpcp-video-item iframe{max-width:100%;width:100%}.cpcp-video-fallback{padding:12px;border-radius:10px;background:#f7f4ea;border:1px solid #e1d7ba}.cpcp-video-fallback p:first-child{margin-top:0}@media(max-width:700px){.cpcp-video-gallery{grid-template-columns:1fr}}

/* Galería secuencial de videos v0.8.5 */
html.cpcp-modal-open,body.cpcp-modal-open{overflow:hidden}
.cpcp-video-card{appearance:none;-webkit-appearance:none;width:100%;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px;border:1px solid var(--cpcp-border);border-radius:14px;background:#fff;color:var(--cpcp-text);font:inherit;text-align:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.cpcp-video-card:hover,.cpcp-video-card:focus-visible{transform:translateY(-1px);border-color:var(--cpcp-green-2);box-shadow:0 8px 24px rgba(35,50,38,.10);outline:none}
.cpcp-video-play{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--cpcp-green);color:#fff;font-size:1.45rem;line-height:1;padding-left:4px}
.cpcp-video-title{font-size:1.05rem;font-weight:800}
.cpcp-video-open{font-size:.9rem;color:#677166}
.cpcp-video-help{margin:.8rem 0 0;color:#677166;font-size:.92rem}
.cpcp-video-template{display:none!important}
.cpcp-video-lightbox{position:fixed;inset:0;z-index:1000000;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:20px;background:rgba(8,12,9,.96)}
.cpcp-vlb-stage{width:min(1100px,100%);margin:auto}
.cpcp-vlb-player{display:flex;align-items:center;justify-content:center;min-height:min(62vh,620px);max-height:78vh;padding:12px;border-radius:16px;background:#0e120f;overflow:auto}
.cpcp-vlb-player video,.cpcp-vlb-player iframe,.cpcp-vlb-player .wp-video{display:block;max-width:100%;width:100%;max-height:72vh;margin:auto}
.cpcp-vlb-player video{height:auto;object-fit:contain;background:#000}
.cpcp-vlb-player iframe{aspect-ratio:16/9;height:auto;min-height:300px}
.cpcp-vlb-player .cpcp-video-fallback{width:min(720px,100%);box-sizing:border-box;background:#fff}
.cpcp-vlb-counter{margin-top:10px;color:#fff;text-align:center;font-weight:700}
.cpcp-vlb-close,.cpcp-vlb-prev,.cpcp-vlb-next{min-width:48px;min-height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:2rem;cursor:pointer}
.cpcp-vlb-close{position:absolute;top:14px;right:14px;z-index:2}
.cpcp-vlb-prev:hover,.cpcp-vlb-next:hover,.cpcp-vlb-close:hover,.cpcp-vlb-prev:focus-visible,.cpcp-vlb-next:focus-visible,.cpcp-vlb-close:focus-visible{background:rgba(255,255,255,.25);outline:2px solid rgba(255,255,255,.7);outline-offset:2px}
.cpcp-vlb-spacer,.cpcp-lb-spacer{display:block;width:48px}
@media(max-width:700px){.cpcp-video-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;padding:10px}.cpcp-vlb-player{min-height:50vh;padding:6px}.cpcp-vlb-player iframe{min-height:220px}.cpcp-vlb-close,.cpcp-vlb-prev,.cpcp-vlb-next{min-width:42px;min-height:42px;font-size:1.55rem}.cpcp-vlb-spacer,.cpcp-lb-spacer{width:42px}}

/* v0.8.6: títulos opcionales y portadas visuales de video */
.cpcp-main-caption{margin:.55rem 0 0;padding:0 4px;color:#4f5b50;font-size:.95rem;font-weight:650}.cpcp-main-caption.is-empty{display:none}.cpcp-gallery-thumbs{align-items:start}.cpcp-thumb-item{min-width:0}.cpcp-thumb-item .cpcp-thumb{width:100%}.cpcp-thumb-caption{margin-top:5px;color:#4f5b50;font-size:.78rem;line-height:1.3;text-align:center;overflow-wrap:anywhere}.cpcp-lightbox figcaption{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:30px}.cpcp-lb-photo-title{font-weight:700}.cpcp-lb-counter{font-size:.82rem;opacity:.82}.cpcp-video-card{overflow:hidden;justify-content:flex-start;padding:0 0 14px;gap:8px}.cpcp-video-visual{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,#dce7d8,#b9cbb5)}.cpcp-video-card-image,.cpcp-video-card-media{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;background:#dfe7dc}.cpcp-video-card-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:3rem;filter:saturate(.6)}.cpcp-video-visual .cpcp-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;box-shadow:0 4px 18px rgba(0,0,0,.22);border:2px solid rgba(255,255,255,.75)}.cpcp-video-title{padding:0 10px;font-size:1.03rem;font-weight:800;line-height:1.25}.cpcp-video-open{padding:0 10px}.cpcp-vlb-caption{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px;color:#fff;text-align:center}.cpcp-vlb-title{font-size:1rem}.cpcp-vlb-counter{font-size:.88rem;opacity:.84}@media(max-width:700px){.cpcp-thumb-caption{font-size:.72rem}.cpcp-video-visual .cpcp-video-play{width:50px;height:50px}}

/* v0.8.7: marca dentro de la fotografía ampliada + contacto directo */
.cpcp-lightbox figure{display:flex;flex-direction:column;align-items:center;max-width:100%}
.cpcp-lb-image-wrap{position:relative;display:inline-block;width:fit-content;max-width:100%;max-height:82vh;line-height:0}
.cpcp-lb-image-wrap img{display:block;width:auto;height:auto;max-width:100%;max-height:82vh;object-fit:contain}
.cpcp-lightbox figure .cpcp-lb-image-wrap .cpcp-watermark{right:10px;bottom:10px;background:rgba(255,255,255,.62)}


/* Contacto CPCP v0.8.8: bloque horizontal de ancho completo, con logo y valores legibles. */
.cpcp-direct-contact{box-sizing:border-box;margin:30px 0 22px;padding:20px;border:1px solid var(--cpcp-border);border-radius:16px;background:#f7faf5}
.cpcp-direct-contact.is-wide{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,2.28fr);gap:22px;align-items:stretch}
.cpcp-contact-brand{display:flex;align-items:center;gap:14px;padding:14px;border-radius:12px;background:#eef4ea}
.cpcp-contact-logo{flex:0 0 auto;width:86px;height:86px;object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgba(70,98,75,.12)}
.cpcp-contact-brand-copy{min-width:0}.cpcp-contact-brand-copy h3{margin:0 0 3px;font-family:ui-serif,Georgia,serif;font-size:1.2rem;line-height:1.1}.cpcp-contact-brand-copy p{margin:0;color:#465a49;font-weight:700}.cpcp-contact-brand-copy span{display:block;margin-top:8px;color:#657066;font-size:.82rem;line-height:1.35}
.cpcp-direct-contact-content{min-width:0;display:grid;gap:10px;align-content:center}
.cpcp-contact-phone-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cpcp-contact-secondary-row{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:10px}
.cpcp-direct-contact-item{min-width:0;padding:11px 13px;border-radius:10px;background:#fff;border:1px solid #e2e9df}
.cpcp-contact-label{display:block;margin-bottom:4px;color:#687268;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cpcp-contact-value{display:block;color:var(--cpcp-text)!important;font-weight:760;text-decoration:none!important;line-height:1.35}
.cpcp-phone-item .cpcp-contact-value{white-space:nowrap;font-size:clamp(.92rem,1.25vw,1.08rem)}
.cpcp-email-link{white-space:nowrap;font-size:clamp(.79rem,1.05vw,.98rem);letter-spacing:-.012em}
.cpcp-postal-item .cpcp-contact-value{font-size:.94rem}
a.cpcp-contact-value:hover,a.cpcp-contact-value:focus-visible{text-decoration:underline!important}
.cpcp-whatsapp-mini{display:inline-flex;align-items:center;justify-content:center;margin-top:7px;padding:6px 10px;border-radius:999px;background:#2e7d54;color:#fff!important;font-size:.8rem;font-weight:800;text-decoration:none!important;white-space:nowrap}
.cpcp-whatsapp-mini:hover,.cpcp-whatsapp-mini:focus-visible{filter:brightness(.94);outline:2px solid rgba(46,125,84,.28);outline-offset:2px}
.cpcp-contact-page-form{max-width:760px;margin:0 auto}

.cpcp-site-contact-footer{box-sizing:border-box;width:100%;margin:0 0 26px;padding:18px 20px;border-radius:14px;background:#2c4232;color:#fff}
.cpcp-site-contact-footer-inner{max-width:1180px;margin:0 auto}.cpcp-site-contact-footer-inner>strong{display:block;margin-bottom:10px;font-size:1.02rem;letter-spacing:.03em}
.cpcp-site-contact-footer .cpcp-direct-contact{display:block;margin:0;padding:0;border:0;background:transparent}.cpcp-site-contact-footer .cpcp-contact-brand{display:none}
.cpcp-site-contact-footer .cpcp-direct-contact-content{display:grid;gap:8px}.cpcp-site-contact-footer .cpcp-contact-phone-row{grid-template-columns:repeat(3,minmax(150px,1fr))}.cpcp-site-contact-footer .cpcp-contact-secondary-row{grid-template-columns:minmax(250px,.9fr) minmax(320px,1.1fr)}
.cpcp-site-contact-footer .cpcp-direct-contact-item{padding:0;border:0;background:transparent}.cpcp-site-contact-footer .cpcp-contact-label{color:rgba(255,255,255,.72)}.cpcp-site-contact-footer .cpcp-contact-value{color:#fff!important}.cpcp-site-contact-footer .cpcp-whatsapp-mini{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3)}

/* La vista previa del video usa el primer fotograma real; el fondo queda como respaldo mientras carga. */
.cpcp-video-card-media{opacity:1;transition:opacity .15s ease}.cpcp-video-card-media.cpcp-preview-ready{opacity:1}.cpcp-video-card-media.cpcp-preview-failed{opacity:0}

@media(max-width:1050px){
  .cpcp-direct-contact.is-wide{grid-template-columns:1fr}.cpcp-contact-brand{justify-content:flex-start}.cpcp-contact-phone-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cpcp-contact-secondary-row{grid-template-columns:1fr 1.15fr}
}
@media(max-width:760px){
  .cpcp-direct-contact{margin-top:24px;padding:14px}.cpcp-contact-brand{align-items:center}.cpcp-contact-logo{width:72px;height:72px}.cpcp-contact-phone-row{grid-template-columns:1fr}.cpcp-contact-secondary-row{grid-template-columns:1fr}.cpcp-phone-item .cpcp-contact-value{white-space:nowrap}.cpcp-email-link{white-space:normal;overflow-wrap:anywhere;font-size:.88rem}.cpcp-site-contact-footer{border-radius:10px;padding:16px}.cpcp-site-contact-footer .cpcp-contact-phone-row,.cpcp-site-contact-footer .cpcp-contact-secondary-row{grid-template-columns:1fr}.cpcp-site-contact-footer .cpcp-email-link{white-space:normal}
}
@media(max-width:420px){
  .cpcp-contact-brand{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:10px}.cpcp-contact-logo{width:64px;height:64px}.cpcp-contact-brand-copy h3{font-size:1.05rem}.cpcp-contact-brand-copy span{font-size:.76rem}.cpcp-direct-contact-item{padding:10px}.cpcp-email-link{font-size:.82rem}
}

/* v0.8.9: contacto limpio. Orden visual fijo: logo -> correo -> teléfonos -> casilla. */
.cpcp-direct-contact.cpcp-contact-clean{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  gap:16px;
  width:100%;
  max-width:980px;
  margin:32px auto 24px;
  padding:26px 28px;
  border:1px solid var(--cpcp-border);
  border-radius:18px;
  background:#f7faf5;
  text-align:center;
}
.cpcp-contact-clean-logo-wrap{display:flex;justify-content:center;width:100%}
.cpcp-contact-clean-logo{
  display:block;
  width:104px;
  height:104px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(70,98,75,.12);
}
.cpcp-contact-clean-email{width:100%;min-width:0}
.cpcp-contact-clean-email a{
  display:inline-block;
  max-width:100%;
  color:var(--cpcp-text)!important;
  font-size:clamp(.95rem,1.7vw,1.12rem);
  font-weight:750;
  line-height:1.35;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}
.cpcp-contact-clean-email a:hover,.cpcp-contact-clean-email a:focus-visible{text-decoration:underline!important}
.cpcp-contact-clean-phones{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px 22px;
  width:100%;
}
.cpcp-contact-clean-phone{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.cpcp-contact-clean-number{
  color:var(--cpcp-text)!important;
  font-size:clamp(1rem,1.7vw,1.16rem);
  font-weight:800;
  line-height:1.3;
  text-decoration:none!important;
  white-space:nowrap;
}
.cpcp-contact-clean-number:hover,.cpcp-contact-clean-number:focus-visible{text-decoration:underline!important}
.cpcp-contact-clean-wa{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#2e7d54;
  color:#fff!important;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1;
  text-decoration:none!important;
}
.cpcp-contact-clean-wa:hover,.cpcp-contact-clean-wa:focus-visible{filter:brightness(.94);outline:2px solid rgba(46,125,84,.25);outline-offset:2px}
.cpcp-contact-clean-postal{
  width:100%;
  padding-top:14px;
  border-top:1px solid #dfe7dc;
  color:var(--cpcp-text);
  font-size:clamp(.95rem,1.45vw,1.08rem);
  font-weight:720;
  line-height:1.45;
}
/* El bloque compacto del pie mantiene exactamente el mismo orden y no oculta el logo. */
.cpcp-site-contact-footer .cpcp-direct-contact.cpcp-contact-clean{
  max-width:1180px;
  margin:0 auto;
  padding:8px 0 0;
  border:0;
  background:transparent;
  color:#fff;
}
.cpcp-site-contact-footer .cpcp-contact-clean-logo{width:74px;height:74px}
.cpcp-site-contact-footer .cpcp-contact-clean-email a,
.cpcp-site-contact-footer .cpcp-contact-clean-number,
.cpcp-site-contact-footer .cpcp-contact-clean-postal{color:#fff!important}
.cpcp-site-contact-footer .cpcp-contact-clean-postal{border-top-color:rgba(255,255,255,.22)}
@media(max-width:700px){
  .cpcp-direct-contact.cpcp-contact-clean{gap:14px;padding:20px 16px;border-radius:14px}
  .cpcp-contact-clean-logo{width:88px;height:88px}
  .cpcp-contact-clean-phones{flex-direction:column;gap:11px}
  .cpcp-contact-clean-number{font-size:1.06rem}
  .cpcp-contact-clean-email a{font-size:.94rem}
  .cpcp-contact-clean-postal{font-size:.96rem}
}


/* v0.9.0: contacto jerárquico y elegante + línea blanca bajo la cabecera del sitio. */
.wp-site-blocks > header.wp-block-template-part,
header.wp-block-template-part{
  border-bottom:2px solid rgba(255,255,255,.96);
}

.cpcp-direct-contact.cpcp-contact-elegant{
  box-sizing:border-box;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  width:100%;
  max-width:980px;
  margin:32px auto 24px;
  padding:28px 34px 30px;
  border:1px solid #cbd7c8;
  border-radius:18px;
  background:#dce4d7;
  box-shadow:0 8px 24px rgba(47,55,47,.05);
  color:var(--cpcp-text);
  text-align:center;
}
.cpcp-contact-elegant-title{
  margin:0 0 15px;
  color:var(--cpcp-text);
  font-family:ui-serif,Georgia,"Times New Roman",serif;
  font-size:clamp(1.34rem,2.2vw,1.8rem);
  font-weight:760;
  line-height:1.2;
}
.cpcp-contact-elegant-logo-wrap{display:flex;justify-content:center;width:100%;margin-bottom:16px}
.cpcp-contact-elegant-logo{
  display:block;
  width:108px;
  height:108px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(70,98,75,.13);
}
.cpcp-contact-elegant-rule{
  width:min(100%,760px);
  height:1px;
  margin:2px auto 16px;
  background:rgba(255,255,255,.92);
}
.cpcp-contact-elegant-label{
  margin:0 0 10px;
  color:#465a49;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cpcp-contact-elegant-email{width:100%;min-width:0;margin-bottom:16px}
.cpcp-contact-elegant-email a{
  display:inline-block;
  max-width:100%;
  color:var(--cpcp-text)!important;
  font-size:clamp(1rem,1.7vw,1.13rem);
  font-weight:780;
  line-height:1.35;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}
.cpcp-contact-elegant-email a:hover,.cpcp-contact-elegant-email a:focus-visible{text-decoration:underline!important}
.cpcp-contact-elegant-phones{width:100%;margin-bottom:16px}
.cpcp-contact-elegant-mobiles{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px 30px;
}
.cpcp-contact-elegant-phone{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.cpcp-contact-elegant-fixed{margin-top:13px}
.cpcp-contact-elegant-number{
  color:var(--cpcp-text)!important;
  font-size:clamp(1.02rem,1.75vw,1.17rem);
  font-weight:820;
  line-height:1.3;
  text-decoration:none!important;
  white-space:nowrap;
}
.cpcp-contact-elegant-number:hover,.cpcp-contact-elegant-number:focus-visible{text-decoration:underline!important}
.cpcp-contact-elegant-wa{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#2e7d54;
  color:#fff!important;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
}
.cpcp-contact-elegant-wa:hover,.cpcp-contact-elegant-wa:focus-visible{filter:brightness(.94);outline:2px solid rgba(46,98,75,.24);outline-offset:2px}
.cpcp-contact-elegant-postal{
  width:100%;
  color:var(--cpcp-text);
  font-size:clamp(.98rem,1.55vw,1.11rem);
  font-weight:760;
  line-height:1.5;
}

/* Pie: conserva legibilidad, pero no duplica encabezados. */
.cpcp-site-contact-footer .cpcp-direct-contact.cpcp-contact-elegant{
  max-width:1180px;
  margin:0 auto;
  padding:18px 20px;
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  box-shadow:none;
  color:#fff;
}
.cpcp-site-contact-footer .cpcp-contact-elegant-title,
.cpcp-site-contact-footer .cpcp-contact-elegant-email a,
.cpcp-site-contact-footer .cpcp-contact-elegant-number,
.cpcp-site-contact-footer .cpcp-contact-elegant-postal{color:#fff!important}
.cpcp-site-contact-footer .cpcp-contact-elegant-label{color:rgba(255,255,255,.78)}
.cpcp-site-contact-footer .cpcp-contact-elegant-rule{background:rgba(255,255,255,.24)}
.cpcp-site-contact-footer .cpcp-contact-elegant-logo{width:82px;height:82px}

@media(max-width:700px){
  .cpcp-direct-contact.cpcp-contact-elegant{padding:22px 16px 24px;border-radius:14px}
  .cpcp-contact-elegant-title{font-size:1.3rem;margin-bottom:13px}
  .cpcp-contact-elegant-logo{width:92px;height:92px}
  .cpcp-contact-elegant-rule{margin-bottom:14px}
  .cpcp-contact-elegant-mobiles{flex-direction:column;gap:11px}
  .cpcp-contact-elegant-fixed{margin-top:11px}
  .cpcp-contact-elegant-number{font-size:1.06rem}
  .cpcp-contact-elegant-email a{font-size:.94rem}
  .cpcp-contact-elegant-postal{font-size:.96rem}
}

/* v0.9.1: contacto compacto y estático. Sin enlaces de llamada, WhatsApp ni apertura de aplicaciones. */
.cpcp-direct-contact.cpcp-contact-elegant.cpcp-contact-static{
  max-width:900px;
  margin:20px auto 18px;
  padding:16px 26px 18px;
  border-radius:16px;
  box-shadow:0 5px 16px rgba(47,55,47,.04);
}
.cpcp-contact-static .cpcp-contact-elegant-title{
  margin:0 0 8px;
  font-size:clamp(1.2rem,1.8vw,1.48rem);
  line-height:1.15;
}
.cpcp-contact-static .cpcp-contact-elegant-logo-wrap{margin-bottom:9px}
.cpcp-contact-static .cpcp-contact-elegant-logo{width:78px;height:78px;border-radius:10px}
.cpcp-contact-static .cpcp-contact-elegant-rule{
  width:min(100%,690px);
  margin:0 auto 8px;
}
.cpcp-contact-static .cpcp-contact-elegant-label{
  margin:0 0 6px;
  font-size:.74rem;
  letter-spacing:.12em;
}
.cpcp-contact-static .cpcp-contact-elegant-email{margin-bottom:8px}
.cpcp-contact-static .cpcp-contact-elegant-email span{
  display:inline-block;
  max-width:100%;
  color:var(--cpcp-text);
  font-size:clamp(.95rem,1.45vw,1.06rem);
  font-weight:780;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.cpcp-contact-static .cpcp-contact-elegant-phones{margin-bottom:8px}
.cpcp-contact-static .cpcp-contact-elegant-mobiles{gap:8px 26px}
.cpcp-contact-static .cpcp-contact-elegant-phone{gap:0}
.cpcp-contact-static .cpcp-contact-elegant-fixed{margin-top:7px}
.cpcp-contact-static .cpcp-contact-elegant-number{
  font-size:clamp(.98rem,1.5vw,1.08rem);
  line-height:1.2;
  text-decoration:none!important;
  cursor:text;
}
.cpcp-contact-static .cpcp-contact-elegant-postal{
  font-size:clamp(.93rem,1.35vw,1.03rem);
  line-height:1.3;
}
.cpcp-contact-static .cpcp-contact-elegant-wa{display:none!important}
.cpcp-site-contact-footer .cpcp-contact-static .cpcp-contact-elegant-email span,
.cpcp-site-contact-footer .cpcp-contact-static .cpcp-contact-elegant-number,
.cpcp-site-contact-footer .cpcp-contact-static .cpcp-contact-elegant-postal{color:#fff!important}

@media(max-width:700px){
  .cpcp-direct-contact.cpcp-contact-elegant.cpcp-contact-static{margin:16px auto;padding:14px 14px 16px}
  .cpcp-contact-static .cpcp-contact-elegant-title{font-size:1.15rem;margin-bottom:7px}
  .cpcp-contact-static .cpcp-contact-elegant-logo{width:70px;height:70px}
  .cpcp-contact-static .cpcp-contact-elegant-rule{margin-bottom:7px}
  .cpcp-contact-static .cpcp-contact-elegant-mobiles{flex-direction:column;gap:6px}
  .cpcp-contact-static .cpcp-contact-elegant-fixed{margin-top:6px}
  .cpcp-contact-static .cpcp-contact-elegant-number{font-size:1rem}
  .cpcp-contact-static .cpcp-contact-elegant-email span{font-size:.9rem}
  .cpcp-contact-static .cpcp-contact-elegant-postal{font-size:.92rem}
}

/* v0.9.2: borde más definido en contacto + confirmación de envío más visible y positiva. */
.cpcp-direct-contact.cpcp-contact-elegant.cpcp-contact-static{
  border:1px solid #95a792;
  box-shadow:0 1px 0 rgba(70,98,75,.08),0 5px 18px rgba(70,98,75,.06);
}
.cpcp-success{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 13px;
  border:1px solid #79b99a;
  border-left:4px solid #2f8f68;
  border-radius:10px;
  background:#dff6e9;
  color:#175c43;
  line-height:1.35;
  box-shadow:0 2px 8px rgba(47,143,104,.08);
}
.cpcp-success-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#2f8f68;
  color:#fff;
  font-size:16px;
  font-weight:800;
  line-height:1;
}
.cpcp-success strong{font-weight:800}
.cpcp-success small{font-size:.9em;color:#2a6d54}

/* v0.9.4 · Precio oficial CLP + referencia USD */
.cpcp-price{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.cpcp-price-clp{display:block;font-size:1.3rem;font-weight:800;line-height:1.2;color:var(--cpcp-text)}
.cpcp-price-usd{display:block;font-size:.92rem;font-weight:650;line-height:1.25;color:#647063}
.cpcp-price-reference-note{display:block;margin-top:5px;max-width:34rem;font-size:.72rem!important;font-weight:400;line-height:1.35;color:#737d72!important}
.cpcp-detail-price-values{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.cpcp-detail-price .cpcp-price-clp{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800}
.cpcp-detail-price .cpcp-price-usd{font-size:clamp(.92rem,1.6vw,1.08rem);font-weight:650}
.cpcp-detail-price .cpcp-price-reference-note{text-align:right}
.cpcp-property-code{margin-top:7px!important}
@media(max-width:600px){
  .cpcp-detail-price-values{align-items:flex-start}
  .cpcp-detail-price .cpcp-price-reference-note{text-align:left;max-width:30rem}
}

/* v0.9.5: selector de idiomas y precio CLP en una sola línea */
.cpcp-price-clp{white-space:nowrap}
.cpcp-language-selector{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin-left:14px;
  padding:4px;
  border:1px solid rgba(70,98,75,.18);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  box-shadow:0 1px 4px rgba(47,55,47,.04);
  flex:0 0 auto;
}
.cpcp-language-selector a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:4px 9px;
  border-radius:999px;
  color:#374238!important;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
  white-space:nowrap;
}
.cpcp-language-selector a:hover,.cpcp-language-selector a:focus-visible{background:#eef4ec;outline:none}
.cpcp-language-selector a.is-active{background:#46624b;color:#fff!important}
@media(max-width:850px){
  .cpcp-language-selector{width:100%;margin:8px 0 0;justify-content:center;order:20}
  .cpcp-language-selector a{min-height:34px;padding:5px 10px}
}
@media(max-width:420px){
  .cpcp-language-selector{gap:2px;padding:3px}
  .cpcp-language-selector a{font-size:.74rem;padding:5px 8px}
}

/* ============================================================
   v0.10.6 · SOLO ESTÉTICA SOBRE LA BASE ESTABLE v0.10.3
   Fondo aprobado + cabecera paisajística completa + contacto final aprobado.
   No modifica estructura, formularios, fotos, videos ni lógica de propiedades.
   ============================================================ */

/* A) FONDO DEL FONDO: verde claro cálido con rosas y aves muy tenues. */
html,
body{
  background-color:#eff6e8!important;
}
body .wp-site-blocks{
  background-color:#eff6e8!important;
  background-image:url('images/fondo-rosas-ave-verde.jpg')!important;
  background-repeat:repeat!important;
  background-size:590px 590px!important;
  background-position:center top!important;
}
body .wp-site-blocks > main,
body main.wp-block-group{
  background-color:transparent!important;
}
body.single-propiedad .wp-site-blocks > main,
body.single-propiedad main.wp-block-group.alignwide{
  background-color:rgba(239,246,232,.88)!important;
  background-image:url('images/fondo-rosas-ave-verde.jpg')!important;
  background-repeat:repeat!important;
  background-size:590px 590px!important;
  background-position:center top!important;
}

/* Los bloques funcionales conservan exactamente sus fondos internos. */
.cpcp-card,
.cpcp-type-card,
.cpcp-search,
.cpcp-facts div,
.cpcp-contact-panel,
.cpcp-video-card,
.cpcp-video-item{
  position:relative;
  z-index:1;
}

/* B) CABECERA: el paisaje ocupa TODO el fondo del encabezado. */
.cpcp-site-header,
header.wp-block-template-part > .wp-block-group:first-child,
.wp-site-blocks > header.wp-block-template-part > .wp-block-group:first-child{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background-color:#e8f2df!important;
  background-image:
    linear-gradient(90deg,rgba(235,245,227,.70) 0%,rgba(238,247,231,.58) 48%,rgba(244,249,238,.42) 100%),
    url('images/encabezado-paisaje-cpcp.jpg')!important;
  background-repeat:no-repeat,no-repeat!important;
  background-size:100% 100%,cover!important;
  background-position:center,center center!important;
  border-top:1px solid rgba(203,164,61,.90)!important;
  border-bottom:2px solid rgba(255,255,255,.94)!important;
  box-shadow:inset 0 -3px 0 rgba(205,170,75,.58),0 4px 13px rgba(55,78,59,.07)!important;
}

/* Ribetes dorados laterales de la versión visual aprobada. */
.cpcp-site-header::before,
.cpcp-site-header::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.96;
}
.cpcp-site-header::before{
  left:2px;
  top:8px;
  width:74px;
  height:calc(100% - 16px);
  background-image:url('images/ornamento-cabecera-izq.png');
  background-position:left center;
}
.cpcp-site-header::after{
  right:2px;
  bottom:8px;
  width:62px;
  height:calc(100% - 16px);
  background-image:url('images/ornamento-cabecera-der.png');
  background-position:right bottom;
}
.cpcp-site-header > *,
header.wp-block-template-part > .wp-block-group:first-child > *{
  position:relative;
  z-index:1;
}

/* Pequeño detalle dorado, delicado, en el bloque de marca. */
.cpcp-site-header .cpcp-brand-lockup{
  position:relative;
}
.cpcp-site-header .cpcp-brand-lockup::after{
  content:"";
  position:absolute;
  z-index:0;
  top:-4px;
  left:52%;
  width:92px;
  height:52px;
  transform:translateX(-50%);
  background:url('images/ornamento-cabecera-centro.png') center/contain no-repeat;
  pointer-events:none;
  opacity:.88;
}
.cpcp-site-header .cpcp-brand-lockup > *{
  position:relative;
  z-index:1;
}
.cpcp-site-header .cpcp-official-logo{
  border:1px solid rgba(195,153,47,.72)!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.76),0 3px 10px rgba(53,76,56,.10)!important;
}
.cpcp-site-header .cpcp-brand-copy strong{
  color:#294333!important;
  text-shadow:0 1px 0 rgba(255,255,255,.74);
}
.cpcp-site-header .cpcp-brand-copy span{color:#536a58!important}
.cpcp-site-header .cpcp-brand-copy em{color:#355d43!important}
.cpcp-site-header .wp-block-navigation a,
header.wp-block-template-part .wp-block-navigation a{
  color:#29392e!important;
  text-shadow:0 1px 0 rgba(255,255,255,.72);
}
.cpcp-site-header .cpcp-language-selector{
  background:rgba(255,255,255,.82)!important;
  border-color:rgba(191,151,50,.34)!important;
  box-shadow:0 2px 8px rgba(47,55,47,.06)!important;
}

/* C) CONTACTO FINAL: usa exactamente la tarjeta azul/oro aprobada. */
.cpcp-direct-contact.cpcp-contact-approved-card{
  box-sizing:border-box;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:820px;
  margin:22px auto 18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.cpcp-contact-approved-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100vh - 125px);
  margin:0 auto;
  object-fit:contain;
  border:0;
  border-radius:0;
  box-shadow:0 9px 24px rgba(26,43,34,.13);
}

/* Desktop bajo: la pieza completa sigue cabiendo en la ventana. */
@media (max-height:760px) and (min-width:701px){
  .cpcp-contact-approved-image{max-height:calc(100vh - 92px)}
}

@media(max-width:850px){
  .cpcp-site-header,
  header.wp-block-template-part > .wp-block-group:first-child,
  .wp-site-blocks > header.wp-block-template-part > .wp-block-group:first-child{
    background-image:
      linear-gradient(90deg,rgba(235,245,227,.72),rgba(241,248,235,.52)),
      url('images/encabezado-paisaje-cpcp.jpg')!important;
    background-size:100% 100%,cover!important;
    background-position:center,center center!important;
  }
  .cpcp-site-header::before{width:50px;opacity:.72}
  .cpcp-site-header::after{width:44px;opacity:.72}
  .cpcp-site-header .cpcp-brand-lockup::after{width:72px;height:40px;opacity:.72}
}

@media(max-width:700px){
  body .wp-site-blocks,
  body.single-propiedad .wp-site-blocks > main,
  body.single-propiedad main.wp-block-group.alignwide{
    background-size:430px 430px!important;
  }
  .cpcp-site-header::before,
  .cpcp-site-header::after{
    opacity:.48;
  }
  .cpcp-site-header .cpcp-brand-lockup::after{
    display:none;
  }
  .cpcp-direct-contact.cpcp-contact-approved-card{
    max-width:100%;
    margin:18px auto 14px!important;
    padding:0 8px!important;
  }
  .cpcp-contact-approved-image{
    width:100%;
    max-width:100%;
    max-height:none;
    height:auto;
    box-shadow:0 6px 18px rgba(26,43,34,.12);
  }
}
