/* Shared chrome; page styles must not change the site's navigation and footer. */
.site-header .header-inner{gap:22px}
.site-header .brand img{width:170px;height:auto;max-height:44px}
.site-header .nav-links{gap:20px}
.site-footer{text-align:left;padding:52px 0 20px}
.site-footer .brand img{width:170px;height:auto;max-height:44px}
.guide-ad{margin:28px 0;padding:12px;border:1px solid #e0e6f0;border-radius:10px}
.guide-ad p{font-size:11px;color:#667;margin:0}
.studio-body .hero{padding:0;background:none;overflow:visible}
/*.studio-body .site-header .nav-links a{font-size:13px}*/
@media(max-width:1050px){
  .site-header .mobile-menu{display:block}
  .site-header .nav-links{display:none;position:absolute;left:20px;right:20px;top:72px;background:#fff;padding:18px;border:1px solid #e1e9f8;border-radius:14px;box-shadow:0 12px 32px #17345a14}
  .site-header .nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  .site-header .nav-links a{padding:9px 12px}
}
/* Keep the expanded public product menu readable across all pages. */
.site-header .nav-links{gap:12px}
.site-header .nav-links a{font-size:12px}
@media(min-width:1051px) and (max-width:1200px){
  .site-header .mobile-menu{display:block}
  .site-header .nav-links{display:none;position:absolute;left:20px;right:20px;top:72px;background:#fff;padding:18px;border:1px solid #e1e9f8;border-radius:14px;box-shadow:0 12px 32px #17345a14}
  .site-header .nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  .site-header .nav-links a{padding:9px 12px}
}

/* Shared support contacts, configured in the admin dashboard. */
.support-dock{position:fixed;right:20px;bottom:calc(100px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;flex-direction:column;gap:14px;align-items:flex-end}
.support-dock .support-link{--support-color:#0878ef;position:relative;display:grid;place-items:center;box-sizing:border-box;width:54px;height:54px;padding:4px;border:1px solid #ffffffa6;border-radius:19px;background:#fff;color:#193656;text-decoration:none;box-shadow:0 5px 20px #19365626;isolation:isolate;transition:transform .25s,box-shadow .25s}
.support-link::before{content:"";position:absolute;inset:-4px;border:1px solid var(--support-color);border-radius:23px;opacity:0;pointer-events:none;animation:support-halo 3.6s ease-out infinite;z-index:-1}
.support-dock .support-phone{--support-color:#0b9b7c}
.support-dock .support-email{--support-color:#7958de}
.support-phone::before{animation-delay:1.2s}
.support-email::before{animation-delay:2.4s}
.support-dock .support-link:hover,.support-dock .support-link:focus-visible{transform:translateY(-3px);box-shadow:0 9px 26px #19365638}
.support-dock .support-link:focus-visible{outline:3px solid var(--support-color);outline-offset:5px}
.support-icon{position:relative;overflow:hidden;display:grid;place-items:center;width:44px;height:44px;border-radius:15px;color:#fff;background:linear-gradient(140deg,#168aff,#005bd7);box-shadow:inset 0 1px 0 #ffffff50;transition:transform .3s}
.support-icon::after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 40%,#ffffff50 50%,transparent 60%);transform:translateX(-110%) rotate(12deg);pointer-events:none}
.support-link:hover .support-icon::after,.support-link:focus-visible .support-icon::after{animation:support-shine .65s ease-out}
.support-link:hover .support-icon,.support-link:focus-visible .support-icon{transform:rotate(-6deg) scale(1.04)}
.support-icon svg{width:23px;height:23px}
.support-zalo-icon{font:800 14px/1 system-ui;letter-spacing:-.8px}
.support-phone .support-icon{background:linear-gradient(140deg,#22bd91,#087b68)}
.support-email .support-icon{background:linear-gradient(140deg,#9b7cf6,#5b42b7)}
.support-dock .support-copy{position:absolute;right:calc(100% + 12px);top:50%;display:flex;flex-direction:column;gap:3px;width:max-content;max-width:calc(100vw - 110px);box-sizing:border-box;padding:12px 16px;border:1px solid #e3eaf4;border-radius:14px;background:#fff;box-shadow:0 8px 28px #19365626;opacity:0;visibility:hidden;pointer-events:none;transform:translate(8px,-50%);transition:opacity .2s,transform .2s,visibility .2s}
.support-copy::after{content:"";position:absolute;left:100%;top:0;width:14px;height:100%}
.support-link:hover .support-copy,.support-link:focus-visible .support-copy{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%)}
.support-copy strong{font:700 13px/1.4 system-ui}
.support-copy small{font:500 12px/1.4 system-ui;color:#536782;overflow-wrap:anywhere}
@keyframes support-halo{0%{transform:scale(.95);opacity:0}15%{opacity:.3}65%,100%{transform:scale(1.22);opacity:0}}
@keyframes support-shine{to{transform:translateX(110%) rotate(12deg)}}
@media(max-width:767px){.support-dock{right:12px;gap:12px}.support-dock .support-link{width:50px;height:50px;border-radius:17px}.support-icon{width:40px;height:40px;border-radius:13px}}
@media(prefers-reduced-motion:reduce){.support-dock .support-link,.support-dock .support-icon,.support-dock .support-copy{transition:none}.support-link::before,.support-link:hover .support-icon::after,.support-link:focus-visible .support-icon::after{animation:none}.support-link:hover .support-icon,.support-link:focus-visible .support-icon{transform:none}}
