/*
Theme Name: ROEX Theme
Description: Tema hijo de Avada con formato de miles para Contact Form 7.
Author: ROEX
Template: Avada
Version: 1.0.0
Text Domain: roex-avada-child
*/

/* Georgia supplied with the project: local font files. */
/*@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgia.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgiai.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgiab.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgiaz.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}*/

/* Scoped to the imported page; Lato is selected separately in Avada. */
body.roex-home{--roex-blue:#6182b7;--roex-silver:#a6a6a6;--roex-warm:#f7f4ee;}
body.roex-home #main{padding:0!important;background:var(--roex-warm);}
body.roex-home #main>.fusion-row{max-width:none!important;}
body.roex-home #content{width:100%!important;}
body.roex-home .post-content{position:relative;}
body.roex-home .roex-header{position:absolute!important;top:0;left:0;width:100%;z-index:5;padding:48px max(7vw,24px)!important;background:transparent!important;}
body.roex-home .roex-header .fusion-builder-row{align-items:center!important;}
body.roex-home .roex-header .fusion-layout-column{margin-bottom:0!important;}
body.roex-home .roex-brand{display:inline-flex;align-items:center;gap:15px;color:#fff;text-decoration:none;}
body.roex-home .roex-brand img{width:76px;height:auto;}
body.roex-home .roex-brand span{border-left:1px solid #fff9;padding-left:15px;font-size:17px;line-height:1.2;letter-spacing:1px;}
body.roex-home .roex-brand strong{display:block;font-size:29px;letter-spacing:0;}
body.roex-home .roex-header nav{display:flex;justify-content:flex-end;align-items:center;gap:40px;flex-wrap:wrap;}
body.roex-home .roex-header nav a{color:white;font-size:20px;text-decoration:none;}
body.roex-home .roex-header nav a:hover{text-decoration:underline;text-underline-offset:6px;}
body.roex-home .roex-hero{position:relative;min-height:900px;padding:320px 24px 260px!important;background-repeat:no-repeat;}
body.roex-home .roex-hero:before{content:"";position:absolute;inset:0;background:rgba(25,31,43,.38);pointer-events:none;}
body.roex-home .roex-hero>.fusion-builder-row{position:relative;z-index:1;width:100%;max-width:1320px!important;margin:auto!important;}
body.roex-home .roex-heading h1{font-size:clamp(42px,5.6vw,82px)!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-1.7px;color:#fff!important;margin:0!important;}
body.roex-home .roex-subtitle{text-align:center;font-size:clamp(23px,3vw,43px);line-height:1.35;color:#e0e1e8;margin:24px 0 48px;}
body.roex-home .roex-subtitle p{margin:0;}
body.roex-home .roex-cta{border-radius:999px!important;padding:23px 45px!important;font-size:22px!important;background:#537bb1!important;color:#fff!important;}
body.roex-home .roex-cta:hover{background:#41679c!important;}
body.roex-home .roex-features{position:relative;z-index:2;max-width:calc(100% - 64px);margin:-18px auto 0!important;background:#fff!important;border-radius:20px 20px 0 0;padding:36px 12px!important;box-shadow:0 -4px 24px #1823390a;}
body.roex-home .roex-features>.fusion-builder-row{max-width:1380px!important;margin:auto!important;}
body.roex-home .roex-feature{text-align:center;margin-bottom:0!important;}
body.roex-home .roex-feature+.roex-feature{border-left:1px solid #aabbd8;}
body.roex-home .roex-feature .fusion-text{color:#3d4e79;font-size:23px;line-height:1.2;margin-top:20px;}
body.roex-home .roex-feature p{margin:0;}
body.roex-home a:focus-visible{outline:3px solid #fff;outline-offset:6px;}
@media(max-width:1024px){body.roex-home .roex-header{padding:30px!important;}body.roex-home .roex-hero{min-height:760px;padding:270px 30px 190px!important;}body.roex-home .roex-header nav{gap:22px;}body.roex-home .roex-feature .fusion-text{font-size:19px;}}
@media(max-width:640px){body.roex-home .roex-header{padding:24px 20px!important;}body.roex-home .roex-brand-col,body.roex-home .roex-nav-col{width:100%!important;--awb-width-small:100%!important;}body.roex-home .roex-brand img{width:52px;}body.roex-home .roex-brand span{font-size:13px;}body.roex-home .roex-brand strong{font-size:23px;}body.roex-home .roex-header nav{justify-content:flex-start;gap:12px 22px;margin-top:20px;}body.roex-home .roex-header nav a{font-size:16px;}body.roex-home .roex-hero{min-height:730px;padding:255px 22px 140px!important;}body.roex-home .roex-heading h1{font-size:42px!important;letter-spacing:-.9px;}body.roex-home .roex-subtitle{font-size:24px;margin:25px 0 36px;}body.roex-home .roex-cta{font-size:18px!important;padding:20px 30px!important;}body.roex-home .roex-features{max-width:calc(100% - 28px);padding:25px 8px!important;}body.roex-home .roex-feature{width:50%!important;--awb-width-small:50%!important;padding:18px 6px!important;}body.roex-home .roex-feature:nth-child(3){border-left:0;}body.roex-home .roex-feature .fusion-text{font-size:17px;}}

/* ROEX text: Georgia. Keep Avada and Font Awesome icon families. */
body.roex-home .post-content,
body.roex-home .post-content :is(h1,h2,h3,h4,h5,h6,p,a,span,strong,b,em,i,small,li,dt,dd,blockquote,label,input,select,option,textarea,button,legend,th,td,figcaption):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fusion-icon):not(.dashicons):not([class*="fa-"]):not([class*="fusion-icon-"]):not([class*="awb-icon-"]) {
  font-family: "ROEX Georgia", Georgia, serif !important;
}
/* Georgia supplied with the project: local font files. */
/*@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgia.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}*/
/*@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgiai.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}*/
/*@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgiab.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}*/
/*@font-face {
  font-family: "ROEX Georgia";
  src: url("fonts/georgiaz.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}*/

/* ROEX interior pages. Text, images and buttons remain native Avada elements. */
body.rp-page{--rp-blue:#6182b7;--rp-ink:#121d36;--rp-gold:#b8892f;--rp-warm:#f7f4ee;}
body.rp-page #main{padding:0!important;background:#fff;}
body.rp-page #main>.fusion-row{max-width:none!important;}
body.rp-page #content{width:100%!important;}
body.rp-page .post-content{position:relative;color:var(--rp-ink);font-size:18px;line-height:1.6;}
body.rp-page .fusion-layout-column{margin-bottom:0;}
body.rp-page .rp-header{position:absolute!important;top:0;left:0;width:100%;z-index:4;padding:0px 6vw!important;background:transparent!important;}
body.rp-page .rp-header>.fusion-builder-row,body.rp-page .rp-footer>.fusion-builder-row{align-items:center!important;}
body.rp-page .rp-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--rp-ink);}
body.rp-page .rp-brand img{width:65px;height:auto;}
body.rp-page .rp-brand span{border-left:1px solid #a6a6a6;padding-left:13px;font-size:22px;line-height:1.05;}
body.rp-page nav{display:flex;gap:26px;justify-content:flex-end;flex-wrap:wrap;}
body.rp-page nav a{color:var(--rp-ink);font-size:16px;text-decoration:none;}
body.rp-page nav a:hover{text-decoration:underline;text-underline-offset:6px;}
body.rp-page .rp-hero{padding:185px 7vw 100px!important;min-height:740px;background-repeat:no-repeat;}
body.rp-page .rp-hero>.fusion-builder-row{max-width:1440px!important;margin:auto!important;align-items:center!important;}
body.rp-page .rp-title h1,body.rp-page .rp-title h2{font-weight:400!important;line-height:1.06!important;letter-spacing:-1.2px!important;color:var(--rp-ink)!important;margin:0 0 22px!important;}
body.rp-page .rp-title h1{font-size:clamp(44px,4.7vw,76px)!important;}
body.rp-page .rp-title h2{font-size:clamp(36px,4.1vw,64px)!important;}
body.rp-page .rp-title span{color:var(--rp-blue);}
body.rp-page .rp-title em{color:var(--rp-gold);font-style:normal;}
body.rp-page .rp-title h3{font-size:23px!important;line-height:1.2!important;color:var(--rp-ink)!important;}
body.rp-page .rp-button{border-radius:999px!important;background:var(--rp-blue)!important;color:#fff!important;padding:18px 33px!important;font-size:18px!important;}
body.rp-page .rp-button:hover{background:#466b9f!important;}
body.rp-page .rp-mortgage-hero{min-height:820px;}
body.rp-page .rp-hero-copy{padding-right:30px;}
body.rp-page .rp-about-hero{min-height:750px;background-position:center!important;}
body.rp-page .rp-about-hero h1{font-size:clamp(42px,4vw,66px)!important;}
body.rp-page .rp-intro{font-size:21px;max-width:520px;line-height:1.5;}
body.rp-page .rp-service{background:var(--rp-warm)!important;}
body.rp-page .rp-service>.fusion-builder-row{max-width:none!important;margin:0!important;align-items:stretch!important;}
body.rp-page .rp-service-image{padding:0!important;}
body.rp-page .rp-service-image>.fusion-column-wrapper{height:100%;}
body.rp-page .rp-service-image .rp-image,body.rp-page .rp-service-image .fusion-imageframe{display:block;width:100%;height:100%;}
body.rp-page .rp-service-image img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;}
body.rp-page .rp-service-copy{padding:58px 5vw!important;align-self:center;}
body.rp-page .rp-service-copy>.fusion-column-wrapper{padding:0!important;}
body.rp-page .rp-service-copy .rp-title:after{content:"";display:block;width:65px;height:2px;background:var(--rp-gold);margin:10px 0 22px;}
body.rp-page .rp-service-copy p:last-child{margin-bottom:0;}
body.rp-page .rp-service-inset{padding:28px 3vw!important;}
body.rp-page .rp-service-inset img{border-radius:8px;}
body.rp-page .rp-founder{background:#fff!important;padding-bottom:50px!important;}
body.rp-page .rp-founder .rp-title:after{display:none;}
body.rp-page .rp-founder h2{font-size:46px!important;}
body.rp-page .rp-founder .rp-service-image img{object-position:65% center;min-height:560px;}
body.rp-page .rp-founder-role{color:var(--rp-blue);font-size:26px;}
body.rp-page .rp-eyebrow{font-size:12px;letter-spacing:4px;font-weight:700;margin-bottom:14px;}
body.rp-page .rp-cta{padding:48px 7vw!important;background-size:cover;background-position:center 60%;}
body.rp-page .rp-cta h2{font-size:42px!important;}
body.rp-page .rp-aside{font-style:italic;border-left:3px solid var(--rp-blue);padding-left:20px;font-size:21px;line-height:1.2;}
body.rp-page .rp-footer{padding:30px 6vw 50px!important;background:#fff!important;}
body.rp-page .rp-footer nav a{font-size:14px;}
body.rp-page .rp-footer-bottom{display:flex;justify-content:space-between;gap:22px;border-top:1px solid #e2e5ea;margin-top:24px;padding-top:18px;font-size:12px;color:#647087;flex-wrap:wrap;}
body.rp-page .rp-footer-bottom nav a{font-size:12px;}
body.rp-page .rp-study-hero{padding:145px 5vw 45px!important;min-height:790px;}
body.rp-page .rp-study-hero>.fusion-builder-row{align-items:flex-start!important;}
body.rp-page .rp-study-copy{padding:25px 40px 30px 0!important;}
body.rp-page .rp-study-copy h1{font-size:clamp(36px,3.7vw,58px)!important;}
body.rp-page .rp-study-intro{font-size:24px;line-height:1.45;}
body.rp-page .rp-study-form{padding-left:35px!important;}
body.rp-page .rp-form-card{background:white;border-radius:18px;padding:32px;max-width:540px;margin-left:auto;box-shadow:0 8px 32px #18233a15;scroll-margin-top:35px;}
body.rp-page .rp-bank-section{padding:26px 5vw!important;text-align:center;background:white!important;font-size:24px;color:#626b80;}
body.rp-page .rp-bank-section strong{color:var(--rp-blue);}
body.rp-page .rp-banks{list-style:none;padding:0;display:flex;gap:24px;flex-wrap:wrap;justify-content:space-around;font-size:32px;font-weight:700;color:#555967;}
body.rp-page .rp-benefits{padding:40px 4vw 55px!important;background:#fff!important;}
body.rp-page .rp-benefits>.fusion-builder-row{align-items:stretch!important;}
body.rp-page .rp-benefit{padding:12px!important;}
body.rp-page .rp-benefit>.fusion-column-wrapper{background:#f5f8fc;border-radius:12px;padding:27px 20px!important;text-align:center;height:100%;}
body.rp-page .rp-benefit .rp-title h3{text-align:center!important;margin-top:22px;}
body.rp-page .rp-benefit p{font-size:16px;line-height:1.45;color:#626b80;}
body.rp-page .rp-benefit-intro{padding:15px 24px 15px 0!important;}
body.rp-page .rp-benefit-intro h2{font-size:42px!important;}
body.rp-page .rp-legal{padding:150px 7vw 60px!important;background:#fff!important;}
body.rp-page .rp-legal>.fusion-builder-row{max-width:1040px!important;margin:auto!important;}
body.rp-page .rp-legal h2{font-size:26px;line-height:1.25;margin-top:38px;}
body.rp-page .rp-table-scroll{overflow-x:auto;max-width:100%;}
body.rp-page .rp-legal table{border-collapse:collapse;width:100%;font-size:15px;}
body.rp-page .rp-legal th,body.rp-page .rp-legal td{border:1px solid #ddd;padding:12px;text-align:left;vertical-align:top;}
body.rp-page .rp-legal th{background:#f4f5f7;}
body.rp-page a:focus-visible,body.rp-page button:focus-visible{outline:3px solid #255b9d;outline-offset:4px;}
/* Multi-step CF7: all fields visible without JavaScript; progressively enhanced. */
.rp-form h2{font-weight:700;font-size:26px;line-height:1.2;margin:0 0 9px;color:#121d36;}
.rp-form .rp-form-note{font-size:16px;color:#6a7286;margin:0 0 22px;}
.rp-form .rp-progress{display:flex;list-style:none;padding:0;gap:18px;margin:22px 0 28px;}
.rp-form .rp-progress li{flex:1;color:#81879a;font-size:14px;line-height:1.3;}
.rp-form .rp-progress b{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#e6e8ee;color:#121d36;margin-bottom:10px;}
.rp-form .rp-progress [aria-current="step"]{color:#121d36;}
.rp-form .rp-progress [aria-current="step"] b{color:#fff;background:#6182b7;}
.rp-form fieldset{border:0;padding:0;margin:0;min-width:0;}
.rp-form legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.rp-form label{display:block;font-size:16px;font-weight:600;color:#121d36;margin-bottom:18px;}
.rp-form input:not([type=submit]):not([type=checkbox]),.rp-form select{width:100%;border:1px solid #d3d7e2!important;border-radius:7px!important;background:#f8f9fc!important;height:49px!important;padding:10px 13px!important;font-weight:400!important;font-size:16px!important;line-height:1.4!important;color:#121d36!important;margin-top:7px;box-sizing:border-box;}
.rp-form .rp-money{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rp-form button,.rp-form input[type=submit]{cursor:pointer;border:0;border-radius:10px;background:#6182b7;color:#fff;padding:16px 22px;font-weight:600;font-size:18px;line-height:1.25;}
.rp-form .rp-next,.rp-form input[type=submit]{width:100%;}
.rp-form .rp-prev{background:transparent;color:#456fa7;padding-left:0;}
.rp-form .rp-actions{display:flex;align-items:center;gap:14px;}
.rp-form .rp-actions p{flex:1;margin:0;}
.rp-form .rp-actions .wpcf7-spinner{margin:5px;}
.rp-form .rp-privacy{font-size:13px;font-weight:400;line-height:1.5;}
.rp-form .rp-privacy .wpcf7-list-item{margin:0;}
.rp-form .rp-privacy label{font-size:13px;font-weight:400;}
.rp-form .rp-next,.rp-form .rp-prev{display:none;}
.rp-form.rp-enhanced .rp-next,.rp-form.rp-enhanced .rp-prev{display:inline-block;}
.rp-form [hidden]{display:none!important;}
.rp-form .rp-error{color:#a32323;font-size:14px;}
.rp-form .rp-error:empty{display:none;}
.rp-form input[aria-invalid=true],.rp-form select[aria-invalid=true]{border-color:#a32323!important;}
@media(max-width:1024px){body.rp-page .rp-header{padding:24px 4vw!important;}body.rp-page nav{gap:16px;}body.rp-page .rp-hero{padding-left:5vw!important;padding-right:5vw!important;}body.rp-page .rp-service-copy{padding:35px 4vw!important;}body.rp-page .rp-study-form{padding-left:15px!important;}body.rp-page .rp-form-card{padding:24px;}body.rp-page .rp-banks{font-size:25px;}body.rp-page .rp-benefit,body.rp-page .rp-benefit-intro{width:50%!important;--awb-width-medium:50%!important;}}
@media(max-width:767px){body.rp-page .rp-header .fusion-layout-column{width:100%!important;--awb-width-small:100%!important;}body.rp-page .rp-header nav{justify-content:flex-start;margin-top:20px;gap:12px 20px;}body.rp-page .rp-brand img{width:48px;}body.rp-page .rp-brand span{font-size:18px;}body.rp-page .rp-header nav a{font-size:14px;}body.rp-page .rp-hero{padding:175px 6vw 65px!important;min-height:680px;background-position:58% center!important;}body.rp-page .rp-hero .fusion-layout-column,body.rp-page .rp-service .fusion-layout-column{width:100%!important;--awb-width-small:100%!important;}body.rp-page .rp-hero-copy{padding:0!important;max-width:560px;border-radius:8px;}body.rp-page .rp-title h1{font-size:46px!important;}body.rp-page .rp-title h2{font-size:42px!important;}body.rp-page .rp-service-image img{height:310px;min-height:0;}body.rp-page .rp-service-copy{padding:36px 7vw!important;}body.rp-page .rp-service-image{order:0!important;--awb-order-small:0!important;}body.rp-page .rp-service-copy{order:1!important;--awb-order-small:1!important;}body.rp-page .rp-founder .rp-service-image img{height:400px;min-height:0;}body.rp-page .rp-cta{padding:35px 7vw!important;}body.rp-page .rp-cta .fusion-layout-column{width:100%!important;}body.rp-page .rp-aside{margin-top:22px;}body.rp-page .rp-footer nav{justify-content:flex-start;margin-top:20px;}body.rp-page .rp-footer .fusion-layout-column{width:100%!important;}body.rp-page .rp-study-copy{padding:15px!important;border-radius:8px;margin-bottom:24px;}body.rp-page .rp-study-copy h1{font-size:38px!important;}body.rp-page .rp-study-form{padding:0!important;}body.rp-page .rp-form-card{max-width:none;}body.rp-page .rp-study-intro{font-size:20px;}body.rp-page .rp-benefit-intro,body.rp-page .rp-benefit{width:100%!important;--awb-width-small:100%!important;}body.rp-page .rp-legal{padding-top:180px!important;}.rp-form .rp-money{grid-template-columns:1fr;gap:0;}.rp-form .rp-actions{flex-wrap:wrap;}.rp-form .rp-actions p{flex-basis:100%;}}

/* ROEX text: Georgia. Keep Avada and Font Awesome icon families. */
body.rp-page .post-content,
body.rp-page .post-content :is(h1,h2,h3,h4,h5,h6,p,a,span,strong,b,em,i,small,li,dt,dd,blockquote,label,input,select,option,textarea,button,legend,th,td,figcaption):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fusion-icon):not(.dashicons):not([class*="fa-"]):not([class*="fusion-icon-"]):not([class*="awb-icon-"]) {
  font-family: "ROEX Georgia", Georgia, serif !important;
}
/* Fondo oscuro en toda la franja del menú */
body.rp-page .rp-header,
body.roex-home .roex-header {
  background: rgba(18, 29, 54, 0.82) !important;
}

/* Enlaces del menú en mayúsculas y blanco */
body .rp-header nav a,
body .roex-header nav a {
  color: #fff !important;
  text-transform: uppercase;
}

/* Texto del logo en blanco */
body .rp-header .rp-brand,
body .rp-header .rp-brand span,
body .roex-header .roex-brand,
body .roex-header .roex-brand span,
body .roex-header .roex-brand strong {
  color: #fff !important;
}

/* Separador del logo en blanco */
body .rp-header .rp-brand span,
body .roex-header .roex-brand span {
  border-left-color: rgba(255, 255, 255, 0.65);
}

/* Imagen del logo en blanco: requiere fondo transparente */
body .rp-header .rp-brand img,
body .roex-header .roex-brand img {
  filter: brightness(0) invert(1);
}

/* Foco visible al navegar con el teclado */
body .rp-header a:focus-visible,
body .roex-header a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 5px;
}

/* Oscurecer toda la franja: logo y menú */
body .fusion-fullwidth.rp-header,
body .fusion-fullwidth.roex-header {
  background: rgba(18, 29, 54, 0.82) !important;
  background-image: none !important;
}

/* Mantener los enlaces blancos en todos sus estados */
body .fusion-fullwidth.rp-header nav a,
body .fusion-fullwidth.roex-header nav a {
  color: #fff !important;
  text-transform: uppercase;
}

/* Extender la cabecera hasta ambos bordes */
body .fusion-fullwidth.rp-header,
body .fusion-fullwidth.roex-header {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
  background: rgba(18, 29, 54, 0.82) !important;
}

/* HOME: posición, ancho y fondo de la cabecera */
body.roex-home .fusion-fullwidth.rp-header {
  position: absolute !important;
  top: 0;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 26px 6vw !important;
  box-sizing: border-box;
  z-index: 5;
  background: rgba(18, 29, 54, 0.82) !important;
}

/* Alinear las dos columnas */
body.roex-home .rp-header > .fusion-builder-row {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  align-items: center !important;
}

body.roex-home .rp-header .fusion-layout-column {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.roex-home .rp-header .fusion-column-wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.roex-home .rp-header .fusion-text,
body.roex-home .rp-header .fusion-text p {
  margin: 0 !important;
}

/* Logo y nombre alineados */
body.roex-home .rp-header .rp-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: #fff !important;
  text-decoration: none;
}

body.roex-home .rp-header .rp-brand img {
  display: block;
  flex-shrink: 0;
  width: 65px;
  height: auto;
  filter: brightness(0) invert(1);
}

body.roex-home .rp-header .rp-brand span {
  padding-left: 13px;
  border-left: 1px solid rgba(255, 255, 255, 0.65);
  color: #fff !important;
  font-size: 22px;
  line-height: 1.05;
}

/* Separación y alineación del menú */
body.roex-home .rp-header nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 16px 26px;
}

body.roex-home .rp-header nav a {
  color: #fff !important;
  font-size: 16px;
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
}

body.roex-home .rp-header nav a:hover {
  text-decoration: underline;
  text-underline-offset: 6px;
}

/* Móvil */
@media (max-width: 767px) {
  body.roex-home .fusion-fullwidth.rp-header {
    padding: 20px !important;
  }

  body.roex-home .rp-header .fusion-layout-column {
    width: 100% !important;
    --awb-width-small: 100% !important;
    --awb-spacing-left-small: 0px !important;
    --awb-spacing-right-small: 0px !important;
  }

  body.roex-home .rp-header nav {
    justify-content: flex-start;
    margin-top: 20px;
    gap: 12px 20px;
  }

  body.roex-home .rp-header nav a {
    font-size: 14px;
  }

  body.roex-home .rp-header .rp-brand img {
    width: 48px;
  }

  body.roex-home .rp-header .rp-brand span {
    font-size: 18px;
  }
}

/* Página ROEX: contenedores a ancho completo */
body.page-id-30 #main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-id-30 #main > .fusion-row,
body.page-id-30 #content,
body.page-id-30 .post-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-id-30 .post-content > .fusion-fullwidth {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

/* La imagen debe cubrir todo el primer bloque */
body.page-id-30 .rp-about-hero {
  --awb-background-size: cover;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Quitar la franja blanca bajo la sección de la fundadora */
body.page-id-30 .fusion-fullwidth.rp-founder {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}


@media (max-width: 1024px) {
  /* Avada compensa 30px de padding con márgenes de -30px.
     ROEX elimina ese padding: hay que eliminar también la compensación. */
  body:is(.rp-page, .roex-home) #wrapper #main {
    --hundredp_padding-hundred_percent_negative_margin: 0px;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body:is(.rp-page, .roex-home) #wrapper #main > .fusion-row,
  body:is(.rp-page, .roex-home) #wrapper #content,
  body:is(.rp-page, .roex-home) #wrapper .post-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }
  body:is(.rp-page, .roex-home) #wrapper #main .post-content > .fusion-fullwidth:not(.roex-features) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }
  /* flex-basis controla el ancho real incluso si Avada escribe
     width:104% !important en el atributo style de la fila. */
  body:is(.rp-page, .roex-home) #wrapper #main .post-content > .fusion-fullwidth > .fusion-builder-row {
    flex: 0 1 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }
  body:is(.rp-page, .roex-home) #wrapper #main .post-content > .fusion-fullwidth > .fusion-builder-row > .fusion-layout-column > .fusion-column-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 0;
    box-sizing: border-box;
  }

  /* Evitar que el contenido imponga un ancho mínimo a las columnas. */
  body:is(.rp-page, .roex-home) #main .fusion-layout-column,
  body:is(.rp-page, .roex-home) #main .fusion-column-wrapper,
  body:is(.rp-page, .roex-home) #main .fusion-text {
    min-width: 0;
    box-sizing: border-box;
  }

  /* Cabecera común: quitar espacios añadidos por los párrafos y Avada. */
  body:is(.rp-page, .roex-home) #main .rp-header {
    padding: 18px 24px !important;
  }
  body:is(.rp-page, .roex-home) #main .rp-header .fusion-layout-column {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body:is(.rp-page, .roex-home) #main .rp-header .fusion-column-wrapper {
    margin: 0 !important;
    padding: 0 !important;
  }
  body:is(.rp-page, .roex-home) #main .rp-header .fusion-text,
  body:is(.rp-page, .roex-home) #main .rp-header p {
    margin: 0 !important;
  }
  body:is(.rp-page, .roex-home) #main .rp-brand > br {
    display: none;
  }
  body:is(.rp-page, .roex-home) #main .rp-header .rp-brand img {
    width: 54px;
    height: auto;
    flex-shrink: 0;
  }
  body:is(.rp-page, .roex-home) #main .rp-header .rp-brand span {
    font-size: 18px;
  }
  body:is(.rp-page, .roex-home) #main .rp-header nav {
    align-items: center;
    gap: 8px 16px;
  }
  body:is(.rp-page, .roex-home) #main .rp-header nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 14px;
    line-height: 1.35;
  }

  /* Titulares, botones y bloques de contenido. */
  body.rp-page #main .rp-title h1 {
    font-size: clamp(36px, 5vw, 50px) !important;
    line-height: 1.12 !important;
  }
  body.rp-page #main .rp-title h2 {
    font-size: clamp(30px, 4vw, 42px) !important;
    line-height: 1.15 !important;
  }
  body:is(.rp-page, .roex-home) #main :is(.rp-title, .roex-heading) {
    overflow-wrap: anywhere;
  }
  body:is(.rp-page, .roex-home) #main :is(.rp-button, .roex-cta) {
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
  }

  /* Estudio y contacto: formulario debajo del contenido en tablet. */
  body.rp-page #main .rp-study-hero {
    min-height: 0;
    padding: 150px 5vw 48px !important;
  }
  body.rp-page #main .rp-study-hero > .fusion-row > .fusion-layout-column {
    width: 100% !important;
    --awb-width-medium: 100% !important;
    --awb-width-small: 100% !important;
    margin-bottom: 24px !important;
  }
  body.rp-page #main .rp-study-copy,
  body.rp-page #main .rp-study-form {
    padding: 0 !important;
  }
  body.rp-page #main .rp-study-hero > .fusion-row > .fusion-layout-column > .fusion-column-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.rp-page #main .rp-form-card {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    padding: 28px;
    box-sizing: border-box;
  }
  body.rp-page #main .rp-form h2 {
    font-size: clamp(24px, 3.5vw, 30px) !important;
    line-height: 1.2 !important;
  }
  body.rp-page #main .rp-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea) {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px !important;
  }
  body.rp-page #main .rp-form textarea {
    min-height: 150px;
    resize: vertical;
  }
  /* CF7 agrupa actualmente ambos importes dentro del mismo párrafo. */
  body.rp-page #main .rp-form .rp-money {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  body.rp-page #main .rp-form .rp-money > p,
  body.rp-page #main .rp-form .rp-progress p {
    margin: 0;
  }
  body.rp-page #main .rp-form .rp-money > p > br,
  body.rp-page #main .rp-form .rp-money label > br:last-child {
    display: none;
  }
  body.rp-page #main .rp-form :is(.rp-progress li, .rp-actions p) {
    min-width: 0;
  }

  /* Las dos tarjetas de contacto comparten fila en tablet. */
  body.page-id-123 #main .rp-study-hero > .fusion-row > .roex-feature {
    width: 50% !important;
    padding: 0 10px !important;
  }
  body.page-id-123 #main .roex-feature .fusion-column-wrapper {
    max-height: none !important;
  }
  body.page-id-123 #main a[href^="mailto:"] {
    overflow-wrap: anywhere;
  }

  /* Logos de bancos: tres por fila en tablet. */
  body.rp-page #main .rp-bank-section .fusion_builder_column_1_6 {
    width: 33.333333% !important;
    padding: 12px !important;
  }
  body.rp-page #main .rp-bank-section .fusion_builder_column_1_6 img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 54px;
    object-fit: contain;
  }

  /* Textos largos y tablas legales. */
  body.rp-page #main .rp-legal {
    overflow-wrap: anywhere;
  }
  body.rp-page #main .rp-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
  }
  body.rp-page #main .rp-table-scroll table {
    min-width: 600px;
  }
}

@media (max-width: 767px) {
  /* Separación lateral consistente en todos los bloques de texto. */
  body.rp-page #wrapper #main :is(.rp-hero, .rp-bank-section, .rp-benefits, .rp-cta, .rp-footer, .rp-legal) {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  body.rp-page #wrapper #main .rp-benefits {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  body.rp-page #wrapper #main .rp-benefit-intro {
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 28px !important;
  }
  body.rp-page #wrapper #main .rp-benefit {
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }
  body.rp-page #wrapper #main .rp-benefit > .fusion-column-wrapper {
    padding: 26px 22px !important;
  }
  body.rp-page #wrapper #main .rp-benefit:last-child {
    margin-bottom: 0 !important;
  }
  body.rp-page #wrapper #main .rp-cta {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  body.rp-page #wrapper #main .rp-footer {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  body.rp-page #wrapper #main .rp-service-copy {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  body.rp-page #wrapper #main .rp-title {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.rp-page #wrapper #main .rp-footer .fusion-layout-column {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Menú visible, dos enlaces por fila. */
  body:is(.rp-page, .roex-home) #main .rp-header {
    padding: 16px 20px !important;
  }
  body:is(.rp-page, .roex-home) #main .rp-header .fusion-layout-column {
    width: 100% !important;
    --awb-width-medium: 100% !important;
    --awb-width-small: 100% !important;
  }
  body:is(.rp-page, .roex-home) #main .rp-header .rp-brand img {
    width: 46px;
  }
  body:is(.rp-page, .roex-home) #main .rp-header nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 12px;
    margin-top: 10px;
  }
  body:is(.rp-page, .roex-home) #main .rp-header nav a {
    font-size: 13px;
  }

  /* Portada: reducir altura y conservar la fotografía de fondo. */
  body.roex-home #main .roex-hero {
    min-height: 0;
    padding: 235px 20px 80px !important;
    background-position: center center !important;
  }
  body.roex-home #main .roex-heading h1 {
    font-size: clamp(32px, 8.5vw, 42px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.6px !important;
  }
  body.roex-home #main .roex-subtitle {
    font-size: clamp(20px, 5vw, 24px);
    line-height: 1.4;
    margin: 22px 0 30px;
  }
  body.roex-home #main .roex-cta,
  body.rp-page #main .rp-button {
    padding: 16px 24px !important;
    font-size: 17px !important;
  }
  body.roex-home #main .roex-features {
    max-width: calc(100% - 24px);
    padding: 20px 8px !important;
  }
  body.roex-home #main .roex-feature {
    width: 50% !important;
    padding: 18px 8px !important;
  }
  body.roex-home #main .roex-feature .fusion-column-wrapper {
    margin: 0 !important;
  }
  body.roex-home #main .roex-feature:nth-child(odd) {
    border-left: 0;
  }
  body.roex-home #main .roex-feature .fusion-text {
    font-size: clamp(15px, 3.8vw, 18px);
    line-height: 1.35;
  }
  body.roex-home #main .roex-feature .fontawesome-icon {
    font-size: 36px !important;
  }

  /* Espacio suficiente bajo la cabecera en las páginas interiores. */
  body.rp-page #main .rp-hero {
    min-height: 0;
    padding: 225px 20px 48px !important;
  }
  body.rp-page #main .rp-title h1 {
    font-size: clamp(32px, 8.5vw, 42px) !important;
    letter-spacing: -0.5px !important;
  }
  body.rp-page #main .rp-title h2 {
    font-size: clamp(28px, 7vw, 36px) !important;
    letter-spacing: -0.4px !important;
  }
  body.rp-page #main :is(.rp-hero, .rp-service, .rp-cta, .rp-footer, .rp-legal) .fusion-column-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.rp-page #main .rp-about-hero .rp-hero-copy > .fusion-column-wrapper {
    padding: 22px !important;
  }
  body.rp-page #main :is(.rp-intro, .rp-study-intro, .rp-aside) {
    font-size: 18px;
    line-height: 1.5;
  }

  /* Servicios: una columna, sin alturas heredadas en las imágenes. */
  body.rp-page #main .rp-service .fusion-layout-column {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body.rp-page #main .rp-service-copy {
    padding: 30px 22px !important;
    font-size: 17px;
    line-height: 1.6;
  }
  body.rp-page #main .rp-service-image > .fusion-column-wrapper,
  body.rp-page #main .rp-service-image .rp-image,
  body.rp-page #main .rp-service-image .fusion-imageframe {
    height: auto;
  }
  body.rp-page #main .rp-service-image img {
    width: 100%;
    height: clamp(220px, 65vw, 360px);
    min-height: 0;
    object-fit: cover;
  }
  body.rp-page #main .rp-founder .rp-service-image img {
    height: auto;
    min-height: 0;
  }
  body.rp-page #main .rp-founder-role {
    font-size: 21px;
  }
  body.rp-page #main .rp-service-inset {
    padding: 16px !important;
  }

  /* Formulario, tarjetas y bancos en móvil. */
  body.rp-page #main .rp-form-card {
    padding: 22px 18px;
  }
  body.rp-page #main .rp-form .rp-progress {
    gap: 12px;
    margin: 20px 0;
  }
  body.rp-page #main .rp-form input[type="submit"] {
    white-space: normal;
    height: auto;
    min-height: 48px;
  }
  body.page-id-123 #main .rp-study-hero > .fusion-row > .roex-feature {
    width: 100% !important;
    padding: 0 !important;
  }
  body.rp-page #main .rp-bank-section .fusion_builder_column_1_6 {
    width: 50% !important;
  }
  body.rp-page #main .rp-bank-section {
    font-size: 19px;
  }
  body.rp-page #main .rp-benefits {
    padding: 28px 16px !important;
  }
  body.rp-page #main :is(.rp-benefit, .rp-benefit-intro) > .fusion-column-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Pie y páginas legales. */
  body.rp-page #main .rp-footer {
    padding: 28px 22px !important;
  }
  body.rp-page #main .rp-footer nav {
    justify-content: flex-start;
    gap: 8px 16px;
  }
  body.rp-page #main .rp-footer nav a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    overflow-wrap: anywhere;
  }
  body.rp-page #main .rp-footer-bottom {
    flex-direction: column;
    gap: 12px;
  }
  body.rp-page #main .rp-footer-bottom nav {
    margin-top: 0;
  }
  body.rp-page #main .rp-legal {
    padding: 225px 22px 40px !important;
    font-size: 16px;
    line-height: 1.65;
  }
  body.rp-page #main .rp-legal .fusion-text h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
}


/* ROEX: menú móvil — colocar AL FINAL del CSS actual. */
body .roex-m-toggle { display: none !important; }

#roex-mobile-dialog {
  --roex-menu-ready: 1;
  box-sizing: border-box;
  position: fixed;
  inset: 0 0 0 auto;
  width: min(420px, calc(100% - 24px));
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0 0 0 auto;
  padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) 24px;
  border: 0;
  border-radius: 24px 0 0 24px;
  color: #fff;
  background: #121d36;
  box-shadow: -20px 0 70px #0004;
  font-family: inherit;
  overflow-y: auto;
  overscroll-behavior: contain;
}
#roex-mobile-dialog:not([open]) { display: none !important; }
#roex-mobile-dialog[open] { display: block; animation: roex-menu-in .25s ease-out; }
#roex-mobile-dialog::backdrop { background: #080f20a6; backdrop-filter: blur(5px); }
#roex-mobile-dialog * { box-sizing: border-box; }
#roex-mobile-dialog .roex-m-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#roex-mobile-title { font-size: 15px; line-height: 1.4; letter-spacing: .12em; }
#roex-mobile-dialog .roex-m-close {
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #ffffff40;
  border-radius: 50%;
  background: #ffffff0d;
  color: #fff;
  font: 32px/1 Arial, sans-serif;
  cursor: pointer;
}
#roex-mobile-dialog .roex-m-caption { margin: 24px 0 32px; color: #d1d9e7; font-size: 16px; line-height: 1.6; }
#roex-mobile-dialog nav { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin: 0; padding: 0; }
#roex-mobile-dialog nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  margin: 0;
  padding: 16px 12px;
  border: 0;
  border-bottom: 1px solid #ffffff26;
  border-radius: 0;
  background: transparent;
  color: #fff !important;
  font-family: inherit;
  font-size: clamp(21px, 5vw, 27px);
  font-weight: 400;
  line-height: 1.3;
  text-decoration: none;
  text-transform: none;
  overflow-wrap: anywhere;
  transition: background .2s;
}
/*#roex-mobile-dialog nav a::after { content: '↗'; flex-shrink: 0; font: 20px/1 Arial, sans-serif; opacity: .7; }*/
#roex-mobile-dialog nav a:hover,
#roex-mobile-dialog nav a[aria-current="page"] { background: #ffffff14; }
#roex-mobile-dialog nav a.roex-m-cta { margin-bottom: 16px; padding: 18px; border: 1px solid #92b3df; border-radius: 14px; background: #5478a9; font-size: 21px; }
#roex-mobile-dialog nav a.roex-m-cta:hover { background: #426493; }
#roex-mobile-dialog :focus-visible,
body .roex-m-toggle:focus-visible { outline: 3px solid #b7d5ff !important; outline-offset: 4px; }
html.roex-m-locked, html.roex-m-locked body { overflow: hidden !important; }

@media (max-width: 1024px) {
  html body #wrapper #main .rp-header.roex-m-ready {
    padding: 16px max(20px, env(safe-area-inset-right)) 16px max(20px, env(safe-area-inset-left)) !important;
  }
  html body #wrapper #main .rp-header.roex-m-ready > .fusion-builder-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px;
    align-items: center !important;
    gap: 16px;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  html body #wrapper #main .rp-header.roex-m-ready .fusion-layout-column {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #wrapper #main .rp-header.roex-m-ready .roex-m-nav-column { display: none !important; }
  html body #wrapper #main .rp-header.roex-m-ready .fusion-column-wrapper,
  html body #wrapper #main .rp-header.roex-m-ready .fusion-text,
  html body #wrapper #main .rp-header.roex-m-ready p { margin: 0 !important; padding: 0 !important; }
  html body #wrapper #main .rp-header.roex-m-ready .rp-brand {
    max-width: 100%; gap: 10px; font-size: 16px; line-height: 1.25;
  }
  html body #wrapper #main .rp-header.roex-m-ready .rp-brand > br { display: none; }
  html body #wrapper #main .rp-header.roex-m-ready .rp-brand img { width: 46px !important; height: auto !important; flex-shrink: 0; }
  html body #wrapper #main .rp-header.roex-m-ready .rp-brand span { font-size: 16px !important; }
  body .rp-header.roex-m-ready .roex-m-toggle {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 1px solid #ffffff59;
    border-radius: 14px;
    background: #ffffff0d;
    color: #fff;
    cursor: pointer;
    appearance: none;
  }
  body .roex-m-toggle span { display: block; width: 21px; height: 2px; border-radius: 2px; background: currentColor; }
  body .roex-m-toggle:hover { background: #ffffff26; }
}
@keyframes roex-menu-in { from { transform: translateX(100%); opacity: .6; } to { transform: translateX(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  #roex-mobile-dialog[open] { animation: none; }
  #roex-mobile-dialog nav a { transition: none; }
}