/* Shared phone and tablet layout, loaded after page-specific styles. */
@media (max-width:1050px) {
  html { scroll-padding-top:80px; }
  header .wrap, .site-home header>.wrap { width:100%!important; padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))!important; }
  header .hdr-wrap { height:64px!important; min-height:64px!important; width:100%; }
  header .logo-mark,header .logo-mark img { width:44px!important; height:44px!important; }
  header .logo-wordmark { display:inline!important; font-size:19px!important; }
  .burger { width:44px!important; height:44px!important; align-items:center; flex-shrink:0; padding:8px!important; }
  .xivy-lang-trigger { min-width:44px!important; min-height:44px!important; }
  .xivy-lang-switcher { margin-left:auto; }
  .burger { margin-left:0!important; }
  .mobile-nav,.site-home .mobile-nav { position:fixed!important; inset:64px 0 0!important; z-index:899; max-height:none!important; overflow-y:auto!important; overscroll-behavior:contain; padding:20px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important; display:none!important; transform:none!important; }
  .mobile-nav.open { display:flex!important; flex-direction:column; gap:12px; opacity:1!important; visibility:visible!important; pointer-events:auto!important; }
  .mobile-nav .btn { display:flex!important; min-height:48px; flex-shrink:0; font-size:16px!important; white-space:normal; text-align:center; }
  body:has(.mobile-nav.open) { overflow:hidden!important; touch-action:auto!important; }
}
@media (max-width:700px) {
  *,*::before,*::after { box-sizing:border-box; }
  main,.wrap,article,section,form { min-width:0; }
  .wrap,.site-home .wrap { padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))!important; }
  main { overflow-wrap:anywhere; }
  input:not([type=checkbox]):not([type=radio]),textarea,select { font-size:16px!important; min-width:0; max-width:100%; }
  .input-row,.password-row,.cs-trigger { min-height:48px!important; }
  .btn-primary,.btn,.download-simple-btn { min-height:48px; white-space:normal; text-align:center; }
  .toggle-pass,.password-toggle,.cs-option { min-height:44px; }
  .auth-shell,.legal-shell { padding-top:96px!important; padding-bottom:48px!important; }
  .xivy-card,.legal-card { width:100%!important; max-width:100%!important; padding:24px 18px!important; }
  .xivy-card__content { min-width:0; }
  .terms-group,.consent-item { line-height:1.5; }
  .site-home .home-hero { padding-top:112px; padding-bottom:48px; min-height:100svh; }
  .home-hero h1 { font-size:clamp(40px,10.5vw,64px)!important; margin-bottom:24px; }
  .home-intro { font-size:clamp(18px,4.7vw,24px)!important; margin-bottom:28px; }
  .home-intro br { display:none; }
  .home-actions .btn { min-height:52px; padding:16px 18px; justify-content:center; font-size:17px; }
  .home-content { padding-top:32px; padding-bottom:48px; }
  .home-tabs button { padding:14px 16px; font-size:16px; }
  .home-hub { padding-top:32px; }
  .home-hub ul { font-size:16px; }
  .download-simple { padding:112px 16px 56px!important; }
  .download-simple h1 { font-size:clamp(30px,8vw,44px)!important; }
  .download-simple p { font-size:18px!important; margin-bottom:28px; }
  .download-simple-actions { flex-direction:column; align-items:stretch; }
  .download-simple-btn { justify-content:center; }
  .news-grid { grid-template-columns:minmax(0,1fr)!important; }
  .legal-card h1,.auth-title { font-size:clamp(26px,7vw,36px)!important; }
  .legal-card p,.legal-card li { line-height:1.65; }
  .legal-card table { display:block; max-width:100%; overflow-x:auto; }
  .legal-operator-grid { grid-template-columns:minmax(0,1fr)!important; }
  .footer-inner,.footer-links-cols,.f-links-legal { grid-template-columns:minmax(0,1fr)!important; gap:24px!important; }
  footer .f-links a,footer .f-bot-links a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
  footer .f-links li { margin:0; }
  #xivy-cookie-notice { max-width:calc(100% - 24px)!important; max-height:50svh; overflow:auto; bottom:max(12px,env(safe-area-inset-bottom))!important; }
  #xivy-cookie-notice button { min-height:44px; flex-shrink:0; }
}
@media (max-width:1050px) and (max-height:500px) {
  .site-home .home-hero { padding-top:96px; padding-bottom:32px; }
  .home-hero h1 { font-size:44px!important; }
  .home-intro { font-size:18px!important; }
}
