/* Mobile-only fixes (max-width: 767px). Tablet/PC unchanged. v=20260924b */
@media (max-width: 767px) {
  /* ---- Global overflow & base ---- */
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }
  img, video, iframe, svg {
    max-width: 100%;
  }
  /* Room for floating WhatsApp + call buttons */
  body {
    padding-bottom: 100px !important;
  }

  /* ---- HOME HERO: vertical mobile image, full & proportional ---- */
  .themeholy-hero-wrapper.hero-1 {
    overflow: hidden;
  }
  .themeholy-hero-wrapper.hero-1 .hero-slider-1,
  .themeholy-hero-wrapper.hero-1 .slick-list,
  .themeholy-hero-wrapper.hero-1 .slick-track,
  .themeholy-hero-wrapper.hero-1 .slick-slide,
  .themeholy-hero-wrapper.hero-1 .themeholy-hero-slide {
    height: auto !important;
    min-height: 0 !important;
  }
  .themeholy-hero-wrapper.hero-1 .slick-slide > div {
    height: auto !important;
  }
  .themeholy-hero-wrapper.hero-1 .themeholy-hero-bg {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    background-image: none !important;
    background-size: auto !important;
  }
  .themeholy-hero-wrapper.hero-1 .themeholy-hero-bg picture,
  .themeholy-hero-wrapper.hero-1 .themeholy-hero-bg img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    object-fit: contain !important;
    object-position: center top;
  }
  /* Hide template overlay text/buttons over baked-in image text */
  .themeholy-hero-wrapper.hero-1 .container {
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    overflow: hidden;
  }
  .themeholy-hero-wrapper.hero-1 .hero-style1,
  .themeholy-hero-wrapper.hero-1 .hero-title,
  .themeholy-hero-wrapper.hero-1 .hero-text,
  .themeholy-hero-wrapper.hero-1 .btn-group,
  .themeholy-hero-wrapper.hero-1 .sub-title,
  .themeholy-hero-wrapper.hero-1 .icon-box,
  .themeholy-hero-wrapper.hero-1 .slick-arrow {
    display: none !important;
  }

  /* ---- Headings: clamp, wrap, no cut-off ---- */
  h1, .h1 {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    hyphens: auto;
  }
  h2, .h2 {
    font-size: clamp(1.2rem, 4.8vw, 1.5rem) !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
  }
  h3, .h3 {
    font-size: clamp(1.1rem, 4.2vw, 1.35rem) !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
  }
  .page-title,
  h1.page-title,
  h1.h3.page-title {
    font-size: clamp(1.15rem, 5vw, 1.4rem) !important;
    line-height: 1.3 !important;
    max-width: 100%;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    padding-right: 0.25rem;
    margin-bottom: 0.75rem !important;
  }
  .page-subtitle {
    font-size: clamp(1rem, 4vw, 1.2rem) !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
  }
  .breadcumb-title {
    font-size: clamp(1.25rem, 5.5vw, 1.65rem) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    max-width: 100%;
  }
  .breadcumb-wrapper {
    padding: 64px 0 48px !important;
    overflow: visible !important;
  }
  .breadcumb-content {
    max-width: 100%;
    overflow: visible;
  }
  .breadcumb-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start;
    row-gap: 6px;
    column-gap: 0;
    max-width: 100% !important;
    margin-top: 16px !important;
    font-size: 13px !important;
    line-height: 1.4;
  }
  .breadcumb-menu li {
    display: inline !important;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 13px !important;
  }
  .breadcumb-menu li:after {
    font-size: 11px !important;
    margin-left: 6px !important;
  }
  .breadcumb-menu li:last-child {
    display: block !important;
    width: 100% !important;
    margin-top: 2px;
    padding-right: 0 !important;
  }
  .breadcumb-menu a,
  .breadcumb-menu span {
    font-size: 13px !important;
    white-space: normal !important;
  }
  .title-area2 .title,
  .brand-title-area .title,
  .sec-title,
  .title-area .title {
    font-size: clamp(1.15rem, 4.5vw, 1.45rem) !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
  }
  .subtitle, .sec-subtitle {
    font-size: 13px !important;
    letter-spacing: 0.02em;
  }

  /* ---- Content spacing / alignment ---- */
  .page-content,
  .page-single {
    max-width: 100%;
    overflow: visible;
  }
  .page-img {
    margin-bottom: 1rem;
  }
  .page-img img {
    width: 100%;
    height: auto;
  }
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .space-top {
    padding-top: 40px !important;
  }
  .space-extra-bottom,
  .space-bottom {
    padding-bottom: 40px !important;
  }
  p, li, .about-text, .page-content p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  /* Avoid tiny text */
  small, .small, .footer-text, .copyright-text {
    font-size: 12px !important;
    line-height: 1.45;
  }

  /* ---- Buttons: no awkward wrap / full width when needed ---- */
  .themeholy-btn,
  a.themeholy-btn {
    white-space: normal !important;
    text-align: center;
    line-height: 1.3;
    padding: 12px 18px !important;
    font-size: 14px !important;
    max-width: 100%;
  }
  .btn-group {
    flex-wrap: wrap;
    gap: 10px;
  }

  /* ---- Floating WhatsApp / Call: less overlap ---- */
  .whatsapp_chat_support.wcs_fixed_left,
  #mi_chat.whatsapp_chat_support {
    bottom: 16px !important;
    left: 12px !important;
    z-index: 998;
  }
  /* Hide speech bubble label that covers content */
  .whatsapp_chat_support .wcs-button-label,
  .whatsapp_chat_support .wcs_button_label,
  #mi_chat .wcs-button-label,
  #mi_chat .wcs_button_label {
    display: none !important;
  }
  .cc-list.cc-button6,
  .cc-button6,
  .click-to-call,
  .cc-list {
    bottom: 16px !important;
    right: 12px !important;
    z-index: 998;
  }
  /* Shrink call button slightly if oversized */
  .cc-list.cc-button6,
  .cc-button6 {
    transform: scale(0.92);
    transform-origin: bottom right;
  }

  /* ---- Brand / carousel / grids ---- */
  .brand-sec1 .title-area2 {
    padding-left: 12px;
    padding-right: 12px;
  }
  .brand-box img {
    max-height: 56px;
    width: auto;
    margin: 0 auto;
  }
  .row {
    margin-left: -8px !important;
    margin-right: -8px !important;
  }
  .row > [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* ---- Header / logo ---- */
  .themeholy-header .header-logo img,
  .themeholy-header .logo img {
    max-height: 44px;
    width: auto;
  }

  /* ---- Footer ---- */
  .footer-widget {
    margin-bottom: 1.25rem;
  }
  .copyright-wrap {
    text-align: center;
    font-size: 12px !important;
  }

  /* ---- Forms ---- */
  input, textarea, select, .form-control {
    font-size: 16px !important; /* prevent iOS zoom */
    max-width: 100%;
  }

  /* Keep last content clear of FABs while reading */
  .page-content,
  .page-single,
  .space-extra-bottom {
    padding-bottom: 1.25rem;
  }
  main, .themeholy-page, #smooth-wrapper, .page-wrapper {
    padding-bottom: 0;
  }
  /* Ensure long barrio names wrap in titles */
  .sidebar-area, .widget, .service-list {
    max-width: 100%;
    overflow: hidden;
  }

}
