/* A restrained visual refresh over the preserved CartaSur page layouts. */
:root {
  --cs-ink: #082d62;
  --cs-text: #304159;
  --cs-border: #dce4ee;
  --cs-surface: #f5f7fb;
  --cs-shadow: 0 8px 26px rgba(8, 45, 98, .06);
}
body[data-replica-page] {
  font-family: Ubuntu, Arial, sans-serif;
  color: var(--cs-text);
  -webkit-font-smoothing: antialiased;
}
.main-container :is(h1, h2, h3, h4, h5, h6),
[data-preview-form] :is(h1, h2, h3, h4) {
  font-family: Ubuntu, Arial, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.25 !important;
}
body[data-replica-page="inicio"] .main-container h2[style] {
  color: var(--cs-ink) !important;
  margin-bottom: 30px !important;
}
.main-container :is(h1, h2, h3, h4) :is(b, strong) { font-weight: inherit; }
.main-container :is(h2, h3):not([style]) { color: var(--cs-ink); }
.main-container .wpb_text_column p { line-height: 1.7; }
.main-container .wpb_text_column p + p { margin-top: 1em; }
.main-container .wpb_text_column a { text-underline-offset: 3px; }
.nav-container .nav-bar { box-shadow: 0 5px 18px rgba(8, 45, 98, .05); }
.nav-container nav .menu > li > ul {
  border-radius: 0 0 12px 12px;
  box-shadow: 0 12px 28px rgba(8, 45, 98, .12);
}
/* Compact text-only page introductions; image sliders keep their proportions. */
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) {
  padding: 56px 0 !important;
  min-height: 0;
}
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) .vc_column-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) .wpb_content_element {
  margin-bottom: 0;
}
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) .wpb_wrapper > div:has(> h1) {
  padding: 0 20px !important;
}
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill h1 {
  font-size: clamp(30px, 3.5vw, 46px) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  top: 0 !important;
  text-align: center;
}
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) p {
  font-size: 20px !important;
  margin: 12px 0 0 !important;
}
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) .vc_separator {
  display: none;
}
.main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) + section {
  padding-top: 44px !important;
}
/* Round the existing cards, without rounding logos or full-width imagery. */
.main-container .vc_col-has-fill > .vc_column-inner {
  border-radius: 18px !important;
  box-shadow: var(--cs-shadow);
}
body[data-replica-page="contacto"] .vc_row:has(> .vc_col-has-fill) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
body:is([data-replica-page="inicio"], [data-replica-page="prestamos"]) .vc_col-sm-4.vc_col-has-fill > .vc_column-inner {
  background-color: var(--cs-surface) !important;
  border: 1px solid var(--cs-border);
}
.main-container .vc_row.vc_custom_1595368891097 {
  border-radius: 18px !important;
  background-color: var(--cs-surface) !important;
}
.main-container .vc_cta3 {
  border-radius: 16px;
  border-color: var(--cs-border);
  box-shadow: var(--cs-shadow);
}
.main-container .vc_general.vc_btn3 {
  border-radius: 12px;
  font-family: Ubuntu, Arial, sans-serif;
  font-weight: 500;
  letter-spacing: -.01em;
  box-shadow: 0 3px 8px rgba(8, 45, 98, .08);
}
/* Each accordion keeps its existing open/closed behavior. */
body .custom-accordion details, body .suc-item,
.main-container .vc_toggle, .main-container .wpb_accordion_section,
.main-container .lvca-accordion .lvca-panel {
  border: 1px solid var(--cs-border);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
}
body .custom-accordion summary, body .suc-btn {
  border-radius: 11px;
  color: var(--cs-ink);
  background: var(--cs-surface);
  font-weight: 500;
  line-height: 1.45;
  padding: 16px 18px;
  gap: 14px;
}
body .custom-accordion summary::after, body .suc-btn::after {
  border-radius: 50%;
  background-color: var(--cs-ink);
  flex-shrink: 0;
}
body .custom-accordion details[open] summary, body .suc-item.open .suc-btn {
  background-color: #edf2f9;
  border-radius: 11px 11px 0 0;
}
body .custom-accordion .content, body .suc-body {
  padding: 18px;
  border-radius: 0 0 11px 11px;
  line-height: 1.7;
}
.main-container .vc_toggle { padding: 16px 18px; }
.main-container .vc_toggle .vc_toggle_title h4 { margin-bottom: 0; }
.main-container .vc_toggle .vc_toggle_content { margin-bottom: 0; }
.main-container .wpb_accordion_header, .main-container .lvca-panel-title { border-radius: 11px; }
/* Native controls retain validation, hidden states, widths and form actions. */
[data-preview-form] :is(label, input, select, textarea, button) { font-family: Ubuntu, Arial, sans-serif; }
[data-preview-form] label { font-weight: 500; }
[data-preview-form] :is(.wpcf7-text, .wpcf7-select, .wpcf7-textarea, .form-control:not(.btn), .form-select) {
  border: 1px solid var(--cs-border);
  border-radius: 10px;
  background-color: #fff;
  color: var(--cs-text);
  box-shadow: 0 2px 5px rgba(8, 45, 98, .025);
}
[data-preview-form] :is(.wpcf7-text, .wpcf7-select, .wpcf7-textarea, .form-control:not(.btn), .form-select):focus {
  border-color: #5180b9;
  box-shadow: 0 0 0 3px rgba(8, 45, 98, .1);
}
[data-preview-form] :is(.wpcf7-submit, .btn) { border-radius: 10px; font-weight: 500; }
[data-preview-form] :is(input, textarea)::placeholder { color: #738197; opacity: 1; }
body[data-replica-page="solicitar-prestamo"] :is(.controles, #textonav, #textoPrincipal, #TerminosCondiciones, #mensaje, #btnEnviarForm) {
  font-family: Ubuntu, Arial, sans-serif;
}
body[data-replica-page="solicitar-prestamo"] #textoPrincipal { color: var(--cs-ink); line-height: 1.45; }
body[data-replica-page="solicitar-prestamo"] #btnEnviarForm { background-color: var(--cs-ink); }
body#body[data-replica-page="paga-ahora"] { color: var(--cs-text); background-color: #fff; }
body[data-replica-page="paga-ahora"] .site-header { background-color: var(--cs-ink); }
body[data-replica-page="paga-ahora"] .site-header h4 { color: #fff; margin: 12px 0; }
.replica-external-back { font-weight: 500; text-underline-offset: 3px; }
body footer.footer-widget, body footer.footer-widget .sub-footer { background: var(--cs-ink) !important; }
body footer.footer-widget .sub-footer { border-top-color: rgba(255, 255, 255, .15) !important; }
body footer.footer-widget .sub { line-height: 1.7; font-size: 12px; color: #e6ebf4; opacity: 1; }
@media (max-width: 767px) {
  .main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) { padding: 38px 0 !important; }
  .main-container .wpb-content-wrapper > section:first-child.vc_row-has-fill:has(h1) + section { padding-top: 32px !important; }
  .main-container :is(h1, h2, h3) { letter-spacing: -.02em; }
  .main-container .vc_col-has-fill > .vc_column-inner { border-radius: 14px !important; }
  body .custom-accordion summary, body .suc-btn { font-size: 16px; padding: 14px; }
  body .custom-accordion .content, body .suc-body { padding: 14px; }
  [data-preview-form] :is(.wpcf7-text, .wpcf7-select, .wpcf7-textarea, .form-control:not(.btn), .form-select) { font-size: 16px; }
}
