/* =========================================================
   SAHR Propiedades · V22.5.13
   PÁGINAS INTERNAS — misma identidad visual de la portada V22
   Se carga DESPUÉS de style.css y v22-home-completo.css.
   ========================================================= */
:root{
  --pj-navy:#061f45;
  --pj-navy-2:#082b5b;
  --pj-blue:#0d7ec8;
  --pj-cyan:#12b7df;
  --pj-orange:#f5a20b;
  --pj-ink:#0b1d35;
  --pj-muted:#67768b;
  --pj-soft:#f3f7fa;
  --pj-soft-blue:#edf7fc;
  --pj-line:#dbe8f2;
  --pj-shadow:0 10px 34px rgba(6,31,69,.09),0 2px 7px rgba(6,31,69,.04);
}

body[data-page="servicios"],
body[data-page="nosotros"],
body[data-page="contacto"],
body[data-page="pagina"]{
  background:var(--pj-soft)!important;
  color:var(--pj-ink)!important;
  font-family:'Manrope',sans-serif!important;
}

/* ---------------------------------------------------------
   NAVBAR — sin estilos rojos heredados; usa V22 de la home
   --------------------------------------------------------- */
body[data-page="servicios"] #mainNavbar,
body[data-page="nosotros"] #mainNavbar,
body[data-page="contacto"] #mainNavbar,
body[data-page="pagina"] #mainNavbar{
  z-index:1040!important;
}
body[data-page="servicios"] .premium-navbar .nav-link.active,
body[data-page="nosotros"] .premium-navbar .nav-link.active,
body[data-page="contacto"] .premium-navbar .nav-link.active,
body[data-page="pagina"] .premium-navbar .nav-link.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--pj-navy-2),var(--pj-blue))!important;
  box-shadow:0 5px 14px rgba(6,54,104,.18)!important;
  border-bottom:0!important;
}
body[data-page="servicios"] .premium-navbar .nav-link.active::after,
body[data-page="nosotros"] .premium-navbar .nav-link.active::after,
body[data-page="contacto"] .premium-navbar .nav-link.active::after,
body[data-page="pagina"] .premium-navbar .nav-link.active::after{display:none!important}

/* ---------------------------------------------------------
   OFFSET DE PÁGINAS INTERNAS — compacto, sin huecos enormes
   --------------------------------------------------------- */
body[data-page="servicios"] .services-public-page,
body[data-page="nosotros"] .about-public-page,
body[data-page="pagina"] .cms-public-page{
  margin-top:120px!important;
  padding:42px 0 58px!important;
  background:var(--pj-soft)!important;
}
body[data-page="contacto"] .contact-page{
  margin-top:120px!important;
  padding-bottom:58px!important;
  background:var(--pj-soft)!important;
}

/* ---------------------------------------------------------
   BREADCRUMBS
   --------------------------------------------------------- */
body[data-page="servicios"] .page-breadcrumb,
body[data-page="nosotros"] .page-breadcrumb,
body[data-page="pagina"] .page-breadcrumb{
  margin:0 0 16px!important;
  gap:8px!important;
  font-size:.78rem!important;
  font-weight:800!important;
}
body[data-page="servicios"] .page-breadcrumb a,
body[data-page="nosotros"] .page-breadcrumb a,
body[data-page="pagina"] .page-breadcrumb a{color:var(--pj-blue)!important}
body[data-page="servicios"] .page-breadcrumb__sep,
body[data-page="nosotros"] .page-breadcrumb__sep,
body[data-page="pagina"] .page-breadcrumb__sep{color:var(--pj-orange)!important}
body[data-page="servicios"] .page-breadcrumb span[aria-current="page"],
body[data-page="nosotros"] .page-breadcrumb span[aria-current="page"],
body[data-page="pagina"] .page-breadcrumb span[aria-current="page"]{color:#718197!important}

/* ---------------------------------------------------------
   SERVICIOS / CMS GENÉRICO
   --------------------------------------------------------- */
body[data-page="servicios"] .services-public-card,
body[data-page="pagina"] .cms-public-card{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--pj-line)!important;
  border-radius:24px!important;
  padding:44px 48px!important;
  box-shadow:var(--pj-shadow)!important;
}
body[data-page="servicios"] .services-public-card::before,
body[data-page="pagina"] .cms-public-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;
  height:4px!important;
  background:linear-gradient(90deg,var(--pj-navy),var(--pj-cyan) 72%,var(--pj-orange))!important;
}
body[data-page="servicios"] .services-public-card>.section-kicker,
body[data-page="pagina"] .cms-public-card>.section-kicker{
  color:var(--pj-blue)!important;
  font-size:.72rem!important;
  letter-spacing:.14em!important;
  font-weight:900!important;
  margin-bottom:12px!important;
}
body[data-page="servicios"] .services-public-card>h1,
body[data-page="pagina"] .cms-public-card>h1{
  margin:0 0 30px!important;
  color:var(--pj-navy)!important;
  font-family:'Manrope',sans-serif!important;
  font-weight:800!important;
  font-size:clamp(2.15rem,3.2vw,3.15rem)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}
body[data-page="servicios"] .services-public-content,
body[data-page="pagina"] .cms-public-content{
  color:#53657a!important;
  font-size:1rem!important;
  line-height:1.78!important;
}
body[data-page="servicios"] .services-public-content h2,
body[data-page="pagina"] .cms-public-content h2{
  margin:28px 0 12px!important;
  color:var(--pj-navy)!important;
  font-family:'Manrope',sans-serif!important;
  font-size:1.55rem!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}
body[data-page="servicios"] .services-public-content h3,
body[data-page="pagina"] .cms-public-content h3{
  color:var(--pj-blue)!important;
  font-size:1rem!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  text-transform:none!important;
}
body[data-page="servicios"] .services-public-content p,
body[data-page="pagina"] .cms-public-content p{margin:0 0 15px!important}
body[data-page="servicios"] .services-public-content ul,
body[data-page="pagina"] .cms-public-content ul{
  padding:0!important;
  margin:18px 0!important;
  list-style:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 14px!important;
}
body[data-page="servicios"] .services-public-content li,
body[data-page="pagina"] .cms-public-content li{
  position:relative!important;
  padding:13px 14px 13px 40px!important;
  border:1px solid #e1ebf2!important;
  border-radius:13px!important;
  background:#f9fcfe!important;
  color:#4b5f74!important;
}
body[data-page="servicios"] .services-public-content li::before,
body[data-page="pagina"] .cms-public-content li::before{
  content:"\f00c"!important;
  font-family:"Font Awesome 6 Free"!important;
  font-weight:900!important;
  position:absolute!important;
  left:15px!important;top:14px!important;
  color:var(--pj-cyan)!important;
}

/* ---------------------------------------------------------
   NOSOTROS
   --------------------------------------------------------- */
body[data-page="nosotros"] .about-editorial-card{
  position:relative!important;
  background:#fff!important;
  border:1px solid var(--pj-line)!important;
  border-radius:24px!important;
  padding:42px 46px!important;
  box-shadow:var(--pj-shadow)!important;
  overflow:hidden!important;
}
body[data-page="nosotros"] .about-editorial-card::before{
  content:""!important;
  position:absolute!important;left:0!important;right:0!important;top:0!important;height:4px!important;
  background:linear-gradient(90deg,var(--pj-navy),var(--pj-cyan) 72%,var(--pj-orange))!important;
}
body[data-page="nosotros"] .about-editorial-heading .section-kicker{color:var(--pj-blue)!important}
body[data-page="nosotros"] .about-editorial-heading h1{
  color:var(--pj-navy)!important;
  font-family:'Manrope',sans-serif!important;
  font-size:clamp(2.15rem,3.2vw,3.15rem)!important;
  font-weight:800!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}
body[data-page="nosotros"] .about-gold-line{
  width:78px!important;height:3px!important;
  background:linear-gradient(90deg,var(--pj-cyan),var(--pj-blue),var(--pj-orange))!important;
}
body[data-page="nosotros"] .about-editorial-content{
  color:#53657a!important;
  font-size:1rem!important;
  line-height:1.76!important;
}
body[data-page="nosotros"] .about-editorial-content h2{color:var(--pj-navy)!important;font-family:'Manrope',sans-serif!important}
body[data-page="nosotros"] .about-editorial-content h3{color:var(--pj-blue)!important}
body[data-page="nosotros"] .about-editorial-content li{border-color:#dceaf2!important;background:#f9fcfe!important}
body[data-page="nosotros"] .about-editorial-content li::before{background:var(--pj-cyan)!important;box-shadow:0 0 0 3px rgba(18,183,223,.14)!important}
body[data-page="nosotros"] .about-benefits-card{
  margin-top:18px!important;
  border:1px solid var(--pj-line)!important;
  background:#fff!important;
  border-radius:20px!important;
  box-shadow:0 5px 18px rgba(6,31,69,.06)!important;
}
body[data-page="nosotros"] .about-benefits-card .benefit-item>i{color:var(--pj-blue)!important}
body[data-page="nosotros"] .about-benefits-card .benefit-item strong{color:var(--pj-navy)!important}

/* ---------------------------------------------------------
   CONTACTO — V22, sin rojo heredado
   --------------------------------------------------------- */
body[data-page="contacto"] .contact-page__head{
  position:relative!important;
  overflow:hidden!important;
  padding:62px 0 76px!important;
  color:#fff!important;
  background:
    linear-gradient(90deg,rgba(3,27,59,.92) 0%,rgba(5,62,108,.76) 43%,rgba(8,111,157,.34) 70%,rgba(8,111,157,.10) 100%),
    url('../img/hero/hero-desktop-2.webp') center 52%/cover no-repeat!important;
}
body[data-page="contacto"] .contact-page__head::after{
  content:""!important;
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:3px!important;
  background:linear-gradient(90deg,var(--pj-navy),var(--pj-cyan) 78%,var(--pj-orange))!important;
}
body[data-page="contacto"] .contact-page__head .section-kicker{
  color:#83e2f4!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
body[data-page="contacto"] .contact-page__head h1{
  margin:10px 0 12px!important;
  max-width:700px!important;
  color:#fff!important;
  font-family:'Manrope',sans-serif!important;
  font-size:clamp(2.4rem,4vw,4rem)!important;
  line-height:1.02!important;
  font-weight:800!important;
  letter-spacing:-.05em!important;
}
body[data-page="contacto"] .contact-page__head p{
  max-width:690px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:.98rem!important;
  line-height:1.65!important;
}
body[data-page="contacto"] .contact-page__content{
  margin-top:-38px!important;
  position:relative!important;
  z-index:3!important;
}
body[data-page="contacto"] .general-contact-card,
body[data-page="contacto"] .contact-side-card{
  background:#fff!important;
  border:1px solid var(--pj-line)!important;
  border-radius:20px!important;
  padding:30px!important;
  box-shadow:var(--pj-shadow)!important;
}
body[data-page="contacto"] .general-contact-card__heading{margin-bottom:22px!important}
body[data-page="contacto"] .general-contact-card__heading .section-kicker,
body[data-page="contacto"] .contact-side-card>.section-kicker{color:var(--pj-blue)!important}
body[data-page="contacto"] .general-contact-card__heading h2,
body[data-page="contacto"] .contact-side-card h2{
  color:var(--pj-navy)!important;
  font-family:'Manrope',sans-serif!important;
  font-size:1.7rem!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
body[data-page="contacto"] .general-contact-card__heading p,
body[data-page="contacto"] .contact-side-card p{font-size:.86rem!important;color:var(--pj-muted)!important}
body[data-page="contacto"] .secure-contact-badge{
  background:#edf9f3!important;
  color:#28764f!important;
  border:1px solid #d4eddf!important;
}
body[data-page="contacto"] .form-label{color:#43566a!important;font-weight:800!important;font-size:.75rem!important}
body[data-page="contacto"] .form-control,
body[data-page="contacto"] .form-select{
  border-color:#cfdee8!important;
  border-radius:10px!important;
  min-height:49px!important;
  color:#34485c!important;
  font-size:.82rem!important;
  box-shadow:none!important;
}
body[data-page="contacto"] .form-control:focus,
body[data-page="contacto"] .form-select:focus{
  border-color:#79cee3!important;
  box-shadow:0 0 0 .2rem rgba(18,183,223,.11)!important;
}
body[data-page="contacto"] textarea.form-control{min-height:150px!important;padding-top:13px!important}
body[data-page="contacto"] .quick-message-panel{
  margin:20px 0!important;
  padding:15px!important;
  border:1px solid #dce9f1!important;
  border-radius:14px!important;
  background:#f7fbfd!important;
}
body[data-page="contacto"] .quick-message-title i{color:var(--pj-blue)!important}
body[data-page="contacto"] .quick-message-buttons button{
  border-color:#cbdde8!important;
  color:#456078!important;
  background:#fff!important;
}
body[data-page="contacto"] .quick-message-buttons button:hover,
body[data-page="contacto"] .quick-message-buttons button.active{
  border-color:var(--pj-cyan)!important;
  color:var(--pj-blue)!important;
  background:#effaff!important;
}
body[data-page="contacto"] .btn-brand,
body[data-page="contacto"] .contact-submit{
  background:linear-gradient(135deg,var(--pj-blue),var(--pj-cyan))!important;
  border:0!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(13,126,200,.20)!important;
}
body[data-page="contacto"] .btn-outline-brand{
  border:1px solid var(--pj-cyan)!important;
  color:var(--pj-blue)!important;
  background:#fff!important;
}
body[data-page="contacto"] .btn-outline-brand:hover{background:#eefaff!important;color:var(--pj-navy)!important}
body[data-page="contacto"] .contact-qr{border-color:#d9e7ef!important;box-shadow:0 5px 17px rgba(6,31,69,.06)!important}
body[data-page="contacto"] .direct-contact-list li{
  border-color:#dce8ef!important;
  background:#f9fcfe!important;
}
body[data-page="contacto"] .direct-contact-list li>i{background:#eaf8fc!important;color:var(--pj-blue)!important}
body[data-page="contacto"] .direct-contact-list a{color:var(--pj-navy)!important}
body[data-page="contacto"] .contact-hours{
  background:linear-gradient(135deg,var(--pj-navy),var(--pj-navy-2))!important;
  color:#fff!important;
}
body[data-page="contacto"] .contact-hours>i{color:#78e2f6!important}
body[data-page="contacto"] .captcha-card{border-color:#dce7ee!important;background:#f8fbfd!important}
body[data-page="contacto"] .captcha-card>div>i{background:#eaf8fc!important;color:var(--pj-blue)!important}

/* ---------------------------------------------------------
   FOOTER — calcado a portada. El prefooter NO existe aquí.
   --------------------------------------------------------- */
body:not([data-page="inicio"]) .prefooter-v11{display:none!important}
body[data-page="servicios"] .site-footer-v7,
body[data-page="nosotros"] .site-footer-v7,
body[data-page="contacto"] .site-footer-v7,
body[data-page="pagina"] .site-footer-v7{
  background:linear-gradient(118deg,#06192f 0%,#071f3f 54%,#062958 100%)!important;
  color:#fff!important;
}
body[data-page="servicios"] .site-footer-v7 .footer-main-v7,
body[data-page="nosotros"] .site-footer-v7 .footer-main-v7,
body[data-page="contacto"] .site-footer-v7 .footer-main-v7,
body[data-page="pagina"] .site-footer-v7 .footer-main-v7{
  padding-top:42px!important;
  padding-bottom:18px!important;
}
body[data-page="servicios"] .site-footer-v7 .footer-bottom-v7,
body[data-page="nosotros"] .site-footer-v7 .footer-bottom-v7,
body[data-page="contacto"] .site-footer-v7 .footer-bottom-v7,
body[data-page="pagina"] .site-footer-v7 .footer-bottom-v7{
  margin-top:28px!important;
  padding-top:16px!important;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media(max-width:1199.98px){
  body[data-page="servicios"] .services-public-page,
  body[data-page="nosotros"] .about-public-page,
  body[data-page="pagina"] .cms-public-page,
  body[data-page="contacto"] .contact-page{margin-top:94px!important}
  body[data-page="servicios"] .services-public-card,
  body[data-page="pagina"] .cms-public-card,
  body[data-page="nosotros"] .about-editorial-card{padding:36px!important}
}
@media(max-width:991.98px){
  body[data-page="servicios"] .services-public-page,
  body[data-page="nosotros"] .about-public-page,
  body[data-page="pagina"] .cms-public-page,
  body[data-page="contacto"] .contact-page{margin-top:86px!important}
  body[data-page="contacto"] .contact-page__head{padding:50px 0 64px!important}
  body[data-page="contacto"] .contact-page__content{margin-top:-28px!important}
}
@media(max-width:767.98px){
  body[data-page="servicios"] .services-public-page,
  body[data-page="nosotros"] .about-public-page,
  body[data-page="pagina"] .cms-public-page,
  body[data-page="contacto"] .contact-page{margin-top:80px!important}
  body[data-page="servicios"] .services-public-page,
  body[data-page="nosotros"] .about-public-page,
  body[data-page="pagina"] .cms-public-page{padding:28px 0 38px!important}
  body[data-page="servicios"] .services-public-card,
  body[data-page="pagina"] .cms-public-card,
  body[data-page="nosotros"] .about-editorial-card{padding:27px 22px!important;border-radius:18px!important}
  body[data-page="servicios"] .services-public-content ul,
  body[data-page="pagina"] .cms-public-content ul{grid-template-columns:1fr!important}
  body[data-page="contacto"] .contact-page__head{padding:42px 0 56px!important}
  body[data-page="contacto"] .contact-page__head h1{font-size:2.25rem!important}
  body[data-page="contacto"] .contact-page__content{margin-top:-22px!important}
  body[data-page="contacto"] .general-contact-card,
  body[data-page="contacto"] .contact-side-card{padding:22px!important;border-radius:17px!important}
  body[data-page="servicios"] .site-footer-v7 .footer-main-v7,
  body[data-page="nosotros"] .site-footer-v7 .footer-main-v7,
  body[data-page="contacto"] .site-footer-v7 .footer-main-v7,
  body[data-page="pagina"] .site-footer-v7 .footer-main-v7{padding-top:32px!important;padding-bottom:90px!important}
}


/* =========================================================
   V22.5.15 — PÁGINAS INTERNAS: OFFSET Y FOOTER EXACTOS
   Evita sumar body padding + margin de página + padding legado.
   ========================================================= */
body[data-page="servicios"],
body[data-page="nosotros"],
body[data-page="contacto"],
body[data-page="pagina"]{
  padding-top:120px!important;
}
body[data-page="servicios"] .services-public-page,
body[data-page="nosotros"] .about-public-page,
body[data-page="pagina"] .cms-public-page,
body[data-page="contacto"] .contact-page{
  margin-top:0!important;
}
body[data-page="contacto"] .contact-page{
  padding-bottom:38px!important;
}

/* Footer: anula el padding 52px/25px de style.css y usa las medidas V22. */
body[data-page="servicios"] .site-footer.site-footer-v7,
body[data-page="nosotros"] .site-footer.site-footer-v7,
body[data-page="contacto"] .site-footer.site-footer-v7,
body[data-page="pagina"] .site-footer.site-footer-v7{
  padding:0!important;
  margin:0!important;
}
body[data-page="servicios"] .site-footer-v7>.container-xxl.footer-main-v7,
body[data-page="nosotros"] .site-footer-v7>.container-xxl.footer-main-v7,
body[data-page="contacto"] .site-footer-v7>.container-xxl.footer-main-v7,
body[data-page="pagina"] .site-footer-v7>.container-xxl.footer-main-v7{
  padding-top:42px!important;
  padding-bottom:18px!important;
}

@media (max-width:1199.98px){
  body[data-page="servicios"],body[data-page="nosotros"],body[data-page="contacto"],body[data-page="pagina"]{padding-top:92px!important}
}
@media (max-width:991.98px){
  body[data-page="servicios"],body[data-page="nosotros"],body[data-page="contacto"],body[data-page="pagina"]{padding-top:86px!important}
  body[data-page="servicios"] .site-footer-v7>.container-xxl.footer-main-v7,
  body[data-page="nosotros"] .site-footer-v7>.container-xxl.footer-main-v7,
  body[data-page="contacto"] .site-footer-v7>.container-xxl.footer-main-v7,
  body[data-page="pagina"] .site-footer-v7>.container-xxl.footer-main-v7{
    padding-top:36px!important;
    padding-bottom:18px!important;
  }
}
@media (max-width:767.98px){
  body[data-page="servicios"],body[data-page="nosotros"],body[data-page="contacto"],body[data-page="pagina"]{padding-top:80px!important}
  body[data-page="contacto"] .contact-page{padding-bottom:30px!important}
  body[data-page="servicios"] .site-footer-v7>.container-xxl.footer-main-v7,
  body[data-page="nosotros"] .site-footer-v7>.container-xxl.footer-main-v7,
  body[data-page="contacto"] .site-footer-v7>.container-xxl.footer-main-v7,
  body[data-page="pagina"] .site-footer-v7>.container-xxl.footer-main-v7{
    padding-top:32px!important;
    padding-bottom:90px!important;
  }
}

/* =========================================================
   V22.5.16 — NOSOTROS / SERVICIOS: separación superior V22
   El navbar es fixed; el body reserva exactamente su altura y
   la sección agrega solo un espacio editorial compacto.
   ========================================================= */
@media (min-width:1200px){
  body[data-page="nosotros"],
  body[data-page="servicios"]{
    padding-top:96px!important;
  }
  body[data-page="nosotros"] .about-public-page,
  body[data-page="servicios"] .services-public-page{
    margin-top:0!important;
    padding-top:24px!important;
    padding-bottom:54px!important;
  }
}
@media (min-width:992px) and (max-width:1199.98px){
  body[data-page="nosotros"],
  body[data-page="servicios"]{
    padding-top:92px!important;
  }
  body[data-page="nosotros"] .about-public-page,
  body[data-page="servicios"] .services-public-page{
    margin-top:0!important;
    padding-top:22px!important;
    padding-bottom:48px!important;
  }
}
@media (min-width:768px) and (max-width:991.98px){
  body[data-page="nosotros"],
  body[data-page="servicios"]{
    padding-top:86px!important;
  }
  body[data-page="nosotros"] .about-public-page,
  body[data-page="servicios"] .services-public-page{
    margin-top:0!important;
    padding-top:20px!important;
    padding-bottom:44px!important;
  }
}
@media (max-width:767.98px){
  body[data-page="nosotros"],
  body[data-page="servicios"]{
    padding-top:80px!important;
  }
  body[data-page="nosotros"] .about-public-page,
  body[data-page="servicios"] .services-public-page{
    margin-top:0!important;
    padding-top:18px!important;
    padding-bottom:38px!important;
  }
}

/* Breadcrumb pegado al contenido, sin bloque vacío intermedio. */
body[data-page="nosotros"] .page-breadcrumb,
body[data-page="servicios"] .page-breadcrumb{
  margin-top:0!important;
  margin-bottom:14px!important;
}
