/* Quang Phat Header for Spectra One 1.2.6 and WP Core Navigation. Scoped only to .qp-header-shell. */
.qp-header-shell,
.qp-header-shell * { box-sizing: border-box; }
.qp-header-shell.wp-block-group.alignfull { margin-block-start: 0; margin-block-end: 0; padding: 0; background: #FAF9F5; color: #004B3A; border-bottom: 1px solid #E9E6DF; box-shadow: 0 3px 16px rgba(0,55,43,.045); }
.qp-header-shell .qp-header-grid.wp-block-group { width: min(calc(100% - 48px), 1164px); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: 'brand hotline' 'nav nav'; column-gap: 20px; row-gap: 0; padding: 14px 0 0; }
.qp-header-shell .qp-header-grid > * { min-width: 0; margin-block: 0; }
.qp-header-shell .qp-header-brand.wp-block-group { grid-area: brand; display: flex; flex-wrap: nowrap; align-items: center; gap: 14px; }
.qp-header-shell .qp-brand-logo.wp-block-image { position: relative; flex: 0 0 70px; width:70px; height:70px; overflow: hidden; border-radius: 50%; background: #FFF39C; margin: 0; }
.qp-header-shell .qp-brand-logo a { position: relative; width:100%; height:100%; display:block; }
.qp-header-shell .qp-brand-logo img { position:absolute; width: 190px; max-width: none; height:auto; left:50%; top:0; transform: translateX(-50%); }
.qp-header-shell .qp-brand-copy.wp-block-group { min-width:0; display:block; margin:0; }
.qp-header-shell .qp-brand-copy p { margin:0; }
.qp-header-shell .qp-brand-name { font-size: clamp(17px,2vw,22px); font-weight:800; line-height: 1.15; letter-spacing:.008em; color:#004B3A; }
.qp-header-shell .qp-brand-name a { color: inherit; text-decoration: none; }
.qp-header-shell .qp-brand-tagline-desktop { margin-top:5px!important; color:#6D706D; font-size: 10px; letter-spacing: .11em; font-weight: 650; }
.qp-header-shell .qp-brand-tagline-mobile { display:none; }
.qp-header-shell .qp-header-hotline.wp-block-buttons { grid-area:hotline; display:flex; justify-content:flex-end; align-items:center; }
.qp-header-shell .qp-header-hotline .qp-header-call-button .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; gap:9px; padding: 12px 18px; border-radius: 9px; color:#FFFFFF; background:#CF2E2E; font-size:14px; font-weight:700; text-decoration:none; box-shadow: 0 2px 5px rgba(207,46,46,.14); transition: background .2s ease,transform .2s ease; white-space:nowrap; }
.qp-header-shell .qp-header-call-button .wp-block-button__link:before { content:'☎'; font-family: system-ui,sans-serif; font-size:18px; line-height:1; }
.qp-header-shell .qp-header-call-button .wp-block-button__link:hover { background:#AA2027; transform:translateY(-1px); }
.qp-header-shell .qp-main-navigation.wp-block-navigation { grid-area:nav; position:relative; width:100%; margin:12px 0 0; min-height:54px; padding:0; border-top:1px solid #E9E6DF; display:flex; align-items:center; justify-content:space-between; color:#004B3A; font-size:15px; font-weight:650; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { width:100%; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__container { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.qp-header-shell .qp-main-navigation .wp-block-navigation-item__content { color:#004B3A; text-decoration:none; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display:inline-flex; align-items:center; padding:13px 7px; min-height:48px; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.qp-header-shell .qp-main-navigation .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content { color:#CF2E2E; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__submenu-container { min-width:280px!important; max-width:360px; padding:8px!important; background:#fff!important; border:1px solid #E7E9E4!important; border-radius:12px!important; box-shadow:0 14px 34px rgba(0,41,32,.14)!important; z-index:1000; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item { border-radius:7px; width:100%; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding:10px 12px; width:100%; line-height:1.35; }
.qp-header-shell .qp-main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover { background:#F7F8F3; }
.qp-header-shell .qp-main-navigation .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content { color:#CF2E2E; }
.qp-header-shell a:focus-visible,
.qp-header-shell button:focus-visible { outline:3px solid #FCB900!important; outline-offset:3px; }
.qp-header-shell .qp-mobile-menu-cta { display:none!important; }
/* Native WordPress Navigation overlay uses its built-in open/close & submenu click behavior; no custom JS. */
@media (max-width:900px) {
  .qp-header-shell .qp-header-grid.wp-block-group { width:calc(100% - 24px); grid-template-columns:minmax(0,1fr) 44px 44px; grid-template-areas:'brand hotline nav'; column-gap:8px; padding:9px 0; align-items:center; }
  .qp-header-shell .qp-header-brand.wp-block-group { gap:9px; }
  .qp-header-shell .qp-brand-logo.wp-block-image { width:52px; height:52px; flex:0 0 52px; }
  .qp-header-shell .qp-brand-logo img { width:142px; }
  .qp-header-shell .qp-brand-name { font-size:clamp(11px,2.8vw,14px); line-height:1.14; letter-spacing:-.01em; }
  .qp-header-shell .qp-brand-tagline-desktop { display:none; }
  .qp-header-shell .qp-brand-tagline-mobile { display:block; font-size:11px; margin-top:3px!important; color:#7C7F76; }
  .qp-header-shell .qp-header-hotline.wp-block-buttons { width:44px; height:44px; }
  .qp-header-shell .qp-header-hotline .qp-header-call-button .wp-block-button__link { height:44px; min-height:44px; width:44px; min-width:44px; padding:0; font-size:0; background:#fff; border:1px solid #EAE7DF; color:#CF2E2E; box-shadow:none; }
  .qp-header-shell .qp-header-hotline .qp-header-call-button .wp-block-button__link:before { content:'☎'; font-size:24px; color:#CF2E2E; }
  .qp-header-shell .qp-main-navigation.wp-block-navigation { margin:0; min-height:44px; width:44px; border:0; grid-area:nav; display:flex; justify-content:center; align-items:center; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container-open { display:flex!important; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; color:#004B3A; background:#fff; border:1px solid #EAE7DF; border-radius:9px; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open { position:fixed!important; inset:auto 0 0 auto!important; top:calc(70px + var(--wp-admin--admin-bar--height, 0px))!important; height:calc(100dvh - 70px - var(--wp-admin--admin-bar--height, 0px))!important; width:min(100%, 420px)!important; max-height:none; overflow-y:auto; padding:0 22px 30px!important; color:#004B3A!important; background:#fff!important; border-top:1px solid #F1EDE7; box-shadow:-14px 18px 30px rgba(0,41,32,.13); z-index:99999; animation:qp-menu-enter .22s ease-out both; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container-close { top:12px; right:0; color:#004B3A; padding:7px; background:#F7F6F3; border-radius:6px; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top:54px!important; align-items:stretch!important; justify-content:flex-start!important; width:100%; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width:100%; display:flex; flex-direction:column; align-items:stretch!important; justify-content:flex-start; gap:0!important; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width:100%; align-items:stretch!important; justify-content:space-between; border-bottom:1px solid #F0F0ED; padding:0; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { width:100%; display:flex; justify-content:space-between; min-height:50px; padding:14px 3px; text-align:left; font-size:16px; font-weight:650; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.has-child { flex-wrap:wrap; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle { width:100%; padding:13px 3px; min-height:50px; display:flex; text-align:left; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { min-width:0!important; max-width:none; position:static!important; background:#fff!important; padding:0 0 8px 16px!important; border:0!important; border-radius:0!important; box-shadow:none!important; width:100%; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border:0; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding:10px 6px; font-size:14px; line-height:1.5; color:#004B3A; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:hover { background:#F9FAF7; }
  .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .qp-mobile-menu-cta.wp-block-buttons { display:flex!important; width:100%; margin:24px 0 0; }
  .qp-header-shell .qp-mobile-menu-cta .qp-mobile-cta-button { width:100%; }
  .qp-header-shell .qp-mobile-menu-cta .qp-mobile-cta-button .wp-block-button__link { display:block; width:100%; padding:15px 10px; text-align:center; border-radius:9px; background:#CF2E2E; color:#fff; text-decoration:none; font-size:15px; font-weight:700; }
}
@media (max-width:360px) { .qp-header-shell .qp-brand-logo.wp-block-image { width:45px;height:45px;flex-basis:45px; } .qp-header-shell .qp-brand-logo img {width:122px;} .qp-header-shell .qp-header-grid.wp-block-group { column-gap:5px; } .qp-header-shell .qp-brand-name { font-size:11px; } }
@keyframes qp-menu-enter { from {opacity:.6;transform:translateX(16px);} to {opacity:1;transform:translateX(0);} }
@media (prefers-reduced-motion:reduce) { .qp-header-shell *, .qp-header-shell *::before, .qp-header-shell *::after { transition:none!important; animation:none!important; } }
/* Keep the close control consistently on the right side of the drawer. */
@media (max-width:900px) {
 .qp-header-shell .qp-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { position:absolute!important; left:auto!important; right:12px!important; top:10px!important; z-index:2; }
}
