﻿/* Shared tablet/mobile layout, loaded after component styles. */
html,body{max-width:100%;overflow-x:clip}
img,iframe,video,svg{max-width:100%}

/* Keep the footer at the viewport bottom on short pages. The mobile menu
   stylesheet sets body to height:100%, which otherwise leaves its unused
   height as a large blank area after the footer. */
body.site-theme{
  display:flex!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  height:auto!important;
  flex-direction:column
}
body.site-theme>.corporate-footer{
  width:100%;
  flex:0 0 auto;
  margin-top:auto
}

@media (max-width:1024px){
  .container{
    width:100%!important;max-width:100%!important;padding-right:16px!important;
    padding-left:16px!important;box-sizing:border-box
  }

  /* Menu, logo and search form a balanced three-part header. */
  .site-header{height:60px!important}
  .site-header .wsmobileheader{
    position:fixed!important;inset:0 0 auto 0!important;display:flex!important;
    width:100%!important;height:60px!important;min-height:60px;align-items:center;
    justify-content:space-between;padding:0 16px!important;box-sizing:border-box;
    background:var(--page-surface,#fff)!important;border-bottom:1px solid var(--page-border,#e2e8f0);
    box-shadow:0 4px 18px rgba(15,23,42,.08)!important;z-index:10002!important
  }
  .site-header .wsmobileheader.sticky{top:0!important}
  .site-header .wsanimated-arrow{
    position:absolute!important;top:50%!important;right:16px!important;bottom:auto!important;
    left:auto!important;display:block;width:40px;height:40px;flex:0 0 40px;
    margin:0!important;padding:0!important;transform:translateY(-50%)!important;z-index:4
  }
  .site-header .wsanimated-arrow>span{top:19px;left:7px}
  .site-header .wsmobileheader .smllogo{
    position:static!important;inset:auto!important;display:flex!important;min-width:0;height:40px;
    flex:0 1 auto;align-items:center;justify-content:flex-start;margin:0!important;padding:0!important;
    transform:none!important
  }
  .site-header .wsmobileheader .smllogo a{
    display:flex;height:40px;align-items:center;justify-content:center;margin:0;padding:0
  }
  .site-header .wsmobileheader .smllogo img{
    display:block;width:auto!important;max-width:min(180px,calc(100vw - 144px));height:auto!important;
    max-height:40px!important;margin:0!important;padding:0!important;object-fit:contain
  }
  .mobile-search-toggle{
    position:absolute!important;top:50%!important;right:64px!important;bottom:auto!important;left:auto!important;
    display:inline-flex!important;width:40px!important;height:40px!important;flex:0 0 40px;
    align-items:center;justify-content:center;margin:0!important;transform:translateY(-50%)!important;
    padding:0!important;border:1px solid var(--page-border,#e2e8f0)!important;border-radius:50%
  }
  body.wsactive .wsmobileheader{margin-left:0!important;transform:none!important}
  body.wsactive .site-header .wsanimated-arrow{transform:translateY(-50%)!important}
  .header-topbar,.header-main__inner>.header-brand,.header-actions{display:none!important}
  .header-main{height:0!important;min-height:0!important}
  .header-main__inner{display:block!important;min-height:0!important;padding:0!important}
  .header-navigation,.header-navigation .wsmainwp,.header-navigation .wsmenu,
  .header-navigation .wsmenu>.compact-navigation{display:block;width:100%;max-width:none;margin:0}
  .header-navigation .wsmenu{
    top:0!important;height:100vh!important;height:100dvh!important;overflow-y:auto!important
  }
  .header-navigation .wsmenu>.compact-navigation{
    width:min(86vw,320px)!important;min-height:100%!important;padding:60px 0 24px!important;
    box-sizing:border-box;background:#fff!important;transform:translateX(-100%);
    transition:transform .25s ease!important
  }
  body.wsactive .header-navigation .wsmenu>.compact-navigation{
    margin-left:0!important;transform:translateX(0)
  }
  .header-navigation .wsmenu>.compact-navigation>li>a{
    display:flex!important;align-items:center;justify-content:space-between!important;width:100%;
    padding:12px 16px!important;border-bottom:1px solid #f0f0f0!important;
    box-sizing:border-box;text-align:left!important;font-size:13px
  }
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li>a,
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li>a:hover,
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li>a:focus{
    border-bottom:1px solid #f0f0f0!important
  }
  .header-navigation .wsmenu>.compact-navigation>li>a .menu-chevron{
    position:static!important;display:inline-flex!important;flex:0 0 auto;margin-left:auto!important;
    padding-left:12px;align-items:center;justify-content:center
  }
  .header-navigation .wsmenu .wsmenu-click,
  .header-navigation .wsmenu .wsmenu-click02,
  .header-navigation .wsmenu .wsmenu-click03{display:none!important}
  .header-navigation .wsmenu li>.sub-menu{
    display:none!important;position:static!important;width:100%!important;min-width:0!important;
    margin:0!important;padding:0 0 0 20px!important;box-sizing:border-box;border:0!important;
    border-radius:0!important;background:#f8fafc!important;box-shadow:none!important
  }
  .header-navigation .wsmenu li>.sub-menu.active{display:block!important}
  .header-navigation .wsmenu li.is-open>a .menu-chevron{
    transform:rotate(180deg)!important;transition:transform .3s ease
  }
  .header-navigation .wsmenu-list>li>ul.sub-menu>li>a{
    display:flex!important;align-items:center;justify-content:space-between;padding:10px 16px!important;
    border-bottom:1px solid #e2e8f0!important;text-align:left!important;font-size:14px!important
  }
  .box-header.sticky{position:relative!important}
  .box-breadcrumb{margin-top:0!important}

  /* Rows containing the shared sidebar become full-width stacks. */
  .row:has(>.modern-sidebar)>[class*="col-"]{
    width:100%!important;max-width:100%!important;flex:0 0 100%!important
  }
  .modern-sidebar,.sidebar-stack,.sidebar-card,.support-card,.activity-card,.sidebar-cta-card{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box
  }
  .modern-sidebar{margin-top:10px;padding-right:15px!important;padding-left:15px!important}
  .sidebar-stack{display:flex!important;flex-direction:column;gap:16px;padding-top:20px!important}
  .support-agent__actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important
  }
  .support-agent__actions .contact-button{
    width:100%;min-height:44px;box-sizing:border-box;font-size:12px
  }

  /* Tablet cards use two balanced columns. */
  .job-card-grid,.content-category-grid,.culture-grid,.homepage-full-sections .culture-grid,
  .about-profile-grid,.content-row-grid,.related-post-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important
  }
  .modern-section-header,.modern-section-header--compact,.jobs-showcase__header,
  .modern-section-header h1,.modern-section-header h2,.modern-section-header h3,
  .block-heading-title,.block-header-title{text-align:left!important}
  .job-filter{
    display:flex!important;width:100%;max-width:100%;flex-wrap:nowrap!important;gap:8px!important;
    overflow-x:auto;padding-bottom:8px;white-space:nowrap;scrollbar-width:thin;
    -webkit-overflow-scrolling:touch
  }
  .job-filter__button{flex:0 0 auto}
  :is(.job-card__media,.content-category-card__image,.culture-card__media,
    .content-row-card__media,.about-profile-card__media,.related-post-thumb){
    width:100%;max-width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px
  }
  :is(.job-card__media,.content-category-card__image,.culture-card__media,
    .content-row-card__media,.about-profile-card__media,.related-post-thumb) img{
    display:block;width:100%!important;height:100%!important;object-fit:cover!important
  }

  .ai-chatbot{right:16px!important;bottom:16px!important;z-index:999!important}
  .ai-chatbot__launcher{width:50px!important;height:50px!important}
  .ai-chatbot__panel,.ai-chatbot__welcome{max-width:90vw!important;box-sizing:border-box}

  /* Compact two-column footer for tablets. */
  .corporate-footer__main{padding:0!important}
  .corporate-footer__grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px 16px!important;padding:32px 24px!important;box-sizing:border-box
  }
  .corporate-footer__grid>.footer-column:last-child{grid-column:auto!important}
  .footer-column,.footer-company{min-width:0;font-size:14px;line-height:1.5}
  .footer-column h3{margin:0 0 8px!important;font-size:16px!important;line-height:1.35!important}
  .footer-column p,.footer-contact-list li,.footer-links a{
    margin-bottom:8px;font-size:14px!important;line-height:1.5!important
  }
  .footer-links a{padding:6px 0!important}
  .footer-stats{display:flex!important;flex-direction:column;gap:0!important}
  .footer-stats span{
    display:flex!important;width:100%;align-items:center;gap:8px;margin:0 0 8px!important;
    box-sizing:border-box;white-space:nowrap
  }
  .footer-stats strong{margin-left:auto!important;white-space:nowrap}
  .footer-socials{
    display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
    justify-content:flex-start;gap:16px!important;margin-top:12px!important
  }
  .footer-socials a,.footer-socials>span{
    width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
    flex:0 0 24px!important;font-size:13px!important
  }
  .footer-socials a i,.footer-socials a svg{
    width:14px!important;height:14px!important;font-size:14px!important
  }
}

@media (max-width:767px){
  .container{
    width:100%!important;max-width:100%!important;padding-right:16px!important;
    padding-left:16px!important;box-sizing:border-box
  }
  .row{margin-right:-8px;margin-left:-8px}
  .row>[class*="col-"]{padding-right:8px;padding-left:8px}
  .modern-sidebar{padding-right:8px!important;padding-left:8px!important}
  .job-card-grid,.content-category-grid,.culture-grid,.homepage-full-sections .culture-grid,
  .about-profile-grid,.content-row-grid,.related-post-grid,.advisory-study-grid,
  .news-showcase__grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .job-card,.content-category-card,.culture-card,.about-profile-card,.content-row-card,
  .related-post-card,.post-item-pages,.box-categories-posts .block-warpper-content{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box
  }
  .post-item-pages{display:block!important}
  .post-item-pages .block-images,.post-item-pages .block-content,
  .box-categories-posts .block-warpper-content .block-images{
    float:none!important;width:100%!important;max-width:100%!important;margin-right:0!important
  }
  .post-item-pages .block-images,.box-categories-posts .block-warpper-content .block-images{
    margin-bottom:14px!important;aspect-ratio:16/9;overflow:hidden;border-radius:8px
  }
  .post-item-pages .block-images img,
  .box-categories-posts .block-warpper-content .block-images img{
    width:100%!important;height:100%!important;object-fit:cover!important
  }
  .modern-section-header{align-items:flex-start!important}
  .modern-section-header--compact{flex-direction:row!important;align-items:flex-end!important}
  .section-view-all{margin-left:0}
  .ai-chatbot__panel{
    position:fixed!important;right:16px!important;bottom:78px!important;left:16px!important;
    width:auto!important;max-width:none!important;max-height:calc(100dvh - 96px)!important;
    margin:0 auto!important
  }
  .ai-chatbot__welcome{
    right:0!important;bottom:62px!important;width:min(300px,calc(100vw - 32px))!important;
    max-width:90vw!important;margin:0 auto!important
  }
  #back-to-top.back-to-top{right:21px!important;bottom:78px!important}
  .corporate-footer__grid{
    grid-template-columns:minmax(0,1fr)!important;padding:28px 16px!important;gap:20px!important
  }
}

/* Keep homepage feature sections in two columns on mobile. */
@media (max-width:767px){
  .job-card-grid,
  .culture-grid,
  .homepage-full-sections .culture-grid,
  .advisory-study-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .job-card-grid .job-card,
  .culture-grid .culture-card,
  .advisory-study-grid .advisory-card{
    min-width:0!important;
  }
  .advisory-card__content{
    display:block!important;
    padding:12px!important;
  }
  .advisory-card__visual{
    width:100%!important;
    aspect-ratio:4/3!important;
    margin-bottom:10px!important;
  }
  .advisory-card__copy h3{font-size:14px!important;}
  .advisory-card__copy p{font-size:12px!important;line-height:1.45!important;}
  .advisory-card__header{padding:14px 14px 12px!important;}
  .advisory-card__header > div{margin-top:10px!important;}
  .advisory-card__header h2{font-size:17px!important;}
  .advisory-card__content{display:flex!important;flex-direction:column!important;gap:10px!important;padding:14px!important;}
  .advisory-card__visual{height:120px!important;flex-basis:120px!important;aspect-ratio:auto!important;margin-bottom:0!important;}

  /* Keep job-country flags compact; the generic responsive image rule must
     not stretch them to the full card width. */
  .job-card__country{
    position:absolute!important;
    top:10px!important;
    left:10px!important;
    z-index:2!important;
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-self:flex-start!important;
    width:auto!important;
    max-width:max-content!important;
    white-space:nowrap!important;
    padding:5px 8px!important;
  }
  .job-card__country img{
    display:block!important;
    width:20px!important;
    min-width:20px!important;
    height:13px!important;
    max-width:20px!important;
    object-fit:cover!important;
  }
  .culture-card__media > span{
    width:fit-content!important;
    max-width:max-content!important;
    white-space:nowrap!important;
  }
  .culture-card__media > span img{
    display:block!important;
    width:19px!important;
    min-width:19px!important;
    height:13px!important;
    max-width:19px!important;
    flex:0 0 19px!important;
    object-fit:cover!important;
    border-radius:2px!important;
  }
}

@media (max-width:420px){
  .support-agent__actions{grid-template-columns:1fr!important}
  .modern-section-header,.modern-section-header--compact{
    flex-direction:column!important;align-items:flex-start!important;gap:10px!important
  }
}

@media (max-width:767px){
  .corporate-footer__grid > .footer-column:last-child{
    grid-column:1 / -1!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:12px 16px!important;
  }
  .corporate-footer__grid > .footer-column:last-child .footer-stats{
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
  }
  .corporate-footer__grid > .footer-column:last-child .footer-stats span{font-size:11px!important;}
  .corporate-footer__grid > .footer-column:last-child .footer-socials{justify-content:center!important;}
}

@media (prefers-reduced-motion:reduce){.job-filter{scroll-behavior:auto}}

/* The theme layer owns important form/button colors; these later rules keep
   the mobile quick-search control visually unified in both color schemes. */
@layer site-theme{
  @media (max-width:1024px){
    body.site-theme .header-navigation .wsmenu>.compact-navigation>li>a{
      background:#fff!important;color:#334155!important
    }
    body.site-theme .header-navigation .wsmenu>.compact-navigation>li.is-open>a,
    body.site-theme .header-navigation .wsmenu>.compact-navigation>li.active>a{
      background:#0284c7!important;color:#fff!important
    }
    body.site-theme .header-navigation .wsmenu>.compact-navigation>li.is-open>a .menu-chevron,
    body.site-theme .header-navigation .wsmenu>.compact-navigation>li.active>a .menu-chevron{
      color:#fff!important
    }
    body.site-theme .header-navigation .wsmenu li>.sub-menu>li>a{
      background:#f8fafc!important;color:#334155!important
    }
    body.site-theme .header-navigation .wsmenu li>.sub-menu>li>a:hover,
    body.site-theme .header-navigation .wsmenu li>.sub-menu>li>a:focus-visible{
      background:#e2e8f0!important;color:#0284c7!important
    }
    body.site-theme .search-overlay{padding:20px 16px!important}
    body.site-theme .search-overlay__content{width:100%;max-width:680px}
    body.site-theme .search-overlay h2{margin:10px 0 24px;font-size:clamp(23px,4vw,29px)}
    body.site-theme .search-overlay__form{
      display:flex!important;width:90%!important;max-width:640px;align-items:center;
      margin:0 auto!important;padding:8px 12px 8px 16px!important;box-sizing:border-box;
      border:1px solid #e2e8f0!important;border-radius:50px!important;background:#fff!important;
      box-shadow:0 12px 35px rgba(0,0,0,.22)
    }
    body.site-theme .search-overlay__form input{
      min-width:0!important;height:42px!important;flex:1;padding:8px 12px!important;border:0!important;
      outline:0!important;background:transparent!important;color:#0f172a!important;box-shadow:none!important
    }
    body.site-theme .search-overlay__form button{
      width:42px!important;height:42px!important;min-width:42px;padding:0!important;border:0!important;
      border-radius:50%!important;background:transparent!important;color:#f58220!important;
      box-shadow:none!important
    }
    body.site-theme .search-overlay__form button:hover,
    body.site-theme .search-overlay__form button:focus-visible{
      border:0!important;background:transparent!important;color:#ea6f0d!important;box-shadow:none!important
    }
    body.site-theme .search-suggestions{
      display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px!important
    }
    body.site-theme .search-suggestions span{width:100%;padding:0 0 3px!important;color:#cbd5e1!important}
    body.site-theme .search-suggestions a{
      display:inline-flex;align-items:center;max-width:100%;padding:6px 12px!important;
      border:0!important;border-radius:16px!important;background:#f1f5f9!important;
      color:#0284c7!important;font-size:13px!important;line-height:1.35;text-align:center;
      white-space:normal;overflow-wrap:anywhere
    }
    body.site-theme .search-suggestions a:hover,
    body.site-theme .search-suggestions a:focus-visible{
      background:#e2e8f0!important;color:#f58220!important
    }
  }
}

/* Footer desktop/tablet landscape: keep the existing UI, only restore the three-column layout. */
@media (min-width: 992px) {
  body.site-theme .corporate-footer__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 35fr) minmax(0, 40fr) minmax(0, 25fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }
  body.site-theme .corporate-footer__grid > .footer-company { grid-column: 1 !important; grid-row: 1 !important; }
  body.site-theme .corporate-footer__grid > .footer-consult { grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important; }
  body.site-theme .corporate-footer__grid > .footer-statistics {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.site-theme .corporate-footer__grid > .footer-statistics > h3 { display: block !important; }
  body.site-theme .corporate-footer__grid > .footer-statistics .footer-stats {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.site-theme .footer-legacy-actions { max-width: 100% !important; }
  body.site-theme .footer-action { min-height: 40px !important; padding: 7px 8px !important; font-size: 11px !important; }
}

/* Keep the post-job page content and support sidebar side by side at desktop/tablet zoom. */
@media (min-width: 768px) and (max-width: 1024px) {
  main article .row > .baiviettrangchu {
    float: left !important;
    width: 75% !important;
    max-width: 75% !important;
    flex: 0 0 75% !important;
  }
  main article .row > .modern-sidebar {
    float: right !important;
    width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;
    margin-top: 0 !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  main article .row:has(> .modern-sidebar) > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: initial !important;
  }
  main article .modern-sidebar .sidebar-stack,
  main article .modern-sidebar .sidebar-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}



/* Final footer breakpoint override without relying on a body theme class. */
@media (min-width: 992px) {
  footer.corporate-footer .corporate-footer__grid {
    display: grid !important;
    grid-template-columns: minmax(0,35fr) minmax(0,40fr) minmax(0,25fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }
  footer.corporate-footer .corporate-footer__grid > .footer-company { grid-column: 1 !important; grid-row: 1 !important; }
  footer.corporate-footer .corporate-footer__grid > .footer-consult { grid-column: 2 !important; grid-row: 1 !important; }
  footer.corporate-footer .corporate-footer__grid > .footer-statistics {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  footer.corporate-footer .footer-statistics > h3 { display: block !important; }
  footer.corporate-footer .footer-statistics .footer-stats { display: grid !important; grid-template-columns: 1fr !important; }
}
@media (max-width: 991px) {
  footer.corporate-footer .corporate-footer__grid { display: grid !important; grid-template-columns: 1fr !important; }
  footer.corporate-footer .corporate-footer__grid > .footer-company,
  footer.corporate-footer .corporate-footer__grid > .footer-consult,
  footer.corporate-footer .corporate-footer__grid > .footer-statistics { grid-column: 1 !important; grid-row: auto !important; padding-top: 0 !important; }
}

/* Modern mobile/tablet navigation presentation. Desktop rules remain unchanged. */
@media (max-width: 1024px) {
  .site-header .header-navigation .wsmenu {
    background: rgba(15, 23, 42, .28) !important;
    backdrop-filter: blur(2px);
  }
  .site-header .header-navigation .wsmenu > .compact-navigation {
    width: min(88vw, 360px) !important;
    padding: 68px 12px 24px !important;
    border-right: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    box-shadow: 12px 0 30px rgba(15, 23, 42, .12) !important;
  }
  .site-header .header-navigation .compact-navigation > li {
    margin: 0 0 6px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }
  .site-header .header-navigation .compact-navigation > li > a,
  .site-header .header-navigation .compact-navigation > li > a:link,
  .site-header .header-navigation .compact-navigation > li > a:visited {
    min-height: 50px !important;
    padding: 14px 42px 14px 16px !important;
    border: 0 !important;
    color: #17324a !important;
    background: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }
  .site-header .header-navigation .compact-navigation > li:hover > a,
  .site-header .header-navigation .compact-navigation > li.active > a,
  .site-header .header-navigation .compact-navigation > li.is-open > a {
    color: #ffffff !important;
    background: #0787c8 !important;
  }
  .site-header .header-navigation .compact-navigation > li > a::after {
    display: none !important;
  }
  .site-header .header-navigation .compact-navigation > li > a .menu-chevron {
    right: 16px !important;
    color: #0787c8 !important;
  }
  .site-header .header-navigation .compact-navigation > li.active > a .menu-chevron,
  .site-header .header-navigation .compact-navigation > li.is-open > a .menu-chevron {
    color: #ffffff !important;
  }
  .site-header .header-navigation .compact-navigation li > .sub-menu {
    margin: 0 !important;
    padding: 6px !important;
    border: 0 !important;
    border-top: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
  }
  .site-header .header-navigation .compact-navigation li > .sub-menu > li {
    border-bottom: 1px solid #e2e8f0 !important;
  }
  .site-header .header-navigation .compact-navigation li > .sub-menu > li:last-child {
    border-bottom: 0 !important;
  }
  .site-header .header-navigation .compact-navigation li > .sub-menu a {
    min-height: 42px !important;
    padding: 11px 12px !important;
    color: #475569 !important;
    background: transparent !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  .site-header .header-navigation .compact-navigation li > .sub-menu a:hover,
  .site-header .header-navigation .compact-navigation li > .sub-menu li.active > a {
    color: #0787c8 !important;
    background: #e8f5fb !important;
  }
}

/* Keep the consultation CTA visually distinct from level-one menu links. */
@media(max-width:1024px){
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li.mobile-nav-extras>a.mobile-nav-consult,
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li.mobile-nav-extras>a.mobile-nav-consult:link,
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li.mobile-nav-extras>a.mobile-nav-consult:visited,
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li.mobile-nav-extras>a.mobile-nav-consult:hover,
  body.site-theme .header-navigation .wsmenu>.compact-navigation>li.mobile-nav-extras>a.mobile-nav-consult:focus{
    display:flex!important;width:100%!important;min-height:46px!important;align-items:center!important;
    justify-content:center!important;gap:8px!important;padding:12px 16px!important;
    border:0!important;border-radius:999px!important;background:#f97316!important;
    color:#fff!important;font:700 13px/1.2 Inter,sans-serif!important;text-align:center!important;
    text-decoration:none!important;box-shadow:0 7px 17px rgba(249,115,22,.24)!important;
  }
  body.site-theme .mobile-nav-consult span,body.site-theme .mobile-nav-consult i{color:#fff!important;}
}

/* Consultation cards: two columns on tablets, one column on phones. */
@media(min-width:768px) and (max-width:1024px){
  .homepage-redesign .home-consult-section .sidebar-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;}
  .homepage-redesign .home-consult-section .support-card{grid-column:1!important;grid-row:1!important;}
  .homepage-redesign .home-consult-section .home-register-card{grid-column:2!important;grid-row:1!important;}
  .homepage-redesign .home-consult-section .activity-card{grid-column:1/-1!important;grid-row:2!important;}
  .homepage-redesign .home-consult-section .sidebar-socials{grid-column:1/-1!important;}
}
@media(max-width:767px){
  .homepage-redesign .home-consult-section .sidebar-stack{display:flex!important;flex-direction:column!important;gap:14px!important;}
}

/* Premium right-side mobile/tablet navigation extras. */
.mobile-nav-extras{display:none!important;}
@media(max-width:1024px){
  .header-navigation .wsmenu>.compact-navigation{
    margin-right:0!important;margin-left:auto!important;
    transform:translateX(100%)!important;
    border-radius:18px 0 0 18px!important;
    box-shadow:-10px 0 32px rgba(16,43,76,.14)!important;
  }
  body.wsactive .header-navigation .wsmenu>.compact-navigation{margin-right:0!important;margin-left:auto!important;transform:translateX(0)!important;}
  .header-navigation .wsmenu>.compact-navigation>li.mobile-nav-extras{
    display:block!important;margin:16px 0 0!important;padding:16px!important;
    border:0!important;border-top:1px solid #e4ecf3!important;border-radius:0!important;
    background:#f8fafc!important;overflow:visible!important;
  }
  .mobile-nav-contact{display:flex;min-width:0;flex-direction:column;gap:9px;}
  .mobile-nav-contact a{display:flex!important;min-width:0;align-items:center;gap:9px;padding:0!important;border:0!important;background:transparent!important;color:#334155!important;font:500 12px/1.4 Inter,sans-serif!important;text-decoration:none!important;overflow-wrap:anywhere;}
  .mobile-nav-contact i{width:16px;color:#f97316;text-align:center;}
  .mobile-nav-languages{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0;}
  .mobile-nav-languages a{display:inline-flex!important;min-height:34px;align-items:center;gap:6px;padding:7px 9px!important;border:1px solid #dce6ee!important;border-radius:8px!important;background:#fff!important;color:#334155!important;font:600 11px/1 Inter,sans-serif!important;text-decoration:none!important;}
  .mobile-nav-languages img{width:19px;height:13px;object-fit:cover;border-radius:2px;}
  .mobile-nav-consult{display:flex!important;min-height:44px;align-items:center!important;justify-content:center!important;gap:8px;padding:11px 16px!important;border:0!important;border-radius:999px!important;background:#f97316!important;color:#fff!important;font:700 13px/1.2 Inter,sans-serif!important;text-decoration:none!important;box-shadow:0 7px 17px rgba(249,115,22,.22)!important;}
  .mobile-nav-consult span,.mobile-nav-consult i{color:#fff!important;}
  .mobile-nav-consult:active{transform:translateY(1px);background:#ea580c!important;}
  body.wsactive{overflow:hidden!important;}
}
@media(prefers-reduced-motion:reduce){.header-navigation .wsmenu>.compact-navigation,.mobile-nav-consult{transition:none!important;}}

/* Refined mobile/tablet submenu styling. */
@media (max-width: 1024px) {
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu {
    margin: 0 8px 9px !important;
    padding: 7px !important;
    border: 1px solid #e4ecf3 !important;
    border-radius: 10px !important;
    background: #f5f9fc !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu > li {
    position: relative !important;
    margin: 0 !important;
    border: 0 !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu > li + li {
    margin-top: 3px !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 43px !important;
    padding: 10px 12px 10px 27px !important;
    border-radius: 7px !important;
    color: #102b4c !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    transition: color .2s ease, background-color .2s ease, padding-left .2s ease !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a::before {
    content: '' !important;
    position: absolute !important;
    left: 12px !important;
    width: 6px !important;
    height: 6px !important;
    border: 1px solid #0788c8 !important;
    border-radius: 50% !important;
    background: #fff !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a:hover,
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a:focus,
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu li.active > a {
    padding-left: 30px !important;
    color: #0788c8 !important;
    background: #eaf6fc !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu li.active > a::before,
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a:hover::before,
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a:focus::before {
    border-color: #0788c8 !important;
    background: #0788c8 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .site-header .header-navigation .wsmenu > .compact-navigation {
    width: min(70vw, 390px) !important;
    padding-top: 76px !important;
  }
}

/* Final premium mobile/tablet menu treatment. Functionality remains in mobile-navigation.js. */
@media (max-width: 1024px) {
  .wsmobileheader {
    min-height: 64px !important;
    border-bottom: 1px solid #e4ecf3 !important;
    background: #fff !important;
  }
  .wsmobileheader .header-brand__logo,
  .wsmobileheader .header-brand__logo img {
    max-height: 54px !important;
  }
  .header-navigation .wsmenu {
    background: rgba(16, 43, 76, .18) !important;
  }
  .header-navigation .wsmenu > .compact-navigation {
    width: min(88vw, 368px) !important;
    max-width: calc(100vw - 16px) !important;
    padding: 76px 12px 24px !important;
    overflow-x: hidden !important;
    background: #fff !important;
    box-shadow: 8px 0 24px rgba(16, 43, 76, .10) !important;
  }
  .header-navigation .wsmenu > .compact-navigation > li {
    margin: 0 0 6px !important;
    border: 1px solid #e4ecf3 !important;
    border-radius: 11px !important;
    background: #fff !important;
    overflow: hidden !important;
  }
  .header-navigation .wsmenu > .compact-navigation > li > a,
  .header-navigation .wsmenu > .compact-navigation > li > a:link,
  .header-navigation .wsmenu > .compact-navigation > li > a:visited {
    min-height: 50px !important;
    padding: 14px 16px !important;
    color: #102b4c !important;
    background: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }
  .header-navigation .wsmenu > .compact-navigation > li.is-open > a {
    color: #fff !important;
    background: #0788c8 !important;
  }
  .header-navigation .wsmenu > .compact-navigation > li.active:not(.is-open) > a {
    color: #0788c8 !important;
    background: #eaf6fc !important;
    box-shadow: inset 3px 0 0 #0788c8 !important;
  }
  .header-navigation .wsmenu > .compact-navigation > li > a .menu-chevron {
    width: 18px !important;
    height: 18px !important;
    margin-left: auto !important;
    padding-left: 0 !important;
    color: #102b4c !important;
    font-size: 16px !important;
    transition: transform .22s ease, color .22s ease !important;
  }
  .header-navigation .wsmenu > .compact-navigation > li.is-open > a .menu-chevron {
    color: #fff !important;
    transform: rotate(180deg) !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu {
    margin: 0 8px 8px !important;
    padding: 4px 0 !important;
    border: 0 !important;
    border-radius: 0 0 8px 8px !important;
    background: #f5f9fc !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu > li {
    border-bottom: 1px solid rgba(228, 236, 243, .8) !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu > li:last-child {
    border-bottom: 0 !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a {
    min-height: 44px !important;
    padding: 12px 14px !important;
    color: #102b4c !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
  }
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu li.active > a,
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a:hover,
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu a:focus {
    color: #0788c8 !important;
    background: #eaf6fc !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .header-navigation .wsmenu > .compact-navigation,
  .header-navigation .wsmenu > .compact-navigation li > .sub-menu,
  .header-navigation .wsmenu > .compact-navigation > li > a .menu-chevron {
    transition: none !important;
  }
}

/* Align the active close icon with the mobile search button center. */
@media (max-width: 1024px) {
  .site-header .wsanimated-arrow {
    top: 50% !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    transform: translateY(-50%) !important;
  }
  .site-header .wsanimated-arrow > span {
    left: 9px !important;
  }
  body.wsactive .site-header .wsanimated-arrow > span {
    top: 13px !important;
  }
  .site-header .mobile-search-toggle {
    top: 50% !important;
    right: 64px !important;
    width: 40px !important;
    height: 40px !important;
    transform: translateY(-50%) !important;
  }
}
/* Header consultation CTA: final color precedence after theme rules. */
body.site-theme .site-header .header-actions .header-consult-cta,
body.site-theme .site-header .header-actions .header-consult-cta:link,
body.site-theme .site-header .header-actions .header-consult-cta:visited {
  border: 1px solid #fdba74 !important;
  background: linear-gradient(135deg,#fff1e6 0%,#ffe1c2 100%) !important;
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  box-shadow: 0 7px 16px rgba(249,115,22,.14) !important;
}
body.site-theme .site-header .header-actions .header-consult-cta > i,
body.site-theme .site-header .header-actions .header-consult-cta > span {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  opacity: 1 !important;
}
body.site-theme .site-header .header-actions .header-consult-cta:hover,
body.site-theme .site-header .header-actions .header-consult-cta:focus-visible {
  border-color: #fb923c !important;
  background: linear-gradient(135deg,#ffe4cc 0%,#ffd0a3 100%) !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  box-shadow: 0 9px 20px rgba(249,115,22,.2) !important;
}
