.elementor-9985 .elementor-element.elementor-element-af24083{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}/* Start custom CSS *//* ─── FUENTE ─────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&display=swap');

/* ─── VARIABLES ──────────────────────────────────────────────────── */
:root {
  --b-primary:    #2FB4AF;
  --b-primary-dk: #28a09b;
  --b-dark:       #313D4D;
  --b-text:       #484F56;
  --b-bg:         #F8F8FA;
  --b-white:      #FFFFFF;
  --b-border:     #E8E8EC;
  --b-accent:     #BBCED5;
  --b-font:       'Jost', sans-serif;
}

/* ─── RESET ──────────────────────────────────────────────────────── */
.bw-hero, .bw-trust, .bw-servicios, .bw-proceso,
.bw-proyectos, .bw-municipios, .bw-faq, .bw-cierre {
  font-family: 'Jost', sans-serif;
  box-sizing: border-box;
}
.bw-hero *, .bw-trust *, .bw-servicios *, .bw-proceso *,
.bw-proyectos *, .bw-municipios *, .bw-faq *, .bw-cierre * {
  box-sizing: border-box;
}

/* ─── BOTONES ────────────────────────────────────────────────────── */
.bw-btn-primary,
.bw-btn-primary:visited,
.bw-btn-primary:hover,
.bw-btn-primary:focus {
  display: inline-block !important;
  background-color: #2FB4AF !important;
  color: #FFFFFF !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 14px 28px !important;
  border-radius: 0 !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}
.bw-btn-primary:hover {
  background-color: #28a09b !important;
}

.bw-btn-secondary,
.bw-btn-secondary:visited,
.bw-btn-secondary:focus,
.bw-btn-secondary:hover {
  display: inline-block !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  padding: 13px 28px !important;
  border-radius: 0 !important;
  border: 1.5px solid rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.bw-btn-secondary:hover {
  border-color: #FFFFFF !important;
}

.bw-btn-white,
.bw-btn-white:visited,
.bw-btn-white:focus {
  display: inline-block !important;
  background-color: #FFFFFF !important;
  color: #2FB4AF !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 14px 28px !important;
  border-radius: 0 !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.bw-btn-white:hover {
  background-color: #313D4D !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.bw-btn-outline-white,
.bw-btn-outline-white:visited,
.bw-btn-outline-white:focus {
  display: inline-block !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  padding: 13px 28px !important;
  border-radius: 0 !important;
  border: 1.5px solid rgba(255,255,255,0.8) !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.bw-btn-outline-white:hover {
  border-color: #FFFFFF !important;
  background-color: rgba(255,255,255,0.1) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* ─── WIDGET 01: HERO ────────────────────────────────────────────── */
.bw-hero {
  background-color: #313D4D;
  background-image: url('https://www.bunnoestudio.com/wp-content/uploads/2024/11/diseno-oficina-a-medida-bunno-estudio.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 80px 24px;
}
.bw-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(49,61,77,0.78);
  z-index: 0;
}
.bw-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 0 auto;
}
.bw-hero__label {
  display: inline-block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #2FB4AF !important;
  margin-bottom: 20px !important;
}
.bw-hero__h1 {
  font-family: 'Jost', sans-serif !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -1px !important;
  color: #FFFFFF !important;
  margin: 0 0 20px 0 !important;
}
.bw-hero__desc {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.88) !important;
  max-width: 680px;
  margin: 0 0 36px 0;
}
.bw-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* ─── WIDGET 02: CREDIBILIDAD ────────────────────────────────────── */
.bw-trust {
  background-color: #FFFFFF;
  padding: 48px 24px;
  border-bottom: 1px solid #E8E8EC;
}
.bw-trust__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.bw-trust__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding-left: 20px;
  border-left: 3px solid #2FB4AF;
}
.bw-trust__icon {
  width: 32px;
  height: 32px;
  color: #2FB4AF;
  flex-shrink: 0;
}
.bw-trust__title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #313D4D !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.bw-trust__desc {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #484F56 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ─── WIDGET 03: SERVICIOS ───────────────────────────────────────── */
.bw-servicios {
  background-color: #F8F8FA;
  padding: 72px 24px;
}
.bw-servicios__inner {
  max-width: 1140px;
  margin: 0 auto;
}
.bw-servicios__h2 {
  color: #2FB4AF !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  margin: 0 0 16px 0 !important;
  font-family: 'Jost', sans-serif !important;
}
.bw-servicios__intro {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #484F56 !important;
  line-height: 1.65 !important;
  max-width: 720px;
  margin: 0 0 48px 0;
}
.bw-servicios__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.bw-servicios__card,
.bw-servicios__card:visited,
.bw-servicios__card:hover {
  background: #FFFFFF;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none !important;
  transition: box-shadow 0.2s ease;
  border-top: 3px solid transparent;
}
.bw-servicios__card:hover {
  box-shadow: 0 4px 20px rgba(49,61,77,0.10);
  border-top-color: #2FB4AF;
}
.bw-servicios__card-icon {
  width: 36px;
  height: 36px;
  color: #2FB4AF;
  flex-shrink: 0;
}
.bw-servicios__card-h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #313D4D !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.bw-servicios__card-desc {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #484F56 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  flex: 1;
}
.bw-servicios__card-link {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #2FB4AF !important;
  letter-spacing: 0.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 4px !important;
  text-decoration: none !important;
}
.bw-servicios__card-link::after { content: '→'; }

/* ─── WIDGET 04: PROCESO ─────────────────────────────────────────── */
.bw-proceso {
  background-color: #313D4D;
  padding: 72px 24px;
}
.bw-proceso__inner {
  max-width: 1140px;
  margin: 0 auto;
}
.bw-proceso__h2 {
  color: #FFFFFF !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  margin: 0 0 16px 0 !important;
  font-family: 'Jost', sans-serif !important;
}
.bw-proceso__intro {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  line-height: 1.65 !important;
  max-width: 640px;
  margin: 0 0 48px 0;
}
.bw-proceso__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  margin-bottom: 56px;
}
.bw-proceso__step {
  background: rgba(255,255,255,0.05);
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 3px solid #2FB4AF;
}
.bw-proceso__step-num {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #2FB4AF !important;
  line-height: 1 !important;
  opacity: 0.7 !important;
}
.bw-proceso__step-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}
.bw-proceso__step-desc {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  flex: 1;
}
.bw-proceso__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  padding-top: 8px;
}
.bw-proceso__tel,
.bw-proceso__tel:visited {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  color: #FFFFFF !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  font-family: 'Jost', sans-serif !important;
  border: none !important;
  padding: 0 !important;
  background: none !important;
  transition: color 0.2s ease !important;
}
.bw-proceso__tel:hover {
  color: #2FB4AF !important;
  text-decoration: none !important;
}
.bw-proceso__tel-icon {
  width: 20px !important;
  height: 20px !important;
  color: #2FB4AF !important;
  flex-shrink: 0 !important;
}
.bw-proceso__tel-label {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.55) !important;
  display: block !important;
  line-height: 1 !important;
  margin-bottom: 3px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

/* ─── WIDGET 05: FAQ ─────────────────────────────────────────────── */
.bw-faq {
  padding: 72px 24px;
}
.bw-faq__inner {
  max-width: 1140px;
  margin: 0 auto;
}
.bw-faq__h2 {
  color: #2FB4AF !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  margin: 0 0 40px 0 !important;
  font-family: 'Jost', sans-serif !important;
}
.bw-faq__list {
  display: flex;
  flex-direction: column;
}
.bw-faq__item {
  border-bottom: 1px solid #E8E8EC !important;
  background: none !important;
  background-color: transparent !important;
}
.bw-faq__item:first-child { border-top: 1px solid #E8E8EC !important; }
.bw-faq__question {
  width: 100% !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 22px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  cursor: pointer !important;
  text-align: left !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #313D4D !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: break-word !important;
}
.bw-faq__question:hover,
.bw-faq__question[aria-expanded="true"] {
  color: #2FB4AF !important;
  background: none !important;
  background-color: transparent !important;
}
/* Forzar color heredado en el span del nombre — evita teal inesperado */
.bw-faq__question span[itemprop="name"] {
  color: inherit !important;
}
.bw-faq__icon {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  color: #2FB4AF !important;
  transition: transform 0.2s ease !important;
}
.bw-faq__question[aria-expanded="true"] .bw-faq__icon { transform: rotate(45deg); }
.bw-faq__answer {
  overflow: hidden !important;
  max-height: 0 !important;
  transition: max-height 0.3s ease, padding 0.2s ease !important;
  padding: 0 !important;
}
.bw-faq__answer.is-open {
  max-height: 400px !important;
  padding-bottom: 20px !important;
}
.bw-faq__answer p {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #484F56 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  font-family: 'Jost', sans-serif !important;
}
.bw-faq__answer a,
.bw-faq__answer a:visited {
  color: #2FB4AF !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.bw-faq__answer a:hover { text-decoration: underline !important; }

/* ─── WIDGET 06: CIERRE ──────────────────────────────────────────── */
.bw-cierre {
  background-color: #2FB4AF;
  padding: 72px 24px;
  text-align: center;
}
.bw-cierre__inner {
  max-width: 1140px;
  margin: 0 auto;
}
.bw-cierre__h2 {
  color: #ffff !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px 0 !important;
  font-family: 'Jost', sans-serif !important;
}
.bw-cierre__desc {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  line-height: 1.65 !important;
  margin: 0 0 36px 0 !important;
}
.bw-cierre__ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.bw-cierre .bw-btn-outline-white,
.bw-cierre .bw-btn-outline-white:visited,
.bw-cierre .bw-btn-outline-white:focus {
  border-color: #313D4D !important;
  color: #FFFFFF !important;
}
.bw-cierre .bw-btn-outline-white:hover {
  background-color: #313D4D !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
}
.bw-cierre__tel {
  margin-top: 24px !important;
  font-size: 16px !important;
  color: #FFFFFF !important;
  font-family: 'Jost', sans-serif !important;
}
.bw-cierre__tel a,
.bw-cierre__tel a:visited {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid #FFFFFF !important;
  padding-bottom: 1px !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
}
.bw-cierre__tel a:hover {
  color: #313D4D !important;
  border-bottom-color: #313D4D !important;
  text-decoration: none !important;
}

/* ─── RESPONSIVE: TABLET ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .bw-trust__inner        { grid-template-columns: repeat(2, 1fr); }
  .bw-servicios__grid     { grid-template-columns: repeat(2, 1fr); }
  .bw-proceso__steps      { grid-template-columns: repeat(2, 1fr); }
  .bw-proyectos__grid     { grid-template-columns: repeat(2, 1fr); }
  .bw-municipios__grid    { grid-template-columns: repeat(2, 1fr); }

  /* FAQ mobile: texto completo, sin corte por botón flotante del tema */
  .bw-faq                 { padding: 48px 20px !important; }
  .bw-faq__inner          { max-width: 100% !important; padding-right: 16px !important; }
  .bw-faq__question       { font-size: 16px !important; padding: 18px 0 !important; }
}

/* ─── RESPONSIVE: MOBILE ─────────────────────────────────────────── */
@media (max-width: 480px) {
  .bw-hero                { padding: 56px 20px; }
  .bw-trust               { padding: 36px 20px; }
  .bw-servicios           { padding: 48px 20px; }
  .bw-proceso             { padding: 48px 20px; }
  .bw-proyectos           { padding: 48px 20px; }
  .bw-municipios          { padding: 48px 20px; }
  .bw-faq                 { padding: 48px 20px; }
  .bw-cierre              { padding: 56px 20px; }

  .bw-trust__inner        { grid-template-columns: 1fr; }
  .bw-servicios__grid     { grid-template-columns: 1fr; }
  .bw-proceso__steps      { grid-template-columns: 1fr; }
  .bw-proyectos__grid     { grid-template-columns: 1fr; }
  .bw-municipios__grid    { grid-template-columns: 1fr; }

  .bw-servicios__h2,
  .bw-proceso__h2,
  .bw-proyectos__h2,
  .bw-municipios__h2,
  .bw-faq__h2,
  .bw-cierre__h2          { font-size: 24px !important; }

  .bw-hero__ctas,
  .bw-proceso__cta-row,
  .bw-cierre__ctas        { flex-direction: column; align-items: stretch; }

  .bw-btn-primary,
  .bw-btn-secondary,
  .bw-btn-white,
  .bw-btn-outline-white   { text-align: center !important; width: 100% !important; }
}

/* ─── BREADCRUMB ─────────────────────────────────────────────────── */
/* Añadir al final del CSS v5 en cada spoke */
 
.bw-breadcrumb {
  padding: 12px 24px;
}
 
.bw-breadcrumb__inner {
  max-width: 1140px;
  margin: 0 auto;
}
 
.bw-breadcrumb__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
 
.bw-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 4px;
}
 
.bw-breadcrumb__link,
.bw-breadcrumb__link:visited {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #484F56 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}
 
.bw-breadcrumb__link:hover {
  color: #2FB4AF !important;
  text-decoration: none !important;
}
 
.bw-breadcrumb__sep {
  font-size: 13px !important;
  color: #BBCED5 !important;
  line-height: 1 !important;
}
 
.bw-breadcrumb__current {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #2FB4AF !important;
}
 
@media (max-width: 480px) {
  .bw-breadcrumb { padding: 10px 20px; }
  .bw-breadcrumb__link,
  .bw-breadcrumb__current { font-size: 12px !important; }
}/* End custom CSS */