/*
Theme Name: Bapy Real Estate
Theme URI: https://bapyrealestate.com
Description: Tema hijo de Astra con el rediseno de Bapy Real Estate (Brand Board v1.1).
Template: astra
Version: 1.0.0
Text Domain: bapy
*/

/* ==========================================================
   BAPY REAL ESTATE · Tema visual v1.0 (Brand Board v1.1)
   Paleta: Verde Profundo 50% · Marfil 20% · Verde Bosque 15% · Oro 8%
   Tipografias: Inter (titulos/texto) + Cormorant Garamond (editorial/precios)
   ========================================================== */

:root{
  --verde-profundo:#0C2B20;
  --verde-bosque:#1B4A38;
  --oro-bapy:#FEDC32;
  --oro-champan:#C9A54B;
  --marfil:#F6F1E7;
  --blanco:#FFFFFF;
  --texto-suave:rgba(12,43,32,.72);
  --texto-suave-claro:rgba(246,241,231,.74);
  --linea:rgba(201,165,75,.45);
  --font-main:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --wrap:1180px;
  --radius:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bp{margin:0;background:var(--marfil);color:var(--verde-profundo);font-family:var(--font-main);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
.bp img{max-width:100%;display:block}
.bp a{color:inherit}
.bp-wrap{width:100%;max-width:none;padding-inline:clamp(20px,4.5vw,88px);margin-inline:auto}

/* ---------- Tipografia ---------- */
.bp h1,.bp h2,.bp h3{font-family:var(--font-main);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:0;text-wrap:balance}
.bp h1{font-weight:900;font-size:clamp(2.5rem,6.4vw,5rem)}
.bp h2{font-size:clamp(1.9rem,3.8vw,3rem)}
.bp h3{font-size:1.35rem;letter-spacing:-.025em}
.bp em,.bp .bp-serif{font-family:var(--font-serif);font-style:italic;font-weight:500;letter-spacing:-.01em}
.bp h1 em,.bp h2 em{font-size:1.06em}
.bp-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--oro-champan);margin:0 0 18px}
.bp-lead{font-size:1.1rem;max-width:62ch;color:var(--texto-suave)}
.bp p{margin:0}

/* ---------- Botones ---------- */
.bp-btn{font-family:var(--font-main);display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:999px;background:var(--oro-bapy);color:var(--verde-profundo)!important;font-weight:800;font-size:.95rem;letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s}
.bp-btn:hover,.bp-btn:focus-visible{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.22)}
.bp-btn--line{background:transparent;border:1px solid var(--oro-champan);color:var(--oro-champan)!important}
.bp-btn--line:hover{background:var(--oro-champan);color:var(--verde-profundo)!important}
.bp-btn--dark{background:var(--verde-profundo);color:var(--marfil)!important}
.bp a:focus-visible,.bp button:focus-visible,.bp input:focus-visible{outline:2px solid var(--oro-bapy);outline-offset:3px}

/* ---------- Encabezado ---------- */
.bp-header{position:sticky;top:0;z-index:50;background:var(--verde-profundo);border-bottom:1px solid var(--linea)}
.admin-bar .bp-header{top:32px}
@media(max-width:782px){.admin-bar .bp-header{top:46px}}
.bp-header .bp-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.bp-brand{text-decoration:none;color:var(--blanco)!important;display:flex;flex-direction:column;line-height:1}
.bp-brand b{font-weight:900;font-size:1.8rem;letter-spacing:-.06em}
.bp-brand b i{font-style:normal;color:var(--oro-bapy)}
.bp-brand span{font-weight:800;font-size:.62rem;letter-spacing:.16em;margin-top:4px}
.bp-nav{display:flex;align-items:center;gap:34px}
.bp-nav a{text-decoration:none;color:var(--marfil);font-size:.9rem;font-weight:600;position:relative;padding:6px 0}
.bp-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--oro-champan);transition:right .3s}
.bp-nav a:hover::after,.bp-nav a[aria-current="page"]::after{right:0}
.bp-nav a[aria-current="page"]{color:var(--oro-champan)}
.bp-tel{color:var(--oro-champan)!important;font-family:var(--font-serif);font-size:1.25rem;font-weight:600;text-decoration:none;white-space:nowrap}
.bp-burger{display:none;background:none;border:1px solid var(--linea);color:var(--marfil);border-radius:10px;padding:9px 12px;font:inherit;font-weight:600;cursor:pointer}
@media(max-width:860px){
  .bp-burger{display:block}
  .bp-nav{position:absolute;left:0;right:0;top:100%;background:var(--verde-profundo);flex-direction:column;align-items:flex-start;gap:6px;padding:12px 20px 22px;border-bottom:1px solid var(--linea);display:none}
  .bp-nav.is-open{display:flex}
  .bp-tel{display:none}
}

/* ---------- Hero ---------- */
.bp-hero{position:relative;overflow:hidden;background:var(--verde-profundo);color:var(--blanco);text-align:center;padding:clamp(80px,12vw,150px) 0 clamp(120px,15vw,190px)}
.bp-hero .bp-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:26px}
.bp-hero h1 em{color:var(--oro-champan)}
.bp-hero .bp-lead{color:var(--texto-suave-claro);margin-inline:auto}
.bp-skyline{position:absolute;inset:auto 0 0 0;height:30%;z-index:1;opacity:.35;pointer-events:none}
.bp-skyline svg{width:100%;height:100%}
.bp-search{display:flex;gap:8px;width:min(620px,100%);background:var(--blanco);padding:8px;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.bp-search input{flex:1;min-width:0;border:0;background:transparent;padding:12px 16px;font:inherit;font-size:1rem;color:var(--verde-profundo)}
.bp-search input::placeholder{color:rgba(12,43,32,.5)}
.bp-search .bp-btn{padding:12px 26px;border-radius:12px}
.bp-hero__more{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:10px}
.bp-hero__more h2{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;color:var(--marfil)}

/* ---------- Secciones ---------- */
.bp-section{padding:clamp(64px,9vw,120px) 0}
.bp-section--ivory{background:var(--marfil)}
.bp-section--white{background:var(--blanco)}
.bp-section--bosque{background:var(--verde-bosque);color:var(--blanco)}
.bp-section--deep{background:var(--verde-profundo);color:var(--blanco)}
.bp-section--bosque .bp-lead,.bp-section--deep .bp-lead{color:var(--texto-suave-claro)}
.bp-section--bosque em,.bp-section--deep em{color:var(--oro-champan)}
.bp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.bp-head h2{max-width:16ch}
.bp-rule{height:1px;background:var(--linea);border:0;margin:0}

/* ---------- Servicios ---------- */
.bp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bp-card{background:var(--blanco);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(12,43,32,.08);transition:transform .35s,box-shadow .35s}
.bp-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(12,43,32,.14)}
.bp-card__img{aspect-ratio:4/3;background:var(--verde-bosque) center/cover no-repeat}
.bp-card__body{padding:28px 28px 32px;display:flex;flex-direction:column;gap:14px;flex:1}
.bp-card__body p{color:var(--texto-suave);font-size:.97rem}
.bp-card__body .bp-link{margin-top:auto;padding-top:8px}
.bp-link{display:inline-flex;gap:8px;align-items:center;font-weight:800;font-size:.9rem;text-decoration:none;color:var(--verde-bosque)}
.bp-link::after{content:"→";color:var(--oro-champan);transition:transform .25s}
.bp-link:hover::after{transform:translateX(6px)}
@media(max-width:900px){.bp-cards{grid-template-columns:1fr}}

/* ---------- Equipo / pilares ---------- */
.bp-split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.bp-split__img{aspect-ratio:4/5;border-radius:var(--radius);background:var(--verde-bosque) center/cover no-repeat;border:1px solid var(--linea)}
.bp-split__text{display:flex;flex-direction:column;gap:22px}
.bp-quote{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.2;color:var(--verde-bosque);border-left:2px solid var(--oro-champan);padding-left:22px}
.bp-quote strong{font-weight:600}
@media(max-width:900px){.bp-split{grid-template-columns:1fr}.bp-split--rev .bp-split__img{order:-1}}
.bp-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.bp-pillar{background:var(--verde-bosque);color:var(--blanco);padding:34px 30px;border-radius:var(--radius);display:flex;flex-direction:column;gap:14px}
.bp-pillar small{font-family:var(--font-serif);font-size:2.4rem;color:var(--oro-champan);line-height:1}
.bp-pillar p{color:var(--texto-suave-claro);font-size:.95rem}
@media(max-width:900px){.bp-pillars{grid-template-columns:1fr}}

/* ---------- Por que elegirnos ---------- */
.bp-why{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linea)}
.bp-why article{padding:36px 32px 12px 0;display:flex;flex-direction:column;gap:14px}
.bp-why article+article{padding-left:32px;border-left:1px solid var(--linea)}
.bp-why p{color:var(--texto-suave-claro);font-size:.97rem}
@media(max-width:900px){.bp-why{grid-template-columns:1fr}.bp-why article,.bp-why article+article{padding:30px 0;border-left:0;border-bottom:1px solid var(--linea)}}

/* ---------- Cierre (CTA) ---------- */
.bp-cta{text-align:center}
.bp-cta .bp-wrap{display:flex;flex-direction:column;align-items:center;gap:24px}
.bp-cta h2{font-size:clamp(2.2rem,5vw,4rem)}

/* ---------- Encabezado de paginas internas ---------- */
.bp-pagehead{background:var(--verde-profundo);color:var(--blanco);padding:clamp(56px,8vw,100px) 0 clamp(48px,6vw,80px);border-bottom:1px solid var(--linea)}
.bp-pagehead h1{font-size:clamp(2.2rem,5.2vw,4rem)}
.bp-pagehead h1 em{color:var(--oro-champan)}
.bp-pagehead .bp-lead{color:var(--texto-suave-claro);margin-top:18px}

/* ---------- Texto largo ---------- */
.bp-prose{display:flex;flex-direction:column;gap:20px;color:var(--texto-suave)}
.bp-prose p{max-width:62ch}
.bp-prose--light{color:var(--texto-suave-claro)}
.bp-prose strong{color:var(--verde-profundo)}
.bp-prose h2,.bp-prose h3{color:var(--verde-profundo);margin-top:12px}
.bp-prose a{color:var(--verde-bosque);font-weight:600}
.bp-prose ul,.bp-prose ol{margin:0;padding-left:1.3em}

/* ---------- Tienda ---------- */
.bp-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:14px;align-items:end;background:var(--blanco);padding:22px;border-radius:var(--radius);border:1px solid rgba(12,43,32,.08);margin-top:-44px;position:relative;z-index:3;box-shadow:0 18px 40px rgba(12,43,32,.1)}
.bp-field{display:flex;flex-direction:column;gap:6px}
.bp-field label{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-champan)}
.bp-field select,.bp-field input{font:inherit;padding:12px 14px;border-radius:10px;border:1px solid rgba(12,43,32,.18);background:var(--marfil);color:var(--verde-profundo)}
.bp-price-row{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:6px}
.bp-price-row input[type=range]{flex:1;min-width:200px;accent-color:var(--oro-champan)}
.bp-price-row strong{font-family:var(--font-serif);font-size:1.5rem;color:var(--verde-bosque)}
@media(max-width:860px){.bp-filters{grid-template-columns:1fr}}
.bp-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:44px 0 28px;font-size:.92rem;color:var(--texto-suave)}
.bp-bar select{font:inherit;padding:10px 14px;border-radius:10px;border:1px solid rgba(12,43,32,.18);background:var(--blanco);color:var(--verde-profundo)}
.bp-bar .woocommerce-result-count{margin:0}
.bp-bar .woocommerce-ordering{margin:0}
.bp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:0;padding:0}
@media(max-width:1100px){.bp-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.bp-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:480px){.bp-grid{grid-template-columns:1fr}}
.bp-prop{background:var(--blanco);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(12,43,32,.08);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;margin:0!important;width:auto!important;float:none!important}
.bp-prop:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(12,43,32,.14)}
.bp-prop__img{aspect-ratio:1/1;overflow:hidden;background:var(--verde-bosque);display:block}
.bp-prop__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bp-prop:hover .bp-prop__img img{transform:scale(1.05)}
.bp-prop__body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.bp-prop__cat{font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-champan)}
.bp-prop h3{font-size:1.05rem;line-height:1.2}
.bp-prop h3 a{text-decoration:none}
.bp-price,.bp .price{font-family:var(--font-serif);font-weight:600;font-size:1.65rem;color:var(--verde-bosque);line-height:1}
.bp-prop .bp-btn{margin-top:auto;justify-content:center;padding:11px 18px;font-size:.85rem}
.bp-pager,.bp .woocommerce-pagination ul{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:56px;list-style:none;padding:0;border:0!important}
.bp .woocommerce-pagination ul li{border:0!important;float:none}
.bp-pager a,.bp-pager span,.bp .woocommerce-pagination ul li a,.bp .woocommerce-pagination ul li span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:999px;border:1px solid rgba(12,43,32,.18);text-decoration:none;font-weight:600;font-size:.9rem;background:transparent;padding:0}
.bp-pager .is-current,.bp .woocommerce-pagination ul li span.current{background:var(--verde-profundo);color:var(--oro-champan);border-color:var(--verde-profundo)}
.bp-pager a:hover,.bp .woocommerce-pagination ul li a:hover{border-color:var(--oro-champan);color:var(--verde-bosque);background:transparent}

/* ---------- Ficha de propiedad ---------- */
.bp-product{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
@media(max-width:900px){.bp-product{grid-template-columns:1fr}}
.bp-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bp-gallery a{border-radius:10px;overflow:hidden;background:var(--verde-bosque);aspect-ratio:3/4;display:block}
.bp-gallery a:first-child{grid-column:1/-1;aspect-ratio:4/3;border-radius:var(--radius)}
.bp-gallery img{width:100%;height:100%;object-fit:cover}
.bp-info{display:flex;flex-direction:column;gap:20px;position:sticky;top:104px}
@media(max-width:900px){.bp-info{position:static}}
.bp-info h1{font-size:clamp(2rem,4vw,3.2rem)}
.bp-info .bp-price,.bp-info .price{font-size:2.6rem}
.bp-info__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
body.bp .bp-info__actions form.cart{display:flex!important;gap:12px;align-items:center;flex-wrap:wrap;margin:0}
body.bp .bp-info__actions .quantity{display:block!important;margin:0}
body.bp .bp-info__actions .single_add_to_cart_button{display:inline-flex!important;align-items:center;margin:0}
.bp-qty,.bp-info__actions .quantity input{width:72px;font:inherit;padding:14px;border-radius:12px;border:1px solid rgba(12,43,32,.18);background:var(--blanco);text-align:center}
.bp-meta{font-size:.85rem;color:var(--texto-suave);border-top:1px solid var(--linea);padding-top:16px}
.bp-meta a{color:var(--verde-bosque);font-weight:600}
.bp-wa{background:var(--verde-bosque);color:var(--blanco)!important}
.bp-wa svg{width:20px;height:20px;fill:var(--oro-bapy)}
.bp-tabs{margin-top:clamp(48px,7vw,90px)}
.bp-tabs ul{display:flex;gap:30px;list-style:none;margin:0 0 28px;padding:0;border-bottom:1px solid var(--linea)}
.bp-tabs li a{display:block;padding:12px 0;text-decoration:none;font-weight:600;color:var(--texto-suave)}
.bp-tabs li.is-active a{color:var(--verde-profundo);box-shadow:inset 0 -2px var(--oro-champan)}
.bp-tabs h3{margin:24px 0 8px;font-size:1.15rem}

/* ---------- Contacto ---------- */
.bp-contact{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--linea);border-radius:var(--radius);overflow:hidden}
.bp-contact>div{padding:36px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--linea)}
.bp-contact>div:nth-child(odd){border-right:1px solid var(--linea)}
.bp-contact>div:nth-last-child(-n+2){border-bottom:0}
.bp-contact h3{font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--oro-champan)}
.bp-contact p,.bp-contact a{font-family:var(--font-serif);font-size:1.6rem;line-height:1.25;text-decoration:none;font-weight:500;overflow-wrap:anywhere}
.bp-social{display:flex;gap:16px;flex-wrap:wrap}
.bp-social a{font-family:var(--font-main);font-size:.92rem;font-weight:600;color:var(--oro-champan);border-bottom:1px solid var(--linea)}
@media(max-width:700px){.bp-contact{grid-template-columns:1fr}.bp-contact>div:nth-child(odd){border-right:0}.bp-contact>div:nth-last-child(2){border-bottom:1px solid var(--linea)}}

/* ---------- Pie de pagina ---------- */
.bp-footer{background:var(--verde-profundo);color:var(--marfil);border-top:1px solid var(--linea);padding:56px 0 34px}
.bp-footer .bp-wrap{display:flex;flex-direction:column;gap:34px}
.bp-footer__top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}
.bp-footer__nav{display:flex;gap:28px;flex-wrap:wrap}
.bp-footer__nav a{text-decoration:none;font-size:.92rem;font-weight:600}
.bp-footer__nav a:hover{color:var(--oro-champan)}
.bp-footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--texto-suave-claro);border-top:1px solid var(--linea);padding-top:22px}
.bp-footer__bottom a{color:var(--oro-champan);text-decoration:none;margin-left:18px;font-weight:600}
.bp-footer__bottom a:first-child{margin-left:0}
.bp-tagline{font-family:var(--font-serif);font-style:italic;font-size:1.3rem;color:var(--oro-champan);margin-top:14px}

/* ---------- WhatsApp flotante ---------- */
.bp-float{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--verde-bosque);border:2px solid var(--oro-champan);display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.bp-float:hover{transform:translateY(-5px) scale(1.05)}
.bp-float svg{width:28px;height:28px;fill:var(--oro-bapy)}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ==========================================================
   Ajustes de integracion con Astra y WooCommerce
   ========================================================== */
body.bp .site-content,body.bp #content,body.bp .ast-container{max-width:none;padding:0;margin:0;display:block}
body.bp #primary,body.bp .content-area{width:100%;margin:0;padding:0;float:none}
body.bp .entry-header,body.bp .ast-breadcrumbs-wrapper{display:none}
body.bp .woocommerce-notices-wrapper{padding-inline:clamp(20px,4.5vw,88px)}
body.bp .woocommerce-message,body.bp .woocommerce-info,body.bp .woocommerce-error{background:var(--blanco);border-top-color:var(--oro-champan);color:var(--verde-profundo)}
body.bp .woocommerce a.button,body.bp .woocommerce button.button,body.bp .woocommerce input.button,body.bp .woocommerce #respond input#submit,body.bp .woocommerce .button.alt,body.bp .wc-block-components-button:not(.is-link){font-family:var(--font-main);background:var(--oro-bapy);color:var(--verde-profundo)!important;font-weight:800;border-radius:999px;padding:14px 28px;border:0;transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s}
body.bp .woocommerce a.button:hover,body.bp .woocommerce button.button:hover,body.bp .woocommerce input.button:hover{background:var(--oro-bapy);transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.2)}
body.bp .woocommerce form .form-row input.input-text,body.bp .woocommerce form .form-row textarea,body.bp .woocommerce form .form-row select{font:inherit;padding:12px 14px;border-radius:10px;border:1px solid rgba(12,43,32,.18);background:var(--blanco)}
body.bp .woocommerce table.shop_table{border:1px solid var(--linea);border-radius:var(--radius);background:var(--blanco);border-collapse:separate;overflow:hidden}
body.bp .woocommerce-checkout #payment{background:var(--blanco);border-radius:var(--radius)}
body.bp .onsale{display:none}
body.bp .bp-page-content{padding:clamp(48px,7vw,96px) clamp(20px,4.5vw,88px)}
body.bp .bp-page-content>*{max-width:1180px;margin-inline:auto}
body.bp .screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px}

/* Mejoras v1.1 */
.bp-skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--oro-bapy);color:var(--verde-profundo);padding:10px 16px;border-radius:8px;font-weight:800;text-decoration:none}
.bp-skip:focus{left:8px}
.bp-info__actions .bp-btn{justify-content:center}
.bp-lb{position:fixed;inset:0;z-index:300;background:rgba(12,43,32,.94);display:none;align-items:center;justify-content:center;padding:24px}
.bp-lb.is-open{display:flex}
.bp-lb img{max-width:min(92vw,1400px);max-height:88vh;object-fit:contain;border-radius:10px}
.bp-lb button{position:absolute;background:none;border:1px solid var(--linea);color:var(--oro-champan);width:48px;height:48px;border-radius:50%;font-size:1.8rem;line-height:1;cursor:pointer}
.bp-lb button:hover{background:var(--oro-champan);color:var(--verde-profundo)}
.bp-lb__x{top:20px;right:20px}.bp-lb__p{left:20px;top:50%}.bp-lb__n{right:20px;top:50%}
.bp-gallery a{cursor:zoom-in}
.bp-prop .bp-price:empty::before{content:"Precio a consultar";font-size:1.2rem}
/* Hero del WhatsApp heredado de WPCode: nunca sobre el diseno nuevo */
body #boton-wa-bapy,body .wa-bubble-content,body #waShopNotification,body #waProductNotification,body .bapy-btn-wa-final{display:none!important}
/* Mejoras v1.2 */
/* Precios: Cormorant Garamond SemiBold 600 (brand board) con numeros alineados */
.bp-price,.bp-price *{font-family:var(--font-serif)!important;font-weight:600!important;font-style:normal;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1,"kern" 1;letter-spacing:0}
.bp-prop .bp-price{font-size:1.9rem}
.bp-info .bp-price{font-size:3rem}
.bp-price .woocommerce-Price-currencySymbol{font-size:.62em;margin-right:.12em;vertical-align:.32em;color:var(--oro-champan)}
.bp-price del{opacity:.5}
.bp-price ins{text-decoration:none}

/* Encabezado: boton dorado Contactanos */
.bp-btn--head{padding:11px 24px;font-size:.88rem;white-space:nowrap}
@media(max-width:860px){.bp-header .bp-wrap{gap:10px}.bp-btn--head{padding:9px 14px;font-size:.78rem;margin-left:auto}}
@media(max-width:400px){.bp-brand b{font-size:1.5rem}.bp-btn--head{padding:8px 11px;font-size:.74rem}.bp-burger{padding:8px 10px}}

/* Burbuja de WhatsApp */
.bp-bubble{position:fixed;right:20px;bottom:92px;z-index:61;width:min(310px,calc(100vw - 40px));opacity:0;transform:translateY(14px) scale(.96);transform-origin:bottom right;transition:opacity .4s,transform .45s cubic-bezier(.3,1.6,.5,1)}
.bp-bubble.is-in{opacity:1;transform:none}
.bp-bubble[hidden]{display:none}
.bp-bubble__body{display:flex;flex-direction:column;gap:6px;background:var(--marfil);color:var(--verde-profundo)!important;text-decoration:none;padding:16px 38px 16px 18px;border-radius:16px 16px 4px 16px;border:1px solid var(--oro-champan);box-shadow:0 16px 36px rgba(0,0,0,.3);font-size:.9rem;line-height:1.45;position:relative}
.bp-bubble__body strong{font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-bosque)}
.bp-bubble__body::after{content:"";position:absolute;right:20px;bottom:-9px;width:16px;height:16px;background:var(--marfil);border-right:1px solid var(--oro-champan);border-bottom:1px solid var(--oro-champan);transform:rotate(45deg);border-bottom-right-radius:4px}
.bp-bubble__x{position:absolute;top:8px;right:8px;z-index:2;width:26px;height:26px;border-radius:50%;border:0;background:rgba(12,43,32,.08);color:var(--verde-profundo);font-size:1.1rem;line-height:1;cursor:pointer}
.bp-bubble__x:hover{background:var(--oro-bapy)}

/* Bloque de redes y contadores */
.bp-stats{text-align:center}
.bp-stats .bp-wrap{display:flex;flex-direction:column;align-items:center;gap:22px}
.bp-stats h2{max-width:20ch}
.bp-social-row{display:flex;gap:18px;list-style:none;margin:6px 0 0;padding:0}
.bp-social-row a,.bp-social-row span{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;border:1px solid var(--oro-champan);color:var(--oro-champan);text-decoration:none;transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .25s,color .25s}
.bp-social-row svg{width:26px;height:26px}
.bp-social-row a:hover{background:var(--oro-bapy);border-color:var(--oro-bapy);color:var(--verde-profundo);transform:translateY(-4px)}
.bp-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin-top:26px;border-top:1px solid var(--linea)}
.bp-stat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 20px 6px}
.bp-stat+.bp-stat{border-left:1px solid var(--linea)}
.bp-stat strong{font-family:var(--font-serif);font-weight:600;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-size:clamp(2.8rem,6vw,4.8rem);line-height:1;color:var(--oro-champan);letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}
.bp-stat>span{color:var(--texto-suave-claro);font-size:.98rem;max-width:22ch}
.bp-stat strong .bp-count{font:inherit;color:inherit;max-width:none}
@media(max-width:760px){.bp-stats__grid{grid-template-columns:1fr}.bp-stat+.bp-stat{border-left:0;border-top:1px solid var(--linea)}.bp-stat{padding:28px 10px}}

/* Formulario de contacto */
.bp-formwrap{max-width:860px;margin-inline:auto}
.bp-formcard{background:var(--blanco);border:1px solid rgba(12,43,32,.08);border-radius:var(--radius);padding:clamp(24px,4vw,52px);display:flex;flex-direction:column;gap:18px;box-shadow:0 18px 40px rgba(12,43,32,.08);scroll-margin-top:100px}
.bp-formcard h2 em{color:var(--oro-champan)}
.bp-formcard--ok{align-items:flex-start}
.bp-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px}
.bp-form .bp-field--full,.bp-form>.bp-field--full{grid-column:1/-1}
.bp-form .bp-field label{text-transform:none;letter-spacing:.01em;font-size:.88rem;font-weight:600;color:var(--verde-bosque)}
.bp-form .bp-field input,.bp-form .bp-field select,.bp-form .bp-field textarea{width:100%;font:inherit;padding:13px 14px;border-radius:10px;border:1px solid rgba(12,43,32,.18);background:var(--marfil);color:var(--verde-profundo)}
.bp-form textarea{resize:vertical;min-height:90px}
.bp-form .bp-field input:focus,.bp-form .bp-field select:focus,.bp-form .bp-field textarea:focus{outline:2px solid var(--oro-bapy);outline-offset:1px;border-color:var(--oro-champan)}
.bp-form select:invalid{color:rgba(12,43,32,.55)}
.bp-form [hidden]{display:none}
.bp-phone{display:grid;grid-template-columns:minmax(150px,.9fr) 1.4fr;gap:10px}
.bp-form .bp-btn{width:100%;justify-content:center;font-size:1rem;padding:16px 30px}
.bp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bp-alert{background:#fff4f0;border:1px solid #c9553b;color:#7a2a18;border-radius:10px;padding:12px 16px;font-size:.92rem}
@media(max-width:640px){.bp-form{grid-template-columns:1fr}.bp-phone{grid-template-columns:1fr}}
/* Mejoras v1.3 */
.bp-stats--slim{padding:clamp(40px,5vw,64px) 0 clamp(36px,4.5vw,56px)}
.bp-stats--slim .bp-wrap{gap:20px}
.bp-stats--slim .bp-eyebrow{margin:0}
.bp-stats--slim .bp-social-row{margin:0;gap:14px}
.bp-stats--slim .bp-social-row a,.bp-stats--slim .bp-social-row span{width:46px;height:46px}
.bp-stats--slim .bp-social-row svg{width:20px;height:20px}
.bp-stats--slim .bp-stats__grid{margin-top:18px;max-width:1040px;margin-inline:auto}
.bp-stats--slim .bp-stat{padding:26px 16px 4px;gap:10px}
.bp-stats--slim .bp-stat strong{font-family:var(--font-main);font-weight:800;font-size:clamp(2.1rem,4.2vw,3.4rem);letter-spacing:-.05em;line-height:1;color:var(--blanco);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:normal}
.bp-stats--slim .bp-plus{font-style:normal;font-weight:600;color:var(--oro-champan);margin-right:.04em}
.bp-stats--slim .bp-stat>span{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-suave-claro);max-width:26ch;line-height:1.5}
@media(max-width:760px){.bp-stats--slim .bp-stat{padding:22px 10px}}