/* ===== REINA RAMÍREZ — CUSTOM STYLES ===== */

/* ─── Contact page form ─────────────────── */
.title-contact { font-size: 44px !important; }

@media (max-width: 768px) {
  .vc_row .wpb_row .vc_column_container,
  .vc_row > .vc_column_container { display: flex; flex-direction: column; }
  .title-contact { font-size: 38px !important; }
  .contacto-form-wrap { order: -1 !important; }
}

.contacto-form-wrap .rr-form {
  border-radius: 4px !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  background: white;
  padding: 32px 28px !important;
}

.contacto-form-wrap .rr-form label {
  color: #023373 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  display: block !important;
  margin-bottom: 16px !important;
  letter-spacing: 0.3px !important;
}

.contacto-form-wrap .rr-form .form-control {
  background-color: rgba(255,255,255,0.08) !important;
  border: 2px solid #cccccc !important;
  border-radius: 6px !important;
  color: #737373 !important;
  padding: 10px 14px !important;
  width: 100% !important;
  font-size: 14px !important;
  transition: border-color 0.2s ease !important;
  box-sizing: border-box;
}

.contacto-form-wrap .rr-form .form-control::placeholder { color: #cccccc !important; }

.contacto-form-wrap .rr-form .form-control:focus {
  border-color: #c7a569 !important;
  outline: none !important;
  background-color: rgba(255,255,255,0.12) !important;
}

.contacto-form-wrap .rr-form select.form-control { cursor: pointer !important; }

.contacto-form-wrap .rr-phone-prefix {
  color: #c7a569 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  white-space: nowrap;
}

.contacto-form-wrap .rr-form .rr-submit {
  background-color: #c7a569 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  width: 100% !important;
  cursor: pointer !important;
  letter-spacing: 0.5px !important;
  transition: background-color 0.2s ease !important;
  margin-top: 8px !important;
  font-family: 'Fira Sans', sans-serif;
}

.contacto-form-wrap .rr-form .rr-submit:hover:not(:disabled) { background-color: #b8924e !important; }
.contacto-form-wrap .rr-form .rr-submit:disabled { opacity: 0.7; cursor: not-allowed; }

/* Turnstile */
.rr-turnstile { margin: 16px 0 8px; }

/* Form feedback */
#rr-form-feedback { margin-top: 12px; font-size: 14px; font-family: 'Montserrat', sans-serif; }
#rr-form-feedback.rr-success { color: #2e7d32; font-weight: 600; }
#rr-form-feedback.rr-error   { color: #c62828; }

/* Phone row */
.rr-phone-row { display: flex; align-items: center; gap: 8px; }
.rr-phone-row .rr-phone-prefix { min-width: 28px; }
.rr-phone-row .form-control { flex: 1; }

/* ─── Back to top ──────────────────────── */
#mkdf-back-to-top {
  right: 25px !important;
  left: auto !important;
  bottom: 88px !important;
  border-radius: 50% !important;
  box-shadow: 0 3px 4px rgba(0,0,0,0.25) !important;
  transition: opacity 0.2s ease !important;
}
.mkdf-back-to-top-bgrnd { display: none !important; }
#mkdf-back-to-top:hover {
  opacity: 1 !important;
  transform: translateY(-3px) !important;
  background-color: #c7a569 !important;
}
#mkdf-back-to-top .fa-chevron-up { font-size: 14px !important; color: #ffffff !important; }
#mkdf-back-to-top .mkdf-icon-stack { color: #03132D !important; }
#mkdf-back-to-top > span { background: #2148BF; }
#mkdf-back-to-top > span:hover { background: #023373; }

/* ─── Casos section ────────────────────── */
.mkdf-section .wpb_column.vc_col-sm-4.vc_col-has-fill { display: flex; flex-direction: column; }
.mkdf-section .wpb_column.vc_col-sm-4.vc_col-has-fill .vc_column-inner { display: flex; flex-direction: column; flex: 1; height: 100%; }
.mkdf-section .wpb_column.vc_col-sm-4.vc_col-has-fill .wpb_wrapper { display: flex; flex-direction: column; height: 100%; }
.mkdf-section .wpb_column.vc_col-sm-4.vc_col-has-fill .wpb_raw_html:last-of-type { margin-top: auto; }

.caso-spoiler {
  font-size: 13px; font-style: italic; color: #555;
  border-left: 3px solid #023373; padding-left: 10px;
  margin: 12px 0 10px; line-height: 1.5;
}

.btn-ver-caso {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
  color: #023373 !important; font-size: 16px; font-weight: 600;
  letter-spacing: 0.3px; text-decoration: none !important;
  text-transform: none; transition: gap 0.2s ease, color 0.2s ease;
}
.btn-ver-caso:hover { color: #011f52 !important; gap: 10px; }

/* ─── Mobile galleries ─────────────────── */
@media (max-width: 768px) {
  .home .mkdf-image-gallery { display: none !important; }
  .home .blue-text { display: none !important; }
}

/* ─── Team ─────────────────────────────── */
.mkdf-team.main-info-on-hover .mkdf-team-image img { display: flex; }
h6.q_team_position { color: #023373 !important; }
.blue-text h4 { color: #023373 !important; }
.more-info { font-family: "Helvetica Neue", Arial, sans-serif; font-size: 13px !important; }

/* ─── Header ───────────────────────────── */
.mkdf-header-standard-extended .mkdf-page-header .mkdf-menu-area { border-bottom: 0; background: #023373 !important; }
.mkdf-header-standard-extended .mkdf-page-header .mkdf-logo-area .mkdf-logo-wrapper a { max-width: 120px !important; max-height: 118px !important; }
.mkdf-header-standard-extended.mkdf-light-header .mkdf-logo-area .mkdf-logo-widget-area .widget.widget_mkd_icon_with_text_widget .mkdf-iwt .mkdf-iwt-content-holder .mkdf-iwt-text-holder p,
.mkdf-header-standard-extended.mkdf-light-header .mkdf-logo-area .mkdf-logo-widget-area .widget.widget_mkd_icon_with_text_widget .mkdf-iwt .mkdf-iwt-content-holder .mkdf-iwt-title-holder h6 { color: #ffffff !important; }
.mkdf-header-standard-extended.mkdf-dark-header .mkdf-logo-area .mkdf-logo-widget-area .widget.widget_mkd_icon_with_text_widget .mkdf-iwt .mkdf-iwt-content-holder .mkdf-iwt-text-holder p,
.mkdf-header-standard-extended.mkdf-dark-header .mkdf-logo-area .mkdf-logo-widget-area .widget.widget_mkd_icon_with_text_widget .mkdf-iwt .mkdf-iwt-content-holder .mkdf-iwt-title-holder h6 { color: white !important; }
.mkdf-page-header { background: white !important; }
.mkdf-header-standard-extended .mkdf-page-header .mkdf-logo-area .mkdf-logo-widget-area .widget.widget_mkd_icon_with_text_widget .mkdf-iwt .mkdf-iwt-icon-holder .mkdf-icon-shortcode i { color: #ffffff !important; }
.mkdf-header-standard-extended .mkdf-page-header .mkdf-logo-area { background: #023373 !important; border-color: transparent; }
.mkdf-header-standard .mkdf-menu-area .mkdf-vertical-align-containers { background: #023373 !important; display: none !important; }
.mkdf-header-standard-extended .mkdf-page-header .mkdf-menu-area .mkdf-vertical-align-containers { border: none; background: #023373 !important; }
.mkdf-page-header .mkdf-sticky-header .mkdf-sticky-holder { background: #023373 !important; }
.mkdf-page-header { margin-bottom: -44px; background: #5a5a5a; }
.mkdf-main-menu > ul > li > a span.item_inner { color: white; }
.mkdf-interactive-banner-text-holder a.mkdf-btn { display: none; }
.mkdf-header-standard.mkdf-dark-header .mkdf-page-header > div:not(.mkdf-sticky-header) .mkdf-search-opener > i,
.mkdf-header-standard.mkdf-dark-header.mkdf-header-style-on-scroll .mkdf-page-header .mkdf-search-opener > i { color: white !important; }

/* ─── Top bar ──────────────────────────── */
.mkdf-top-bar { background: #03132D !important; }
@media only screen and (max-width: 600px) {
  .mkdf-top-bar .mkdf-position-left-inner,
  .mkdf-top-bar .mkdf-position-right-inner { display: none; }
}

/* ─── Footer ───────────────────────────── */
footer .widget.widget_text .mkdf-icon-list-item .mkdf-icon-list-icon-holder-inner i { font-size: 21px !important; color: #03132D !important; }
footer .widget.widget_text li:before { color: #93C6E5 !important; }

/* ─── CTA section ──────────────────────── */
.cta-premium a, .cta-premium .mkdf-btn, .cta-premium .vc_btn3, .cta-premium .mkdf-btn-text { font-size: 17px !important; font-weight: 600 !important; letter-spacing: 0.2px; }
.cta-premium .mkdf-btn, .cta-premium a {
  background-color: #f5f1ea !important; color: #1f1f1f !important;
  border: 1px solid rgba(0,0,0,0.08) !important; border-radius: 6px !important;
  padding: 16px 34px !important; box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  transition: all 0.25s ease;
}
.cta-premium .mkdf-btn:hover, .cta-premium a:hover {
  background-color: #ffffff !important; color: #0b3a82 !important;
  transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,0.14);
}
.cta-premium .mkdf-btn-text { font-family: "Helvetica Neue", Arial, sans-serif; }
.cta-premium i, .cta-premium .mkdf-btn-icon { font-size: 18px !important; margin-left: 8px; transition: transform 0.25s ease; }
.cta-premium .mkdf-btn:hover i, .cta-premium a:hover i, .cta-premium .mkdf-btn:hover .mkdf-btn-icon { transform: translateX(3px); }

/* ─── Process ──────────────────────────── */
.mkdf-process-holder .mkdf-process-item-holder .mkdf-pi-text-holder p { margin: 0; color: black; }
.mkdf-process-holder .mkdf-process-item-holder:hover .mkdf-pi-icon-holder .mkdf-pi-number { color: black; }
.mkdf-process-holder .mkdf-process-item-holder .mkdf-pi-icon-holder .mkdf-pi-icon { color: black; }

/* ─── Typography ───────────────────────── */
.mkdf-custom-font-holder { font-family: Montserrat !important; line-height: 30px !important; letter-spacing: 0px !important; text-align: center !important; }
.titulo-portada .wpb_wrapper h4 { margin-top: 20px !important; margin-bottom: 10px !important; color: white !important; text-align: center; }

/* ─── Inner page banner ────────────────── */
.mkdf-title.mkdf-standard-type { background-color: #f5f5f5 !important; max-height: 200px !important; }
.mkdf-title.mkdf-standard-type h1 { font-size: 48px !important; }
.mkdf-title.mkdf-standard-type h1 span { color: #023373 !important; }
.mkdf-title.mkdf-standard-type .mkdf-title-image { display: none !important; }

/* ─── WhatsApp button ──────────────────── */
@media (max-width: 768px) { .qlwapp-container { bottom: 80px !important; } }

/* ─── Content spacing ──────────────────── */
.mkdf-content-inner { margin-top: -60px; padding-top: 0; }

/* ─── Responsive ───────────────────────── */
@media only screen and (min-width: 480px) and (max-width: 768px) {
  .mkdf-section.mkdf-parallax-section-holder { width: 800px !important; }
}
@media only screen and (max-width: 480px) {
  .mkdf-section.mkdf-parallax-section-holder { height: auto !important; min-height: 300px; width: auto !important; min-width: 380px; }
}
@media only screen and (max-width: 1024px) {
  .mkdf-title .mkdf-title-holder h1 span { margin-top: 20px; font-size: 42px; font-family: 'Montserrat', sans-serif; }
}
@media only screen and (max-width: 768px) {
  .mkdf-elements-holder.mkdf-responsive-mode-768.mkdf-five-columns .mkdf-elements-holder-item,
  .mkdf-elements-holder.mkdf-responsive-mode-768.mkdf-four-columns .mkdf-elements-holder-item,
  .mkdf-elements-holder.mkdf-responsive-mode-768.mkdf-six-columns .mkdf-elements-holder-item,
  .mkdf-elements-holder.mkdf-responsive-mode-768.mkdf-three-columns .mkdf-elements-holder-item,
  .mkdf-elements-holder.mkdf-responsive-mode-768.mkdf-two-columns .mkdf-elements-holder-item { margin-top: 0; }
}
@media only screen and (min-width: 992px) {
  .titulo-portada .wpb_wrapper h4 { margin-top: 0 !important; margin-bottom: 15px !important; font-size: 1rem !important; margin-left: 350px; }
  .mkdf-custom-font-holder { line-height: 35px !important; letter-spacing: 0.07em !important; max-width: 80% !important; margin: 0 auto !important; font-size: 0.8rem !important; margin-right: -9rem !important; }
}
@media screen and (max-width: 768px) {
  #page, .content, .mkdf-content { padding-top: 0 !important; margin-top: 0 !important; }
}

/* ─── WPBakery button spacing ──────────── */
.vc_do_btn { margin-bottom: 22px; }

/* ═══════════════════════════════════════════════════════════════════════
   TEXT VISIBILITY FIX
   style_dynamic.css sets h1-h6 and p to #ffffff globally (WP theme setting).
   Restore dark text everywhere except intentionally dark/image sections.
   ═══════════════════════════════════════════════════════════════════════ */

.wpb_wrapper h1,
.wpb_wrapper h2,
.wpb_wrapper h3,
.wpb_wrapper h4,
.wpb_wrapper h5,
.wpb_wrapper h6 { color: #272727; }

.wpb_wrapper p,
.wpb_wrapper li { color: #555555; }

/* Restore white text on dark navy sections */
[style*="background-color:#023373"] .wpb_wrapper h1,
[style*="background-color:#023373"] .wpb_wrapper h2,
[style*="background-color:#023373"] .wpb_wrapper h3,
[style*="background-color:#023373"] .wpb_wrapper h4,
[style*="background-color:#023373"] .wpb_wrapper h5,
[style*="background-color:#023373"] .wpb_wrapper h6,
[style*="background-color:#023373"] .wpb_wrapper p,
[style*="background-color:#023373"] .wpb_wrapper li { color: #ffffff; }

/* Restore white text on hero (parallax background image) */
.mkdf-parallax-section-holder .wpb_wrapper h1,
.mkdf-parallax-section-holder .wpb_wrapper h2,
.mkdf-parallax-section-holder .wpb_wrapper h3,
.mkdf-parallax-section-holder .wpb_wrapper h4,
.mkdf-parallax-section-holder .wpb_wrapper p,
.mkdf-parallax-section-holder .wpb_wrapper li { color: #ffffff; }

/* Honor explicit inline color= set by WPBakery shortcodes */
.wpb_wrapper [style*="color:#ffffff"] { color: #ffffff !important; }
.wpb_wrapper [style*="color: #ffffff"] { color: #ffffff !important; }
.wpb_wrapper [style*="color:#023373"] { color: #023373 !important; }
.wpb_wrapper [style*="color:#c7a569"] { color: #c7a569 !important; }

/* Light grey background sections */
[style*="background-color:#C3C6D3"] .wpb_wrapper h1,
[style*="background-color:#C3C6D3"] .wpb_wrapper h2,
[style*="background-color:#C3C6D3"] .wpb_wrapper h3,
[style*="background-color:#C3C6D3"] .wpb_wrapper p { color: #272727; }

/* Process steps */
.mkdf-pi-number,
.mkdf-pi-title { color: #272727 !important; }
.mkdf-pi-text-holder p { color: #555555 !important; }

/* Team section */
.mkdf-team-name { color: #272727 !important; }
.mkdf-team-description p { color: #555555 !important; }

/* Dismiss loader (modules.min.js handles this on HTTP; needed for local dev) */
.mkdf-smooth-transition-loader { opacity: 0 !important; pointer-events: none !important; }

/* ═══════════════════════════════════════════════════════════════════════
   TEXT VISIBILITY — v2 with !important
   style_dynamic.css sets heading/body text to #fff globally.
   custom.css loads last so wins on specificity, but adding !important
   is the only guaranteed fix when the theme uses high-specificity selectors.
   ═══════════════════════════════════════════════════════════════════════ */

/* Force dark text on all light sections */
.wpb_wrapper h1,
.wpb_wrapper h2,
.wpb_wrapper h3,
.wpb_wrapper h4,
.wpb_wrapper h5,
.wpb_wrapper h6 { color: #272727 !important; }

.wpb_wrapper p,
.wpb_wrapper li,
.wpb_wrapper span { color: #555555 !important; }

/* Dark navy sections — restore white (attribute selector = higher specificity) */
[style*="background-color:#023373"] .wpb_wrapper h1,
[style*="background-color:#023373"] .wpb_wrapper h2,
[style*="background-color:#023373"] .wpb_wrapper h3,
[style*="background-color:#023373"] .wpb_wrapper h4,
[style*="background-color:#023373"] .wpb_wrapper h5,
[style*="background-color:#023373"] .wpb_wrapper h6,
[style*="background-color:#023373"] .wpb_wrapper p,
[style*="background-color:#023373"] .wpb_wrapper li,
[style*="background-color:#023373"] .wpb_wrapper span { color: #ffffff !important; }

/* Hero parallax section — white text on image background */
.mkdf-parallax-section-holder .wpb_wrapper h1,
.mkdf-parallax-section-holder .wpb_wrapper h2,
.mkdf-parallax-section-holder .wpb_wrapper h3,
.mkdf-parallax-section-holder .wpb_wrapper h4,
.mkdf-parallax-section-holder .wpb_wrapper p,
.mkdf-parallax-section-holder .wpb_wrapper li,
.mkdf-parallax-section-holder .wpb_wrapper span { color: #ffffff !important; }

/* Grey cases section */
[style*="background-color:#C3C6D3"] .wpb_wrapper h1,
[style*="background-color:#C3C6D3"] .wpb_wrapper h2,
[style*="background-color:#C3C6D3"] .wpb_wrapper h3,
[style*="background-color:#C3C6D3"] .wpb_wrapper p { color: #272727 !important; }

/* Inline WPBakery color overrides — allow these to win */
.wpb_wrapper [style*="color:#ffffff"] { color: #ffffff !important; }
.wpb_wrapper [style*="color: #ffffff"] { color: #ffffff !important; }
.wpb_wrapper [style*="color:#023373"] { color: #023373 !important; }
.wpb_wrapper [style*="color: #023373"] { color: #023373 !important; }
.wpb_wrapper [style*="color:#c7a569"] { color: #c7a569 !important; }
.wpb_wrapper [style*="color:#272727"] { color: #272727 !important; }

/* Process steps */
.mkdf-pi-number { color: #272727 !important; }
.mkdf-pi-title  { color: #272727 !important; }
.mkdf-pi-text-holder p { color: #555555 !important; }

/* Team section */
.mkdf-team-name { color: #272727 !important; }
.mkdf-team-description p { color: #555555 !important; }
.q_team_position { color: #023373 !important; }

/* Header widget text (phone, hours, email in navy header area) */
.mkdf-logo-area .mkdf-iwt-text-holder p,
.mkdf-logo-area .mkdf-iwt-title-holder h6 { color: #ffffff !important; }

/* Footer text */
.mkdf-footer-inner p,
.mkdf-footer-inner h6,
.mkdf-footer-inner li { color: #b0b0b0 !important; }
.mkdf-footer-inner strong { color: #ffffff !important; }

/* Dismiss loader */
.mkdf-smooth-transition-loader { opacity: 0 !important; pointer-events: none !important; }

/* ── ANIMATION FIX ──────────────────────────────────────────────────────
   Verdict theme hides sections with opacity:0 and animates them in via
   jquery.appear.js on scroll. When that doesn't fire, sections stay
   invisible. Force them visible permanently.
   ─────────────────────────────────────────────────────────────────────── */
.mkdf-element-from-fade,
.mkdf-row-animations-holder {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ── LOGO AREA HEIGHT ───────────────────────────────────────────────────── */
.mkdf-logo-area {
  height: auto !important;
  min-height: 120px !important;
  padding: 15px 0 !important;
}
