/* Compact responsive service/material listing hero and tab panels. */
.bm-service-hero__shell {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px) !important;
  gap: clamp(10px, 1vw, 16px) !important;
  padding: clamp(12px, 1.2vw, 18px) !important;
  align-items: stretch !important;
}

.bm-service-hero__main {
  grid-template-columns: minmax(260px, 390px) minmax(0, 1fr) !important;
  gap: clamp(10px, 1vw, 16px) !important;
  align-items: stretch !important;
}

.bm-service-hero__featured {
  box-sizing: border-box !important;
  height: clamp(280px, 29vw, 430px) !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.bm-service-hero__featured img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: rgba(5,18,45,.82) !important;
}

.bm-service-hero__copy,
.bm-service-hero__actions {
  align-content: center !important;
}

.bm-service-hero__mascot {
  display: none !important;
}

.bm-service-tabs {
  min-height: 0 !important;
  margin: 0 0 6px !important;
  padding: 6px !important;
  gap: 6px !important;
  align-items: center !important;
  border-radius: 16px !important;
}

.bm-service-tabs a,
.bm-service-tabs button {
  min-height: 32px !important;
  padding: 7px 11px !important;
  gap: 6px !important;
  border-radius: 12px !important;
  font-size: .82rem !important;
  line-height: 1 !important;
}

.bm-service-tabs em {
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  font-size: .68rem !important;
}

.bm-service-layout {
  gap: clamp(10px, 1vw, 14px) !important;
  align-items: start !important;
}

.bm-service-panel {
  padding: clamp(13px, 1.1vw, 18px) !important;
  border-radius: 18px !important;
}

.bm-service-panel__head {
  gap: 5px !important;
  margin-bottom: 9px !important;
}

.bm-service-panel--mini {
  min-height: 0 !important;
}

.bm-service-hero {
  margin-bottom: 6px !important;
}

.bm-service-hero__actions-head p {
  margin: 0 !important;
}

@media (max-width: 1080px) {
  .bm-service-hero__shell {
    grid-template-areas: "main" "actions" !important;
    grid-template-columns: 1fr !important;
  }

  .bm-service-hero__main {
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) !important;
  }

  .bm-service-tabs {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  .bm-service-tabs a,
  .bm-service-tabs button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 700px) {
  .bm-service-hero__main {
    grid-template-columns: 1fr !important;
  }

  .bm-service-hero__featured {
    height: clamp(260px, 82vw, 390px) !important;
  }
}

@media (max-width: 640px) {
  .bm-service-tabs a,
  .bm-service-tabs button {
    min-height: 30px !important;
    padding: 7px 10px !important;
    font-size: .76rem !important;
  }

  .bm-service-panel {
    padding: 12px !important;
  }
}

/* Service single hero: three-column editorial layout inspired by property singles. */
.single-servicio .bm-service-breadcrumb {
  display: none !important;
}

.single-servicio .bm-service-hero {
  margin: clamp(8px, 1vw, 14px) 0 clamp(10px, 1.2vw, 18px) !important;
}

.single-servicio .bm-service-hero__shell {
  grid-template-areas: "main" "actions" !important;
  grid-template-columns: 1fr !important;
  gap: clamp(18px, 2vw, 30px) !important;
  padding: clamp(18px, 2vw, 32px) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(23,105,221,.34), transparent 34%),
    radial-gradient(circle at 88% 35%, rgba(255,123,19,.15), transparent 28%),
    linear-gradient(135deg, rgba(2,21,61,.96), rgba(0,48,119,.9)) !important;
  border: 1px solid rgba(42,139,255,.34) !important;
  box-shadow: 0 22px 55px rgba(0,18,54,.35), inset 0 1px 0 rgba(255,255,255,.1) !important;
}

.single-servicio .bm-service-hero__main {
  grid-template-columns: minmax(250px, 360px) minmax(0, 1fr) !important;
  gap: clamp(16px, 1.8vw, 24px) !important;
  align-items: stretch !important;
}

.single-servicio .bm-service-hero__media {
  align-content: stretch !important;
  gap: 10px !important;
  padding: clamp(10px, 1vw, 14px) !important;
  border-radius: 22px !important;
  border: 1px solid rgba(42,139,255,.52) !important;
  background: linear-gradient(180deg, rgba(15,65,145,.74), rgba(3,22,64,.9)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 14px 34px rgba(0,14,48,.28) !important;
}

.single-servicio .bm-service-hero__featured {
  height: clamp(250px, 23vw, 315px) !important;
  padding: 0 !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(255,255,255,.72) !important;
}

.single-servicio .bm-service-hero__featured img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}

.single-servicio .bm-service-hero__gallery-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 16px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  background: rgba(7,52,125,.7) !important;
  border: 1px solid rgba(58,154,255,.64) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.single-servicio .bm-service-hero__copy {
  align-content: center !important;
  gap: clamp(12px, 1.25vw, 18px) !important;
  padding: 0 !important;
}

.single-servicio .bm-service-hero__eyebrow {
  gap: 12px !important;
}

.single-servicio .bm-service-hero__type,
.single-servicio .bm-service-hero__badge {
  min-height: 38px !important;
  padding: 0 16px !important;
  font-size: .88rem !important;
  color: #fff !important;
}

.single-servicio .bm-service-hero__type {
  background: linear-gradient(135deg, rgba(21,110,216,.95), rgba(8,73,156,.94)) !important;
}

.single-servicio .bm-service-hero h1 {
  max-width: 100% !important;
  font-size: clamp(1.58rem, 2.05vw, 2.35rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.single-servicio .bm-service-hero h1::after {
  content: "" !important;
  display: block !important;
  width: 58px !important;
  height: 4px !important;
  margin-top: 16px !important;
  border-radius: 999px !important;
  background: #ff8a12 !important;
}

.single-servicio .bm-service-hero__summary {
  max-width: 58ch !important;
  font-size: clamp(.9rem, .98vw, 1rem) !important;
  line-height: 1.42 !important;
  color: rgba(255,255,255,.9) !important;
}

.single-servicio .bm-service-hero__meta {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 10px !important;
}

.single-servicio .bm-service-chip {
  justify-content: start !important;
  gap: 5px !important;
  min-height: 50px !important;
  padding: 9px 12px !important;
  border-radius: 16px !important;
  color: #fff !important;
  background: rgba(25,79,153,.62) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

.single-servicio .bm-service-chip span {
  color: rgba(255,255,255,.66) !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-size: .72rem !important;
}

.single-servicio .bm-service-chip strong {
  color: #fff !important;
  font-size: clamp(1.02rem, 1.25vw, 1.25rem) !important;
}

.single-servicio .bm-service-hero__actions {
  display: grid !important;
  grid-template-columns: minmax(220px, .9fr) repeat(2, minmax(160px, 1fr)) !important;
  align-items: center !important;
  gap: clamp(10px, 1.2vw, 16px) !important;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  padding: clamp(14px, 1.5vw, 20px) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(42,139,255,.62) !important;
  background: linear-gradient(180deg, rgba(4,28,79,.86), rgba(1,21,62,.94)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 18px 42px rgba(0,14,48,.3) !important;
}

.single-servicio .bm-service-hero__actions-head {
  text-align: left !important;
  gap: 5px !important;
  margin-bottom: 0 !important;
}

.single-servicio .bm-service-hero__actions-head h2 {
  font-size: clamp(1.02rem, 1.18vw, 1.22rem) !important;
}

.single-servicio .bm-service-hero__actions-head p {
  color: rgba(255,255,255,.78) !important;
  font-size: .86rem !important;
}

.single-servicio .bm-service-hero__action {
  justify-content: space-between !important;
  min-height: 56px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  font-size: clamp(.96rem, 1.06vw, 1.08rem) !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}

.single-servicio .bm-service-hero__action::after {
  content: ">" !important;
  font-size: 1.7rem !important;
  line-height: 1 !important;
}

.single-servicio .bm-service-hero__action--whatsapp {
  background: linear-gradient(135deg, #24c767, #168a3d) !important;
}

.single-servicio .bm-service-hero__action--ghost,
.single-servicio .bm-service-hero__action--ghost-alt {
  background: rgba(94,117,148,.58) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.12) !important;
}

@media (min-width: 1680px) {
  .single-servicio .bm-service-hero__shell {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
  }
}

@media (max-width: 1180px) {
  .single-servicio .bm-service-hero__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .single-servicio .bm-service-hero__actions-head {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 860px) {
  .single-servicio .bm-service-hero__main {
    grid-template-columns: 1fr !important;
  }

  .single-servicio .bm-service-hero h1 {
    max-width: 100% !important;
  }

  .single-servicio .bm-service-hero__featured {
    height: clamp(280px, 86vw, 520px) !important;
  }
}

@media (max-width: 640px) {
  .single-servicio .bm-service-hero__shell {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  .single-servicio .bm-service-hero__media,
  .single-servicio .bm-service-hero__actions {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .single-servicio .bm-service-hero__actions {
    grid-template-columns: 1fr !important;
  }

  .single-servicio .bm-service-hero__featured {
    height: clamp(260px, 90vw, 420px) !important;
  }

  .single-servicio .bm-service-hero__action {
    min-height: 58px !important;
  }
}
