/* DAO DANANG v2.0.14 — STEP 4 / MOBILE MULTILINGUAL UX
   Scope: mobile language selector, long-copy resilience and RTL/CJK typography only.
   No desktop layout changes. */

@media (max-width: 760px) {
  /* Language selector: show all 10 languages as a compact 2-column panel. */
  .dao-language__menu {
    right: 0;
    left: auto;
    width: min(310px, calc(100vw - 28px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    padding: 8px;
    border: 1px solid rgba(189,146,91,.28);
    background:
      radial-gradient(circle at 100% 0, rgba(118,9,25,.16), transparent 36%),
      #09090a;
  }

  .dao-language.is-open .dao-language__menu {
    display: grid;
  }

  .dao-language__menu a {
    min-width: 0;
    min-height: 44px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.065);
    background: rgba(255,255,255,.018);
    font-size: 11px;
    line-height: 1.25;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }

  .dao-language__menu a:active {
    border-color: rgba(201,27,51,.58);
    background: rgba(201,27,51,.09);
  }

  /* Clearly indicate the currently selected language. */
  body.dao-lang-en .dao-language__menu a[hreflang="en"],
  body.dao-lang-ko .dao-language__menu a[hreflang="ko"],
  body.dao-lang-zh-cn .dao-language__menu a[hreflang="zh-CN"],
  body.dao-lang-zh-hk .dao-language__menu a[hreflang="zh-HK"],
  body.dao-lang-zh-tw .dao-language__menu a[hreflang="zh-TW"],
  body.dao-lang-th .dao-language__menu a[hreflang="th"],
  body.dao-lang-ja .dao-language__menu a[hreflang="ja"],
  body.dao-lang-ru .dao-language__menu a[hreflang="ru"],
  body.dao-lang-hi .dao-language__menu a[hreflang="hi"],
  body.dao-lang-ar .dao-language__menu a[hreflang="ar"] {
    border-color: rgba(201,27,51,.68);
    background: linear-gradient(135deg, rgba(201,27,51,.16), rgba(201,27,51,.035));
    color: #fff;
  }

  /* Stop translated copy from overflowing buttons/cards. */
  .dao-btn,
  .dao-text-link,
  .dao-card-book,
  .dao-price-card__book,
  .dao-booking-card,
  .dao-messenger-card,
  .dao-nav a,
  .dao-faq-accordion summary,
  .dao-faq-list summary {
    min-width: 0;
  }

  .dao-btn,
  .dao-card-book,
  .dao-price-card__book {
    white-space: normal;
    text-align: center;
    line-height: 1.35;
  }

  h1, h2, h3,
  .dao-hero__lead,
  .dao-price-card__head p,
  .dao-booking-card h3,
  .dao-booking-card__copy,
  .dao-messenger-card span,
  .dao-location-card__body,
  .dao-hoian-location-grid article,
  .dao-faq-accordion summary,
  .dao-faq-accordion details p {
    overflow-wrap: break-word;
  }

  /* Non-Latin scripts need less tracking and slightly more line height. */
  body.dao-lang-ko,
  body.dao-lang-ja,
  body.dao-lang-zh-cn,
  body.dao-lang-zh-hk,
  body.dao-lang-zh-tw,
  body.dao-lang-th,
  body.dao-lang-hi,
  body.dao-lang-ar {
    word-spacing: normal;
  }

  body.dao-lang-ko .dao-kicker,
  body.dao-lang-ja .dao-kicker,
  body.dao-lang-zh-cn .dao-kicker,
  body.dao-lang-zh-hk .dao-kicker,
  body.dao-lang-zh-tw .dao-kicker,
  body.dao-lang-th .dao-kicker,
  body.dao-lang-hi .dao-kicker,
  body.dao-lang-ar .dao-kicker,
  body.dao-lang-ko .dao-btn,
  body.dao-lang-ja .dao-btn,
  body.dao-lang-zh-cn .dao-btn,
  body.dao-lang-zh-hk .dao-btn,
  body.dao-lang-zh-tw .dao-btn,
  body.dao-lang-th .dao-btn,
  body.dao-lang-hi .dao-btn,
  body.dao-lang-ar .dao-btn {
    letter-spacing: .015em;
  }

  /* CJK: preserve natural word units and avoid ugly character splitting. */
  body.dao-lang-ko h1,
  body.dao-lang-ko h2,
  body.dao-lang-ko h3,
  body.dao-lang-ja h1,
  body.dao-lang-ja h2,
  body.dao-lang-ja h3,
  body.dao-lang-zh-cn h1,
  body.dao-lang-zh-cn h2,
  body.dao-lang-zh-cn h3,
  body.dao-lang-zh-hk h1,
  body.dao-lang-zh-hk h2,
  body.dao-lang-zh-hk h3,
  body.dao-lang-zh-tw h1,
  body.dao-lang-zh-tw h2,
  body.dao-lang-zh-tw h3 {
    word-break: keep-all;
    line-break: strict;
  }

  body.dao-lang-ko .dao-hero h1,
  body.dao-lang-ja .dao-hero h1,
  body.dao-lang-zh-cn .dao-hero h1,
  body.dao-lang-zh-hk .dao-hero h1,
  body.dao-lang-zh-tw .dao-hero h1,
  body.dao-lang-ko .dao-prices-hero h1,
  body.dao-lang-ja .dao-prices-hero h1,
  body.dao-lang-zh-cn .dao-prices-hero h1,
  body.dao-lang-zh-hk .dao-prices-hero h1,
  body.dao-lang-zh-tw .dao-prices-hero h1,
  body.dao-lang-ko .dao-therapists-hero h1,
  body.dao-lang-ja .dao-therapists-hero h1,
  body.dao-lang-zh-cn .dao-therapists-hero h1,
  body.dao-lang-zh-hk .dao-therapists-hero h1,
  body.dao-lang-zh-tw .dao-therapists-hero h1,
  body.dao-lang-ko .dao-hoian-hero h1,
  body.dao-lang-ja .dao-hoian-hero h1,
  body.dao-lang-zh-cn .dao-hoian-hero h1,
  body.dao-lang-zh-hk .dao-hoian-hero h1,
  body.dao-lang-zh-tw .dao-hoian-hero h1,
  body.dao-lang-ko .dao-faq-hero h1,
  body.dao-lang-ja .dao-faq-hero h1,
  body.dao-lang-zh-cn .dao-faq-hero h1,
  body.dao-lang-zh-hk .dao-faq-hero h1,
  body.dao-lang-zh-tw .dao-faq-hero h1 {
    font-size: clamp(31px, 8.8vw, 38px) !important;
    line-height: 1.17;
    letter-spacing: -.025em;
  }

  /* Russian / Hindi / Thai / Arabic tend to run wider/taller. */
  body.dao-lang-ru h1,
  body.dao-lang-hi h1,
  body.dao-lang-th h1,
  body.dao-lang-ar h1 {
    font-size: clamp(31px, 8.7vw, 38px) !important;
    line-height: 1.12;
    letter-spacing: -.025em;
  }

  body.dao-lang-hi h1,
  body.dao-lang-th h1,
  body.dao-lang-ar h1,
  body.dao-lang-hi h2,
  body.dao-lang-th h2,
  body.dao-lang-ar h2,
  body.dao-lang-hi h3,
  body.dao-lang-th h3,
  body.dao-lang-ar h3 {
    line-height: 1.22;
  }

  body.dao-lang-ru .dao-service-card h3,
  body.dao-lang-hi .dao-service-card h3,
  body.dao-lang-th .dao-service-card h3,
  body.dao-lang-ar .dao-service-card h3,
  body.dao-lang-ru .dao-price-card h3,
  body.dao-lang-hi .dao-price-card h3,
  body.dao-lang-th .dao-price-card h3,
  body.dao-lang-ar .dao-price-card h3 {
    font-size: 14px;
    line-height: 1.45;
  }

  /* RTL: keep the mobile controls visually predictable while copy remains RTL. */
  body.dao-lang-ar .dao-header__inner,
  body.dao-lang-ar .dao-header__actions {
    direction: ltr;
  }

  body.dao-lang-ar .dao-language__menu,
  body.dao-lang-ar .dao-nav,
  body.dao-lang-ar main,
  body.dao-lang-ar .dao-footer {
    direction: rtl;
  }

  body.dao-lang-ar .dao-language__menu {
    right: 0;
    left: auto;
  }

  body.dao-lang-ar .dao-language__menu a {
    justify-content: flex-start;
    text-align: right;
  }

  body.dao-lang-ar .dao-price-card__row,
  body.dao-lang-ar .dao-price-row,
  body.dao-lang-ar .dao-booking-card,
  body.dao-lang-ar .dao-booking-note div,
  body.dao-lang-ar .dao-hoian-location-grid article,
  body.dao-lang-ar .dao-faq-accordion summary {
    text-align: right;
  }
}

@media (max-width: 390px) {
  .dao-language__menu {
    width: min(292px, calc(100vw - 20px));
  }

  .dao-language__menu a {
    padding-inline: 8px;
    font-size: 10px;
  }

  body.dao-lang-ru h1,
  body.dao-lang-hi h1,
  body.dao-lang-th h1,
  body.dao-lang-ar h1,
  body.dao-lang-ko .dao-hero h1,
  body.dao-lang-ja .dao-hero h1,
  body.dao-lang-zh-cn .dao-hero h1,
  body.dao-lang-zh-hk .dao-hero h1,
  body.dao-lang-zh-tw .dao-hero h1 {
    font-size: 30px !important;
  }
}
