/*
Theme Name: Betheme Child - RE Signature
Theme URI: https://resignature.cl
Author: Gonzalo Marín Figueroa
Author URI: https://resignature.cl
Description: Child Theme personalizado para RE Signature Corredora Boutique
Template: betheme
Version: 1.0.0
*/

/* ============================================
   RE SIGNATURE — Identidad Visual
   Paleta: Negro Obsidiana + Champaña Metalizado
   ============================================ */

:root {
  --re-negro-obsidiana: #1a1a1a;
  --re-negro-suave: #1a1a1a;
  --re-negro-medio: #2a2a2a;
  --re-champana: #c9a96e;
  --re-champana-claro: #d4b87a;
  --re-champana-oscuro: #b8944f;
  --re-blanco: #f5f5f0;
  --re-blanco-puro: #ffffff;
  --re-gris-claro: #e8e8e3;
  --re-gris-texto: #999999;
  --re-font-heading: 'Cinzel', Georgia, serif;
  --re-font-body: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --re-letter-spacing: 0.15em;
  --re-letter-spacing-wide: 0.25em;
}

/* ============================================
   TIPOGRAFÍAS — Google Fonts
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ============================================
   GLOBAL
   ============================================ */

body {
  font-family: var(--re-font-body) !important;
  color: var(--re-blanco) !important;
  background-color: var(--re-negro-obsidiana) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Transiciones fade-in para imágenes (experiencia galería de arte) */
/* Controlado por js/animations.js */

/* Espacio negativo entre secciones (lujo = espacio) */
.mcb-section {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

/* Separación entre wraps internos */
.mcb-wrap {
  margin-bottom: 40px;
}

/* Más aire en los textos */
.mcb-column-inner p {
  margin-bottom: 1.8em !important;
  line-height: 1.9 !important;
}

h1, h2, h3, h4, h5, h6,
.title,
.entry-title {
  font-family: var(--re-font-heading) !important;
  color: var(--re-champana) !important;
  letter-spacing: 0.25em;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

p, li, span, a, div {
  font-family: var(--re-font-body);
  letter-spacing: 0.04em;
  line-height: 1.8;
}

a {
  color: var(--re-champana) !important;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--re-champana-claro) !important;
}

/* ============================================
   HEADER / NAVEGACIÓN
   ============================================ */

#Header,
#Top_bar,
.header-classic #Top_bar,
#Top_bar .top_bar_left {
  background-color: var(--re-negro-obsidiana) !important;
  border-bottom: 1px solid var(--re-negro-medio) !important;
}

#Top_bar .menu > li > a {
  color: var(--re-blanco) !important;
  font-family: var(--re-font-body) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: var(--re-letter-spacing) !important;
  text-transform: uppercase !important;
}

#Top_bar .menu > li > a:hover,
#Top_bar .menu > li.current-menu-item > a,
#Top_bar .menu > li.current_page_item > a {
  color: var(--re-champana) !important;
}

/* Logo */
#Top_bar .logo img {
  max-height: 60px !important;
}

/* Header sticky (scroll) */
#Top_bar.is-sticky,
.header-fixed #Top_bar,
#Top_bar.scrolled,
.sticky-header #Top_bar,
#Top_bar[style*="position: fixed"],
.mfn-fixed-nav #Top_bar {
  background-color: var(--re-negro-obsidiana) !important;
}

#Top_bar.is-sticky .logo img,
.header-fixed #Top_bar .logo img,
#Top_bar.scrolled .logo img {
  max-height: 50px !important;
}

/* ============================================
   BOTONES
   ============================================ */

.button, 
a.button,
button,
input[type="submit"],
.mfn-button,
a.mfn-button {
  background-color: var(--re-champana) !important;
  color: var(--re-negro-obsidiana) !important;
  font-family: var(--re-font-body) !important;
  font-weight: 600 !important;
  letter-spacing: var(--re-letter-spacing) !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}

.button:hover,
a.button:hover,
button:hover,
input[type="submit"]:hover,
.mfn-button:hover,
a.mfn-button:hover {
  background-color: var(--re-champana-claro) !important;
  color: var(--re-negro-obsidiana) !important;
}

/* Botón outline/secundario */
.button-stroke,
a.button-stroke {
  background-color: transparent !important;
  border: 1px solid var(--re-champana) !important;
  color: var(--re-champana) !important;
}

.button-stroke:hover,
a.button-stroke:hover {
  background-color: var(--re-champana) !important;
  color: var(--re-negro-obsidiana) !important;
}


/* ============================================
   SECCIONES
   ============================================ */

.mcb-section {
  background-color: var(--re-negro-obsidiana) !important;
}

.mcb-section.bg-cover {
  background-color: var(--re-negro-suave) !important;
}

/* Secciones con fondo claro alternado */
.mcb-section-light,
.section-light {
  background-color: var(--re-negro-suave) !important;
}

/* Separadores y líneas */
hr,
.hr_color,
.hr_dots span,
.hr_zigzag {
  border-color: var(--re-negro-medio) !important;
}

/* ============================================
   FOOTER
   ============================================ */

#Footer,
.footer_copy {
  background-color: var(--re-negro-obsidiana) !important;
  border-top: 1px solid var(--re-negro-medio) !important;
}

#Footer .widgets_wrapper {
  background-color: var(--re-negro-suave) !important;
}

#Footer h1, #Footer h2, #Footer h3,
#Footer h4, #Footer h5, #Footer h6 {
  color: var(--re-champana) !important;
}

#Footer p, #Footer li, #Footer span,
.footer_copy p, .footer_copy a {
  color: var(--re-gris-texto) !important;
}

#Footer a:hover,
.footer_copy a:hover {
  color: var(--re-champana) !important;
}

/* ============================================
   ICONOS Y FEATURES
   ============================================ */

.icon_box .icon_wrapper i,
.icon_box .icon_wrapper .icon {
  color: var(--re-champana) !important;
}

.icon_box .desc h4 {
  color: var(--re-blanco) !important;
  font-family: var(--re-font-body) !important;
  font-weight: 600 !important;
  letter-spacing: var(--re-letter-spacing) !important;
}

/* ============================================
   ETIQUETAS EXCLUSIVAS — Propiedades
   ============================================ */

.re-badge {
  display: inline-block;
  padding: 6px 16px;
  font-family: var(--re-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: var(--re-letter-spacing-wide);
  text-transform: uppercase;
}

.re-badge-signature {
  background-color: var(--re-champana);
  color: var(--re-negro-obsidiana);
}

.re-badge-closed {
  background-color: var(--re-negro-medio);
  color: var(--re-champana);
  border: 1px solid var(--re-champana);
}

/* ============================================
   WIDGET CONVERSOR UF/CLP
   ============================================ */

.re-uf-converter {
  background-color: var(--re-negro-suave);
  border: 1px solid var(--re-negro-medio);
  padding: 20px;
  max-width: 320px;
}

.re-uf-converter label {
  color: var(--re-gris-texto);
  font-family: var(--re-font-body);
  font-size: 11px;
  letter-spacing: var(--re-letter-spacing);
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.re-uf-converter input {
  background-color: var(--re-negro-obsidiana);
  border: 1px solid var(--re-negro-medio);
  color: var(--re-blanco);
  font-family: var(--re-font-body);
  font-size: 16px;
  padding: 10px 14px;
  width: 100%;
  outline: none;
  transition: border-color 0.3s ease;
}

.re-uf-converter input:focus {
  border-color: var(--re-champana);
}

.re-uf-converter .re-uf-result {
  color: var(--re-champana);
  font-family: var(--re-font-heading);
  font-size: 24px;
  margin-top: 12px;
}

.re-uf-converter .re-uf-rate {
  color: var(--re-gris-texto);
  font-size: 11px;
  margin-top: 8px;
}

/* ============================================
   SCROLLBAR PERSONALIZADO
   ============================================ */

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--re-negro-obsidiana);
}

::-webkit-scrollbar-thumb {
  background: var(--re-negro-medio);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--re-champana-oscuro);
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* ============================================
   FIXES — Elementos azules del demo
   ============================================ */

/* Líneas separadoras azules → champaña */
.hr_color,
.hr_color.hr_custom,
.title_wrapper:after,
.mcb-section .mcb-wrap .mcb-item .mcb-column-inner hr.no_line,
hr.no_line,
.mcb-column-inner .hr_color,
.mcb-column-inner hr,
hr[style*="border-color"],
hr[style*="background-color"],
.mfn-divider,
.mcb-item-divider-inner hr {
  background-color: var(--re-champana) !important;
  border-color: var(--re-champana) !important;
  color: var(--re-champana) !important;
}

/* Líneas con color inline azul */
hr[style*="#2997e6"],
hr[style*="rgb(41, 151, 230)"],
hr[style*="#0095eb"],
hr[style*="#007acc"],
.hr_color[style*="border-color"],
.hr_color[style] {
  background-color: var(--re-champana) !important;
  border-color: var(--re-champana) !important;
}

/* Highlight sections azules → oscuro */
.mcb-section.highlight-right,
.mcb-section.highlight-left,
.mcb-section.highlight-right::after,
.mcb-section.highlight-left::before,
section.highlight-right,
section.highlight-left {
  background-color: var(--re-negro-suave) !important;
  background: var(--re-negro-suave) !important;
}

.mcb-section.highlight-right::after,
.mcb-section.highlight-right::before {
  background-color: var(--re-negro-suave) !important;
  background: var(--re-negro-suave) !important;
}

/* Divs decorativos azules inline (líneas cortas) */
div[style*="background: #1d88e"],
div[style*="background:#1d88e"],
div[style*="background-color: #1d88e"],
div[style*="background-color:#1d88e"],
div[style*="background: #1d88ed"],
div[style*="background:#1d88ed"],
.column_attr div[style*="#1d88e"] {
  background: var(--re-champana) !important;
  background-color: var(--re-champana) !important;
}

/* Botón play del video → champaña */
.content_video .play_button,
.mfn-video-wrapper .play_button,
a.play-video,
.play_button i,
.popup_video_wrapper .play_button,
.mfn-popup-video .play_button,
i.icon-play,
.button-love i,
.mcb-section .play_button,
.play_button {
  color: var(--re-champana) !important;
  background-color: rgba(10, 10, 10, 0.7) !important;
  border-color: var(--re-champana) !important;
}

.play_button:hover {
  color: var(--re-champana-claro) !important;
  background-color: rgba(10, 10, 10, 0.9) !important;
}

/* Checks/ticks azules → champaña */
.icon-check,
.list_item .icon,
.list_item .list_left {
  color: var(--re-champana) !important;
}

/* Secciones con fondo claro del demo → oscurecer */
.mcb-section[style*="background-color:#e4f0f3"],
.mcb-section[style*="background-color: #e4f0f3"],
.mcb-section[style*="background-color:#E4F0F3"],
.mcb-section[style*="background:#e4f0f3"],
.mcb-section[style*="e4f0f3"],
.mcb-section[style*="E4F0F3"],
.mcb-section[style*="rgb(228, 240, 243)"] {
  background-color: var(--re-negro-suave) !important;
}

/* Forzar fondo oscuro en TODAS las secciones */
.mcb-section {
  background-color: var(--re-negro-obsidiana) !important;
}

/* Secciones con imagen de fondo — overlay oscuro */
.mcb-section[style*="background-image"] {
  background-color: transparent !important;
}

.mcb-section[style*="background-image"] > .mcb-background-overlay {
  background-color: rgba(10, 10, 10, 0.75) !important;
}

/* Forzar fondo oscuro en secciones con background-color inline gris/claro */
.mcb-section[style*="background-color:#121a21"],
.mcb-section[style*="background-color: #121a21"],
.mcb-section[style*="#f7f7f7"],
.mcb-section[style*="#f5f5f5"],
.mcb-section[style*="#eeeeee"],
.mcb-section[style*="#f0f0f0"],
.mcb-section[style*="background-color:#fff"],
.mcb-section[style*="background-color: #fff"],
.mcb-section[style*="background-color:#ffffff"],
.mcb-section[style*="background-color: #ffffff"] {
  background-color: var(--re-negro-obsidiana) !important;
}

/* Ocultar filtro de portfolio vacío */
.portfolio_filters,
.portfolio-filters,
.isotope-filters,
.isotope-wrapper:empty,
.portfolio_wrapper:empty,
.posts_group:empty {
  display: none !important;
}

/* Ocultar sección de portfolio vacía */
.page-template-portfolio .section:empty,
.portfolio-page .sections_group > .section:last-child,
.column_portfolio,
.column.one.column_portfolio {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

.portfolio_wrapper.isotope_wrapper {
  display: none !important;
}

section.section > .section_wrapper > .column.one.column_portfolio {
  display: none !important;
}

/* Footer widgets — forzar color champaña en todos los textos */
#Footer .widget_text ul li,
#Footer .widget_text ul li span,
#Footer .widget_text ul li a {
  color: var(--re-champana) !important;
}

/* Forzar fondo oscuro en secciones claras */
.mcb-section .section_wrapper,
.mcb-section .mcb-wrap-inner {
  color: var(--re-blanco);
}

/* Revolution Slider — cuadro azul */
.rev_slider .tp-caption.rev-btn,
.rev_slider .tp-caption[style*="background-color:rgb(41, 151, 230)"],
.rev_slider .tp-caption[style*="background-color: rgb(41, 151, 230)"],
.rev_slider .tp-caption[style*="background:#2997e6"],
.rev_slider rs-layer[style*="background-color:rgb(41, 151, 230)"],
.rev_slider rs-layer[style*="background:#2997e6"] {
  background-color: var(--re-champana) !important;
}

/* Precio en fichas */
.pricing-box .plan-header,
.pricing-box .plan-header .price {
  color: var(--re-champana) !important;
}

/* Portfolio single — fondo oscuro */
.single-portfolio .section_wrapper,
.single-portfolio .sections_group,
.single-portfolio .the_content,
.single-portfolio .section,
.single-portfolio .mcb-section,
.single-portfolio #Content,
.single-portfolio .content_wrapper,
.single-portfolio .column_attr,
body.single-portfolio {
  background-color: var(--re-negro-obsidiana) !important;
}

.single-portfolio .portfolio-meta,
.single-portfolio .portfolio_wrapper {
  background-color: var(--re-negro-obsidiana) !important;
  color: var(--re-blanco) !important;
}

/* Related posts — fondo oscuro */
.single-portfolio .section-related-posts,
.single-portfolio .section.section-post-related,
.section-related-posts,
#Related_portfolio,
.related-posts-section,
.single-portfolio .section:last-of-type,
body.single-portfolio .section {
  background-color: var(--re-negro-obsidiana) !important;
}

/* Línea dorada solo antes de Related posts */
.section-related-posts,
#Related_portfolio {
  border-top: 1px solid var(--re-champana) !important;
  padding-top: 40px !important;
}

.section-related-posts h4,
.section-related-posts .post-title,
.section-related-posts a,
#Related_portfolio h4,
#Related_portfolio a {
  color: var(--re-champana) !important;
}

.section-related-posts .post-date,
.section-related-posts span,
#Related_portfolio span {
  color: var(--re-gris-texto) !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* ============================================
   REDES SOCIALES — Ocultar Skype, Twitter, LinkedIn
   Solo mostrar Facebook e Instagram
   ============================================ */

/* Ocultar Skype */
.social-menu a[href*="skype"],
.social-icons a[href*="skype"],
a.icon-skype,
.icon-skype,
a[href^="skype:"],
a[href^="callto:"],
#Top_bar .social a[href*="skype"],
.header-social a[href*="skype"],
.mfn-off-canvas-menu .social a[href*="skype"] {
  display: none !important;
}

/* Ocultar Twitter/X */
.social-menu a[href*="twitter"],
.social-menu a[href*="x.com"],
.social-icons a[href*="twitter"],
.social-icons a[href*="x.com"],
a.icon-twitter,
a.icon-x-twitter,
.icon-twitter,
.icon-x-twitter,
#Top_bar .social a[href*="twitter"],
#Top_bar .social a[href*="x.com"],
.header-social a[href*="twitter"],
.header-social a[href*="x.com"],
.mfn-off-canvas-menu .social a[href*="twitter"],
.mfn-off-canvas-menu .social a[href*="x.com"] {
  display: none !important;
}

/* Ocultar LinkedIn */
.social-menu a[href*="linkedin"],
.social-icons a[href*="linkedin"],
a.icon-linkedin,
.icon-linkedin,
#Top_bar .social a[href*="linkedin"],
.header-social a[href*="linkedin"],
.mfn-off-canvas-menu .social a[href*="linkedin"] {
  display: none !important;
}

@media (max-width: 768px) {
  h1 { font-size: 28px !important; }
  h2 { font-size: 24px !important; }
  h3 { font-size: 20px !important; }
  
  .re-uf-converter {
    max-width: 100%;
  }

  /* Mobile — Logo con más padding */
  #Top_bar .logo {
    padding: 20px 0 !important;
  }

  #Top_bar .logo img {
    max-height: 55px !important;
    padding: 10px 0 !important;
  }

  /* Mobile — Menú hamburguesa champaña */
  .responsive-menu-toggle,
  .menu-toggle,
  #menu-toggle,
  .mfn-hamburger {
    color: #c9a96e !important;
  }
  
  /* Forzar las 3 líneas del hamburguesa */
  .mfn-hamburger .hamburger-inner,
  .mfn-hamburger .hamburger-inner::before,
  .mfn-hamburger .hamburger-inner::after,
  .responsive-menu-toggle .menu-bar,
  .responsive-menu-toggle .menu-bar::before,
  .responsive-menu-toggle .menu-bar::after,
  #Header .header-toggle span,
  #Header .header-toggle span::before,
  #Header .header-toggle span::after {
    background-color: #c9a96e !important;
    height: 2px !important;
    display: block !important;
  }
  
  .mfn-hamburger .hamburger-inner,
  .responsive-menu-toggle .menu-bar,
  #Header .header-toggle span {
    width: 22px !important;
    position: relative !important;
  }
  
  .mfn-hamburger .hamburger-inner::before,
  .responsive-menu-toggle .menu-bar::before,
  #Header .header-toggle span::before {
    content: '' !important;
    position: absolute !important;
    top: -7px !important;
    left: 0 !important;
    width: 22px !important;
  }
  
  .mfn-hamburger .hamburger-inner::after,
  .responsive-menu-toggle .menu-bar::after,
  #Header .header-toggle span::after {
    content: '' !important;
    position: absolute !important;
    top: 7px !important;
    left: 0 !important;
    width: 22px !important;
  }

  /* Mobile — Menú desplegado fondo negro */
  #Top_bar .menu,
  .mfn-mobile-nav,
  .mobile-menu,
  #mobile-menu,
  .responsive-menu,
  #Top_bar .menu-toggle + nav,
  .mfn-off-canvas-sidebar {
    background-color: #1A1A1A !important;
  }

  #Top_bar .menu > li > a {
    color: var(--re-blanco) !important;
    border-bottom: 1px solid var(--re-negro-medio) !important;
  }

  /* Mobile — Más espacio entre secciones */
  .mcb-section {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
}


/* ============================================
   CONTADORES ANIMADOS
   ============================================ */

.re-counters {
  display: flex;
  justify-content: center;
  gap: 80px;
  padding: 40px 20px 20px;
  text-align: center;
  margin-bottom: 0px;
}

.re-counter {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.re-counter-value {
  display: inline-block;
  white-space: nowrap;
}

.re-counter-number,
.re-counter-suffix {
  font-family: var(--re-font-heading) !important;
  font-size: 52px !important;
  font-weight: 400 !important;
  color: var(--re-champana) !important;
  letter-spacing: 0.05em;
  line-height: 1 !important;
  display: inline !important;
}

.re-counter-label {
  display: block;
  margin-top: 16px;
  font-family: var(--re-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--re-gris-texto) !important;
}

@media (max-width: 768px) {
  .re-counters {
    flex-wrap: wrap;
    gap: 40px;
  }
  
  .re-counter-number,
  .re-counter-suffix {
    font-size: 38px !important;
  }
}

/* ============================================
   CONTACT FORM 7 — Estilos RE Signature
   ============================================ */

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
  background-color: var(--re-negro-suave) !important;
  border: 1px solid var(--re-negro-medio) !important;
  color: var(--re-blanco) !important;
  font-family: var(--re-font-body) !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 0.3s ease !important;
  border-radius: 0 !important;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--re-champana) !important;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: var(--re-gris-texto) !important;
}

.wpcf7 input[type="submit"] {
  background-color: var(--re-champana) !important;
  color: var(--re-negro-obsidiana) !important;
  font-family: var(--re-font-body) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: var(--re-letter-spacing) !important;
  text-transform: uppercase !important;
  padding: 14px 40px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  width: auto !important;
}

.wpcf7 input[type="submit"]:hover {
  background-color: var(--re-champana-claro) !important;
}

.wpcf7 label {
  color: var(--re-gris-texto) !important;
  font-family: var(--re-font-body) !important;
  font-size: 11px !important;
  letter-spacing: var(--re-letter-spacing) !important;
  text-transform: uppercase !important;
}

.wpcf7-response-output {
  border-color: var(--re-champana) !important;
  color: var(--re-blanco) !important;
}

/* ============================================
   WHATSAPP FLOATING BUTTON — Estilo Boutique
   ============================================ */

.re-whatsapp-float {
  position: fixed;
  bottom: 90px;
  right: 30px;
  width: 60px;
  height: 60px;
  background-color: var(--re-negro-obsidiana);
  border: 1px solid #c9a96e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  z-index: 9999;
  transition: all 0.3s ease;
  text-decoration: none !important;
  overflow: hidden;
}

.re-whatsapp-float:hover {
  transform: scale(1.1);
  background-color: var(--re-champana);
}

.re-whatsapp-float img {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  filter: brightness(0) invert(1);
}

.re-whatsapp-float:hover img {
  filter: brightness(0);
}

.re-whatsapp-float svg {
  width: 28px !important;
  height: 28px !important;
  fill: #c9a96e !important;
}

.re-whatsapp-float:hover svg {
  fill: var(--re-negro-obsidiana) !important;
}

/* Botón scroll to top — estilizar acorde */
#back_to_top,
.back_to_top,
a#back_to_top {
  background-color: var(--re-negro-obsidiana) !important;
  border: 1px solid var(--re-champana) !important;
  border-radius: 50% !important;
  width: 45px !important;
  height: 45px !important;
  right: 38px !important;
  bottom: 30px !important;
}

#back_to_top i,
.back_to_top i,
#back_to_top::before {
  color: var(--re-champana) !important;
}


/* ============================================
   Footer RE Signature
   ============================================ */

.re-footer {
  background-color: #1A1A1A;
  border-top: 1px solid #2a2a2a;
  padding: 60px 0 0;
  font-family: 'Montserrat', sans-serif;
}

.re-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 40px;
}

.re-footer-brand {}

.re-footer-logo {
  width: 200px;
  height: auto;
  margin-bottom: 20px;
}

.re-footer-tagline {
  color: #777 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.03em;
  margin: 0 !important;
}

.re-footer-col h4 {
  font-family: 'Montserrat', sans-serif !important;
  color: #c9a96e !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin: 0 0 20px 0 !important;
}

.re-footer-nav ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.re-footer-nav li {
  margin-bottom: 10px;
}

.re-footer-nav a {
  color: #999 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}

.re-footer-nav a:hover {
  color: #c9a96e !important;
}

.re-footer-contact p {
  color: #999 !important;
  font-size: 13px !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: 0.03em;
}

.re-footer-contact a {
  color: #999 !important;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

.re-footer-contact a:hover {
  color: #c9a96e !important;
}

.re-footer-icons {
  display: flex;
  gap: 16px;
}

.re-footer-icons a {
  color: #777 !important;
  transition: color 0.3s ease;
  text-decoration: none !important;
}

.re-footer-icons a:hover {
  color: #c9a96e !important;
}

.re-footer-icons svg {
  display: block;
}

/* Footer bottom */
.re-footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 30px;
  margin-top: 50px;
  border-top: 1px solid #1e1e1e;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.re-footer-bottom p {
  color: #555 !important;
  font-size: 11px !important;
  letter-spacing: 0.05em;
  margin: 0 !important;
}

.re-footer-legal {
  display: flex;
  gap: 20px;
}

.re-footer-legal a {
  color: #555 !important;
  font-size: 11px !important;
  text-decoration: none !important;
  letter-spacing: 0.03em;
  transition: color 0.3s ease;
}

.re-footer-legal a:hover {
  color: #c9a96e !important;
}

/* Footer Responsive — Pantallas pequeñas desktop (Mac 13") */
@media (max-width: 1366px) and (min-width: 1025px) {
  .re-footer-inner {
    gap: 25px;
  }
  
  .re-footer-contact p {
    white-space: nowrap;
    font-size: 12px !important;
  }
  
  .re-footer-logo {
    width: 160px;
  }
  
  .re-footer-tagline {
    font-size: 12px !important;
  }
}

/* Footer Responsive — Tablet (iPad) */
@media (max-width: 1024px) {
  .re-footer-inner {
    grid-template-columns: 1fr 1.3fr 0.7fr !important;
    gap: 40px 30px !important;
  }
  
  .re-footer-brand {
    grid-column: 1 / -1 !important;
    text-align: center !important;
  }
  
  .re-footer-logo {
    margin: 0 auto 20px !important;
  }
  
  .re-footer-tagline {
    text-align: center !important;
  }
  
  .re-footer-nav,
  .re-footer-contact,
  .re-footer-social {
    text-align: left;
  }
  
  .re-footer-col h4 {
    white-space: nowrap;
  }
  
  .re-footer-contact p {
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  
  .re-footer-icons {
    justify-content: flex-start;
  }
  
  .re-footer-bottom {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
  
  .re-footer-legal {
    justify-content: center;
  }
}

/* Footer Responsive — Mobile (iPhone) */
@media (max-width: 850px) {
  .re-footer {
    padding: 40px 20px 0 !important;
  }
  
  .re-footer-inner {
    display: block !important;
    text-align: center !important;
  }
  
  .re-footer-brand {
    margin-bottom: 35px;
  }
  
  .re-footer-logo {
    width: 150px !important;
    margin: 0 auto 15px !important;
  }
  
  .re-footer-tagline {
    font-size: 12px !important;
  }
  
  .re-footer-nav,
  .re-footer-contact,
  .re-footer-social {
    margin-bottom: 30px;
  }
  
  .re-footer-col h4 {
    font-size: 9px !important;
    margin-bottom: 15px !important;
  }
  
  .re-footer-nav ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .re-footer-nav li {
    margin-bottom: 10px;
  }
  
  .re-footer-nav a {
    font-size: 13px !important;
  }
  
  .re-footer-contact p {
    font-size: 13px !important;
  }
  
  .re-footer-icons {
    justify-content: center;
  }
  
  .re-footer-bottom {
    margin-top: 30px;
    padding: 20px 15px;
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
  
  .re-footer-bottom p {
    font-size: 10px !important;
  }
  
  .re-footer-legal {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
  }
  
  .re-footer-legal a {
    font-size: 10px !important;
  }
}

/* ============================================
   Hero Section con Video
   ============================================ */

.re-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  height: 85vh;
  min-height: 500px;
  max-height: 800px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.re-hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 85%;
}

.re-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(26, 26, 26, 0.4) 0%, rgba(26, 26, 26, 0.7) 100%);
}

.re-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 30px;
}

.re-hero-title {
  font-family: 'Cinzel', serif !important;
  color: #f5f5f0 !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  margin: 0 0 16px 0 !important;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

.re-hero-subtitle {
  font-family: 'Montserrat', sans-serif !important;
  color: #c9a96e !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .re-hero {
    height: 60vh;
    min-height: 350px;
  }

  .re-hero-video {
    object-position: center center;
  }

  .re-hero-title {
    font-size: 28px !important;
  }

  .re-hero-subtitle {
    font-size: 11px !important;
  }
}

/* ============================================
   Colecciones
   ============================================ */

.re-colecciones {
  padding: 60px 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.re-colecciones-title {
  font-family: 'Cinzel', serif !important;
  color: #c9a96e !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  text-align: center;
  margin: 0 0 40px 0 !important;
}

.re-colecciones-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.re-coleccion-card {
  position: relative;
  display: block;
  height: 180px;
  overflow: hidden;
  text-decoration: none !important;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
}

.re-coleccion-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s ease;
}

.re-coleccion-card:hover .re-coleccion-bg {
  transform: scale(1.05);
}

.re-coleccion-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(26, 26, 26, 0.9) 0%, rgba(26, 26, 26, 0.3) 100%);
  transition: background 0.3s ease;
}

.re-coleccion-card:hover .re-coleccion-overlay {
  background: linear-gradient(to top, rgba(26, 26, 26, 0.95) 0%, rgba(26, 26, 26, 0.4) 100%);
}

.re-coleccion-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 30px;
  z-index: 2;
}

.re-coleccion-content h3 {
  font-family: 'Cinzel', serif !important;
  color: #c9a96e !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 8px 0 !important;
}

.re-coleccion-content p {
  font-family: 'Montserrat', sans-serif !important;
  color: #bbb !important;
  font-size: 12px !important;
  letter-spacing: 0.05em;
  margin: 0 !important;
  line-height: 1.6 !important;
}

@media (max-width: 768px) {
  .re-colecciones-grid {
    grid-template-columns: 1fr !important;
  }

  .re-coleccion-card {
    height: 220px;
  }

  .re-coleccion-content h3 {
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
  }

  .re-coleccion-content p {
    font-size: 11px !important;
  }

  .re-coleccion-content {
    padding: 16px !important;
  }
}

/* Modal video fullscreen — Conceptos Inmobiliarios */
.re-concepto-video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100001;
  background-color: rgba(0, 0, 0, 0.95);
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.re-concepto-video-modal.active {
  opacity: 1;
}

.re-concepto-video-modal .re-concepto-video-close {
  position: fixed;
  top: 60px;
  right: 24px;
  z-index: 100010;
}

.re-concepto-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.re-concepto-video-close {
  position: fixed;
  top: 60px;
  right: 24px;
  z-index: 100010;
  background-color: rgba(0, 0, 0, 0.9) !important;
  border: 2px solid #c9a96e !important;
  color: #fff !important;
  font-size: 24px !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0 !important;
  line-height: 1;
  pointer-events: all;
}

.re-concepto-video-close:hover {
  background-color: #D4AF37 !important;
  color: #1A1A1A !important;
  border-color: #D4AF37 !important;
}

/* Ocultar footer original de BeTheme */
#Footer {
  display: none !important;
}

/* Fix: eliminar marcos blancos en propiedades destacadas (home) */
.re-wasi-featured .re-wasi-card,
.re-wasi-featured .re-wasi-card-carousel,
.re-wasi-featured .re-wasi-card-slide,
.re-wasi-featured .re-wasi-card-slide img,
.re-wasi-featured img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.re-wasi-featured .re-wasi-card-carousel {
  background-color: #1a1a1a !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.re-wasi-featured .re-wasi-card-slide img {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  min-width: 110% !important;
  min-height: 110% !important;
  width: auto !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}
}

/* Ocultar subheader de BeTheme en páginas internas */
#Subheader {
  display: none !important;
}

/* Fix padding secciones BeTheme */
.mcb-section {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

/* Ocultar Slider Revolution */
.mfn-main-slider,
.mfn-rev-slider {
  display: none !important;
}

/* Fix menú mobile */
#Top_bar a.responsive-menu-toggle {
  color: #c9a96e !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

#Top_bar a.responsive-menu-toggle i {
  color: #c9a96e !important;
}

/* ============================================
   Property Advisory
   ============================================ */

.re-advisory {
  padding: 80px 30px;
  border-top: 1px solid #2a2a2a;
  border-bottom: 1px solid #2a2a2a;
}

.re-advisory-inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.re-advisory-title {
  font-family: 'Cinzel', serif !important;
  color: #c9a96e !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  margin: 0 0 10px 0 !important;
}

.re-advisory-subtitle {
  font-family: 'Montserrat', sans-serif !important;
  color: #777 !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
  margin: 0 0 50px 0 !important;
}

.re-advisory-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
  text-align: center;
}

.re-advisory-item {}

.re-advisory-icon {
  margin-bottom: 20px;
  color: #c9a96e;
}

.re-advisory-icon svg {
  stroke: #c9a96e;
}

.re-advisory-item h3 {
  font-family: 'Montserrat', sans-serif !important;
  color: #f5f5f0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
}

.re-advisory-item p {
  color: #888 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .re-advisory-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .re-advisory {
    padding: 50px 20px;
  }
}

/* ============================================
   Quiénes Somos / Dirección Estratégica
   ============================================ */

.re-about {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px 30px 60px;
}

.re-about-manifiesto {
  margin-bottom: 70px;
  text-align: center;
}

.re-about-title {
  font-family: 'Cinzel', serif !important;
  color: #c9a96e !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  margin: 0 0 30px 0 !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
}

.re-about-text p {
  color: #bbb !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  line-height: 2 !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em;
  max-width: 750px;
  margin: 0 auto !important;
}

.re-about-equipo {
  margin-bottom: 70px;
  padding: 40px 0;
  border-top: 1px solid #2a2a2a;
  border-bottom: 1px solid #2a2a2a;
  text-align: center;
}

.re-about-subtitle {
  font-family: 'Cinzel', serif !important;
  color: #c9a96e !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.5 !important;
}

.re-about-pilar h4 {
  font-family: 'Montserrat', sans-serif !important;
  color: #f5f5f0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.5 !important;
}

.re-about-pilar p {
  color: #888 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

.re-about-text p {
  color: #bbb !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 2 !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em;
  max-width: 750px;
  margin: 0 auto !important;
}

.re-about-equipo-text {
  color: #999 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  font-weight: 400 !important;
  max-width: 600px;
  margin: 0 auto !important;
}

/* Pilares */
.re-about-pilares {
  text-align: center;
}

.re-about-pilares > .re-about-subtitle {
  margin-bottom: 40px !important;
}

.re-about-pilares-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  text-align: left;
}

.re-about-pilar {
  padding: 30px 0;
}

.re-about-pilar-number {
  font-family: 'Cinzel', serif;
  color: #c9a96e;
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
}

.re-about-pilar h4 {
  font-family: 'Montserrat', sans-serif !important;
  color: #f5f5f0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
}

.re-about-pilar p {
  color: #888 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .re-about-pilares-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .re-about-pilar {
    text-align: center;
  }
}

/* ============================================
   Página de Contacto
   ============================================ */

.re-contacto {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 30px 30px;
}

.re-contacto-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

.re-contacto-title {
  font-family: 'Cinzel', serif !important;
  color: #c9a96e !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  margin: 0 0 12px 0 !important;
  text-transform: none !important;
}

.re-contacto-intro {
  color: #777 !important;
  font-size: 13px !important;
  font-family: 'Montserrat', sans-serif !important;
  margin: 0 0 30px 0 !important;
  letter-spacing: 0.03em;
}

.re-contacto-fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.re-contacto-fields input,
.re-contacto-fields textarea {
  width: 100%;
  background-color: #1A1A1A;
  border: 1px solid #333;
  border-radius: 0;
  color: #f5f5f0;
  padding: 14px 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  outline: none;
  transition: border-color 0.3s ease;
}

.re-contacto-fields input:focus,
.re-contacto-fields textarea:focus {
  border-color: #c9a96e;
}

.re-contacto-fields input::placeholder,
.re-contacto-fields textarea::placeholder {
  color: #666;
}

.re-contacto-fields textarea {
  resize: vertical;
  min-height: 100px;
}

.re-contacto-submit {
  background-color: #c9a96e !important;
  color: #1A1A1A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border: none !important;
  cursor: pointer;
  transition: background-color 0.3s ease !important;
  align-self: flex-start;
}

.re-contacto-submit:hover {
  background-color: #d4b87a !important;
}

.re-contacto-success {
  background-color: rgba(212, 175, 55, 0.1);
  border: 1px solid #c9a96e;
  padding: 16px 20px;
  margin-bottom: 24px;
}

.re-contacto-success p {
  color: #c9a96e !important;
  font-size: 13px !important;
  font-family: 'Montserrat', sans-serif !important;
  margin: 0 !important;
}

/* Info de contacto */
.re-contacto-info {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.re-contacto-datos h3 {
  font-family: 'Montserrat', sans-serif !important;
  color: #c9a96e !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin: 20px 0 8px 0 !important;
}

.re-contacto-datos h3:first-child {
  margin-top: 0 !important;
}

.re-contacto-datos p {
  color: #bbb !important;
  font-size: 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.6 !important;
}

.re-contacto-datos a {
  color: #bbb !important;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

.re-contacto-datos a:hover {
  color: #c9a96e !important;
}

.re-contacto-nota {
  color: #666 !important;
  font-size: 12px !important;
  font-style: italic;
  margin-top: 4px !important;
}

.re-contacto-social {
  display: flex;
  gap: 14px;
  margin-top: 24px;
}

.re-contacto-social a {
  color: #777 !important;
  transition: color 0.3s ease;
}

.re-contacto-social a:hover {
  color: #c9a96e !important;
}

/* Mapa de contacto */
#re-contacto-map {
  width: 100%;
  height: 100%;
}

.re-contacto-map-preview {
  position: relative;
  width: 100%;
  height: 220px;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.3s ease;
}

.re-contacto-map-preview:hover {
  border-color: #D4AF37;
}

.re-contacto-map-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: rgba(26, 26, 26, 0.4);
  color: #f5f5f0;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.re-contacto-map-preview:hover .re-contacto-map-overlay {
  opacity: 1;
}

/* Modal mapa fullscreen contacto */
.re-contacto-fullmap-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100001;
  background-color: #1A1A1A;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.re-contacto-fullmap-modal.active {
  opacity: 1;
}

.re-contacto-fullmap {
  width: 100%;
  height: 100%;
}

.re-contacto-fullmap-close {
  position: absolute;
  top: 16px;
  right: 20px;
  z-index: 100002;
  background-color: #1A1A1A !important;
  border: 1px solid #333 !important;
  color: #f5f5f0 !important;
  font-size: 24px !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0 !important;
  letter-spacing: 0 !important;
}

.re-contacto-fullmap-close:hover {
  background-color: #D4AF37 !important;
  color: #1A1A1A !important;
  border-color: #D4AF37 !important;
}

/* Etiquetas de calles en dorado #D4AF37 */
.re-map-labels-gold {
  filter: sepia(1) saturate(1.8) hue-rotate(15deg) brightness(0.85);
}

@media (max-width: 1024px) {
  .re-contacto-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .re-contacto-title {
    font-size: 24px !important;
    letter-spacing: 0.15em !important;
    white-space: nowrap;
  }
}

/* ============================================
   CTA — Call to Action
   ============================================ */

.re-cta {
  background-color: #1A1A1A;
  border-top: 1px solid #2a2a2a;
  border-bottom: 1px solid #2a2a2a;
  padding: 50px 30px;
  text-align: center;
  margin-top: -50px;
}

.re-cta-inner {
  max-width: 700px;
  margin: 0 auto;
}

.re-cta-title {
  font-family: 'Cinzel', serif !important;
  color: #f5f5f0 !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em;
  line-height: 1.5 !important;
  margin: 0 0 16px 0 !important;
}

@media (max-width: 600px) {
  .re-cta-title {
    font-size: 20px !important;
  }
  .re-cta {
    padding: 50px 20px !important;
  }
}

.re-cta-subtitle {
  color: #777 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.05em;
  margin: 0 0 36px 0 !important;
}

.re-cta-btn {
  display: inline-block;
  background: #c9a96e !important;
  background-color: #c9a96e !important;
  color: #1A1A1A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  border: none !important;
  text-decoration: none !important;
  transition: background-color 0.3s ease !important;
  opacity: 1 !important;
}

.re-cta-btn:hover {
  background: #d4b87a !important;
  background-color: #d4b87a !important;
  color: #1A1A1A !important;
}

/* Responsive footer */
@media (max-width: 992px) {
  .re-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}

@media (max-width: 600px) {
  .re-footer-inner {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }

  .re-footer-icons {
    justify-content: center;
  }

  .re-footer-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
}

/* ===========================================
   RESPONSIVE — TABLET PORTRAIT (iPad 11")
   ============================================ */

@media (max-width: 1024px) {
  /* Formulario contacto: forzar columna vertical */
  .mcb-section .mcb-section-inner .mcb-wrap {
    width: 100% !important;
    float: none !important;
    margin-bottom: 20px !important;
  }

  .mcb-section .mcb-section-inner {
    flex-direction: column !important;
    display: flex !important;
  }

  /* BeTheme column widths — force full width on tablet */
  .mcb-wrap.one-second,
  .mcb-wrap.one-third,
  .mcb-wrap.two-third,
  .mcb-wrap.one-fourth,
  .mcb-wrap.three-fourth {
    width: 100% !important;
    float: none !important;
  }

  /* Formulario inputs full width */
  .wpcf7 {
    max-width: 100% !important;
    padding: 0 20px !important;
  }

  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 textarea {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Colecciones grid: 2 columnas en tablet (no móvil) */
  .re-colecciones-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Footer: stack en tablet */
  .re-footer-content {
    flex-direction: column !important;
    gap: 30px !important;
  }

  .re-footer-content > div {
    width: 100% !important;
  }
}
