/*
 * UniLaw 10.6 — Mobile QA + typography normalization
 * 2026-08-20
 * Loaded after unilaw-final.css so it can safely correct legacy/theme-plugin rules.
 */

/* One typography system across cards, body copy and controls. */
body.unilaw-site,
.unilaw-site :where(p,li,a,button,input,textarea,select,small,label),
.unilaw-site :where(.unilaw-post-excerpt,.unilaw-archive-excerpt,.unilaw-card-link,.unilaw-reading-meta,.unilaw-breadcrumb),
.unilaw-site :where(.client-card,.unilaw-client-card,.google-review,.unilaw-mention-slide,.unilaw-cert-slide) {
  font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
.unilaw-site :where(h1,h2,h3,h4,h5,h6),
.unilaw-site :where(.unilaw-trust-subheading h3,.unilaw-evidence-window h3,.unilaw-cert-title) {
  font-family:"Playfair Display",Georgia,"Times New Roman",serif!important;
}
.unilaw-reading-content,
.unilaw-entry-content,
.unilaw-service-content,
.unilaw-standard-page .middle-content {
  font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}

/* Stable mobile-friendly sliders. */
.unilaw-carousel-viewport{scrollbar-width:none;-ms-overflow-style:none}
.unilaw-carousel-viewport::-webkit-scrollbar{display:none}
.unilaw-carousel-track{scroll-snap-type:x mandatory}
.unilaw-carousel-track>article{scroll-snap-align:start}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body.unilaw-site{font-size:16px!important;line-height:1.68!important}

  /* Header: keep language row, reduce dead space around the wordmark. */
  .unilaw-header-top{min-height:30px!important}
  .unilaw-header-top .unilaw-header-shell{width:calc(100% - 28px)!important;justify-content:flex-end!important}
  .unilaw-language-switcher{gap:11px!important}
  .unilaw-language-switcher a{font-size:10px!important;line-height:30px!important}
  .unilaw-header-main{
    min-height:118px!important;
    height:118px!important;
    padding:0 20px!important;
    align-items:center!important;
  }
  .unilaw-header .unilaw-brand{--unilaw-brand-width:158px!important;width:158px!important;gap:3px!important}
  .unilaw-header .unilaw-brand img,.unilaw-header .unilaw-brand .custom-logo{width:158px!important;max-width:158px!important;max-height:48px!important}
  .unilaw-header .unilaw-brand span{font-size:6px!important;letter-spacing:.10em!important;line-height:1!important}
  .unilaw-menu-toggle{right:18px!important;bottom:auto!important;top:50%!important;transform:translateY(-50%)!important}
  .unilaw-nav{top:118px!important}

  /* Hero: readable but less oversized; preserve poster/video impact. */
  .unilaw-hero{width:100%!important;margin:0!important;border:0!important;border-radius:0!important}
  .unilaw-hero-primary{min-height:520px!important}
  .unilaw-hero-copy{justify-content:flex-end!important;padding:38px 28px 42px!important}
  .unilaw-hero-copy .unilaw-kicker{font-size:9px!important;letter-spacing:.14em!important;margin-bottom:12px!important}
  .unilaw-hero-copy h1{font-size:clamp(37px,10.6vw,46px)!important;line-height:1.07!important;letter-spacing:-.025em!important}
  .unilaw-hero-copy>p:not(.unilaw-kicker){font-size:13px!important;line-height:1.62!important;margin-top:16px!important}
  .unilaw-hero-actions{gap:18px!important;margin-top:22px!important}
  .unilaw-hero-actions .unilaw-button{width:min(100%,285px)!important;min-height:50px!important;padding:0 20px!important;font-size:13px!important}
  .unilaw-hero-actions .unilaw-text-link{font-size:13px!important}
  .unilaw-hero-proof{padding:40px 28px 44px!important}
  .unilaw-hero-proof .unilaw-kicker{font-size:9px!important}
  .unilaw-hero-proof h2{font-size:clamp(32px,9vw,39px)!important;line-height:1.08!important;margin-bottom:22px!important}
  .unilaw-hero-proof>p:not(.unilaw-kicker){font-size:13px!important;line-height:1.65!important}
  .unilaw-hero-proof ul{gap:0!important;margin:24px 0!important}
  .unilaw-hero-proof li{padding:15px 0 15px 30px!important;font-size:13px!important;line-height:1.5!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .unilaw-hero-proof li::before{left:0!important;top:19px!important;width:10px!important;height:10px!important}

  /* Section rhythm: remove large empty gaps visible in the screenshots. */
  .unilaw-section{padding:64px 0!important}
  .unilaw-center-heading{margin-bottom:32px!important}
  .unilaw-section h2,.unilaw-trust-heading h2{font-size:clamp(34px,9.2vw,42px)!important;line-height:1.12!important}
  .unilaw-kicker{font-size:10px!important;letter-spacing:.16em!important}

  /* Practice cards: exactly one useful card per mobile viewport. */
  .unilaw-practice .unilaw-carousel-viewport,
  .unilaw-attorney-carousel .unilaw-carousel-viewport{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;overscroll-behavior-inline:contain!important}
  .unilaw-practice-cards,
  .unilaw-trust-attorneys{display:flex!important;grid-template-columns:none!important;gap:14px!important;width:max-content!important}
  .unilaw-practice-cards>article{
    flex:0 0 calc(100vw - 48px)!important;
    width:calc(100vw - 48px)!important;
    min-height:300px!important;
    scroll-snap-align:center!important;
  }
  .unilaw-practice-cards article>a{padding:28px 24px!important}
  .unilaw-practice-cards h3{font-size:27px!important;line-height:1.18!important}
  .unilaw-practice-cards p{font-size:13px!important;line-height:1.65!important}

  /* Attorneys: one complete card, no cut name/e-mail/phone. */
  .unilaw-trust-attorneys>article{
    flex:0 0 calc(100vw - 48px)!important;
    width:calc(100vw - 48px)!important;
    min-height:190px!important;
    display:grid!important;
    grid-template-columns:74px minmax(0,1fr) 28px!important;
    gap:18px!important;
    align-items:center!important;
    padding:24px!important;
    scroll-snap-align:center!important;
  }
  .unilaw-trust-attorney-photo{width:74px!important;height:74px!important}
  .unilaw-trust-attorneys h3{font-size:24px!important;line-height:1.2!important;margin-bottom:6px!important}
  .unilaw-trust-attorneys p{font-size:13px!important;line-height:1.45!important;margin-bottom:8px!important}
  .unilaw-trust-attorneys small{display:block!important;font-size:12px!important;line-height:1.55!important;overflow-wrap:anywhere!important;color:rgba(255,255,255,.74)!important}
  .unilaw-carousel-controls{margin-top:20px!important}
  .unilaw-carousel-controls button{width:46px!important;height:46px!important;min-width:46px!important}

  /* Client strip: disable auto-marquee on phones. Show one full, taller card and let the user swipe. */
  .unilaw-client-stable{
    height:230px!important;min-height:230px!important;max-height:230px!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    contain:layout paint!important;
    mask-image:none!important;-webkit-mask-image:none!important;
    scroll-snap-type:x mandatory!important;scrollbar-width:none!important;
  }
  .unilaw-client-stable::-webkit-scrollbar{display:none!important}
  .unilaw-client-stable:after{right:14px!important;bottom:4px!important}
  .unilaw-client-stable>*{height:100%!important;min-height:100%!important;max-height:100%!important;overflow:visible!important}
  .unilaw-client-stable :where(.clients-slider,.unilaw-clients-slider,.unilaw-evidence-track){
    height:100%!important;min-height:100%!important;width:max-content!important;max-width:none!important;
    gap:14px!important;animation:none!important;transform:none!important;align-items:center!important;
  }
  .unilaw-client-stable :where(.client-card,.unilaw-client-card,.item){
    flex:0 0 calc(100vw - 48px)!important;width:calc(100vw - 48px)!important;
    height:198px!important;min-height:198px!important;max-height:198px!important;
    padding:24px!important;overflow:visible!important;justify-content:center!important;
    scroll-snap-align:center!important;
  }
  .unilaw-client-stable :where(h2,h3,h4,strong){font-size:20px!important;line-height:1.25!important;margin-bottom:8px!important}
  .unilaw-client-stable p{font-size:13px!important;line-height:1.55!important;margin:0!important}

  /* Official sources / Google Reviews: fixed common geometry, but not giant. */
  .unilaw-trust-duo{display:block!important}
  .unilaw-trust-duo>section+section{margin-top:38px!important}
  .unilaw-trust-subheading{margin-bottom:16px!important}
  .unilaw-trust-subheading h3{font-size:29px!important;line-height:1.15!important}
  .unilaw-trust-window,
  .unilaw-review-stable{
    height:310px!important;min-height:310px!important;max-height:310px!important;
    overflow:hidden!important;border-radius:16px!important;
  }
  .unilaw-trust-window>*{height:100%!important;min-height:100%!important;max-height:100%!important}
  .unilaw-trust-window :where(.unilaw-mention-slide,.google-review,.review,.item){
    box-sizing:border-box!important;height:100%!important;min-height:100%!important;max-height:100%!important;
    padding:26px 24px!important;overflow:auto!important;
  }
  .unilaw-trust-window :where(h2,h3,h4,strong){font-size:21px!important;line-height:1.3!important}
  .unilaw-trust-window :where(p,span,a){font-size:13px!important;line-height:1.55!important}
  .unilaw-trust-certificate{height:190px!important;min-height:190px!important;max-height:190px!important}

  /* Journal/category rail: horizontal swipe with full pills. */
  .unilaw-category-rail,.unilaw-main-category-rail,.unilaw-magazine-filters{
    overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;
    padding-right:22px!important;margin-right:-17px!important;scrollbar-width:none!important;
  }
  .unilaw-category-rail::-webkit-scrollbar,.unilaw-main-category-rail::-webkit-scrollbar,.unilaw-magazine-filters::-webkit-scrollbar{display:none!important}
  .unilaw-category-rail button,.unilaw-main-category-rail a,.unilaw-magazine-filters a{scroll-snap-align:start!important;white-space:nowrap!important}
  .unilaw-post-card h3,.unilaw-archive-card h2{font-size:24px!important;line-height:1.32!important}
  .unilaw-post-excerpt,.unilaw-archive-excerpt{font-size:13px!important;line-height:1.62!important}

  /* Article typography: calm, consistent, mobile-readable. */
  .unilaw-editorial-header h1{font-size:clamp(34px,9vw,42px)!important;line-height:1.08!important}
  .unilaw-reading-content{font-size:16px!important;line-height:1.72!important}
  .unilaw-reading-content :where(p,li){text-align:left!important}
  .unilaw-reading-content h2{font-size:30px!important;line-height:1.2!important;margin-top:1.45em!important}
  .unilaw-reading-content h3{font-size:24px!important;line-height:1.25!important}
  .unilaw-reading-feature img{border-radius:14px!important}

  /* Floating Zalo must never cover CTA/text. */
  #zalo-vr,.zalo-container,.zalo-chat-widget,.zalo-chat-widget-container,[class*="zalo-chat"],.zalo-chat-widget{
    width:38px!important;max-width:38px!important;height:38px!important;max-height:38px!important;
    right:8px!important;bottom:12px!important;transform:none!important;
  }
}

@media(max-width:390px){
  .unilaw-header-main{min-height:108px!important;height:108px!important;padding-inline:16px!important}
  .unilaw-header .unilaw-brand{--unilaw-brand-width:148px!important;width:148px!important}
  .unilaw-header .unilaw-brand img,.unilaw-header .unilaw-brand .custom-logo{width:148px!important;max-width:148px!important}
  .unilaw-nav{top:108px!important}
  .unilaw-hero-primary{min-height:500px!important}
  .unilaw-hero-copy{padding:34px 24px 38px!important}
  .unilaw-hero-copy h1{font-size:37px!important}
  .unilaw-practice-cards>article,.unilaw-trust-attorneys>article,.unilaw-client-stable :where(.client-card,.unilaw-client-card,.item){flex-basis:calc(100vw - 40px)!important;width:calc(100vw - 40px)!important}
}

@media(prefers-reduced-motion:reduce){
  .unilaw-client-stable :where(.clients-slider,.unilaw-clients-slider,.unilaw-evidence-track){animation:none!important}
}

/* ========================================================================== 
   UniLaw 10.8 mobile QA — visible menu + stable tall clients
   ========================================================================== */
@media(max-width:760px){
  /* A real, visible site menu button on the white header. */
  .unilaw-menu-toggle{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    width:44px!important;
    height:44px!important;
    right:18px!important;
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    padding:7px!important;
    border:1px solid rgba(8,35,63,.22)!important;
    border-radius:10px!important;
    background:#fffdf9!important;
    box-shadow:0 4px 14px rgba(8,35,63,.06)!important;
    z-index:1004!important;
  }
  .unilaw-menu-toggle span{
    display:block!important;
    width:24px!important;
    height:2px!important;
    margin:3px 0!important;
    border:0!important;
    border-radius:2px!important;
    background:#08233f!important;
    opacity:1!important;
  }
  .unilaw-menu-toggle:focus-visible{outline:3px solid rgba(197,145,60,.32)!important;outline-offset:2px!important}
  .unilaw-nav{
    background:#fffdf9!important;
    border-top:1px solid #e7dfd1!important;
    box-shadow:0 14px 28px rgba(8,35,63,.10)!important;
    z-index:1002!important;
  }
  .unilaw-nav.is-open{max-height:78vh!important;overflow-y:auto!important}
  .unilaw-menu{background:#fffdf9!important;padding:10px 20px 18px!important}
  .unilaw-menu>li>a,
  .unilaw-menu .sub-menu a{
    color:#08233f!important;
    background:transparent!important;
    font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
    font-weight:700!important;
  }
  .unilaw-menu>li>a{border-bottom:1px solid #eee7dc!important}
  .unilaw-menu .current-menu-item>a,
  .unilaw-menu .current-menu-ancestor>a,
  .unilaw-menu a:hover,
  .unilaw-menu a:focus{color:#b87c28!important}
  .unilaw-menu .sub-menu{background:#faf7f1!important}

  /* Requested two-edge alignment for mobile body/card copy. */
  .unilaw-site :where(
    .unilaw-reading-content p,.unilaw-reading-content li,
    .unilaw-entry-content p,.unilaw-entry-content li,
    .unilaw-service-content p,.unilaw-service-content li,
    .unilaw-standard-page .middle-content p,.unilaw-standard-page .middle-content li,
    .unilaw-practice-cards p,.unilaw-practice-cards li,
    .unilaw-hero-proof li,
    .unilaw-client-stable p
  ){
    font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
    text-align:justify!important;
    text-justify:inter-word!important;
    hyphens:none!important;
  }

  /* Override earlier mobile QA dimensions: show the complete client record. */
  .unilaw-evidence-clients{padding:0 0 28px!important;margin-top:-2px!important}
  .unilaw-client-stable{
    height:322px!important;
    min-height:322px!important;
    max-height:322px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  .unilaw-client-stable>*{height:100%!important;min-height:100%!important;max-height:100%!important}
  .unilaw-client-stable :where(.clients-slider,.unilaw-clients-slider,.unilaw-evidence-track){
    height:100%!important;min-height:100%!important;align-items:center!important
  }
  .unilaw-client-stable :where(.client-card,.unilaw-client-card,.item){
    flex:0 0 calc(100vw - 48px)!important;
    width:calc(100vw - 48px)!important;
    height:286px!important;
    min-height:286px!important;
    max-height:286px!important;
    padding:30px 26px!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .unilaw-client-stable :where(h2,h3,h4,strong){font-size:20px!important;line-height:1.28!important;margin-bottom:10px!important}
  .unilaw-client-stable p{font-size:13px!important;line-height:1.6!important;max-height:none!important;overflow:visible!important}
}
