.elementor-kit-1065{--e-global-color-primary:#1E7A46;--e-global-color-secondary:#5C4F43;--e-global-color-text:#2A251F;--e-global-color-accent:#F2A81D;--e-global-color-bosque0:#173F2B;--e-global-color-papel00:#FBF8F3;--e-global-color-papel20:#F3EDE3;--e-global-color-verdecl:#6AAE3A;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Figtree";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-weight:600;background-color:#fbf8f3;}.elementor-kit-1065 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Prodater · estilos globales (Elementor > Ajustes del sitio > CSS personalizado)
   Misma línea que la propuesta aprobada (https://prodater.es/propuesta/), adaptada al marcado de Elementor.
   Clases pd-* en contenedores y widgets; dentro de los textos, las mismas clases de la propuesta. */

@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/wp-content/uploads/prodater/fuentes/fraunces-normal-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/wp-content/uploads/prodater/fuentes/fraunces-normal-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fraunces"; font-style: italic; font-weight: 400 600; font-display: swap; src: url(/wp-content/uploads/prodater/fuentes/fraunces-italic-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/wp-content/uploads/prodater/fuentes/figtree-normal-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/wp-content/uploads/prodater/fuentes/figtree-normal-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Figtree"; font-style: italic; font-weight: 400 500; font-display: swap; src: url(/wp-content/uploads/prodater/fuentes/figtree-italic-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --papel: #fbf8f3; --papel-2: #f3ede3; --linea: #e2d8c9; --tinta: #2a251f; --marron: #5c4f43; --marron-suave: #6f6254;
  --verde: #1e7a46; --verde-hover: #165f36; --verde-claro: #6aae3a; --bosque: #173f2b; --ambar: #f2a81d; --ambar-suave: #fbe6b9;
  --blanco: #ffffff; --radio: 14px; --franja: 38px;
  --sombra: 0 1px 2px rgba(42, 37, 31, .06), 0 10px 30px -12px rgba(42, 37, 31, .18);
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* Base */
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
body { background: var(--papel); color: var(--tinta); font: 400 1.0625rem/1.65 var(--sans); }
a { color: var(--verde); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover, a:active { color: var(--verde-hover); text-decoration-thickness: 2px; }
/* Foco (WCAG 2.1, 2.4.7 y 1.4.11): indicador de dos colores, tinta por fuera y blanco por dentro (15:1 entre ellos), para que
   se vea con 3:1 o más sobre los fondos claros y sobre los oscuros (franja, bandas verdes, pie y aviso de cookies). Con !important
   porque el tema, Elementor y los plugins ponen el suyo (blanco o negro de 2 px), que en algunos fondos no se ve. */
body :focus-visible { outline: 3px solid var(--tinta) !important; outline-offset: 3px !important; box-shadow: 0 0 0 3px var(--blanco) !important; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 600; line-height: 1.15; letter-spacing: -.012em; margin: 0 0 .6em; color: var(--tinta); font-optical-sizing: auto; }
h1 { font-size: clamp(2.3rem, 4.6vw, 3.9rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.55rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.1em; }
em.marca { font-style: italic; color: var(--verde); font-weight: 500; }
.visualmente-oculto, .screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link.screen-reader-text:focus { z-index: 100000; background: var(--bosque); color: #fff; padding: .7rem 1rem; border-radius: 8px; font-weight: 600; clip: auto; width: auto; height: auto; top: 1rem; left: 1rem; }

/* Elementor: contenedores y widgets */
.elementor .e-con.pd-contenedor { width: min(1180px, 100% - 2.5rem); max-width: none; margin-inline: auto; }
.elementor .e-con { --container-default-padding-top: 0; --container-default-padding-right: 0; --container-default-padding-bottom: 0; --container-default-padding-left: 0; }
.elementor .elementor-widget-heading .elementor-heading-title { font-family: var(--serif); font-weight: 600; line-height: 1.15; letter-spacing: -.012em; color: var(--tinta); margin: 0 0 .6em; }
.elementor .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(2.3rem, 4.6vw, 3.9rem); }
.elementor .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(1.75rem, 3vw, 2.55rem); }
.elementor .elementor-widget-text-editor > :last-child, .elementor .elementor-widget-text-editor > :last-child > :last-child { margin-bottom: 0; }
.elementor .elementor-widget-text-editor { color: inherit; }

/* Enlaces dentro de un texto: subrayados, no solo por color (Lighthouse link-in-text-block; el tema los deja sin subrayar) */
.elementor-widget-text-editor p a, .elementor-widget-text-editor dd a, .texto-legal li a, .texto-legal td a, .elementor-field-option a, .primera-capa a { text-decoration: underline; }
.elementor-widget-text-editor p a.enlace-flecha, .pd-franja .elementor-widget-text-editor p a { text-decoration: none; }
.elementor-widget-text-editor p a.enlace-flecha:hover, .pd-franja .elementor-widget-text-editor p a:hover { text-decoration: underline; }

/* Botones */
.elementor .elementor-widget-button .elementor-button { display: inline-flex; align-items: center; gap: .5rem; padding: .85rem 1.35rem; border-radius: 999px; background: var(--verde); color: var(--blanco); font: 600 1rem/1.2 var(--sans); border: 2px solid var(--verde); min-height: 48px; fill: currentColor; }
.elementor .elementor-widget-button .elementor-button:hover, .elementor .elementor-widget-button .elementor-button:focus-visible { background: var(--verde-hover); border-color: var(--verde-hover); color: var(--blanco); }
.elementor .elementor-widget-button .elementor-button-icon svg { width: 1em; height: 1em; transition: transform .2s; }
.elementor .elementor-widget-button .elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }
.elementor .pd-boton-secundario .elementor-button { background: transparent; color: var(--tinta); border-color: var(--marron); }
.elementor .pd-boton-secundario .elementor-button:hover, .elementor .pd-boton-secundario .elementor-button:focus-visible { background: var(--tinta); border-color: var(--tinta); color: var(--papel); }
.elementor .pd-acciones { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.elementor .pd-acciones > .elementor-widget { width: auto; }

/* Cabecera (plantilla de Elementor Pro) */
.elementor-location-header { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--franja)); z-index: 60; }
.elementor .e-con.pd-franja { background: var(--bosque); color: #e9efe6; font-size: .875rem; }
.elementor .e-con.pd-franja-fila { min-height: var(--franja); flex-direction: row; justify-content: space-between; align-items: center; gap: 1rem; }
.pd-franja a { color: #fff; text-decoration: none; }
.pd-franja a:hover { text-decoration: underline; color: #fff; }
.elementor .e-con.pd-franja-derecha { flex-direction: row; align-items: center; gap: 1.2rem; width: auto; }
.elementor .e-con.pd-cabecera { background: rgba(251, 248, 243, .96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--linea); }
.elementor .e-con.pd-cabecera-fila { min-height: 84px; flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: nowrap; }
.pd-logo img { height: 56px; width: auto; display: block; }
.elementor .pd-cabecera-fila > .elementor-widget-nav-menu { flex: 1 1 auto; width: auto; }
.elementor .pd-cabecera-fila > .elementor-widget-button, .elementor .pd-cabecera-fila > .elementor-widget-html { flex: 0 0 auto; width: auto; }
.pd-menu .elementor-nav-menu--main .elementor-nav-menu { justify-content: flex-end; }
.pd-menu .elementor-nav-menu--main .elementor-item { padding: .6rem .8rem; color: var(--tinta); font: 500 1rem var(--sans); border-radius: 8px; }
.pd-menu .elementor-nav-menu--main .elementor-item:hover { background: var(--papel-2); color: var(--tinta); }
.pd-menu .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--verde); box-shadow: inset 0 -2px 0 var(--ambar); border-radius: 0; }
.pd-menu .elementor-menu-toggle { background: none; border: 1px solid var(--linea); border-radius: 10px; color: var(--tinta); width: 48px; height: 44px; margin-left: auto; }
.pd-menu .elementor-nav-menu--dropdown { background: var(--papel); border-bottom: 1px solid var(--linea); }
.pd-menu .elementor-nav-menu--dropdown .elementor-item { color: var(--tinta); font: 500 1.05rem var(--sans); padding: .9rem 1.25rem; }
.pd-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { color: var(--verde); box-shadow: inset 3px 0 0 var(--ambar); background: transparent; }
.pd-menu .elementor-nav-menu--dropdown .elementor-item:hover { background: var(--papel-2); color: var(--tinta); }

/* Selector de idioma (GTranslate) */
.pd-idiomas .gtranslate_wrapper { display: flex; gap: .2rem; align-items: center; }
.pd-idiomas .gtranslate_wrapper a { color: #fff; text-decoration: none; padding: .2rem .45rem; border-radius: 6px; font-weight: 600; font-size: .85rem; }
.pd-idiomas .gtranslate_wrapper a:hover, .pd-idiomas .gtranslate_wrapper a.gt-current-lang { background: rgba(255, 255, 255, .14); }
.pd-idiomas .gtranslate_wrapper a img { display: none; }

/* Portada */
.elementor .e-con.pd-portada { position: relative; overflow: hidden; padding: clamp(3rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem); }
.elementor .e-con.pd-portada-rejilla { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.antetitulo { display: inline-flex; align-items: center; gap: .6rem; font: 600 .8rem/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--marron); margin: 0 0 1.3rem; }
.antetitulo::before { content: ""; width: 28px; height: 2px; background: var(--ambar); }
.pd-contacto .antetitulo { color: #d9e4d6; }
.entrada { font-size: 1.2rem; color: var(--marron); max-width: 36em; }
.pd-llamas { position: absolute !important; right: -60px; top: -40px; width: 420px; opacity: .08; pointer-events: none; margin: 0; }
.pd-llamas svg { width: 100%; height: auto; display: block; }
.ficha { position: relative; background: var(--blanco); border: 1px solid var(--linea); border-radius: 18px; padding: 1.6rem 1.6rem 1.3rem; box-shadow: 14px 14px 0 var(--ambar-suave), var(--sombra); transform: rotate(-1.2deg); }
.ficha .cinta { position: absolute; top: -12px; left: 50%; width: 90px; height: 24px; margin-left: -45px; background: rgba(242, 168, 29, .55); transform: rotate(2deg); border-radius: 3px; }
.ficha .titulo-ficha { font: 600 1.25rem/1.2 var(--serif); margin: 0 0 .2rem; }
.ficha .fecha { font-size: .85rem; color: var(--marron-suave); margin-bottom: 1rem; }
.ficha ul { list-style: none; margin: 0; padding: 0; }
.ficha li { display: grid; grid-template-columns: 26px 1fr; gap: .6rem; padding: .62rem 0; border-top: 1px dashed var(--linea); font-size: .97rem; }
.ficha li svg { margin-top: .15rem; }
.ficha .pie-ficha { margin: 1rem 0 0; font-family: var(--serif); font-style: italic; color: var(--verde); font-size: 1.05rem; }

/* Compromisos */
.elementor .e-con.pd-compromisos { border-block: 1px solid var(--linea); background: var(--papel-2); }
.compromisos { list-style: none; margin: 0; padding: 1.6rem 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem 2.5rem; }
.compromisos li { display: grid; grid-template-columns: 34px 1fr; gap: .7rem; color: var(--marron); font-size: .98rem; }
.compromisos strong { color: var(--tinta); display: block; }

/* Secciones */
.elementor .e-con.pd-seccion { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.elementor .e-con.pd-alterna { background: var(--papel-2); }
.elementor .e-con.pd-cabeza-seccion { display: grid; grid-template-columns: 220px 1fr; gap: 2rem; margin-bottom: 2.6rem; align-items: start; }
.numero { font: 600 .8rem/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--marron); padding-top: .7rem; border-top: 2px solid var(--tinta); margin: 0; }
.numero span { color: var(--verde); }
.pd-numero-arriba { margin-bottom: 1rem; }
.pd-subtitulo { color: var(--marron); font-size: 1.1rem; max-width: 40em; }

/* Servicios */
.elementor .e-con.pd-servicios { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
.elementor .pd-tarjeta { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: clamp(1.5rem, 3vw, 2.3rem); }
.etiqueta { display: inline-block; font: 700 .75rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bosque); background: #e3f0d9; padding: .5rem .7rem; border-radius: 6px; margin: 0 0 1.2rem; }
.etiqueta.formacion { background: var(--ambar-suave); color: #5a3d00; }
.pd-tarjeta h3 { margin-bottom: .6rem; }
.pd-tarjeta > p, .pd-tarjeta p.intro { color: var(--marron); }
.lista-guion { list-style: none; margin: .4rem 0 1.6rem; padding: 0; }
.lista-guion li { position: relative; padding: .7rem 0 .7rem 1.6rem; border-top: 1px solid var(--linea); }
.lista-guion li::before { content: ""; position: absolute; left: 0; top: 1.3rem; width: 12px; height: 3px; border-radius: 2px; background: var(--ambar); }
.lista-guion strong { color: var(--tinta); }
.enlace-flecha { font-weight: 600; text-decoration: none; display: inline-flex; gap: .4rem; align-items: center; color: var(--verde); }
.enlace-flecha:hover { text-decoration: underline; }

/* Pasos */
.pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; counter-reset: paso; position: relative; }
.pasos::before { content: ""; position: absolute; top: 27px; left: 8%; right: 8%; border-top: 2px dotted var(--marron-suave); opacity: .5; }
.pasos li { position: relative; counter-increment: paso; }
.pasos li::before { content: counter(paso); display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--papel-2); border: 2px solid var(--verde); color: var(--verde); font: 600 1.35rem var(--serif); margin-bottom: 1.1rem; position: relative; }
.pasos p { color: var(--marron); }

/* Lema */
.elementor .e-con.pd-lema { background: var(--bosque); color: #eef3ea; position: relative; overflow: hidden; }
.elementor .e-con.pd-lema-rejilla { padding: clamp(3.5rem, 7vw, 5.5rem) 0; display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: center; }
.pd-lema blockquote { margin: 0; font: italic 500 clamp(1.8rem, 3.4vw, 2.8rem)/1.2 var(--serif); color: #fff; border: 0; padding: 0; }
.pd-lema blockquote p { margin: 0; }
.pd-lema blockquote::before { content: "“"; display: block; font-size: 4rem; line-height: .6; color: var(--ambar); margin-bottom: .4rem; }
.diferencias { display: grid; gap: 1.2rem; }
.diferencias div { border-left: 3px solid var(--ambar); padding-left: 1rem; }
.pd-lema h3 { color: #fff; font: 700 1.15rem/1.3 var(--sans); margin-bottom: .3rem; letter-spacing: 0; }
.pd-lema p { margin: 0; color: #d9e4d6; }
.pd-lema .pd-llamas { opacity: .07; right: -80px; top: auto; bottom: -120px; }

/* Ámbito y datos */
.elementor .e-con.pd-dos-columnas { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.elementor .e-con.pd-dos-columnas.centrado { align-items: center; }
.mapa-ambito { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: 1.5rem; }
.mapa-ambito dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .8rem 1rem; }
.mapa-ambito dt { font-weight: 700; }
.mapa-ambito dd { margin: 0; color: var(--marron); }

/* Preguntas frecuentes */
.preguntas details { border-top: 1px solid var(--linea); padding: .2rem 0; }
.preguntas details:last-child { border-bottom: 1px solid var(--linea); }
.preguntas summary { cursor: pointer; list-style: none; padding: 1.05rem 2.5rem 1.05rem 0; position: relative; font: 600 1.12rem/1.4 var(--serif); }
.preguntas summary::-webkit-details-marker { display: none; }
.preguntas summary::after { content: "+"; position: absolute; right: .3rem; top: .8rem; font: 400 1.6rem var(--sans); color: var(--verde); }
.preguntas details[open] summary::after { content: "–"; }
.preguntas details p { color: var(--marron); max-width: 48em; }

/* Páginas interiores */
.elementor .e-con.pd-cabecera-pagina { padding: clamp(3rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--linea); position: relative; overflow: hidden; }
.migas { font-size: .9rem; color: var(--marron); margin-bottom: 1.2rem; }
.migas a { color: var(--marron); }
.bloque { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: clamp(1.4rem, 3vw, 2rem); }
.bloque h3 { margin-bottom: .4rem; }
.bloque p:last-child { margin-bottom: 0; }
.nota-ley { font-size: .95rem; color: var(--marron); border-left: 3px solid var(--verde-claro); padding: .2rem 0 .2rem 1rem; }
.elementor .e-con.pd-rejilla-tres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.pd-rejilla-tres .bloque h3 { font-size: 1.2rem; }
.areas { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; padding: 0; margin: 1rem 0 0; }
.areas li { background: var(--blanco); border: 1px solid var(--linea); border-radius: 999px; padding: .45rem 1rem; font-size: .95rem; }

/* Contacto y formulario */
.elementor .e-con.pd-contacto { background: var(--bosque); color: #eef3ea; padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
.elementor .e-con.pd-contacto-rejilla { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 4rem); }
.pd-contacto .elementor-heading-title, .elementor .pd-contacto .elementor-widget-heading .elementor-heading-title { color: #fff; }
.pd-contacto p { color: #d9e4d6; }
.pd-contacto .datos-contacto a { color: #fff; }
.datos-contacto { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; gap: 1rem; }
.datos-contacto li { display: grid; grid-template-columns: 28px 1fr; gap: .7rem; }
.datos-contacto strong { display: block; color: #fff; }
.elementor .e-con.pd-tarjeta-formulario { background: var(--papel); color: var(--tinta); border-radius: 18px; padding: clamp(1.4rem, 3vw, 2.2rem); }
.pd-formulario .elementor-field-group { margin-bottom: 1rem; }
.pd-formulario .elementor-field-group > label, .pd-formulario .elementor-field-label { display: block; font: 600 .95rem var(--sans); color: var(--tinta); margin-bottom: .35rem; }
.pd-formulario .elementor-field-textual, .pd-formulario select.elementor-field { width: 100%; font: 400 1rem var(--sans); color: var(--tinta); background: var(--blanco); border: 1px solid #8f7f6b; border-radius: 10px; padding: .75rem .85rem; min-height: 48px; }
.pd-formulario textarea.elementor-field-textual { min-height: 120px; }
.pd-formulario .elementor-field-textual:focus, .pd-formulario select.elementor-field:focus { border-color: var(--verde); }
.pd-formulario .elementor-field-type-acceptance .elementor-field-subgroup { display: block; }
.pd-formulario .elementor-field-type-acceptance .elementor-field-option { display: grid; grid-template-columns: 24px 1fr; gap: .6rem; align-items: start; width: 100%; }
.pd-formulario .elementor-field-type-acceptance input { width: 20px; height: 20px; margin-top: .2rem; accent-color: var(--verde); }
.pd-formulario .elementor-field-type-acceptance label { font: 400 .95rem/1.5 var(--sans); color: var(--tinta); }
.pd-formulario .elementor-field-type-acceptance a { color: var(--verde); }
.pd-formulario .elementor-button[type="submit"], .pd-formulario button.elementor-button { width: 100%; justify-content: center; background: var(--verde); color: #fff; border: 2px solid var(--verde); border-radius: 999px; min-height: 52px; font: 600 1.05rem var(--sans); padding: .85rem 1.35rem; }
.pd-formulario .elementor-button[type="submit"]:hover, .pd-formulario .elementor-button[type="submit"]:focus-visible { background: var(--verde-hover); border-color: var(--verde-hover); color: #fff; }
.pd-formulario .elementor-message { font-weight: 600; }
.pd-formulario .elementor-message.elementor-message-success { color: var(--verde); }
.pd-formulario .elementor-message.elementor-message-danger, .pd-formulario .elementor-error .elementor-field-textual { color: #9a3412; border-color: #9a3412; }
.primera-capa { margin-top: 1.2rem; font-size: .85rem; color: var(--marron); background: var(--papel-2); border-radius: 10px; padding: .9rem 1rem; }
.primera-capa p { margin: 0; color: var(--marron) !important; }
.primera-capa a { color: var(--verde); }

/* Textos legales */
.texto-legal > * { max-width: 52rem; }
.texto-legal h2 { font-size: 1.6rem; margin-top: 2.2rem; }
.texto-legal h3 { font-size: 1.2rem; margin-top: 1.6rem; }
.texto-legal table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.6rem; font-size: .95rem; background: var(--blanco); }
.texto-legal th, .texto-legal td { border: 1px solid var(--linea); padding: .65rem .75rem; text-align: left; vertical-align: top; }
.texto-legal th { background: var(--papel-2); }
.tabla-desplazable { overflow-x: auto; }

/* Pie (plantilla de Elementor Pro) */
.elementor .e-con.pd-pie { background: #2b2520; color: #d8d0c4; padding-top: 3.5rem; font-size: .97rem; }
.pd-pie a { color: #fff; text-decoration: none; }
.pd-pie a:hover { text-decoration: underline; color: #fff; }
.elementor .e-con.pd-pie-columnas { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 2rem; padding-bottom: 2.5rem; }
.pd-pie h2 { font: 700 .8rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #fff; margin-bottom: 1rem; }
.pd-pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.pd-pie .logo-pie img { height: 54px; width: auto; margin-bottom: 1rem; }
.pd-pie p { color: #d8d0c4; }
.elementor .e-con.pd-financiacion { background: var(--blanco); color: var(--tinta); }
.elementor .e-con.pd-financiacion-fila { flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.1rem 0; flex-wrap: wrap; }
.pd-financiacion .elementor-widget-image { width: auto; }
.pd-financiacion img { width: 440px; max-width: 100%; height: auto; }
.pd-financiacion p { margin: 0; font-size: .85rem; color: var(--marron); max-width: 30em; }
.elementor .e-con.pd-legal-pie { border-top: 1px solid #463d34; background: #2b2520; color: #d8d0c4; }
.elementor .e-con.pd-legal-fila { flex-direction: row; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 1.1rem 0; font-size: .88rem; }
.pd-legal-pie p { margin: 0; color: #d8d0c4; }
.pd-legal-pie a { color: #fff; text-decoration: none; }
.pd-legal-pie a:hover { text-decoration: underline; color: #fff; }
.pd-legal-pie ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.pd-legal-fila > .elementor-widget { width: auto; }

/* WhatsApp y aviso de cookies: mientras el aviso está abierto, queda por encima del botón de WhatsApp */
#moove_gdpr_cookie_info_bar { z-index: 100000 !important; }
#ht-ctc-chat { z-index: 9990 !important; }

/* Responsive */
@media (max-width: 1024px) {
  .elementor .e-con.pd-cabecera-fila { flex-wrap: wrap; }
  .elementor .pd-cabecera-fila > .elementor-widget-button { display: none; }
  .elementor .e-con.pd-pie-columnas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .elementor .e-con.pd-portada-rejilla, .elementor .e-con.pd-lema-rejilla, .elementor .e-con.pd-dos-columnas, .elementor .e-con.pd-contacto-rejilla,
  .elementor .e-con.pd-servicios, .elementor .e-con.pd-rejilla-tres { grid-template-columns: 1fr; }
  .elementor .e-con.pd-cabeza-seccion { grid-template-columns: 1fr; gap: 1rem; }
  .compromisos { grid-template-columns: 1fr; }
  .pasos { grid-template-columns: 1fr; }
  .pasos::before { display: none; }
  .ficha { transform: none; max-width: 30rem; }
}
@media (max-width: 560px) {
  body { font-size: 1rem; }
  .pd-logo img { height: 46px; }
  .pd-franja .ocultar-movil { display: none; }
  .elementor .e-con.pd-franja-fila { justify-content: flex-end; }
  .elementor .e-con.pd-pie-columnas { grid-template-columns: 1fr; }
  .elementor .pd-acciones > .elementor-widget { width: 100%; }
  .elementor .pd-acciones .elementor-button { width: 100%; justify-content: center; }
}

/* Blog (24/10/2026): listado de /blog/ y de los archivos, y entradas con la tipografía de los textos legales. */
.elementor .pd-listado-blog .elementor-post { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: 1.5rem 1.6rem; }
.elementor .pd-listado-blog .elementor-post__title { font-family: var(--serif); font-size: 1.35rem; line-height: 1.25; font-weight: 600; margin: 0 0 .5rem; }
.elementor .pd-listado-blog .elementor-post__title a { color: var(--tinta); text-decoration: none; }
.elementor .pd-listado-blog .elementor-post__title a:hover { color: var(--verde-hover); text-decoration: underline; }
/* Con «.elementor» delante para ganar a widget-posts.min.css, que pone la fecha en #adadad y el extracto en #777. */
.elementor .pd-listado-blog .elementor-post__meta-data { color: var(--marron); font-size: .9rem; margin-bottom: .7rem; }
.elementor .pd-listado-blog .elementor-post__meta-data .elementor-post-date { color: var(--marron); }
.elementor .pd-listado-blog .elementor-post__excerpt p { color: var(--tinta); margin: 0; }
.elementor .pd-listado-blog .elementor-pagination { margin-top: 2.2rem; text-align: center; }
.elementor .pd-listado-blog .elementor-pagination .page-numbers { display: inline-block; padding: .35rem .7rem; color: var(--tinta); }
.elementor .pd-listado-blog .elementor-pagination .page-numbers.current { background: var(--verde); color: var(--blanco); border-radius: 8px; }
.pd-fecha-entrada .elementor-icon-list-text, .pd-fecha-entrada a { color: var(--marron); font-size: .95rem; }
.pd-fecha-entrada .elementor-icon-list-item:not(:last-child)::after { border-color: var(--linea); }
.pd-titulo-entrada .elementor-heading-title { max-width: 24em; }
.pd-articulo a { text-decoration: underline; }
.pd-articulo ol, .pd-articulo ul { padding-left: 1.4rem; }
.pd-articulo li { margin-bottom: .35rem; }/* End custom CSS */