/* JMV 2.1 — local geometry; colors and copy also remain editable in Divi modules. */
body.jmv-site{margin:0;color:#516775;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:is(.jmv-section,.jmv-mobile-nav),:is(.jmv-section,.jmv-mobile-nav) *{box-sizing:border-box}
:is(.jmv-section){font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.6}
:is(.jmv-section) :is(h1,h2,h3,h4,p){padding-bottom:0;margin-top:0;overflow-wrap:break-word}
:is(.jmv-section) :is(h1,h2,h3,h4){color:#06354B;line-height:1.16}
:is(.jmv-section) :is(p){margin-bottom:0}
:is(.jmv-section) :is(a,button,input,textarea,select):focus-visible{outline:3px solid #007D90;outline-offset:4px}

:is(.jmv-section) img{max-width:100%;height:auto}
:is(.jmv-section) .jmv-row.et_pb_row{width:100%;max-width:1160px;margin-inline:auto;padding:0}
:is(.jmv-section) .jmv-column{min-width:0;margin:0}
:is(.jmv-copy,.jmv-heading,.jmv-image,.jmv-button){margin-bottom:0}
:is(.jmv-heading) :is(h1,h2){letter-spacing:-.045em;font-weight:800}
:is(.jmv-copy){line-height:1.6}
:is(.jmv-eyebrow){color:#007D90;font-size:13px;font-weight:700;letter-spacing:.13em;line-height:1.5;text-transform:uppercase;margin-bottom:14px}
:is(.jmv-button) .et_pb_button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 22px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;border:1px solid #06354B;border-radius:9px;transition:box-shadow .15s,transform .15s;text-align:center;text-decoration:none;max-width:100%;white-space:normal}
@media (hover:hover) and (pointer:fine){
 :is(.jmv-button):not([class*="jmv-footer-link-"]):not(.jmv-footer-contact-message) .et_pb_button:hover{box-shadow:0 5px 16px #06354B18;transform:translateY(-1px)}
}
:is(.jmv-button) .et_pb_button:after{display:none}
:is(.jmv-home-hero-primary,.jmv-home-hero-secondary,.jmv-service-button,.jmv-home-contact-button) .et_pb_button:after{content:"→";display:inline;position:static;opacity:1;margin:0;font-family:inherit;font-size:21px;font-weight:400;line-height:1}

/* White header, transparent original PNG. */
:is(.jmv-global-header-section){border-bottom:1px solid #DCEBF0;position:relative;z-index:100;background:#fff}
:is(.jmv-global-header-row).et_pb_row{align-items:center;gap:24px;display:flex}
:is(.jmv-header-logo-column){flex:0 0 260px;align-items:flex-start}
:is(.jmv-header-menu-column){flex:1 1 auto;justify-content:center}
:is(.jmv-header-button-column){flex:0 0 auto;align-items:flex-end;justify-content:center}
:is(.jmv-brand-logo){max-width:100%;overflow:hidden}
:is(.jmv-header-logo){width:240px}
:is(.jmv-brand-logo) .et_pb_image_wrap{display:block}
:is(.jmv-brand-logo) img{display:block;width:100%;height:auto;object-fit:contain}
/* Trim ONLY the empty transparent margins of our bundled original at display time.
   Replacement uploads retain their own natural aspect ratio; no pixels are edited. */
:is(.jmv-brand-logo) img[src*="/assets/images/jmv-logo.png"]{margin-block:-9.8%}
:is(.jmv-header-logo){background:transparent;border:0;padding:0}
:is(.jmv-global-menu){width:100%;margin:0;background:transparent}
:is(.jmv-global-menu) .et_pb_menu__wrap{justify-content:flex-end}
:is(.jmv-global-menu) .et-menu{gap:14px;align-items:center;justify-content:flex-end}
:is(.jmv-global-menu) .et-menu li{padding:0 8px;list-style:none}
:is(.jmv-global-menu) .et-menu a{color:#516775;font-weight:600;font-size:15px;text-decoration:none;min-height:44px;display:flex;align-items:center}
:is(.jmv-global-menu) .et-menu .current-menu-item>a{color:#06354B;text-decoration:underline;text-decoration-color:#00B8C9;text-underline-offset:10px;text-decoration-thickness:2px}
:is(.jmv-header-portal-button) .et_pb_button{background:#fff;color:#06354B;white-space:nowrap}
:is(.jmv-global-menu) .et_mobile_menu{border-top:2px solid #00B8C9;background:#fff;border-radius:12px;padding:10px;box-shadow:0 12px 24px #06354B15}
:is(.jmv-global-menu) .et_mobile_menu a{color:#06354B;display:block;min-height:48px;padding:12px 16px;text-decoration:none}
:is(.jmv-global-menu) .mobile_menu_bar{color:#06354B;min-width:44px;min-height:44px;cursor:pointer}
:is(.jmv-global-menu) .mobile_menu_bar:before{color:#06354B}

/* Hero and section introductions. */
:is(.jmv-home-hero-section){position:relative;overflow:hidden;background:#F1F8FA}
:is(.jmv-home-hero-section):before,:is(.jmv-home-hero-section):after{content:"";position:absolute;width:310px;height:310px;border:15px solid #06354B08;border-radius:62px;right:4%;top:38px;pointer-events:none}
:is(.jmv-home-hero-section):after{border-color:#00B8C919;right:-90px;top:130px}
:is(.jmv-home-hero-row){position:relative;z-index:1}
:is(.jmv-home-hero-column){display:block;max-width:880px}
:is(.jmv-home-hero-title){max-width:850px;margin-bottom:22px}
:is(.jmv-home-hero-copy){max-width:800px;margin-bottom:28px}
:is(.jmv-home-hero-primary,.jmv-home-hero-secondary){display:inline-block;margin:0 14px 0 0;vertical-align:top}
:is(.jmv-home-hero-primary) .et_pb_button{background:#06354B;color:#fff}
:is(.jmv-home-hero-secondary) .et_pb_button{background:#fff;color:#06354B}
:is(.jmv-home-services-head,.jmv-home-process-head){text-align:center;margin-bottom:34px!important}
:is(.jmv-home-services-title,.jmv-home-process-title,.jmv-home-faq-title){margin-bottom:12px}
:is(.jmv-home-services-subtitle){margin-top:4px}
:is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two).et_pb_row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
:is(.jmv-services-grid-two).et_pb_row{margin-top:22px}
:is(.jmv-service-card){display:grid!important;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;column-gap:18px;row-gap:10px;width:auto!important;max-width:100%;background:#fff;border:1px solid #DCEBF0;border-radius:16px;box-shadow:0 8px 24px #06354B06;position:relative}
:is(.jmv-service-icon){grid-column:1;grid-row:1 / 3;width:56px;height:56px;align-self:start;margin:0}
:is(.jmv-service-icon) img{width:56px;height:56px}
:is(.jmv-service-number){grid-column:2;grid-row:1;color:#007D90;font-size:12px;line-height:1.3;font-weight:700}
:is(.jmv-service-title){grid-column:2;grid-row:2}
:is(.jmv-service-title) h3{font-size:21px;letter-spacing:-.035em}
:is(.jmv-service-copy){grid-column:1/-1;grid-row:3;font-size:16px;margin:4px 0}
:is(.jmv-service-price){grid-column:1/-1;grid-row:4;margin-top:2px}
:is(.jmv-service-price) h4{font-size:28px;letter-spacing:-.045em}
/* Divi 5 puts the custom class on the anchor; the wrapper is the grid item.
   Structural placement only: native Button controls own width and spacing. */
:where(.jmv-service-card) > .et_pb_button_module_wrapper{grid-column:1/-1;grid-row:5;min-width:0}
:where(.jmv-service-card) .et_pb_button.jmv-service-button{box-sizing:border-box}

/* Four steps remain independently editable. */
:is(.jmv-home-process-section){background:#F1F8FA}
:is(.jmv-home-process-grid).et_pb_row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
:is(.jmv-step-card){position:relative;width:auto!important;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;background:#fff;border:1px solid #DCEBF0;border-radius:14px}
:is(.jmv-step-card):not(:last-child):after{content:"";height:1px;width:24px;position:absolute;background:#71C8D6;right:-24px;top:47px}
:is(.jmv-step-number){display:grid;place-items:center;background:#06354B;border-radius:9px;width:44px;height:44px;flex-shrink:0;color:#fff;font-weight:700;font-size:22px;line-height:1}
:is(.jmv-step-number) p{color:#fff;line-height:1}
:is(.jmv-step-title){margin:0}
:is(.jmv-step-copy){font-size:15px}

/* Native toggles and contact. */
:is(.jmv-home-faq-row).et_pb_row{max-width:960px}
:is(.jmv-home-faq-eyebrow,.jmv-home-faq-title){text-align:center}
:is(.jmv-home-faq-title){margin-bottom:28px}
:is(.jmv-faq){background:#fff;border:1px solid #DCEBF0;border-radius:10px;padding:18px 22px;margin:0 0 12px}
:is(.jmv-faq) .et_pb_toggle_title{font-size:17px;color:#06354B;line-height:1.5;padding-right:30px;cursor:pointer}
:is(.jmv-faq) .et_pb_toggle_title:before{color:#007D90;font-size:22px}
:is(.jmv-faq) .et_pb_toggle_content{color:#516775;padding-top:16px;font-size:16px}
:is(.jmv-home-contact-section){background:#06354B;text-align:center}
:is(.jmv-home-contact-column){align-items:center}
:is(.jmv-home-contact-eyebrow){color:#7CE5EF}
:is(.jmv-home-contact-title){margin-bottom:16px}
:is(.jmv-home-contact-title) h2{color:#fff}
:is(.jmv-home-contact-copy){max-width:820px;margin:0 auto 24px;color:#D8EAF0}
:is(.jmv-home-contact-button) .et_pb_button{background:#00B8C9;border-color:#00B8C9;color:#052A3A;min-width:180px}

/* Other original pages keep the same identity. */
:is(.jmv-services-hero-column,.jmv-contact-hero-column,.jmv-legal-hero-column,.jmv-services-guarantee-column){max-width:850px}
:is(.jmv-services-hero-title,.jmv-contact-hero-title,.jmv-legal-title,.jmv-login-title,.jmv-portal-shell-title){margin-bottom:20px}
:is(.jmv-services-hero-section,.jmv-contact-hero-section,.jmv-legal-hero-section,.jmv-login-section,.jmv-portal-shell-section){background:#F1F8FA}
:is(.jmv-services-guarantee-section){background:#052A3A}
:is(.jmv-services-guarantee-title) h2{color:#fff;margin-bottom:20px}
:is(.jmv-services-guarantee-copy){color:#D8EAF0}
:is(.jmv-contact-form-row).et_pb_row{max-width:760px}
:is(.jmv-contact-form-column,.jmv-login-module){background:#fff;border:1px solid #DCEBF0;border-radius:18px;padding:32px;box-shadow:0 12px 32px #06354B08}
:is(.jmv-contact-form,.jmv-login-module) :is(input,textarea,select){font-family:inherit;font-size:16px;line-height:1.5;width:100%;max-width:100%;min-height:50px;border:1px solid #B5CDD6;border-radius:9px;background:#F6FAFB;color:#06354B;padding:12px 14px}
:is(.jmv-contact-form) textarea{min-height:150px}
:is(.jmv-contact-form) .et_pb_contact_field{max-width:100%}
:is(.jmv-contact-form) .et_pb_contact_captcha{width:64px}
:is(.jmv-contact-form) .et_pb_contact_submit,:is(.jmv-login-module) .et_pb_newsletter_button{min-height:48px;background:#06354B;border:1px solid #06354B;color:#fff;border-radius:9px;font-size:16px;padding:12px 22px}
:is(.jmv-legal-content-row).et_pb_row{max-width:840px}
:is(.jmv-legal-content-column) .jmv-heading{margin:28px 0 14px}
:is(.jmv-login-row).et_pb_row{max-width:640px}
:is(.jmv-login-copy){margin-bottom:24px}
:is(.jmv-login-register-button){margin-top:18px;text-align:center}
:is(.jmv-login-section){min-height:65vh}
body.jmv-portal-page #main-content{background:#F1F8FA}


















/* Mobile navigation uses real site links; it is absent from the Divi editor. */
.jmv-mobile-nav{display:none}
@media (max-width:980px){
 :is(.jmv-global-header-row).et_pb_row{flex-wrap:nowrap!important;gap:18px}
 :is(.jmv-header-logo-column){flex:1 1 auto!important;width:auto!important}
 :is(.jmv-header-menu-column){flex:0 0 44px!important;width:44px!important;order:3;position:static}
 :is(.jmv-header-button-column){flex:0 0 auto!important;width:auto!important}
 :is(.jmv-global-menu){position:static}
 :is(.jmv-global-menu) .et_pb_menu_inner_container{position:static}
 :is(.jmv-global-menu) .et_mobile_menu{left:0;right:0;top:100%;width:100%}
 :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two).et_pb_row{grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(.jmv-home-services-grid)>.jmv-service-card:last-child{grid-column:1/-1}
 :is(.jmv-home-process-grid).et_pb_row{grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(.jmv-step-card):after{display:none}
 
}
@media (max-width:767px), (max-width:980px) and (hover:none) and (pointer:coarse){
 body.jmv-mobile-app{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));background:#F1F8FA}
 body.jmv-mobile-app:not(.et-fb) .et-l--header{position:sticky;top:0;z-index:999}
 body.admin-bar.jmv-mobile-app:not(.et-fb) .et-l--header{top:46px}
 :is(.jmv-section){font-size:16px}
 :is(.jmv-header-logo){width:205px}
 /* Account remains visible in the fixed bottom bar on app-mode phone screens. */
 body.jmv-mobile-app .jmv-header-button-column{display:none!important}
 :is(.jmv-home-hero-section):before{width:170px;height:170px;right:-70px;top:15px;border-width:10px;border-radius:30px}
 :is(.jmv-home-hero-section):after{display:none}
 :is(.jmv-home-hero-title){margin-bottom:16px}
 :is(.jmv-home-hero-copy){margin-bottom:22px}
 :is(.jmv-home-hero-primary){display:block;margin:0;width:100%}
 :is(.jmv-home-hero-primary) .et_pb_button{width:100%;min-height:52px}
 :is(.jmv-home-hero-secondary){display:none}
 :is(.jmv-home-services-head,.jmv-home-process-head){text-align:left;margin-bottom:20px!important}
 :is(.jmv-home-services-head,.jmv-home-process-head) :is(h2,p){text-align:left}
 :is(.jmv-home-services-eyebrow,.jmv-home-services-subtitle,.jmv-home-process-eyebrow,.jmv-services-hero-eyebrow){display:none}
 :is(.jmv-services-grid-two).et_pb_row{margin-top:12px}
 :is(.jmv-home-process-grid).et_pb_row{grid-template-columns:minmax(0,1fr);gap:12px}
 :is(.jmv-step-card){display:grid!important;grid-template-columns:42px minmax(0,1fr);gap:6px 14px;text-align:left;align-items:center;box-shadow:none}
 :is(.jmv-step-number){grid-column:1;grid-row:1/3;width:42px;height:42px}
 :is(.jmv-step-title){grid-column:2;grid-row:1}
 :is(.jmv-step-copy){grid-column:2;grid-row:2}
 :is(.jmv-step-copy) p{font-size:14px;line-height:1.5}
 :is(.jmv-home-faq-eyebrow){display:none}
 :is(.jmv-home-faq-title){text-align:left;margin-bottom:20px}
 :is(.jmv-faq){padding:16px;margin-bottom:10px}
 :is(.jmv-faq) .et_pb_toggle_title{font-size:16px;line-height:1.5}
 :is(.jmv-home-contact-button),:is(.jmv-home-contact-button) .et_pb_button{width:100%}
 :is(.jmv-home-contact-copy){margin-bottom:20px}
 
 
 
 
 
 :is(.jmv-contact-form-column,.jmv-login-module){padding:20px}
 :is(.jmv-contact-form) .et_pb_contact_field{width:100%;float:none}
 .jmv-mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:10000;background:#fff;border-top:1px solid #DCEBF0;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));box-shadow:0 -4px 24px #06354B0B}
 .jmv-mobile-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:62px;color:#06354B;text-decoration:none;font-size:12px;font-weight:600;line-height:1.25;padding:6px 2px;border-radius:14px}
 .jmv-mobile-nav a[aria-current=page]{background:#DCF7FA}
 .jmv-mobile-nav svg{width:24px;height:24px;display:block;flex-shrink:0}
 .jmv-mobile-nav .jmv-nav-request svg{background:#00B8C9;border-radius:50%;padding:7px;width:36px;height:36px;margin-top:-5px;margin-bottom:-3px}
 body.jmv-keyboard-open .jmv-mobile-nav{display:none}
}

@media (max-width:360px){
 :is(.jmv-header-logo){max-width:180px}
 
}
@media (max-width:600px){body.admin-bar.jmv-mobile-app:not(.et-fb) .et-l--header{top:0}}
@media (prefers-reduced-motion:reduce){:is(.jmv-section,.jmv-mobile-nav) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}



body:not(.et-fb):not(.jmv-divi-editing) .jmv-portal-shell-section{display:none!important}
body:not(.et-fb):not(.jmv-divi-editing) #main-content{padding-top:0;margin-top:0;background:#F1F8FA}
body:not(.et-fb):not(.jmv-divi-editing) .jmv-portal{margin:0}

/* JMV 2.3 — La página pública refleja la estructura funcional del portal/app. */
:is(.jmv-home-portal-grid).et_pb_row{align-items:stretch}
:is(.jmv-portal-feature-requests,.jmv-portal-feature-documents,.jmv-portal-feature-invoices,.jmv-portal-feature-signatures){height:100%}
:is(.jmv-portal-feature-requests,.jmv-portal-feature-documents,.jmv-portal-feature-invoices,.jmv-portal-feature-signatures) .et_pb_module:last-child{margin-top:auto}
@media (max-width:980px){
  :is(.jmv-home-portal-grid).et_pb_row{row-gap:20px}
}

























/* 2.3.18 — Servicio responsive EDITABLE en Divi 5.
   Solo organiza la tarjeta. El tamaño/estilo del botón queda en los atributos
   responsive nativos del módulo para que el usuario pueda editar Desktop,
   Tablet y Phone desde el Visual Builder. */
@media (max-width:767px), (max-width:980px) and (hover:none) and (pointer:coarse){
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two).et_pb_row{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    > :is(.jmv-service-card,[class*="jmv-service-card-"],[class*="jmv-services-card-"]){
    grid-template-columns:48px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:8px 14px;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:20px 18px;
    box-sizing:border-box;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :is(.jmv-service-icon,[class*="jmv-service-"][class*="-icon"],[class*="jmv-services-icon-"]){
    grid-column:1;
    grid-row:1 / 3;
    width:48px;
    height:48px;
    margin:0;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :is(.jmv-service-icon,[class*="jmv-service-"][class*="-icon"],[class*="jmv-services-icon-"]) :is(.et_pb_image_wrap,img){
    width:48px;
    height:48px;
    object-fit:contain;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :is(.jmv-service-number,.jmv-service-copy,[class*="jmv-service-"][class*="-number"],[class*="jmv-service-"][class*="-copy"],[class*="jmv-services-number-"],[class*="jmv-services-copy-"]){
    display:none;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :is(.jmv-service-title,[class*="jmv-service-"][class*="-title"],[class*="jmv-services-title-"]){
    grid-column:2;
    grid-row:1;
    min-width:0;
    margin:0;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :is(.jmv-service-title,[class*="jmv-service-"][class*="-title"],[class*="jmv-services-title-"]) :is(h2,h3,h4){
    margin:0;
    font-size:18px;
    line-height:1.35;
    text-align:left;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :is(.jmv-service-price,[class*="jmv-service-"][class*="-price"],[class*="jmv-services-price-"]){
    grid-column:2;
    grid-row:2;
    min-width:0;
    margin:0;
  }
  :is(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :is(.jmv-service-price,[class*="jmv-service-"][class*="-price"],[class*="jmv-services-price-"]) :is(h3,h4,p){
    margin:0;
    color:#007D90;
    font-size:16px;
    line-height:1.4;
  }
  /* Target the native wrapper directly; do not resize or relocate DOM nodes. */
  :where(.jmv-home-services-grid,.jmv-services-grid-one,.jmv-services-grid-two)
    :where(.jmv-service-card) > .et_pb_button_module_wrapper{
    grid-column:1 / -1;
    grid-row:3;
    min-width:0;
  }
}


















































/* Mouse/trackpad real: cambio de color estable, sin alterar geometría. */


/* iPad/tableta/touch: nada de hover persistente o alternante al tocar. */






/* Mantener la regla móvil aprobada: marca y accesos apilados. */







/* Teléfono: conserva el comportamiento vertical aprobado. El orden que Divi
   guarda al arrastrar sigue siendo el orden que aparece de arriba hacia abajo. */

/* JMV 2.3.28 — FOOTER LIMPIO Y ESTABLE.
   La geometría/posición pertenece a Divi 5, tanto en el Visual Builder como
   en la página publicada. Este CSS NO redefine grid/flex, anchuras, márgenes,
   orden ni transformaciones de los módulos del footer. */
body:not(.et-fb):not(.jmv-divi-editing) .jmv-home-contact-section :is(a,button):focus-visible{
  outline-color:#7CE5EF;
}

/* Cuando una página contiene su propia copia editable del footer, ocultar
   únicamente el footer global del Theme Builder para que nunca se duplique. */
body.jmv-individual-footer-page:not(.jmv-portal-page) .et-l--footer,
body.jmv-individual-footer-page:not(.jmv-portal-page) #main-footer{
  display:none!important;
}

/* Apariencia consistente en editor y frontend sin tocar la posición que Divi
   guarda. No usar transform:none: el usuario puede posicionar módulos con
   Transform/Translate y esa posición debe publicarse exactamente igual. */
#page-container .jmv-global-footer-main.et_pb_section{
  background:#fff!important;
  border-top:1px solid #DCE8ED!important;
}
#page-container .jmv-global-footer-bottom.et_pb_section{
  background:#fff!important;
  border-top:1px solid #E7EFF2!important;
  border-bottom:3px solid #00B8C9!important;
  text-align:center!important;
}
/* JMV 2.3.31 — El tamaño del logo del footer lo controla Divi.
   No fijar width/max-width con !important: hacerlo impedía que Design > Sizing
   cambiara el tamaño visible y solo aumentaba el espacio ocupado por el módulo. */
#page-container .jmv-footer-logo{
  max-width:100%;
}
#page-container .jmv-footer-brand-copy,
#page-container .jmv-footer-brand-copy :is(.et_pb_text_inner,p){
  color:#516775!important;
  font-size:12px!important;
  line-height:1.4!important;
}
#page-container .jmv-footer-links-title,
#page-container .jmv-footer-links-title :is(h1,h2,h3,h4){
  color:#06354B!important;
  font-size:14px!important;
  line-height:1.25!important;
}
#page-container .jmv-footer-copyright,
#page-container .jmv-footer-copyright :is(.et_pb_text_inner,p){
  color:#627783!important;
  font-size:12px!important;
  line-height:1.25!important;
}

/* Los enlaces del footer conservan exactamente la misma caja en normal,
   hover, focus y active. Se neutraliza el icono/padding dinámico de Divi que
   causaba el parpadeo, pero NO se toca transform, margin, width ni display. */
#page-container .jmv-global-footer-main .et_pb_button,
#page-container .jmv-global-footer-main .et_pb_button:link,
#page-container .jmv-global-footer-main .et_pb_button:visited,
#page-container .jmv-global-footer-main .et_pb_button:hover,
#page-container .jmv-global-footer-main .et_pb_button:focus,
#page-container .jmv-global-footer-main .et_pb_button:active{
  min-height:38px!important;
  padding:5px 7px!important;
  border-width:0!important;
  border-color:transparent!important;
  background:transparent!important;
  color:#06354B!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:normal!important;
  opacity:1!important;
  animation:none!important;
  transition:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
#page-container .jmv-global-footer-main .et_pb_button::before,
#page-container .jmv-global-footer-main .et_pb_button::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  animation:none!important;
  transition:none!important;
}
#page-container .jmv-global-footer-main .et_pb_button_module_wrapper{
  animation:none!important;
  transition:none!important;
}

/* Solo los dispositivos con mouse/trackpad real cambian de color. Como no
   cambia ninguna medida ni posición, el puntero nunca entra/sale del elemento
   por culpa del propio hover. */
@media (hover:hover) and (pointer:fine){
  #page-container .jmv-global-footer-main .et_pb_button:hover,
  #page-container .jmv-global-footer-main .et_pb_button:focus-visible{
    color:#007D90!important;
  }
}

/* iPad/tableta/touch: hover y active mantienen exactamente el mismo aspecto.
   Safari no puede dejar un estado hover pegado que haga alternar el texto. */
@media (hover:none), (pointer:coarse){
  #page-container .jmv-global-footer-main .et_pb_button,
  #page-container .jmv-global-footer-main .et_pb_button:hover,
  #page-container .jmv-global-footer-main .et_pb_button:focus,
  #page-container .jmv-global-footer-main .et_pb_button:active{
    color:#06354B!important;
    animation:none!important;
    transition:none!important;
  }
}

/* JMV 2.3.30 — Geometría canónica del footer en TODAS las áreas.
   La misma estructura se usa en páginas públicas y en el footer global del
   portal: marca centrada, enlaces centrados y copyright centrado. */
#page-container .jmv-global-footer-main .jmv-global-footer-brand-row.et_pb_row{
  width:100%!important;
  max-width:460px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
}
#page-container .jmv-global-footer-main .jmv-footer-brand-column{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
#page-container .jmv-global-footer-main .jmv-footer-logo{
  margin-left:auto!important;
  margin-right:auto!important;
}
#page-container .jmv-global-footer-main .jmv-footer-brand-copy,
#page-container .jmv-global-footer-main .jmv-footer-brand-copy :is(.et_pb_text_inner,p){
  text-align:center!important;
}
#page-container .jmv-global-footer-main .jmv-global-footer-links-row.et_pb_row{
  width:100%!important;
  max-width:760px!important;
  margin:6px auto 0!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:0!important;
  row-gap:8px!important;
}
#page-container .jmv-global-footer-main .jmv-footer-link-column{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
#page-container .jmv-global-footer-main .jmv-footer-link-column .et_pb_button_module_wrapper{
  width:100%!important;
  text-align:center!important;
}
#page-container .jmv-global-footer-bottom .jmv-footer-copyright-row.et_pb_row{
  width:100%!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
}
#page-container .jmv-global-footer-bottom .jmv-footer-copyright-column{
  align-items:center!important;
  text-align:center!important;
}

/* Teléfono: los enlaces quedan uno debajo del otro y siguen centrados. */
@media (max-width:767px){
  #page-container .jmv-global-footer-main .jmv-global-footer-links-row.et_pb_row{
    max-width:360px!important;
    row-gap:2px!important;
  }
  #page-container .jmv-global-footer-main .jmv-footer-link-column{
    width:100%!important;
    max-width:100%!important;
  }
}


/* JMV 2.3.34 — Footer móvil centrado y contenido editable.
   En teléfono normalizamos únicamente la geometría publicada del footer para
   impedir que transforms/offsets guardados en Divi saquen módulos del viewport.
   Escritorio y tableta conservan exactamente su posicionamiento actual. El
   contenido (logo, texto, enlaces y copyright) sigue siendo editable en Divi. */
@media (max-width:767px){
  #page-container .jmv-global-footer-main.et_pb_section,
  #page-container .jmv-global-footer-bottom.et_pb_section{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  #page-container .jmv-global-footer-main :is(.jmv-global-footer-brand-row,.jmv-global-footer-links-row).et_pb_row,
  #page-container .jmv-global-footer-bottom .jmv-footer-copyright-row.et_pb_row{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  #page-container .jmv-global-footer-main :is(.jmv-footer-brand-column,.jmv-footer-link-column),
  #page-container .jmv-global-footer-bottom .jmv-footer-copyright-column{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    flex:0 0 100%!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Neutraliza solo en móvil desplazamientos guardados en los módulos del
     footer. No cambia su contenido ni los controles de edición de Divi. */
  #page-container .jmv-global-footer-main :is(.jmv-footer-logo,.jmv-footer-brand-copy,[class*="jmv-footer-link-"]),
  #page-container .jmv-global-footer-bottom .jmv-footer-copyright{
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  #page-container .jmv-global-footer-main .jmv-footer-logo .et_pb_image_wrap,
  #page-container .jmv-global-footer-main .jmv-footer-logo img{
    display:block!important;
    max-width:100%!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #page-container .jmv-global-footer-main .jmv-footer-brand-copy :is(.et_pb_text_inner,p),
  #page-container .jmv-global-footer-bottom .jmv-footer-copyright :is(.et_pb_text_inner,p){
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
  }

  #page-container .jmv-global-footer-main .jmv-global-footer-links-row.et_pb_row{
    gap:2px!important;
  }
  #page-container .jmv-global-footer-main .jmv-footer-link-column .et_pb_button_module_wrapper{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    text-align:center!important;
    transform:none!important;
  }
  #page-container .jmv-global-footer-main .jmv-footer-link-column .et_pb_button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 auto!important;
    white-space:normal!important;
    text-align:center!important;
    transform:none!important;
  }
}
