/* NDM targeted visual corrections; final override deliberately loaded last. */
/* Floating controls: restore original phone/WhatsApp palette, size, outlines and halos. */
.ndm-floating .ndm-floating-contact{gap:16px!important;align-items:center!important}
.ndm-floating .ndm-floating-contact a{box-sizing:border-box!important;width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;border-radius:50%!important}
.ndm-floating .ndm-floating-contact .ndm-float-phone{background:#33473c!important;color:#fff!important;border:2px solid #a98742!important;box-shadow:0 0 0 6px rgba(151,114,37,.30),0 0 0 13px rgba(151,114,37,.17)!important}
.ndm-floating .ndm-float-phone svg{width:31px!important;height:31px!important;stroke-width:1.65!important}
.ndm-floating .ndm-floating-contact .ndm-float-whatsapp{background:#c4a04f!important;color:#fff!important;border:0!important;box-shadow:none!important}
.ndm-floating .ndm-float-whatsapp svg{width:36px!important;height:36px!important;stroke:none!important;fill:currentColor!important}
.ndm-floating .ndm-float-phone::before,.ndm-floating .ndm-float-phone::after{border-color:rgba(151,114,37,.27)!important}
@media(max-width:767px){
 .ndm-floating .ndm-floating-contact a{width:63px!important;height:63px!important;min-width:63px!important;min-height:63px!important}
 .ndm-floating .ndm-float-phone svg{width:31px!important;height:31px!important}
 .ndm-floating .ndm-float-whatsapp svg{width:34px!important;height:34px!important}
 .ndm-floating .ndm-floating-contact .ndm-float-phone{box-shadow:0 0 0 6px rgba(151,114,37,.30),0 0 0 12px rgba(151,114,37,.17)!important}
}
/* Preloader on mobile: just the actual scales brand mark, no half-ring or subtitle.
   CSS covers all styles and picture gives a ring-free source image. */
@media(max-width:767px){
 #ndm-preloader .ndm-preloader-brand{min-height:0!important;width:auto!important;max-width:88vw!important;gap:0!important}
 #ndm-preloader .ndm-preloader-brand::before,#ndm-preloader .ndm-preloader-brand::after,
 #ndm-preloader .ndm-preloader-track,#ndm-preloader .ndm-preloader-sub{display:none!important;content:none!important;animation:none!important}
 #ndm-preloader .ndm-preloader-picture{display:block;width:min(170px,48vw);line-height:0}
 #ndm-preloader .ndm-preloader-picture img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
}
/* Contact page: prevent horizontal overflow and make every pane stack properly. */
@media(max-width:767px){
 .ndm-contact-ref,.ndm-contact-ref .container,.ndm-contact-ref .contactInfo,.ndm-contact-ref .requestSection{box-sizing:border-box;max-width:100%;min-width:0}
 .ndm-contact-ref .container{width:calc(100% - 32px)!important;margin-inline:auto!important;padding-inline:0!important}
 .ndm-contact-ref .infoHeading,.ndm-contact-ref .requestGrid,.ndm-contact-ref .contactCards,
 .ndm-contact-ref .fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 .ndm-contact-ref .infoHeading>*,.ndm-contact-ref .requestGrid>*,.ndm-contact-ref .contactCards>*,
 .ndm-contact-ref .fields>*,.ndm-contact-ref .contactCard{min-width:0!important;max-width:100%!important}
 .ndm-contact-ref .contactCard{box-sizing:border-box;overflow-wrap:anywhere;word-break:normal}
 .ndm-contact-ref .ndm-address-selector-card{grid-template-columns:44px minmax(0,1fr)!important;gap:10px 12px!important}
 .ndm-contact-ref .ndm-address-selector-card>.cardIcon{grid-column:1!important;grid-row:1 / span 6!important}
 .ndm-contact-ref .ndm-address-selector-card>:not(.cardIcon){grid-column:2!important;min-width:0!important;max-width:100%!important}
 .ndm-contact-ref .ndm-office-select,.ndm-contact-ref .ndm-office-details,
 .ndm-contact-ref .ndm-office-address{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow-wrap:anywhere!important;white-space:normal!important}
 .ndm-contact-ref :is(input,textarea,select){box-sizing:border-box!important;max-width:100%!important;min-width:0!important;font-size:16px!important}
 .ndm-contact-ref .requestBody,.ndm-contact-ref .companyCard{min-width:0!important;width:100%!important;box-sizing:border-box!important}
 .ndm-contact-ref .mapSection,.ndm-contact-ref iframe{max-width:100%!important}
 .ndm-contact-ref .socialArea{max-width:100%;min-width:0;overflow-wrap:anywhere}
 .ndm-contact-ref .ndm-interior-header h1,.ndm-contact-ref .infoHeading h2{overflow-wrap:anywhere;font-size:clamp(25px,7vw,34px)!important}
}
@media(max-width:360px){
 .ndm-contact-ref .container{width:calc(100% - 24px)!important}
 .ndm-contact-ref .contactCard{padding:14px!important}
 .ndm-contact-ref .ndm-address-selector-card{grid-template-columns:34px minmax(0,1fr)!important;column-gap:9px!important}
 .ndm-contact-ref .ndm-address-selector-card>.cardIcon{width:34px!important;height:34px!important}
}

/* 2026-11-12: the semicircle belongs to the HERO statistics emblem, NOT the preloader.
   Keep the scales icon, remove only the CSS-drawn arc on mobile. */
@media screen and (max-width:767px){
 .ndm-home .ndm-hero .ndm-stat .ndm-stat-mark::before,
 .ndm-home .ndm-hero .ndm-stat .ndm-stat-mark::after,
 .ndm-criminal-v2 .ndm-v2-original-hero .heroStat .statSymbol::before,
 .ndm-criminal-v2 .ndm-v2-original-hero .heroStat .statSymbol::after{
   content:none!important;display:none!important;border:0!important;box-shadow:none!important;background:none!important;
 }
 .ndm-home .ndm-hero .ndm-stat .ndm-stat-mark,
 .ndm-criminal-v2 .ndm-v2-original-hero .heroStat .statSymbol{
   width:var(--ndm-stat-visual-size,64px)!important;
   height:var(--ndm-stat-visual-size,64px)!important;
   padding:0!important;margin-inline:auto!important;
 }
}
/* Contact layout: override old grid/flex rules in the correct component hierarchy.
   No viewport-height/min-height is allowed to manufacture large blank mobile panels. */
@media screen and (max-width:767px){
 body .ndm-contact-ref{width:100%!important;max-width:100%!important;overflow-x:clip!important;min-height:0!important}
 body .ndm-contact-ref .contactInfo,
 body .ndm-contact-ref .requestSection{height:auto!important;min-height:0!important;padding-block:36px!important}
 body .ndm-contact-ref .container{box-sizing:border-box!important;width:calc(100% - 32px)!important;max-width:100%!important;margin-inline:auto!important;padding:0!important}
 body .ndm-contact-ref .infoHeading,
 body .ndm-contact-ref .contactCards,
 body .ndm-contact-ref .requestGrid{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;height:auto!important;min-height:0!important}
 body .ndm-contact-ref .infoHeading{margin-bottom:26px!important}
 body .ndm-contact-ref .contactCard{height:auto!important;min-height:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 body .ndm-contact-ref .requestGrid>.requestBody,
 body .ndm-contact-ref .requestGrid>.companyCard{flex:none!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:stretch!important;box-sizing:border-box!important}
 body .ndm-contact-ref .requestGrid>.companyCard{padding:28px 22px!important;justify-content:flex-start!important;gap:14px!important}
 body .ndm-contact-ref .requestGrid>.companyCard h3{font-size:clamp(20px,5.5vw,26px)!important;line-height:1.6!important}
 body .ndm-contact-ref .requestGrid>.companyCard p{font-size:13px!important;line-height:1.9!important}
 body .ndm-contact-ref .ndm-native-form,
 body .ndm-contact-ref .ndm-form-grid,
 body .ndm-contact-ref .fields{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
 body .ndm-contact-ref .ndm-form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 body .ndm-contact-ref .ndm-form-grid>*,body .ndm-contact-ref .fields>*{grid-column:1/-1!important;min-width:0!important}
 body .ndm-contact-ref .ndm-office-details,body .ndm-contact-ref .contactValue{overflow-wrap:anywhere!important;max-width:100%!important}
 body .ndm-contact-ref .mapSection{width:100%!important;max-width:100%!important;min-height:0!important}
 body .ndm-contact-ref .mapCard{box-sizing:border-box!important;max-width:calc(100% - 32px)!important}
}

/* V5: Contact mobile viewport restoration.
   V4's root overflow:clip trapped the RTL layout outside the visual viewport.
   Keep clipping off the root and constrain the actual components instead. */
@media screen and (max-width:767px) {
  html:has(.ndm-contact-ref) {overflow-x:hidden!important; max-width:100%!important;}
  body:has(.ndm-contact-ref) {overflow-x:hidden!important; max-width:100%!important; min-width:0!important; margin:0!important;}
  body:has(.ndm-contact-ref) #primary-content {position:relative!important; display:block!important; box-sizing:border-box!important; width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important; padding:0!important; left:auto!important; right:auto!important; transform:none!important;}
  body .ndm-contact-ref {position:relative!important; display:block!important; box-sizing:border-box!important; width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important; left:auto!important; right:auto!important; transform:none!important; overflow-x:hidden!important;}
  body .ndm-contact-ref .hero,
  body .ndm-contact-ref .contactInfo,
  body .ndm-contact-ref .requestSection,
  body .ndm-contact-ref .mapSection {box-sizing:border-box!important; width:100%!important; max-width:100%!important; min-width:0!important; margin-inline:0!important;}
  body .ndm-contact-ref .hero::before,
  body .ndm-contact-ref .hero::after {pointer-events:none!important;}
  body .ndm-contact-ref .container {width:calc(100% - 32px)!important; max-width:100%!important; min-width:0!important; margin-inline:auto!important; box-sizing:border-box!important;}
  body .ndm-floating {position:fixed!important; inset:auto 16px calc(20px + env(safe-area-inset-bottom)) auto!important; display:block!important; width:63px!important; min-width:0!important; height:auto!important; margin:0!important; padding:0!important; transform:none!important; box-sizing:border-box!important;}
  body .ndm-floating-contact {position:static!important; display:flex!important; flex-direction:column!important; align-items:center!important; gap:16px!important; width:63px!important; margin:0!important; padding:0!important; transform:none!important;}
  body .ndm-floating-contact a {width:63px!important; height:63px!important; min-width:63px!important; min-height:63px!important; max-width:63px!important; box-sizing:border-box!important;}
  body .ndm-contact-ref .requestGrid,
  body .ndm-contact-ref .contactCards {min-width:0!important; max-width:100%!important;}
  body .ndm-contact-ref :is(img,iframe,video,svg) {max-width:100%;}
}

/* V1.0.0: Remove only the phone button's solid gold border.
   Preserve existing halo circles, glow, animations, background and icon. */
.ndm-floating .ndm-floating-contact .ndm-float-phone,
.ndm-floating .ndm-floating-contact .ndm-float-phone:hover {
  border: 0 !important;
}
