/*
 * Global brand layer.
 * All chromatic UI tokens inherit from Theme Options > Màu chủ đạo / Màu phụ.
 */
html{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{color:var(--dq-text);font-family:var(--dq-font);font-synthesis:none}
button,input,select,textarea{font-family:inherit;font-synthesis:none}
::selection{background:var(--dq-primary-tint);color:var(--dq-primary-deep)}
:focus-visible{outline:3px solid var(--dq-primary-border);outline-offset:3px}
a:hover{color:var(--dq-primary-hover)}

/* Keep type within the supported range of common webfonts. */
h1,h2,h3,h4,h5,h6,strong,b,th,label,summary,button,input[type=submit],input[type=button],.button,.dq-btn{font-weight:700}
[style*="font-weight: 8"],[style*="font-weight:8"],[style*="font-weight: 9"],[style*="font-weight:9"]{font-weight:750!important}

/* Shared controls and navigation. */
.dq-btn,.dq-hotline,.dq-load-more:hover,.dqc-contact-form button,.search-submit{border-color:var(--dq-primary);background:var(--dq-primary);color:#fff}
.dq-btn:hover,.dq-hotline:hover,.dqc-contact-form button:hover,.search-submit:hover{border-color:var(--dq-primary-hover);background:var(--dq-primary-hover);color:#fff}
.dq-btn--outline,.dq-load-more{border-color:var(--dq-primary);background:transparent;color:var(--dq-primary)}
.dq-header-btn{background:var(--dq-secondary)}
.dq-footer{background:var(--dq-secondary)}
.dq-back-to-top,.dq-floating-contact a{background:var(--dq-primary)}

/*
 * One global header/footer on every route. These selectors intentionally
 * override legacy .home-only chrome rules from optional layout families.
 */
body.dq-global-chrome .dq-header{position:relative;inset:auto;top:auto;color:#102033;background:#fff;border:0;border-bottom:1px solid #e8edf3;box-shadow:0 8px 24px rgba(15,35,55,.08);font-family:Arial,"Helvetica Neue",sans-serif!important;font-synthesis:none}
body.dq-global-chrome .dq-header--sticky{position:sticky;top:0;inset-inline:0;z-index:100}
body.admin-bar.dq-global-chrome .dq-header--sticky{top:32px}
body.dq-global-chrome .dq-topbar,body.dq-global-chrome .dq-header-bottom{display:none}
body.dq-global-chrome .dq-header-main__grid{min-height:74px;grid-template-columns:minmax(185px,230px) minmax(0,1fr) auto;gap:20px}
body.dq-global-chrome .dq-header-zone--center{justify-content:center}
body.dq-global-chrome .dq-menu{align-items:center;justify-content:center;gap:clamp(16px,2vw,30px)}
body.dq-global-chrome .dq-menu>li{position:relative}
body.dq-global-chrome .dq-menu a{display:inline-flex;align-items:center;min-height:44px;color:#102033;font-size:clamp(15px,.9vw,16px);font-weight:700;line-height:1.2;letter-spacing:normal;white-space:nowrap;transition:color .2s ease}
body.dq-global-chrome .dq-menu .current-menu-item>a,body.dq-global-chrome .dq-menu .current-menu-ancestor>a{color:var(--dq-primary)}
body.dq-global-chrome .dq-menu>li>a:after{position:absolute;right:50%;bottom:2px;left:50%;height:2px;border-radius:2px;background:var(--dq-primary);content:"";transition:right .2s ease,left .2s ease}
body.dq-global-chrome .dq-menu>li:hover>a:after,body.dq-global-chrome .dq-menu>.current-menu-item>a:after,body.dq-global-chrome .dq-menu>.current-menu-ancestor>a:after{right:0;left:0}
body.dq-global-chrome .dq-logo img{width:auto;max-width:190px;max-height:58px;object-fit:contain}
body.dq-global-chrome .dq-logo strong{display:inline;color:var(--dq-text);font-size:inherit;line-height:inherit;letter-spacing:normal}
body.dq-global-chrome .dq-logo strong:before,body.dq-global-chrome .dq-logo strong:after{content:none}
body.dq-global-chrome .dq-hotline,body.dq-global-chrome .dq-header-btn{min-height:42px;padding-inline:20px;border:1px solid var(--dq-primary);border-radius:999px;background:var(--dq-primary);box-shadow:0 7px 16px color-mix(in srgb,var(--dq-primary) 24%,transparent);color:#fff;font-size:14px;font-weight:700;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
body.dq-global-chrome .dq-hotline:hover,body.dq-global-chrome .dq-header-btn:hover{background:var(--dq-primary-hover);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px color-mix(in srgb,var(--dq-primary) 30%,transparent)}
body.dq-global-chrome .dq-header-main--mobile{color:var(--dq-text);background:#fff}
body.dq-global-chrome .dq-menu-toggle,body.dq-global-chrome .dq-search-toggle{width:42px;height:42px;margin:0;padding:0;border:1px solid #e3e9ef;border-radius:10px;color:#102033;background:#fff;font-size:0;box-shadow:0 4px 12px rgba(15,35,55,.06)}
body.dq-global-chrome .dq-menu-toggle:before{content:"☰";font-size:21px;line-height:1}
body.dq-global-chrome .dq-search-toggle{font-size:20px}

body.dq-global-chrome .dq-footer{padding-top:58px;border-top:1px solid #ececf0;background:#fff;color:#3f4148;font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:14px;font-synthesis:none}
body.dq-global-chrome .dq-footer__grid{grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,58px);padding-top:0}
body.dq-global-chrome .dq-footer__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
body.dq-global-chrome .dq-footer__grid--4{grid-template-columns:1.35fr repeat(3,minmax(0,1fr))}
body.dq-global-chrome .dq-footer__grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
body.dq-global-chrome .dq-footer__col{min-width:0}
body.dq-global-chrome .dq-footer h3{margin:3px 0 20px;color:#151519;font-size:15px;font-weight:700;letter-spacing:.02em}
body.dq-global-chrome .dq-footer h3:after{display:block;width:32px;height:2px;margin-top:9px;border-radius:2px;background:var(--dq-primary);content:""}
body.dq-global-chrome .dq-footer-contact strong{color:#151519}
body.dq-global-chrome .dq-footer-menu{columns:auto}
body.dq-global-chrome .dq-footer-menu li{margin:0}
body.dq-global-chrome .dq-footer-menu a{display:inline-flex;align-items:center;min-height:34px;color:inherit;font-size:inherit;transition:color .2s ease,transform .2s ease}
body.dq-global-chrome .dq-footer-menu a:hover{color:var(--dq-primary);transform:translateX(3px)}
body.dq-global-chrome .dq-footer-contact{margin:0 0 12px;font-size:inherit;line-height:1.65}
body.dq-global-chrome .dq-footer-logo{display:block;width:min(100%,270px);height:auto;max-height:none;margin:0 auto 22px;padding:0;background:transparent}
body.dq-global-chrome .dq-footer__brand{display:inline-flex;max-width:190px;margin:0 0 20px;padding:8px 10px;border-radius:8px;background:#fff}
body.dq-global-chrome .dq-footer__brand img{width:auto;max-width:170px;max-height:58px;object-fit:contain}
body.dq-global-chrome .dq-footer .dq-richtext{line-height:1.75}
body.dq-global-chrome .dq-copyright{margin-top:44px;padding:19px 16px;border-top:1px solid #e5e5e9;background:#f7f7f8;color:#4b4d54;text-align:center}

@media(min-width:901px){
    /* Keep the desktop chrome identical on every route. Legacy home skins add
       vertical padding to menu items, which previously made only the homepage
       header taller. The larger logo/type fit inside the same 74px bar. */
    body.dq-global-chrome .dq-header-main__grid{height:74px;min-height:74px;grid-template-columns:minmax(205px,230px) minmax(0,1fr) auto}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu{gap:clamp(12px,1.4vw,24px)}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu>li{padding-block:0}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu>li>a{font-size:clamp(16px,1.05vw,17px)}
    body.dq-global-chrome .dq-header-main--desktop .dq-logo img{max-width:220px;max-height:68px}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu .menu-item-has-children{position:relative}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu .sub-menu{position:absolute;top:calc(100% - 4px);left:-16px;z-index:120;width:238px;margin:0;padding:9px;visibility:hidden;opacity:0;border:1px solid #e4e9ef;border-radius:10px;background:#fff;box-shadow:0 18px 42px rgba(15,35,55,.14);list-style:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu .sub-menu:before{position:absolute;right:0;bottom:100%;left:0;height:12px;content:""}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu .sub-menu li+li{border-top:1px solid #edf1f5}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu .sub-menu a{display:flex;min-height:42px;padding:8px 10px;border-radius:7px;white-space:normal}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu .sub-menu a:hover{background:var(--dq-primary-soft);color:var(--dq-primary)}
    body.dq-global-chrome .dq-header-main--desktop .dq-menu li:hover>.sub-menu,body.dq-global-chrome .dq-header-main--desktop .dq-menu li:focus-within>.sub-menu{visibility:visible;opacity:1;transform:none}
}

/* Common surfaces retain contrast while carrying the selected hue. */
.dq-content-hero,.dq-article-hero,.dq-error-page{background:linear-gradient(135deg,var(--dq-primary-soft),var(--dq-primary-tint))}
.dq-content-card__media,.dq-content-card__placeholder,.dq-empty-state__icon{background:var(--dq-primary-tint)}
.dq-content-card__placeholder span,.dq-content-kicker,.dq-content-card__meta span,.dq-content-card__link,.dq-breadcrumb a,.dq-text-link{color:var(--dq-primary)}
.dq-content-hero__copy h1,.dq-article-hero__copy h1,.dq-error-page__copy h1,.dq-section-heading h2,.dq-sidebar__section>h2,.dq-widget>h3,.dq-author-box h2,.dq-article-aside__box h2{color:var(--dq-primary-deep)}
.dq-content-card:hover,.dq-static-page,.dq-sidebar,.dq-article-aside__box,.dq-author-box{border-color:var(--dq-primary-border)}
.dq-article-aside__cta{background:linear-gradient(145deg,var(--dq-primary-deep),var(--dq-primary-hover))}
.dq-article-body blockquote,.dq-term-seo>.dq-richtext,.dq-author-box{background:var(--dq-primary-soft)}
.dq-toc summary{background:var(--dq-primary-soft);color:var(--dq-primary)}
.dq-toc,.dq-toc__list{border-color:var(--dq-primary-border)}

/* Reusable builder families share one brand tone. */
.dq-home-eyebrow,.dq-library-eyebrow,.dq-moving-eyebrow,.dq-wellness-eyebrow,.dq-data-eyebrow,.dq-service-eyebrow{color:var(--dq-primary)!important}
.dq-home-eyebrow:before,.dq-content-kicker:before{background:var(--dq-primary)!important}
.dq-home-btn,.dq-wellness-btn,.dq-data-btn,.dq-moving-btn{background:linear-gradient(135deg,var(--dq-primary),var(--dq-primary-hover));color:#fff}
.dq-home-btn.is-ghost,.dq-data-btn.is-ghost,.dq-moving-btn.is-ghost{border-color:var(--dq-primary);background:transparent;color:var(--dq-primary)}
.dq-home-buy,.dq-commerce-card__buy,.dq-service-action,.dq-data-action{background:linear-gradient(90deg,var(--dq-primary),var(--dq-primary-hover));color:#fff}

/* Native elements and plugin output. */
input:focus,textarea:focus,select:focus{border-color:var(--dq-primary);box-shadow:0 0 0 3px var(--dq-primary-soft);outline:0}
.page-numbers.current,.comment-form input[type=submit]{background:var(--dq-primary);color:#fff}
mark{background:var(--dq-primary-tint);color:var(--dq-primary-deep)}

/* Bring legacy page families into the active two-colour brand system. */
body.home{--dq-univi-blue:var(--dq-secondary);--dq-univi-action:var(--dq-primary);--dq-univi-ink:var(--dq-secondary)}
.dq-product-archive{--dq-archive-ink:var(--dq-secondary);--dq-archive-blue:var(--dq-primary);--dq-archive-line:var(--dq-primary-border);--dq-archive-soft:var(--dq-primary-soft)}
.dq-product-archive__consult{background:linear-gradient(135deg,var(--dq-secondary),var(--dq-primary))}
.dq-product-single{--dq-product-blue:var(--dq-primary);--dq-product-blue-deep:var(--dq-primary-hover);--dq-product-blue-soft:var(--dq-primary-soft);--dq-product-line:var(--dq-primary-border);--dq-product-ink:var(--dq-secondary)}

/* Product photos must always show the complete source image. Product media
   uses contain and no zoom so portrait models are never cropped at the face,
   hands or feet in cards, galleries, archives or related-product rails. */
.dq-product-archive__grid .dq-content-card__media img,
.dq-commerce-card__image img,
.dq-product-showcase__card img,
.dq-showcase__products img,
.dq-section--product_grid .dq-card>a>img,
.dq-product-carousel__track .dq-card>a>img,
.dq-extension-product img,
.dq-showcase-home-showcase.is-product .dq-showcase-home-card__image img{
    object-fit:contain!important;
    object-position:center center!important;
    background:#f3f4f6;
    transform:none!important;
}

.dq-product-archive__grid .dq-content-card:hover .dq-content-card__media img,
.dq-product-archive-card__media:hover img,
.dq-commerce-card:hover .dq-commerce-card__image img,
.dq-product-showcase__card a:hover img,
.dq-section--product_grid .dq-card:hover>a>img,
.dq-product-carousel__track .dq-card:hover>a>img,
.dq-extension-product:hover img,
.dq-showcase-home-showcase.is-product .dq-showcase-home-card:hover .dq-showcase-home-card__image img{
    transform:none!important;
}

/* Product-detail media fills its frame. Keep the focal point high enough that
   portrait product photography does not lose the model's head when cropped. */
.dq-product-single .dq-product-gallery__image,
.dq-product-single .dq-product-gallery__thumb img,
.dq-product-single .dq-product-related__media img{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover!important;
    object-position:center top!important;
    background:transparent;
}
.dq-product-single .dq-product-gallery__slide:hover .dq-product-gallery__image,
.dq-product-single .dq-product-related__media:hover img{
    transform:scale(1.035)!important;
}

@media(max-width:900px){
    body.dq-global-chrome .dq-header-main--desktop{display:none}
    body.dq-global-chrome .dq-header-main--mobile{display:block}
    body.dq-global-chrome .dq-header--sticky{position:fixed;top:0;right:0;left:0;width:100%;z-index:1000}
    body.dq-global-chrome .dq-main{padding-top:76px}
    body.dq-global-chrome .dq-mobile-header__grid{min-height:76px}
    body.dq-global-chrome .dq-header--mobile-logo-center .dq-mobile-header__grid{grid-template-columns:44px minmax(0,1fr) 44px}
    body.dq-global-chrome .dq-header--mobile-logo-center .dq-mobile-header__center{grid-row:1;grid-column:2;display:flex;justify-self:stretch;justify-content:center;min-width:0}
    body.dq-global-chrome .dq-header--mobile-logo-center .dq-mobile-header__left{grid-row:1;grid-column:3;justify-self:end}
    body.dq-global-chrome .dq-header--mobile-logo-center .dq-mobile-header__right{grid-row:1;grid-column:1;display:block}
    body.dq-global-chrome .dq-mobile-header__center .dq-logo img{width:auto;max-width:min(190px,100%);max-height:64px}
    body.dq-global-chrome .dq-mobile-nav{top:76px;max-height:calc(100dvh - 76px);overflow-y:auto;border:1px solid #e8edf3;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 20px 34px rgba(15,35,55,.12)}
    body.dq-global-chrome .dq-mobile-nav .dq-menu{display:block}
    body.dq-global-chrome .dq-mobile-nav .dq-menu li{padding:0;border-bottom:1px solid #edf1f5}
    body.dq-global-chrome .dq-mobile-nav .dq-menu a{display:flex;align-items:center;min-height:48px;padding-inline:2px}
    body.dq-global-chrome .dq-mobile-nav .dq-menu>li>a:after{display:none}
    body.dq-global-chrome .dq-mobile-nav .menu-item-has-children{position:relative}
    body.dq-global-chrome .dq-mobile-nav .menu-item-has-children>a{padding-right:50px}
    body.dq-global-chrome .dq-mobile-nav .sub-menu{display:none;margin:0;padding:0 0 0 16px;list-style:none}
    body.dq-global-chrome .dq-mobile-nav .menu-item-has-children.is-submenu-open>.sub-menu{display:block}
    body.dq-global-chrome .dq-mobile-nav .dq-submenu-toggle{position:absolute;top:3px;right:0;display:flex;width:42px;height:42px;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;color:var(--dq-text);background:transparent;cursor:pointer}
    body.dq-global-chrome .dq-mobile-nav .dq-submenu-toggle:after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
    body.dq-global-chrome .dq-mobile-nav .dq-submenu-toggle[aria-expanded="true"]:after{transform:translateY(2px) rotate(225deg)}
    body.dq-global-chrome .dq-mobile-nav .dq-submenu-toggle:focus-visible{outline:2px solid var(--dq-primary);outline-offset:2px}
    body.dq-global-chrome .dq-footer__grid,body.dq-global-chrome .dq-footer__grid--3,body.dq-global-chrome .dq-footer__grid--4,body.dq-global-chrome .dq-footer__grid--5{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}
    body.dq-global-chrome .dq-footer__col:first-child{grid-column:1/-1}
}
@media(min-width:783px) and (max-width:900px){body.admin-bar.dq-global-chrome .dq-header--sticky{top:32px}}
@media(min-width:601px) and (max-width:782px){body.admin-bar.dq-global-chrome .dq-header--sticky{top:46px}}
@media(max-width:600px){body.admin-bar.dq-global-chrome .dq-header--sticky{top:0}}
@media(max-width:620px){
    body.dq-global-chrome .dq-footer{padding-top:42px}
    body.dq-global-chrome .dq-footer__grid,body.dq-global-chrome .dq-footer__grid--3,body.dq-global-chrome .dq-footer__grid--4,body.dq-global-chrome .dq-footer__grid--5{grid-template-columns:1fr;gap:26px}
    body.dq-global-chrome .dq-footer__col:first-child{grid-column:auto}
    body.dq-global-chrome .dq-copyright{margin-top:30px}
}
