/* Bianque mobile repair proposal, 2026-10-20.
 * Public Header 548 / Footer 557; inspected pages 24, 408, 508, 571, 1293.
 * Pair navigation rules with mobile-nav.js. No desktop (>1024px) changes.
 */
.elementor-548 .bq-mobile-menu-toggle { display: none; }

@media (max-width: 1024px) {
  /* Header logo, menu and former consultation columns. */
  .elementor-548 .elementor-element.elementor-element-c744372 {
    position: relative;
    --min-height: 72px;
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .elementor-548 .elementor-element.elementor-element-c744372 > .e-con-inner {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 72px;
  }
  .elementor-548 .elementor-element.elementor-element-c7d272e {
    --width: auto;
    --content-width: 100%;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
    flex: 0 1 auto;
    width: auto;
    max-width: calc(100% - 64px);
    margin: 0;
  }
  .elementor-548 .elementor-element.elementor-element-c7d272e > .e-con-inner { width: auto; }
  .elementor-548 .elementor-element.elementor-element-685275b img {
    width: 176px;
    max-width: 100%;
    height: auto;
  }
  .elementor-548 .elementor-element.elementor-element-0566357 {
    --width: 48px;
    --content-width: 48px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
    position: static;
    flex: 0 0 48px;
    width: 48px;
    max-width: 48px;
    margin: 0;
    overflow: visible;
  }
  .elementor-548 .elementor-element.elementor-element-0566357 > .e-con-inner { position: static; }
  .elementor-548 .elementor-element.elementor-element-9ee5390 { display: none; }

  /* JS adds bq-nav-ready only after a working toggle has been inserted. */
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready { position: static; width: 48px; }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > .elementor-nav-menu--main { display: none; }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > .bq-mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #d8e3d3;
    border-radius: 8px;
    background: #fffcf4;
    color: #173f34;
    cursor: pointer;
  }
  .elementor-548 .bq-mobile-menu-toggle svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
  .elementor-548 .bq-mobile-menu-toggle:focus-visible { outline: 3px solid #b34732; outline-offset: 3px; }
  .elementor-548 .bq-mobile-menu-toggle .bq-icon-close { display: none; }
  .elementor-548 .bq-mobile-menu-toggle[aria-expanded="true"] .bq-icon-menu { display: none; }
  .elementor-548 .bq-mobile-menu-toggle[aria-expanded="true"] .bq-icon-close { display: block; }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > nav.elementor-nav-menu--dropdown {
    display: none !important;
    position: absolute !important;
    inset: 100% 0 auto 0 !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    max-height: min(70vh, 560px) !important;
    margin: 0 !important;
    padding: 8px 20px 16px;
    border-top: 1px solid #e8e1d6;
    border-bottom: 1px solid #d8e3d3;
    background: #fffcf4;
    box-shadow: 0 12px 24px rgb(23 63 52 / 12%);
    transform: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    z-index: 10001;
  }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready.bq-nav-open > nav.elementor-nav-menu--dropdown { display: block !important; }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > nav.elementor-nav-menu--dropdown ul {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
  }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > nav.elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    padding-left: 16px;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > nav.elementor-nav-menu--dropdown a {
    min-height: 44px;
    padding: 12px 8px;
    line-height: 1.4;
    font-size: 16px;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > nav.elementor-nav-menu--dropdown .sub-arrow,
  .elementor-548 .elementor-element.elementor-element-0918724.bq-nav-ready > nav.elementor-nav-menu--dropdown .ast-header-navigation-arrow { display: none; }
}

@media (max-width: 767px) {
  /* The original mobile override accidentally enlarged the eyebrow to 36px. */
  .elementor-24 .elementor-element.elementor-element-3b0c624 .elementor-heading-title { font-size: 14px; line-height: 1.5; letter-spacing: .04em; }
  .elementor-24 .elementor-element.elementor-element-27068da { --padding-top: 32px; --padding-bottom: 32px; }
  .elementor-24 .elementor-element.elementor-element-cfe64d4,
  .elementor-24 .elementor-element.elementor-element-17103f4 { --padding-left: 0px; --padding-right: 0px; }
  .elementor-24 .elementor-element.elementor-element-091b11e { font-size: 16px; line-height: 1.85; }
  .elementor-24 .elementor-element.elementor-element-e1e276a { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
  .elementor-24 .elementor-element-e1e276a > .e-con-inner { align-items: stretch; }
  .elementor-24 .elementor-element.elementor-element-3b58d74,
  .elementor-24 .elementor-element.elementor-element-4e95e8f { width: 100%; padding: 0; margin: 0; }
  .elementor-24 .elementor-element-e1e276a .elementor-button { display: flex; justify-content: center; align-items: center; min-height: 48px; }
  .elementor-24 .elementor-element.elementor-element-fdff08b .elementor-heading-title,
  .elementor-24 .elementor-element.elementor-element-755edd4 .elementor-heading-title,
  .elementor-24 .elementor-element.elementor-element-67a6d4c .elementor-heading-title,
  .elementor-24 .elementor-element.elementor-element-c6e4ab3 .elementor-heading-title { font-size: 16px; line-height: 1.5; }
  /* Image-left testimonial skin leaves its body in a narrow desktop column. */
  .elementor-24 .elementor-element.elementor-element-cf4e209 .elementor-testimonial { flex-direction: column; gap: 20px; }
  .elementor-24 .elementor-element.elementor-element-cf4e209 .elementor-testimonial__content { width: 100%; min-width: 0; }
  .elementor-24 .elementor-element.elementor-element-cf4e209 .elementor-testimonial__text { font-size: 16px; line-height: 1.8; }
  .elementor-24 .elementor-element.elementor-element-cf4e209 .elementor-testimonial__image { align-self: flex-start; }
  /* Compact public information bars. */
  .elementor-548 .elementor-element.elementor-element-c780dde { --min-height: 0px; }
  .elementor-548 .elementor-element.elementor-element-c36d3e4 {
    --padding-top: 7px;
    --padding-bottom: 7px;
    --padding-left: 16px;
    --padding-right: 16px;
  }
  .elementor-548 .elementor-element.elementor-element-863f101 { font-size: 12px; line-height: 1.5; }
  .elementor-548 .elementor-element.elementor-element-919a72b { display: none; }
  .elementor-548 .elementor-element.elementor-element-397e16a { --padding-left: 16px; --padding-right: 16px; }
  .elementor-548 .elementor-element.elementor-element-c744372 { --padding-left: 16px; --padding-right: 16px; }
  .elementor-548 .elementor-element.elementor-element-685275b img { width: 160px; }
  .elementor-548 .bq-course-ticker { font-size: 12px; }

  /* Home: remove inherited overlaps; scale section titles and CTA. */
  .elementor-24 .elementor-element.elementor-element-27068da { --min-height: 0px; --gap: 28px 28px; --row-gap: 28px; --column-gap: 28px; }
  .elementor-24 .elementor-element.elementor-element-4e95e8f,
  .elementor-24 .elementor-element.elementor-element-0496fdf { margin: 0; padding: 0; }
  .elementor-24 .elementor-element.elementor-element-e1e276a .elementor-button,
  .elementor-24 .elementor-element.elementor-element-a175c2b .elementor-button { width: 100%; min-height: 44px; }
  .elementor-24 .elementor-element.elementor-element-a175c2b { --flex-direction: column; --gap: 14px 14px; --row-gap: 14px; --column-gap: 14px; }
  .elementor-24 .elementor-element.elementor-element-4799e2f .elementor-heading-title,
  .elementor-24 .elementor-element.elementor-element-a1b5b5b .elementor-heading-title,
  .elementor-24 .elementor-element.elementor-element-d7677a3 .elementor-heading-title,
  .elementor-24 .elementor-element.elementor-element-a616f83 .elementor-heading-title { font-size: 30px; line-height: 1.35; }
  .elementor-24 .elementor-element.elementor-element-a616f83 { padding-left: 0; }
  .elementor-24 .elementor-element.elementor-element-5bf3623 { --flex-direction: column; --gap: 24px 24px; --row-gap: 24px; --column-gap: 24px; --padding-left: 18px; --padding-right: 18px; }
  .elementor-24 .elementor-element.elementor-element-8744cb6 { --width: 100%; --align-items: stretch; }
  .elementor-24 .elementor-element.elementor-element-8744cb6 .elementor-button { width: 100%; min-height: 44px; }

  /* Course index / acupuncture category: titles and narrow-card overlaps. */
  .elementor-408 .elementor-element.elementor-element-34c9eaa { --padding-top: 32px; --padding-bottom: 32px; --padding-left: 18px; --padding-right: 18px; }
  .elementor-508 .elementor-element.elementor-element-2cc7a2e0 { --padding-top: 32px; --padding-bottom: 32px; --padding-left: 18px; --padding-right: 18px; }
  .elementor-408 .elementor-element.elementor-element-e8eeced .elementor-heading-title { font-size: 32px; line-height: 1.35; }
  .elementor-508 .elementor-element.elementor-element-df13589 .elementor-heading-title { font-size: 32px; line-height: 1.35; }
  .elementor-408 .elementor-element.elementor-element-1b4f27d .elementor-heading-title { font-size: 30px; line-height: 1.35; }
  .elementor-508 .elementor-element.elementor-element-987f94e .elementor-heading-title { font-size: 30px; line-height: 1.35; }
  .elementor-408 .elementor-element.elementor-element-d88d6e9 { --flex-wrap: wrap; --padding-left: 18px; --gap: 8px 12px; --row-gap: 8px; --column-gap: 12px; }
  .elementor-508 .elementor-element.elementor-element-4f0d0129 { --flex-wrap: wrap; --padding-left: 18px; --gap: 8px 12px; --row-gap: 8px; --column-gap: 12px; }
  .elementor-408 .elementor-element.elementor-element-51cebae,
  .elementor-508 .elementor-element.elementor-element-142dfd78 { --flex-direction: column; --align-items: stretch; --gap: 16px 16px; --row-gap: 16px; --column-gap: 16px; }
  .elementor-408 .elementor-element.elementor-element-8b8858b,
  .elementor-508 .elementor-element.elementor-element-3a3dcbe0 { --flex-direction: column; --gap: 24px 24px; --row-gap: 24px; --column-gap: 24px; }
  .elementor-408 .elementor-element.elementor-element-8b8858b > .e-con,
  .elementor-508 .elementor-element.elementor-element-3a3dcbe0 > .e-con { --width: 100%; min-width: 0; }
  .elementor-408 .elementor-element.elementor-element-9e71c34 { --flex-direction: column; --content-width: 100%; --gap: 20px 20px; --row-gap: 20px; --column-gap: 20px; }

  /* Sales page 571: retain content order and keep the price area readable. */
  .elementor-571 .elementor-element.elementor-element-185ebc3c { --flex-direction: column; --gap: 24px 24px; --row-gap: 24px; --column-gap: 24px; }
  .elementor-571 .elementor-element.elementor-element-7f4fc303,
  .elementor-571 .elementor-element.elementor-element-232e917c { --width: 100%; }
  .elementor-571 .elementor-element.elementor-element-7482730f .elementor-heading-title { font-size: 32px; line-height: 1.35; }
  .elementor-571 .elementor-element.elementor-element-5ab6cf77,
  .elementor-571 .elementor-element.elementor-element-7482730f,
  .elementor-571 .elementor-element.elementor-element-15f7023a,
  .elementor-571 .elementor-element.elementor-element-1aac0142,
  .elementor-571 .elementor-element.elementor-element-7c7c5c1,
  .elementor-571 .elementor-element.elementor-element-70429c3,
  .elementor-571 .elementor-element.elementor-element-77f87c5e,
  .elementor-571 .elementor-element.elementor-element-9418387 { margin: 0; }
  .elementor-571 .elementor-element.elementor-element-1633fd6b,
  .elementor-571 .elementor-element.elementor-element-f1dbd44,
  .elementor-571 .elementor-element.elementor-element-303b76ca { --margin-top: 0px; --margin-bottom: 0px; --gap: 12px 12px; --row-gap: 12px; --column-gap: 12px; }
  .elementor-571 .elementor-element.elementor-element-18bc68d4,
  .elementor-571 .elementor-element.elementor-element-2ac47057,
  .elementor-571 .elementor-element.elementor-element-3d43690a { --padding-left: 18px; --padding-right: 18px; }

  /* Contact page: remove 236px of nested horizontal spacing. */
  .elementor-1293 .elementor-element.elementor-element-389686e9 { --padding-top: 36px; --padding-bottom: 36px; --padding-left: 16px; --padding-right: 16px; }
  .elementor-1293 .elementor-element.elementor-element-5882ba67 { --padding-top: 24px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px; }
  .elementor-1293 .elementor-element.elementor-element-f9ad90c .fluentform-widget-wrapper { margin: 0; padding: 0; }
  .elementor-1293 .elementor-element.elementor-element-f9ad90c input:not([type="checkbox"]):not([type="radio"]),
  .elementor-1293 .elementor-element.elementor-element-f9ad90c select,
  .elementor-1293 .elementor-element.elementor-element-f9ad90c textarea { width: 100%; max-width: 100%; min-width: 0; font-size: 16px; }

  /* Public footer: remove the desktop negative margin and excessive gaps. */
  .elementor-557 .elementor-element.elementor-element-fac0c0e {
    --flex-direction: column;
    --gap: 24px 24px; --row-gap: 24px; --column-gap: 24px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .elementor-557 .elementor-element.elementor-element-fac0c0e > .e-con-inner { flex-direction: column; gap: 24px; }
  .elementor-557 .elementor-element.elementor-element-4c49941 { --flex-direction: column; --gap: 12px 12px; --row-gap: 12px; --column-gap: 12px; --padding-left: 20px; --padding-right: 20px; }
  .elementor-557 .elementor-element.elementor-element-4c49941 > .e-con-inner { flex-direction: column; gap: 12px; }
  .elementor-557 .elementor-element.elementor-element-3423842 { text-align: left; }
}
