/* CasaInversión 1.0.97 — refinamiento de landings de corredoras */
.landing-shell a { text-decoration: none !important; }
.landing-shell .hero h1,
.landing-shell .broker-profile h2,
.landing-shell footer strong:first-child,
.landing-shell .footer__grid > div:first-child > strong {
  text-transform: capitalize !important;
}

/* Canales de contacto alineados y modernos. */
.contact-section__intro .contact-pills {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 26px !important;
}
.contact-section__intro .contact-pills a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
.contact-section__intro .contact-pills a:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255,255,255,.38) !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
.contact-section__intro .contact-pills .material-symbols-outlined {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.12) !important;
  font-size: 19px !important;
}

/* Footer ordenado y sello centrado. */
.landing-shell footer .footer__grid {
  align-items: start !important;
  gap: 34px !important;
}
.landing-shell footer .footer__links {
  display: grid !important;
  gap: 12px !important;
}
.landing-shell footer .footer__links > div,
.landing-shell footer .footer__socials a {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 38px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 14px !important;
}
.landing-shell footer .footer__links .material-symbols-outlined,
.landing-shell footer .footer__socials .material-symbols-outlined {
  font-size: 20px !important;
  color: var(--brand) !important;
}
.landing-shell footer .footer__powered {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px 0 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
}
.landing-shell footer .footer__powered a,
.landing-shell footer .footer__powered a:hover,
.landing-shell footer .footer__powered a:focus-visible {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.72) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .contact-section__intro .contact-pills { grid-template-columns: 1fr !important; }
  .landing-shell footer .footer__grid { grid-template-columns: 1fr !important; }
}

/* CasaInversión 1.0.98 — detalle de propiedad como drawer izquierdo */
body.landing-drawer-open {
  overflow: hidden !important;
}

.landing-shell .shadowbox {
  display: block !important;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity .24s ease, visibility 0s linear .24s;
}

.landing-shell .shadowbox.open {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.landing-shell .shadowbox__overlay {
  background: rgba(15, 23, 42, .48) !important;
  backdrop-filter: blur(4px) !important;
  opacity: 0;
  transition: opacity .24s ease;
}

.landing-shell .shadowbox.open .shadowbox__overlay {
  opacity: 1;
}

.landing-shell .shadowbox__content {
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: min(50vw, 760px) !important;
  height: 100dvh !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: 18px 0 48px rgba(15, 23, 42, .22) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  transform: translateX(-102%);
  transition: transform .32s cubic-bezier(.22,.8,.24,1);
  overscroll-behavior: contain;
}

.landing-shell .shadowbox.open .shadowbox__content {
  transform: translateX(0);
}

.landing-shell .shadowbox__close {
  top: 18px !important;
  right: 18px !important;
  z-index: 5 !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.96) !important;
  color: #0f172a !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.1) !important;
}

.landing-shell .shadowbox__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 26px !important;
  min-height: 100%;
  padding: 74px 28px 36px !important;
}

.landing-shell .shadowbox__gallery {
  order: -1;
}

.landing-shell .sb-main {
  border-radius: 12px !important;
}

.landing-shell .sb-thumb {
  border-radius: 8px !important;
}

.landing-shell .sb-thumb img {
  border-radius: 6px !important;
}

@media (max-width: 900px) {
  .landing-shell .shadowbox__content {
    width: 100vw !important;
  }
  .landing-shell .shadowbox__body {
    padding: 68px 18px 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-shell .shadowbox,
  .landing-shell .shadowbox__overlay,
  .landing-shell .shadowbox__content {
    transition: none !important;
  }
}
