
/* V192 - Cross-browser consistency for public frontend
   Targets Chrome, Edge, Firefox and Safari with conservative CSS fallbacks. */

/* ---------- Global rendering normalization ---------- */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}

body:not(.admin-layout),
body:not(.admin-layout) *,
body:not(.admin-layout) *::before,
body:not(.admin-layout) *::after{
  box-sizing:border-box;
}

body:not(.admin-layout){
  margin:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

body:not(.admin-layout) img,
body:not(.admin-layout) svg,
body:not(.admin-layout) video{
  display:block;
  max-width:100%;
}

body:not(.admin-layout) button,
body:not(.admin-layout) input,
body:not(.admin-layout) select,
body:not(.admin-layout) textarea{
  font:inherit;
}

body:not(.admin-layout) button,
body:not(.admin-layout) [type="button"],
body:not(.admin-layout) [type="submit"]{
  -webkit-appearance:none;
  appearance:none;
}

body:not(.admin-layout) a,
body:not(.admin-layout) button{
  -webkit-tap-highlight-color:transparent;
}

/* ---------- Avoid browser-dependent emoji/icons ---------- */
/* All key UI icons in article/news areas are SVG-based in V191. */
body:not(.admin-layout) .v186-icon,
body:not(.admin-layout) .v186-phone-icon,
body:not(.admin-layout) .v191-share-icon,
body:not(.admin-layout) .v191-news-cat-icon,
body:not(.admin-layout) .v191-mobile-cat-icon{
  font-family:Arial,sans-serif!important;
}

/* ---------- Article title / text wrapping ---------- */
body:not(.admin-layout) .v175-article-header h1,
body:not(.admin-layout) .v175-article-content h2,
body:not(.admin-layout) .v175-article-content h3{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}

/* Browser fallback for unsupported text-wrap values */
@supports not (text-wrap: pretty){
  body:not(.admin-layout) .v175-article-header h1{
    text-wrap:wrap!important;
  }
}

/* ---------- Article layout ---------- */
body:not(.admin-layout) .v175-news-detail,
body:not(.admin-layout) .v175-news-main,
body:not(.admin-layout) .v175-news-sidebar,
body:not(.admin-layout) .v175-content-layout,
body:not(.admin-layout) .v175-content-layout > div{
  min-width:0!important;
}

/* Prevent Firefox/Safari grid overflow caused by intrinsic widths */
@media(min-width:901px){
  body:not(.admin-layout) .v175-news-detail{
    grid-auto-columns:minmax(0,1fr)!important;
  }
}

/* ---------- Service banner ---------- */
body:not(.admin-layout) .v186-service-banner{
  isolation:isolate;
  contain:layout paint;
}

body:not(.admin-layout) .v186-brand-copy,
body:not(.admin-layout) .v186-service-points,
body:not(.admin-layout) .v186-contact-panel,
body:not(.admin-layout) .v186-service-point,
body:not(.admin-layout) .v186-contact-top{
  min-width:0!important;
}

body:not(.admin-layout) .v186-contact-panel .v186-contact-top a{
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body:not(.admin-layout) .v186-icon svg,
body:not(.admin-layout) .v186-phone-icon svg,
body:not(.admin-layout) .v191-share-icon svg,
body:not(.admin-layout) .v191-news-cat-icon svg,
body:not(.admin-layout) .v191-mobile-cat-icon svg{
  flex:none!important;
}

/* ---------- Sidebar menu ---------- */
body:not(.admin-layout) .v191-news-category-item{
  width:100%!important;
  box-sizing:border-box!important;
}

body:not(.admin-layout) .v191-news-cat-name{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* ---------- Share buttons ---------- */
body:not(.admin-layout) .v191-share-btn{
  box-sizing:border-box!important;
  line-height:1!important;
  white-space:nowrap!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}

body:not(.admin-layout) .v191-share-btn::-moz-focus-inner{
  border:0;
  padding:0;
}

/* ---------- Images / embedded content ---------- */
body:not(.admin-layout) .v175-article-content img,
body:not(.admin-layout) .v175-article-content video,
body:not(.admin-layout) .v175-article-content iframe{
  max-width:100%!important;
}

body:not(.admin-layout) .v175-article-content img{
  height:auto!important;
}

body:not(.admin-layout) .v175-article-content iframe{
  border:0!important;
}

/* ---------- Tables ---------- */
body:not(.admin-layout) .v175-article-content table{
  border-collapse:collapse!important;
  border-spacing:0!important;
  max-width:100%!important;
}

/* ---------- Mobile nav ---------- */
@media(max-width:980px){
  body:not(.admin-layout) .v117-nav{
    -webkit-overflow-scrolling:touch!important;
  }

  body:not(.admin-layout) .v117-dropdown{
    -webkit-transform:none!important;
    transform:none!important;
  }
}

/* ---------- Safari-specific safe fallbacks ---------- */
@supports (-webkit-touch-callout:none){
  body:not(.admin-layout) .v186-service-banner{
    contain:layout!important;
  }

  body:not(.admin-layout) .v191-share-btn,
  body:not(.admin-layout) .v186-quote-btn,
  body:not(.admin-layout) .v186-contact-panel .v186-contact-top a{
    -webkit-appearance:none!important;
  }
}

/* ---------- Firefox-specific normalization ---------- */
@-moz-document url-prefix(){
  body:not(.admin-layout) .v191-share-btn{
    padding-top:0!important;
    padding-bottom:0!important;
  }

  body:not(.admin-layout) .v186-service-banner{
    overflow:hidden!important;
  }
}


@media(max-width:980px){
  body:not(.admin-layout) .v117-nav{
    max-height:calc(var(--v192-vh, 1vh) * 100 - 96px)!important;
  }
}
