/* CaeDePie Propietarios — estilos del tema (colores, tipografías y tamaños en theme.json) */

/* Fuentes de reserva con las métricas de las reales: evitan saltos de maquetación mientras cargan */
@font-face{font-family:"Figtree Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Helvetica");size-adjust:99.1%;ascent-override:95.9%;descent-override:25.2%;line-gap-override:0%}
@font-face{font-family:"Bricolage Fallback";font-weight:700;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Helvetica Bold");size-adjust:101.5%;ascent-override:91.6%;descent-override:26.6%;line-gap-override:0%}

:root{
  --cdp-paper:var(--wp--preset--color--paper);
  --cdp-paper-2:var(--wp--preset--color--paper-2);
  --cdp-ink:var(--wp--preset--color--ink);
  --cdp-ink-2:var(--wp--preset--color--ink-2);
  --cdp-orange:var(--wp--preset--color--orange);
  --cdp-orange-soft:var(--wp--preset--color--orange-soft);
  --cdp-orange-ink:var(--wp--preset--color--orange-ink);
  --cdp-forest:var(--wp--preset--color--forest);
  --cdp-on-forest:var(--wp--preset--color--on-forest);
  --cdp-line:rgba(34,27,23,.14);
  --cdp-radius:18px;
  --cdp-ease:cubic-bezier(.22,1,.36,1);
  --cdp-sec:clamp(64px,9vw,128px);
}
html{scroll-behavior:smooth;scroll-padding-top:110px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{text-wrap:balance}
:where(.wp-site-blocks) a:hover{text-decoration-color:var(--cdp-orange)}
:focus-visible{outline:3px solid var(--cdp-orange-ink);outline-offset:3px;border-radius:4px}
.cdp-main{margin-block-start:0}
.wp-site-blocks>*+*{margin-block-start:0}

/* ---------- Estilos de bloque propios ---------- */
.is-style-antetitulo{font-size:.78rem!important;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--cdp-orange-ink);display:flex;align-items:center;gap:.6em;margin-bottom:1.1rem!important}
.is-style-antetitulo::before{content:"";width:22px;height:11px;border-radius:22px 22px 0 0;background:var(--cdp-orange);flex:0 0 auto}
.is-style-destacado{font-size:var(--wp--preset--font-size--large)!important;line-height:1.5;color:var(--cdp-ink-2);max-width:44ch}
.cdp-muted,.cdp-muted p{color:var(--cdp-ink-2)}

.wp-block-image.is-style-arco,.wp-block-image.is-style-arco-suave,.wp-block-image.is-style-redondeada,.wp-block-post-featured-image.is-style-redondeada,.wp-block-post-featured-image{overflow:hidden;background:var(--cdp-paper-2)}
.wp-block-image.is-style-arco{border-radius:50% 50% var(--cdp-radius) var(--cdp-radius)/38% 38% var(--cdp-radius) var(--cdp-radius)}
.wp-block-image.is-style-arco-suave,.wp-block-post-featured-image.is-style-arco-suave{border-radius:50% 50% var(--cdp-radius) var(--cdp-radius)/26% 26% var(--cdp-radius) var(--cdp-radius)}
.wp-block-image.is-style-redondeada,.wp-block-post-featured-image{border-radius:24px}
.wp-block-image.is-style-arco img,.wp-block-image.is-style-arco-suave img,.wp-block-image.is-style-redondeada img{width:100%;height:100%;object-fit:cover;display:block}

.wp-block-list.is-style-checks{list-style:none;padding-left:0;display:grid;gap:10px}
.wp-block-list.is-style-checks li{position:relative;padding-left:1.7em}
.wp-block-list.is-style-checks li::before{content:"";position:absolute;left:0;top:.3em;width:1.05em;height:1.05em;background:var(--cdp-orange-ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4.5 10.5 3.5 3.5 7.5-8' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4.5 10.5 3.5 3.5 7.5-8' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Botones */
.wp-element-button,.wp-block-button__link{transition:transform .25s var(--cdp-ease),box-shadow .25s var(--cdp-ease),background-color .25s var(--cdp-ease),color .25s var(--cdp-ease);cursor:pointer}
.wp-block-button:not(.is-style-enlace):not(.is-style-outline) .wp-block-button__link:hover,button.wp-element-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(138,74,0,.55)}
.wp-block-button:not(.is-style-enlace):not(.is-style-outline) .wp-block-button__link::after,.cdp-form button[type=submit]::after{content:"→";margin-left:.55em;display:inline-block;transition:transform .25s var(--cdp-ease)}
.wp-block-button__link:hover::after,.cdp-form button[type=submit]:hover::after{transform:translateX(3px)}
.cdp-btn-lg .wp-block-button__link,.wp-element-button.cdp-btn-lg{font-size:1.06rem;padding:1.05em 1.6em}
.cdp-btn-sm .wp-block-button__link{font-size:.92rem;padding:.65em 1.1em}
.cdp-btn-sm .wp-block-button__link::after{display:none}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:2px solid var(--cdp-ink);color:var(--cdp-ink);padding:.85em 1.4em}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--cdp-ink);color:var(--cdp-paper)}
.wp-block-button.is-style-enlace .wp-block-button__link{background:none;border:0;border-bottom:2px solid var(--cdp-orange);border-radius:0;padding:0 0 2px;color:inherit;font-weight:700}
.wp-block-button.is-style-enlace .wp-block-button__link::after{content:"→";margin-left:.45em;display:inline-block;transition:transform .25s var(--cdp-ease)}
.wp-block-button.is-style-enlace .wp-block-button__link:hover::after{transform:translateX(4px)}
.cdp-right{justify-content:flex-end}

/* Secciones */
.cdp-sec{padding-block:var(--cdp-sec)}
.cdp-sec-title{margin-bottom:clamp(28px,4vw,56px)!important}
/* Textos con medida estrecha dentro de secciones de 1200 px: alineados a la izquierda */
.is-layout-constrained>:is(.cdp-sec-title,.is-style-destacado,h1,h2).cdp-narrow,
.cdp-page-hero.is-layout-constrained>:is(h1,.wp-block-post-title,.is-style-destacado),
.cdp-forest-intro.is-layout-constrained>:is(h2,.is-style-destacado),
.cdp-profiles-sec.is-layout-constrained>.cdp-sec-title,
.cdp-process.is-layout-constrained>.cdp-sec-title,
.cdp-quotes-sec.is-layout-constrained>.cdp-sec-title{margin-left:max(0px,calc((100% - 1200px) / 2))!important;margin-right:auto!important}
.cdp-sec-title,.cdp-forest-intro h2{max-width:24ch!important}

/* ---------- Cabecera ---------- */
.cdp-site-header{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) - 38px);z-index:30}
.cdp-topbar{font-size:.85rem;padding-block:8px;min-height:38px}
.cdp-topbar p{margin:0;text-align:center}
.cdp-topbar a{color:#fff3e0;font-weight:600}
.cdp-header{background:var(--cdp-paper);border-bottom:1px solid var(--cdp-line)}
.cdp-header-in{padding-block:12px;gap:24px;max-width:1200px;margin-inline:auto}
.cdp-brand{gap:10px;align-items:flex-end;flex-shrink:0}
.cdp-brand .wp-block-site-logo{flex-shrink:0}
.cdp-brand .wp-block-site-logo img{width:132px;height:auto}
.cdp-brand-tag{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cdp-ink-2);border-left:1px solid var(--cdp-line);padding:0 0 9px 10px}
.cdp-header-nav{gap:28px}
.cdp-header .wp-block-navigation a{text-decoration:none;position:relative;padding:.4em 0}
.cdp-header .wp-block-navigation .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cdp-orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--cdp-ease)}
.cdp-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,.cdp-header .wp-block-navigation .current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1)}
.cdp-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--cdp-paper)!important;color:var(--cdp-ink)!important;padding:24px}
.cdp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.cdp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start!important;justify-content:flex-start!important;width:100%}
.cdp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{font-family:var(--wp--preset--font-family--display);font-size:1.8rem;font-weight:700;width:100%;border-bottom:1px solid var(--cdp-line);padding-block:10px}
@media (max-width:1000px){.cdp-header-cta.wp-block-buttons{display:none!important}}
@media (max-width:760px){.cdp-topbar-alt{display:none}.cdp-topbar{font-size:.76rem}.cdp-topbar p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdp-brand .wp-block-site-logo img{width:112px}}

/* ---------- Portada ---------- */
.cdp-hero{position:relative;overflow:hidden;padding-block:clamp(32px,5vw,72px) clamp(48px,6vw,88px)}
.cdp-hero::before{content:"";position:absolute;right:-12vw;top:-18vw;width:58vw;height:58vw;border-radius:50%;background:radial-gradient(circle at 50% 60%,var(--cdp-orange-soft),transparent 66%);opacity:.7;pointer-events:none}
.cdp-hero>*{position:relative}
.cdp-hero-cols{gap:clamp(32px,5vw,80px)!important}
.cdp-hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--cdp-orange) 62%,var(--cdp-orange) 92%,transparent 92%);padding-inline:.04em}
.cdp-hero .is-style-destacado{margin-top:1.4rem}
.cdp-hero-actions{gap:18px 28px;align-items:center;margin-top:2rem!important}
.cdp-proof.wp-block-list{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:1.6rem;font-size:.95rem;color:var(--cdp-ink-2)}
.cdp-hero-media{position:relative;aspect-ratio:4/5;box-shadow:0 30px 60px -30px rgba(34,27,23,.45);margin:0}
.cdp-hero-media img{object-position:48% 50%}
.cdp-hero-media figcaption{position:absolute;left:16px;bottom:16px;margin:0;background:var(--cdp-paper);color:var(--cdp-ink);border-radius:999px;padding:10px 16px;font-size:.9rem;box-shadow:0 10px 30px -12px rgba(34,27,23,.4)}
.cdp-hero-media figcaption strong{font-family:var(--wp--preset--font-family--display);font-size:1.2rem;font-weight:800}
@keyframes cdp-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.cdp-hero-copy>*{animation:cdp-rise .9s var(--cdp-ease) both}
.cdp-hero-copy>*:nth-child(2){animation-delay:.08s}
.cdp-hero-copy>*:nth-child(3){animation-delay:.16s}
.cdp-hero-copy>*:nth-child(n+4){animation-delay:.24s}
@media (max-width:781px){.cdp-hero-cols{flex-direction:column-reverse}.cdp-hero-media{aspect-ratio:5/4}}

/* Cifras */
.cdp-stats{display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(40px,6vw,72px)!important;border-top:1px solid var(--cdp-line)}
.cdp-stat{padding:22px 20px 0 0}
.cdp-stat+.cdp-stat{padding-left:20px;border-left:1px solid var(--cdp-line)}
.cdp-stat>*{margin:0!important}
.cdp-stat-n{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);line-height:1.05;letter-spacing:-.03em}
.cdp-stat-n small{font-size:.55em;color:var(--cdp-ink-2)}
.cdp-stat p:not(.cdp-stat-n){color:var(--cdp-ink-2);font-size:.95rem;line-height:1.35;margin-top:4px!important}
.cdp-stat-stars .cdp-stat-n::after{content:"★★★★★";display:block;font-size:.9rem;letter-spacing:2px;color:var(--cdp-orange);margin-top:4px}
@media (max-width:781px){.cdp-stats{grid-template-columns:1fr 1fr}.cdp-stat:nth-child(odd){padding-left:0;border-left:0}.cdp-stat:nth-child(n+3){border-top:1px solid var(--cdp-line);margin-top:22px!important}.cdp-stat:last-child{grid-column:1/-1;padding-left:0;border-left:0}}

/* Quién está detrás: comparativa */
.cdp-operator .wp-block-columns{gap:clamp(32px,6vw,96px)}
.cdp-compare{margin:0;overflow-x:auto}
.cdp-compare table{border-collapse:separate;border-spacing:0;font-size:.97rem;width:100%}
.cdp-compare th,.cdp-compare td{border:0;border-bottom:1px solid var(--cdp-line);padding:14px 16px;text-align:left;vertical-align:top}
.cdp-compare thead{border:0}
.cdp-compare thead th{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cdp-ink-2);border-bottom:2px solid var(--cdp-ink)}
.cdp-compare thead th:last-child{background:var(--cdp-orange);color:var(--cdp-ink);border-radius:14px 14px 0 0;border-bottom-color:var(--cdp-orange)}
.cdp-compare tbody td:first-child{font-weight:700;width:34%}
.cdp-compare tbody td:nth-child(2){color:var(--cdp-ink-2)}
.cdp-compare tbody td:last-child{background:var(--cdp-paper);font-weight:600}
.cdp-compare tbody td:last-child::before{content:"✓ ";color:var(--cdp-orange-ink);font-weight:800}
.cdp-compare tbody tr:last-child td:last-child{border-radius:0 0 14px 14px}
@media (max-width:560px){
  .cdp-compare thead{display:none}
  .cdp-compare table,.cdp-compare tbody,.cdp-compare tr,.cdp-compare td{display:block;width:auto!important}
  .cdp-compare tr{padding:14px 0;border-bottom:1px solid var(--cdp-line)}
  .cdp-compare td{border:0;padding:2px 0}
  .cdp-compare tbody td:nth-child(2)::before{content:"Agencia: "}
  .cdp-compare tbody td:last-child{background:none}
  .cdp-compare tbody td:last-child::before{content:"CaeDePie: ";font-weight:400;color:var(--cdp-ink-2)}
}

/* Perfiles (lista) */
.cdp-profiles{border-top:2px solid var(--cdp-ink)}
.cdp-profiles>.cdp-profile{margin:0!important}
.cdp-profile{position:relative;display:grid;grid-template-columns:70px minmax(180px,.9fr) 1.4fr 56px;gap:24px;align-items:center;padding:clamp(22px,3vw,34px) 0;border-bottom:1px solid var(--cdp-line);transition:padding .4s var(--cdp-ease),background-color .4s var(--cdp-ease)}
.cdp-profile>*{margin:0!important}
.cdp-profile-n{font-family:var(--wp--preset--font-family--display);font-weight:700;color:var(--cdp-orange-ink)}
.cdp-profile-name{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.5rem)!important}
.cdp-profile-name a{text-decoration:none}
.cdp-profile-name a::before{content:"";position:absolute;inset:0}
.cdp-profile-short{color:var(--cdp-ink-2);font-size:1.05rem;max-width:44ch}
.cdp-profile::after{content:"→";grid-column:4;justify-self:end;width:52px;height:52px;border-radius:50%;border:2px solid var(--cdp-ink);display:grid;place-items:center;font-weight:700;transition:background-color .3s var(--cdp-ease),transform .3s var(--cdp-ease),border-color .3s var(--cdp-ease)}
.cdp-profile:hover{background:linear-gradient(90deg,var(--cdp-paper-2),transparent 80%);padding-left:16px}
.cdp-profile:hover::after{background:var(--cdp-orange);border-color:var(--cdp-orange);transform:rotate(-45deg)}
@media (max-width:760px){.cdp-profile{grid-template-columns:1fr 48px;gap:6px 16px}.cdp-profile>*{grid-column:1}.cdp-profile::after{grid-column:2;grid-row:1/4;width:44px;height:44px}.cdp-profile:hover{padding-left:0}}

/* ¿Prefieres hablarlo por teléfono? */
.cdp-talk{padding-block:clamp(40px,6vw,72px)}
.cdp-talk .wp-block-columns{gap:24px clamp(32px,6vw,96px)}
.cdp-talk .is-style-antetitulo{color:var(--cdp-ink)}
.cdp-talk .is-style-antetitulo::before{background:var(--cdp-ink)}
.cdp-talk h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);margin-bottom:.8rem}
.cdp-talk-actions>*{margin-block:0 10px!important}
.cdp-talk-phone a{display:inline-flex;flex-direction:column;text-decoration:none;background:var(--cdp-ink);color:var(--cdp-paper);border-radius:22px;padding:16px 26px;font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);line-height:1.1;font-variant-numeric:tabular-nums;transition:transform .25s var(--cdp-ease)}
.cdp-talk-phone a:hover{transform:translateY(-2px)}
.cdp-talk-phone span{font-family:var(--wp--preset--font-family--body);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cdp-orange)}
.cdp-talk .is-style-enlace .wp-block-button__link{border-bottom-color:var(--cdp-ink)}

/* Qué aportamos */
.cdp-benefits-sec .wp-block-columns{gap:clamp(32px,6vw,96px)}
.cdp-benefits-sec .wp-block-columns{align-items:stretch}
.cdp-benefits-media{height:100%;min-height:420px;margin:0}
.cdp-benefits-media img{height:100%}
.cdp-benefits{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px;margin-block:2rem 2.2rem!important;counter-reset:b}
.cdp-benefits>*{margin:0!important}
.cdp-benefit{counter-increment:b;padding-top:16px;border-top:2px solid var(--cdp-ink)}
.cdp-benefit::before{content:counter(b,decimal-leading-zero);display:block;font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:.85rem;color:var(--cdp-orange-ink);margin-bottom:10px}
.cdp-benefit h3{margin-bottom:.45rem}
.cdp-benefit p{color:var(--cdp-ink-2);margin:0}
@media (max-width:781px){.cdp-benefits-media{height:auto;aspect-ratio:16/11;min-height:0}}
@media (max-width:560px){.cdp-benefits{grid-template-columns:1fr}}

/* ¿Encaja tu vivienda? (portada con la Giralda) */
.cdp-city{padding-block:clamp(72px,11vw,160px)!important}
.cdp-city .wp-block-cover__inner-container{display:flex;justify-content:flex-end;color:var(--cdp-ink)}
.cdp-city::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 35%,rgba(34,27,23,.35));pointer-events:none;z-index:0}
.cdp-city .wp-block-cover__inner-container{z-index:1}
.cdp-city-card{width:min(560px,100%);background:var(--cdp-paper);border-radius:28px;padding:clamp(24px,3.5vw,44px);box-shadow:0 40px 80px -40px rgba(34,27,23,.6)}
.cdp-city .wp-block-cover__inner-container.is-layout-constrained>.cdp-city-card{margin-left:auto!important;margin-right:max(0px,calc((100% - 1200px) / 2))!important}
.cdp-city-card h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.5rem);margin-bottom:1rem}
.cdp-city-card>p:not(.is-style-antetitulo){color:var(--cdp-ink-2)}
.cdp-fit-list{margin-block:1.4rem 1.8rem!important;border-top:2px solid var(--cdp-ink)}
.cdp-fit-list>*{margin:0!important}
.cdp-fit-row{display:grid;grid-template-columns:7rem 1fr;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--cdp-line)}
.cdp-fit-row>*{margin:0!important}
.cdp-fit-k{font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:1.05rem}
.cdp-fit-v{color:var(--cdp-ink-2)}
.cdp-note{font-size:.95rem;color:var(--cdp-ink-2);margin-top:.8rem!important}
@media (max-width:760px){
  .cdp-city{padding:0!important;min-height:0!important;display:block;background:var(--cdp-paper)}
  .cdp-city .wp-block-cover__image-background{position:static;height:auto;aspect-ratio:4/3;object-position:30% 55%!important}
  .cdp-city::after,.cdp-city .wp-block-cover__background{display:none}
  .cdp-city .wp-block-cover__inner-container{padding-inline:clamp(16px,4vw,48px);padding-bottom:var(--cdp-sec)}
  .cdp-city-card{margin-top:-56px!important;box-shadow:0 20px 40px -24px rgba(34,27,23,.45)}
}
@media (max-width:480px){.cdp-fit-row{grid-template-columns:1fr;gap:2px}}

/* Últimos artículos y listados */
.cdp-latest .wp-block-columns{margin-bottom:clamp(24px,4vw,48px)}
.cdp-mini-posts,.cdp-post-grid{gap:clamp(20px,3vw,40px)!important}
.cdp-mini-posts .wp-block-post-featured-image,.cdp-post-grid .wp-block-post-featured-image{margin:0 0 14px;border-radius:var(--cdp-radius);overflow:hidden}
.cdp-mini-posts .wp-block-post-featured-image img,.cdp-post-grid .wp-block-post-featured-image img{transition:transform 1s var(--cdp-ease)}
.cdp-mini-posts li:hover .wp-block-post-featured-image img,.cdp-post-grid li:hover .wp-block-post-featured-image img{transform:scale(1.04)}
.cdp-mini-posts .wp-block-post-title,.cdp-post-grid .wp-block-post-title{font-size:1.25rem;line-height:1.25;margin-top:.4rem}
.cdp-post-grid .wp-block-post-title{font-size:1.4rem}
.cdp-mini-posts .wp-block-post-title a,.cdp-post-grid .wp-block-post-title a{text-decoration:none}
.cdp-mini-posts .wp-block-post-title a:hover,.cdp-post-grid .wp-block-post-title a:hover{color:var(--cdp-orange-ink)}
.cdp-post-grid .wp-block-post-excerpt{color:var(--cdp-ink-2)}
.cdp-post-grid .wp-block-post-excerpt__more-link{font-weight:700;color:var(--cdp-ink);text-decoration:none;border-bottom:2px solid var(--cdp-orange)}
.wp-block-query-pagination{margin-top:48px}
@media (max-width:781px){.cdp-mini-posts,.cdp-post-grid{grid-template-columns:1fr!important}}

/* Preguntas frecuentes */
.cdp-faq .wp-block-columns{gap:clamp(32px,6vw,96px)}
.cdp-faq-list{border-top:2px solid var(--cdp-ink)}
.cdp-faq-list>*{margin:0!important}
.cdp-faq-item{border-bottom:1px solid var(--cdp-line)}
.cdp-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:1.12rem;line-height:1.3}
.cdp-faq-item summary::-webkit-details-marker{display:none}
.cdp-faq-item summary::after{content:"";flex:0 0 auto;width:14px;height:14px;margin-top:.25em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .3s var(--cdp-ease)}
.cdp-faq-item[open] summary::after{transform:rotate(-135deg)}
.cdp-faq-item summary:hover{color:var(--cdp-orange-ink)}
.cdp-faq-item>p{padding:0 40px 22px 0;margin:0;color:var(--cdp-ink-2)}

/* Llamada final */
.cdp-cta{position:relative;overflow:hidden;padding-block:clamp(56px,8vw,104px);color:var(--cdp-on-forest)}
.cdp-cta h2{color:var(--cdp-on-forest)}
.cdp-cta::after{content:"";position:absolute;left:-140px;bottom:-300px;width:520px;height:520px;border-radius:50%;border:56px solid #2b4a3e;pointer-events:none}
.cdp-cta>*{position:relative;z-index:1}
.cdp-cta .cdp-cta-claim{font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:clamp(1.05rem,1rem + .4vw,1.3rem);line-height:1.3;color:var(--cdp-orange);margin:0 0 .9rem;max-width:34ch}
.cdp-cta h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);max-width:18ch;margin-bottom:1rem}
.cdp-cta p{color:#c9d3c4;max-width:46ch}
.cdp-cta .wp-block-columns{gap:32px 64px}
.cdp-cta-phone a{color:var(--cdp-on-forest);text-decoration:none}
.cdp-cta-phone strong{border-bottom:2px solid var(--cdp-orange)}
@media (max-width:781px){.cdp-cta::after{width:320px;height:320px;border-width:40px;left:-160px;bottom:-220px}}

/* Cabecera de páginas interiores */
.cdp-page-hero{padding-block:clamp(40px,6vw,88px) clamp(40px,5vw,72px);border-bottom:1px solid var(--cdp-line)}
.cdp-page-hero h1{max-width:20ch!important;font-size:clamp(2.2rem,1.5rem + 3vw,4rem)}
.cdp-page-hero .is-style-destacado{margin-top:1.2rem;max-width:56ch!important}
.cdp-page-hero--tall{padding-block:clamp(64px,10vw,140px);border-bottom:0}

/* Servicios */
.cdp-services{display:grid;grid-template-columns:1fr 1fr}
.cdp-services>*{margin:0!important}
.cdp-service{padding:clamp(28px,4vw,48px) clamp(0px,3vw,40px) clamp(28px,4vw,48px) 0;border-top:2px solid var(--cdp-ink)}
.cdp-service:nth-child(even){padding-left:clamp(20px,3vw,40px);border-left:1px solid var(--cdp-line)}
.cdp-service-n{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:clamp(3rem,2rem + 3vw,5rem);line-height:1;color:#c46f00;letter-spacing:-.04em;margin-bottom:1rem!important}
.cdp-service-title{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem)!important;margin-bottom:.8rem}
@media (max-width:760px){.cdp-services{grid-template-columns:1fr}.cdp-service:nth-child(even){padding-left:0;border-left:0}}

.cdp-forest-intro h2{color:var(--cdp-on-forest)}
.cdp-forest-intro{background:var(--cdp-forest);color:var(--cdp-on-forest);padding-bottom:clamp(120px,14vw,200px)!important}
.cdp-forest-intro .is-style-antetitulo{color:var(--cdp-orange)}
.cdp-forest-intro .is-style-destacado{color:#c9d3c4}
.cdp-pdetails{margin-top:calc(-1 * clamp(80px,10vw,150px))!important;padding-bottom:var(--cdp-sec)}
.cdp-pdetail{background:var(--cdp-paper);border-radius:28px;padding:clamp(20px,3vw,40px);box-shadow:0 30px 60px -40px rgba(34,27,23,.35);scroll-margin-top:120px}
.cdp-pdetail+.cdp-pdetail{margin-top:clamp(24px,4vw,48px)!important}
.cdp-pdetail .wp-block-columns{gap:clamp(28px,6vw,88px);align-items:stretch}
.cdp-pdetail .wp-block-image{height:100%;min-height:clamp(320px,34vw,460px);margin:0}
.cdp-pdetail .wp-block-image img{height:100%}
.cdp-pdetail-title{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)!important;margin-bottom:1rem}
.cdp-pdetail .is-style-checks{margin-block:1.4rem 2rem}
@media (max-width:781px){.cdp-pdetail .wp-block-image{height:auto;aspect-ratio:16/10;min-height:0}.cdp-pdetail .wp-block-columns{flex-direction:column}.cdp-pdetail .wp-block-column:has(.wp-block-image){order:-1}}

/* Proceso */
.cdp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,32px);position:relative}
.cdp-steps>*{margin:0!important}
.cdp-steps::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:2px;background:repeating-linear-gradient(90deg,var(--cdp-ink) 0 8px,transparent 8px 16px);opacity:.35}
.cdp-step{position:relative}
.cdp-step-n{width:56px;height:56px;border-radius:50%;background:var(--cdp-orange);display:grid;place-items:center;font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:1.4rem;margin-bottom:1.2rem!important;box-shadow:0 0 0 8px var(--cdp-paper-2)}
.cdp-step h3{margin-bottom:.5rem}
@media (max-width:860px){.cdp-steps{grid-template-columns:1fr 1fr;row-gap:40px}.cdp-steps::before{display:none}}
@media (max-width:520px){.cdp-steps{grid-template-columns:1fr}}

/* Opiniones */
.cdp-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,2vw,24px)}
.cdp-quotes>*{margin:0!important}
.cdp-quote{background:var(--cdp-paper);border:0;border-radius:var(--cdp-radius);padding:28px;margin:0}
.cdp-quote p::before{content:"“";display:block;font:800 3rem/.6 var(--wp--preset--font-family--display);color:var(--cdp-orange);margin-bottom:10px}
.cdp-quote cite{font-style:normal;font-size:.92rem;color:var(--cdp-ink-2)}

/* ---------- Contacto ---------- */
.cdp-contact .wp-block-columns{gap:clamp(32px,5vw,72px)}
.cdp-form-card{background:var(--wp--preset--color--white);border:1px solid var(--cdp-line);border-radius:28px;padding:clamp(22px,4vw,48px)}
.cdp-form-title{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem)!important}
.cdp-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;scroll-margin-top:120px}
.cdp-form>*{margin:0!important}
.cdp-form-note,.cdp-legal-mini,.cdp-form-actions,.cdp-form-status{grid-column:1/-1}
.cdp-form-note{font-size:.92rem;color:var(--cdp-ink-2)}
.cdp-field{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;padding:0;margin:0}
.cdp-field--full{grid-column:1/-1}
.cdp-field label,.cdp-field legend{font-weight:700;font-size:.95rem;padding:0}
.cdp-field label span[aria-hidden],.cdp-field legend span{color:var(--cdp-orange-ink)}
.cdp-field small{color:var(--cdp-ink-2);font-size:.85rem}
.cdp-field input,.cdp-field select,.cdp-field textarea{box-sizing:border-box;font:inherit;font-size:1rem;color:var(--cdp-ink);background:var(--cdp-paper);border:1.5px solid rgba(34,27,23,.28);border-radius:12px;padding:.8em .9em;width:100%;transition:border-color .2s,box-shadow .2s,background-color .2s}
.cdp-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cdp-ink) 50%),linear-gradient(135deg,var(--cdp-ink) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.4em}
.cdp-field textarea{resize:vertical;min-height:120px}
.cdp-field input:focus,.cdp-field select:focus,.cdp-field textarea:focus{outline:none;border-color:var(--cdp-orange-ink);background:#fff;box-shadow:0 0 0 4px rgba(255,161,19,.28)}
.cdp-field [aria-invalid="true"]{border-color:#b3261e}
.cdp-field-error{color:#b3261e;font-size:.86rem;font-weight:600}
.cdp-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.cdp-chip{position:relative;cursor:pointer}
.cdp-chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.cdp-chip span{display:inline-block;padding:.6em 1.1em;border:1.5px solid rgba(34,27,23,.28);border-radius:999px;font-weight:600;transition:all .2s var(--cdp-ease)}
.cdp-chip input:checked+span{background:var(--cdp-ink);border-color:var(--cdp-ink);color:var(--cdp-paper)}
.cdp-chip input:focus-visible+span{outline:3px solid var(--cdp-orange-ink);outline-offset:2px}
.cdp-chip:hover span{border-color:var(--cdp-ink)}
.cdp-field--check{flex-direction:row;align-items:flex-start;gap:10px}
.cdp-field--check input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--cdp-ink)}
.cdp-field--check label{font-weight:400}
.cdp-legal-mini{font-size:.8rem;color:var(--cdp-ink-2)}
.cdp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.cdp-form-status{font-weight:600}
.cdp-form-status.is-error{color:#b3261e}
.cdp-form button[disabled]{opacity:.6;cursor:progress}
@media (max-width:620px){.cdp-form{grid-template-columns:1fr}}
.cdp-gestor{position:sticky;top:130px}
.cdp-gestor-title{font-size:2rem!important;margin-bottom:.2rem}
.cdp-gestor-list{margin-block:1.6rem!important}
.cdp-gestor-list>*{margin:0!important}
.cdp-gestor-row{border-top:1px solid var(--cdp-line);padding-block:14px}
.cdp-gestor-row>*{margin:0!important}
.cdp-gestor-row a{text-decoration:none;font-weight:600}
.cdp-gestor-row a:hover{text-decoration:underline}
.cdp-dt{font-size:.78rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cdp-ink-2);margin-bottom:4px!important}
.cdp-gestor-media{aspect-ratio:4/3;margin:0}
@media (max-width:781px){.cdp-gestor{position:static}}

/* ---------- Artículos ---------- */
.cdp-post-head{padding-block:clamp(40px,6vw,80px) clamp(28px,4vw,48px)}
.cdp-post-meta{gap:8px 16px;font-size:.88rem;color:var(--cdp-ink-2)}
.cdp-post-meta .wp-block-post-terms a{color:var(--cdp-orange-ink);font-weight:700;text-decoration:none}
.cdp-post-head .wp-block-post-title{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);margin-block:.6rem 1.2rem}
.cdp-post-head .wp-block-post-excerpt{max-width:none}
.cdp-post-head .wp-block-post-excerpt p{margin:0;font-size:var(--wp--preset--font-size--large);color:var(--cdp-ink-2)}
.cdp-post-hero{margin-bottom:clamp(40px,6vw,72px)!important}
.cdp-prose{font-size:clamp(1.05rem,1rem + .2vw,1.15rem);line-height:1.72}
.cdp-prose h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);margin-top:2.2em}
.cdp-prose h3{margin-top:1.8em}
.cdp-prose li{margin-bottom:.5em}
.cdp-prose li::marker{color:var(--cdp-orange-ink);font-weight:700}
.cdp-prose a{color:var(--cdp-orange-ink);font-weight:600}
.cdp-post-cta{background:var(--cdp-forest);color:var(--cdp-on-forest);border-radius:24px;padding:clamp(24px,4vw,40px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:760px;margin:clamp(40px,6vw,64px) auto 0!important}
.cdp-post-cta>*{margin:0!important}
.cdp-post-cta-t{font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:1.35rem;line-height:1.2;max-width:24ch}
.cdp-related{border-top:1px solid var(--cdp-line);margin-top:var(--cdp-sec)!important}

/* ---------- Pie ---------- */
.cdp-footer{padding-top:clamp(56px,7vw,88px);font-size:.95rem}
.cdp-footer a{color:#fff7ea;text-decoration:none}
.cdp-footer a:hover{text-decoration:underline;text-decoration-color:var(--cdp-orange)}
.cdp-footer p{color:#cfc3b5}
.cdp-footer-cols{gap:40px}
.cdp-footer-logo img{background:var(--cdp-paper);border-radius:16px;padding:10px 14px;box-sizing:content-box;width:150px}
.cdp-footer-h{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cdp-orange)!important;margin-bottom:1rem}
.cdp-footer-legal{margin-top:56px!important;padding-block:22px;border-top:1px solid rgba(233,223,210,.18);font-size:.86rem}
.cdp-footer-legal p{margin:0}

/* ---------- Barra de contacto en móvil y aviso de cookies ---------- */
.cdp-mbar{display:none}
@media (max-width:760px){
  .cdp-mbar{display:grid;grid-template-columns:auto 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in oklab,var(--cdp-paper) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--cdp-line);transform:translateY(110%);transition:transform .35s var(--cdp-ease)}
  .cdp-mbar.is-on{transform:none}
  .cdp-mbar a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;font-weight:700;text-decoration:none;padding:0 18px;color:var(--cdp-ink)}
  .cdp-mbar-call{border:2px solid var(--cdp-ink)}
  .cdp-mbar-go{background:var(--cdp-orange)}
  body:has(.cdp-mbar){padding-bottom:72px}
  .cdp-cookie{bottom:84px!important}
}
.cdp-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:520px;background:var(--cdp-paper);border:1px solid var(--cdp-line);border-radius:20px;padding:20px 22px;box-shadow:0 24px 60px -20px rgba(34,27,23,.45);font-size:.92rem}
.cdp-cookie[hidden]{display:none}
.cdp-cookie p{margin:0 0 .6em}
.cdp-cookie-title{font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:1.1rem}
.cdp-cookie-actions{display:flex;gap:10px;margin-top:12px}
.cdp-cookie .wp-element-button{padding:.65em 1.2em;font-size:.92rem}
.cdp-cookie .wp-element-button.is-ghost{background:transparent;border-color:var(--cdp-ink)}

/* Teléfono con prefijo del país */
.cdp-phone{display:flex;gap:10px}
.cdp-phone select{flex:0 0 11.5rem;width:11.5rem}
.cdp-phone input{flex:1 1 auto;min-width:0}
@media (max-width:420px){.cdp-phone{flex-direction:column}.cdp-phone select{flex-basis:auto;width:100%}}

/* Plantillas de artículo */
.cdp-callout{background:var(--cdp-orange-soft,#fff3e0);border-left:4px solid var(--cdp-orange);border-radius:0 var(--cdp-radius) var(--cdp-radius) 0;padding:20px 24px;margin-block:1.6rem}
.cdp-callout>*{margin:0!important}.cdp-callout-t{margin-bottom:.4rem!important}
.cdp-keydata{gap:16px!important;margin-block:2rem}
.cdp-keydata-item{background:var(--cdp-paper-2);border-radius:var(--cdp-radius);padding:22px;height:100%}
.cdp-keydata-item>*{margin:0!important}
.cdp-keydata-n{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:2.2rem!important;line-height:1;color:var(--cdp-orange-ink);margin-bottom:.4rem!important}
.wp-block-quote{border-left:4px solid var(--cdp-orange);margin-block:2rem;padding:.2rem 0 .2rem 1.4rem;font-family:var(--wp--preset--font-family--display);font-size:1.35rem;line-height:1.35}
.wp-block-quote cite{display:block;margin-top:.7rem;font:600 .9rem var(--wp--preset--font-family--body);font-style:normal;color:var(--cdp-ink-2)}
.wp-block-table table{border-collapse:collapse;width:100%}
.wp-block-table th,.wp-block-table td{border:0;border-bottom:1px solid var(--cdp-line);padding:12px 14px;text-align:left}
.wp-block-table thead{border-bottom:2px solid var(--cdp-ink)}.wp-block-table th{font-weight:700}
.cdp-post-cols{gap:clamp(24px,5vw,56px)!important;margin-block:2rem}

.cdp-faq-group{font-size:.78rem!important;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--cdp-orange-ink);margin:2.2rem 0 .4rem!important}
.cdp-faq-list>.cdp-faq-group:first-child{margin-top:0!important}

/* Secciones a todo el ancho sin hueco entre ellas (el espacio entre bloques de WordPress no debe verse) */
.cdp-main .wp-block-post-content>.alignfull,.cdp-main>.wp-block-post-content>.alignfull,.cdp-main .entry-content>.alignfull{margin-block-start:0!important}
/* Preguntas frecuentes: etiqueta del primer bloque con aire y título fijo mientras se desplaza la lista */
.cdp-faq-list>.cdp-faq-group:first-child{margin-top:1.4rem!important}
@media (min-width:782px){.cdp-faq .wp-block-columns{align-items:flex-start}.cdp-faq .wp-block-column:first-child{position:sticky;top:110px}}

/* Las fotos cubren siempre su marco, sea cual sea la altura del texto que las acompaña */
.cdp-pdetail .wp-block-column:has(.wp-block-image){display:flex;flex-direction:column}
.cdp-pdetail .wp-block-image,.cdp-benefits-media,.cdp-gestor-media{display:flex;flex:1 1 auto}
.cdp-pdetail .wp-block-image img,.cdp-benefits-media img,.cdp-gestor-media img{width:100%;height:auto;min-height:100%;flex:1 1 auto;object-fit:cover}
.wp-block-image.is-style-arco img,.wp-block-image.is-style-arco-suave img,.wp-block-image.is-style-redondeada img{object-fit:cover}
.wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover}
.cdp-benefits-sec .wp-block-column:has(.cdp-benefits-media){display:flex;flex-direction:column}
.cdp-benefits-media{min-height:420px}
.wp-block-image.cdp-benefits-media img,.wp-block-image.cdp-gestor-media img,.cdp-pdetail .wp-block-image.wp-block-image img{height:auto;min-height:100%;flex:1 1 auto}
.cdp-benefits-media img{object-position:78% 50%}

/* Home: la foto del arco ocupa toda la altura del bloque de texto */
.cdp-benefits-sec .wp-block-column.is-vertically-aligned-center:has(.cdp-benefits-media){align-self:center}
.cdp-benefits-sec .cdp-benefits-media{height:auto;min-height:0;aspect-ratio:3/4}
.cdp-benefits-sec .cdp-benefits-media img{height:100%;object-position:80% 50%}
/* Contacto: foto vertical y más grande en la columna lateral */
.cdp-gestor-media{aspect-ratio:4/5}
.cdp-gestor-media img{object-position:50% 60%}
@media (max-width:781px){.cdp-benefits-sec .cdp-benefits-media{aspect-ratio:16/11}.cdp-gestor-media{aspect-ratio:16/11}}

/* Tablas de las páginas legales y artículos: columnas según contenido y sin cortar palabras */
.wp-block-table table.has-fixed-layout{table-layout:auto}
.wp-block-table table td,.wp-block-table table th{font-size:.92rem;line-height:1.45;overflow-wrap:normal!important;word-break:normal!important;hyphens:manual;vertical-align:top}
.wp-block-table table td:first-child{overflow-wrap:anywhere}
@media (max-width:781px){.wp-block-table:not(.cdp-compare){overflow-x:auto}.wp-block-table:not(.cdp-compare) table{min-width:560px}}

/* Móvil: comparativa «Con quién firmas» apilada y sin scroll */
@media (max-width:781px){
  .cdp-compare{overflow:visible}
  .cdp-compare table{min-width:0!important;width:100%!important}
  .cdp-compare tbody tr:last-child{border-bottom:0}
  .cdp-compare tbody tr:last-child td:last-child{border-radius:0}
  /* «¿Encaja tu vivienda?»: la tarjeta cabe en el ancho y deja margen a los dos lados */
  .cdp-city .wp-block-cover__inner-container{box-sizing:border-box;width:100%;max-width:100%}
  .cdp-city-card{width:100%;max-width:100%}
  /* Servicios: la primera ficha se monta sobre el bloque verde, como en escritorio */
  .cdp-main .wp-block-post-content>.alignfull.cdp-pdetails{margin-top:-48px!important}
  /* Artículo: la imagen destacada con más altura */
  .cdp-post-hero,.cdp-post-hero.wp-block-post-featured-image{aspect-ratio:4/3!important}
  .cdp-post-hero img{height:100%;object-fit:cover}
}

/* Servicios: la primera ficha se monta sobre el bloque verde (más específico que la regla que quita los huecos entre secciones) */
@media (min-width:782px){.cdp-main .wp-block-post-content>.alignfull.cdp-pdetails{margin-top:calc(-1 * clamp(80px,10vw,150px))!important}}
