/* MOBILE STABLE CSS - OPTIMIZED FOR 414x896 BASELINE */
/* iPhone 11 Pro dimensions - smallest modern mobile screen */
/* Larger screens will scale up from this baseline */
/* NAVBAR CHANGES ONLY FOR MOBILE - PC UNAFFECTED */

@media (max-width: 768px) {
  
  /* ========================================
     BASELINE DIMENSIONS (414x896)
     ======================================== */
  
  /* Viewport meta optimization */
  html {
    height: 100vh !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100% !important;
    -ms-text-size-adjust: 100% !important;
  }

  body {
    width: 100vw !important;
    max-width: 414px !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  /* ========================================
     CONTAINER SYSTEM FOR 414px WIDTH
     ======================================== */
  
  .container {
    width: 100% !important;
    max-width: 414px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin: 0 auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* ========================================
     MAIN LAYOUT STRUCTURE
     ======================================== */
  
  #__nuxt, #__layout, .site-main, .home-container {
    width: 100vw !important;
    max-width: 414px !important;
    margin: 0 auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .site-main {
    padding-top: 60px !important;
    width: 100vw !important;
    max-width: 414px !important;
    margin: 0 auto !important;
    overflow-x: hidden !important;
  }

  /* ========================================
     HEADER OPTIMIZED FOR 414px - MOBILE ONLY
     ======================================== */
  
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 414px !important;
    height: 60px !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) !important;
    z-index: 10020 !important;
    overflow: visible !important;
  }

  .site-header > .container.logo-wrp {
    padding-left: 12px !important;
    padding-right: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 100% !important;
    width: 100% !important;
  }

  
  .header-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding-right: 12px !important;
    z-index: 10003 !important;
  }

  .nav-toggles {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    z-index: 10004 !important;
  }

  .nav-toggles button,
  .nav-toggles .nav-toggle,
  .nav-toggles .mainNav-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border: 1px solid #e0e0e0 !important;
    background: #fff !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
    transition: all 0.2s ease !important;
    overflow: visible !important;
  }

  .nav-toggles button:hover,
  .nav-toggles .nav-toggle:hover,
  .nav-toggles .mainNav-toggle:hover {
    background: #f5f5f5 !important;
    border-color: #d0d0d0 !important;
    transform: scale(1.05) !important;
  }

  .mainNav-toggle span,
  .nav-toggle span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 0 !important;
  }

  .mainNav-toggle::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 16px !important;
    color: #333 !important;
    content: "☰" !important;
    font-weight: 600 !important;
  }

  .site-header .nav-container {
    display: block !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  .site-header .auth-user,
  .site-header .aut-user--sign,
  .site-header .date-time,
  .site-header .date-time--top,
  .site-header .lang-switcher,
  .site-header .lang-switcher--top,
  .site-header .siteSearch-toggles,
  .site-header .site-search,
  .site-header .btn-cancel,
  .site-header .bottom-nav,
  .site-header .dark-switcher,
  .site-header .dark-switcher .label,
  .site-header .dark-switcher .btn-switch {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .site-header .main-nav {
    display: block !important;
    position: fixed !important;
    top: 60px !important;
    right: 0 !important;
    width: 82vw !important;
    max-width: 340px !important;
    height: calc(100vh - 60px) !important;
    background: #fff !important;
    z-index: 10010 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: translateX(105%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.16) !important;
    transition: transform .25s ease, opacity .25s ease, visibility .25s ease !important;
  }

  .site-header .main-nav.is-active {
    display: block !important;
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .site-header .main-nav .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    overflow-x: visible !important;
  }

  
  
  
  
  /* ========================================
     HERO SECTION OPTIMIZED FOR 414px
     ======================================== */
  
  .hero-section {
    padding-top: 4px !important;
    margin-bottom: 8px !important;
    width: 100vw !important;
    max-width: 414px !important;
    overflow: hidden !important;
  }

  .slide-hero,
  .slide-hero .slick-list,
  .slide-hero .slick-track,
  .slide-hero__item {
    width: 100vw !important;
    max-width: 414px !important;
    height: 180px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  .slide-hero .slick-track {
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
  }

  .slide-hero .slick-slide {
    width: 100vw !important;
    max-width: 414px !important;
    height: 180px !important;
    overflow: hidden !important;
  }

  .slide-hero__item {
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .slide-hero__item img,
  .slide-hero__item picture {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  /* Remove the dark gradient overlay layer on hero slides */
  .slide-hero__item:before,
  .slide-hero__item[data-v-f4e1ca02]:before {
    content: none !important;
    display: none !important;
    background: none !important;
    opacity: 0 !important;
  }

  /* Hide left/right circular arrow buttons on hero slider */
  .hero-section .slick-arrow,
  .hero-section .btn-arrow,
  .slide-hero .slick-prev,
  .slide-hero .slick-next,
  .slide-hero .btn-arrow.--prev,
  .slide-hero .btn-arrow.--next,
  .slide-hero .btn-arrow.\--prev,
  .slide-hero .btn-arrow.\--next {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .hero-section,
  .slide-hero,
  .slide-hero__slick,
  .slide-hero .slick-list,
  .slide-hero .slick-track,
  .slide-hero .slick-slide,
  .slide-hero__item,
  .slide-hero__item .hero-img,
  .slide-hero__item picture,
  .slide-hero__item img {
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
  }

  /* ========================================
     QUICK NAVIGATION (414px OPTIMIZED)
     ======================================== */
  
  .quick-nav {
    width: 100vw !important;
    max-width: 414px !important;
    overflow: hidden !important;
    margin: 0 auto !important;
  }

  .quick-nav .container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .quick-nav .bzg_l {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .quick-nav__link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 4px !important;
    gap: 4px !important;
    text-align: center !important;
    min-width: 0 !important;
  }

  .quick-nav__link .bzi {
    font-size: 16px !important;
    line-height: 1 !important;
  }

  .quick-nav__link span {
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  /* ========================================
     IMAGES & MEDIA (414px OPTIMIZED)
     ======================================== */
  
  img {
    max-width: 100vw !important;
    max-width: 414px !important;
    height: auto !important;
    display: block !important;
  }

  picture {
    display: block !important;
    width: 100vw !important;
    max-width: 414px !important;
  }

  picture img {
    max-width: 100vw !important;
    max-width: 414px !important;
    height: auto !important;
    display: block !important;
  }

  /* Hero slider images */
  img.lazyload,
  picture.lazyLoad,
  picture.lazyLoad img,
  picture.lazyload img {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    display: block !important;
  }

  /* ========================================
     PORTLET & CONTENT AREAS (414px OPTIMIZED)
     ======================================== */
  
  .portlet-content,
  .portlet {
    width: 100vw !important;
    max-width: 414px !important;
    overflow-x: hidden !important;
    margin: 0 auto !important;
  }

  .overview-board {
    width: 100vw !important;
    max-width: 414px !important;
    overflow-x: hidden !important;
    margin: 0 auto !important;
  }

  /* ========================================
     TABLES & DATA (414px OPTIMIZED)
     ======================================== */
  
  table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    max-width: 100vw !important;
    max-width: 414px !important;
  }

  .portlet-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100vw !important;
    max-width: 414px !important;
  }

  /* ========================================
     FOOTER (414px OPTIMIZED)
     ======================================== */
  
  .site-footer,
  .site-footer .container {
    width: 100vw !important;
    max-width: 414px !important;
    overflow-x: hidden !important;
    margin: 0 auto !important;
  }

}

/* ========================================
   SCALING FOR LARGER SCREENS (415px - 768px)
   ======================================== */

@media (min-width: 415px) and (max-width: 768px) {
  
  body {
    max-width: 100vw !important;
  }
  
  .container {
    max-width: 100vw !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  #__nuxt, #__layout, .site-main, .home-container {
    max-width: 100vw !important;
  }
  
  .site-main {
    max-width: 100vw !important;
  }
  
  .site-header {
    max-width: 100vw !important;
  }
  
  .main-nav {
    max-width: 100vw !important;
  }
  
  .hero-section {
    max-width: 100vw !important;
  }
  
  .slide-hero,
  .slide-hero .slick-list,
  .slide-hero .slick-track,
  .slide-hero__item {
    max-width: 100vw !important;
    height: 200px !important;
  }

  .hero-section,
  .slide-hero,
  .slide-hero__slick,
  .slide-hero .slick-list,
  .slide-hero .slick-track,
  .slide-hero .slick-slide,
  .slide-hero__item,
  .slide-hero__item .hero-img,
  .slide-hero__item picture,
  .slide-hero__item img {
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
  }

  .slide-hero .slick-track {
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
  }

  .slide-hero .slick-slide {
    width: 100vw !important;
    max-width: 100vw !important;
  }
  
  .quick-nav {
    max-width: 100vw !important;
  }
  
  .quick-nav .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .quick-nav .bzg_l {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  
  .quick-nav__link {
    padding: 10px 6px !important;
    gap: 6px !important;
  }
  
  .quick-nav__link .bzi {
    font-size: 18px !important;
  }
  
  .quick-nav__link span {
    font-size: 10px !important;
  }
  
  .portlet-content,
  .portlet {
    max-width: 100vw !important;
  }
  
  .overview-board {
    max-width: 100vw !important;
  }
  
  img,
  picture {
    max-width: 100vw !important;
  }
  
  table {
    max-width: 100vw !important;
  }
  
  .portlet-table {
    max-width: 100vw !important;
  }
  
  .site-footer,
  .site-footer .container {
    max-width: 100vw !important;
  }

}

/* ========================================
   UNIVERSAL ELEMENT FIXES
   ======================================== */

@media (max-width: 768px) {
  section, div, article, aside, header, footer, main {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
}
