/* UPRNTLS v5.29.0 — interaction reliability + focus polish */
:where(button,[role="button"],summary,a[href],input[type="button"],input[type="submit"]){
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
:where(button,[role="button"],summary,a[href],input[type="button"],input[type="submit"]):focus-visible{
  outline:2px solid color-mix(in srgb,#0b8e46 68%,transparent)!important;
  outline-offset:3px!important;
}
button:disabled,input:disabled,[aria-disabled="true"]{cursor:not-allowed!important}

/* Keep navigation above page art/hero layers and make only the active menu interactive. */
.site-nav.trust-nav{isolation:isolate!important;z-index:10000!important}
.site-nav.trust-nav .nav-inner,
.site-nav.trust-nav .desktop-nav,
.site-nav.trust-nav .nav-actions,
.site-nav.trust-nav .nav-menu-wrap,
.site-nav.trust-nav .nav-menu-btn,
.site-nav.trust-nav .public-mobile-toggle{position:relative;z-index:2}
.site-nav.trust-nav .nav-menu-btn,
.site-nav.trust-nav .desktop-nav>a,
.site-nav.trust-nav .nav-actions>a,
.site-nav.trust-nav .nav-actions>button,
.site-nav.trust-nav .public-mobile-toggle{pointer-events:auto!important}
.site-nav.trust-nav .mega-menu[aria-hidden="true"]{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.site-nav.trust-nav .nav-menu-wrap.open>.mega-menu,
.site-nav.trust-nav .nav-menu-wrap.open>.mega-menu[aria-hidden="false"]{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}
.site-nav.trust-nav #publicMobileNav[hidden]{display:none!important;pointer-events:none!important}
.site-nav.trust-nav #publicMobileNav:not([hidden]){pointer-events:auto!important}

/* Hidden app overlays must never sit invisibly on top of controls. */
.modal[aria-hidden="true"],
.sc-modal:not(.open),
.setup-modal:not(.open),
.portal-detail-modal[aria-hidden="true"],
[role="dialog"][aria-hidden="true"]{pointer-events:none!important}
.modal.open,.sc-modal.open,.setup-modal.open,[role="dialog"][aria-hidden="false"]{pointer-events:auto}

/* Marketing demo controls are real links/actions now, not decorative dead buttons. */
.feature-public-page .demo-action{
  border:0;
  border-radius:9px;
  background:var(--green);
  color:#fff!important;
  font-size:9px;
  font-weight:900;
  line-height:1;
  padding:9px 12px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  cursor:pointer;
}
.feature-public-page .booking-demo>.demo-action,
.feature-public-page .portal-demo>.demo-action{width:100%;padding:11px}
.feature-public-page .portal-demo>.demo-action{margin:0 18px 18px;width:calc(100% - 36px)}
.feature-public-page .timeline-footer .demo-action,
.feature-public-page .damage-action .demo-action{flex:0 0 auto}
.feature-public-page button[data-demo-today].is-confirmed{background:#075d2d!important}
.feature-public-page .month-grid .day.today-focus{
  border-color:var(--green)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 20%,transparent)!important;
  background:color-mix(in srgb,var(--green-soft) 48%,var(--surface))!important;
}

@media (max-width:620px){
  .site-nav.trust-nav .public-mobile-toggle,
  .site-nav.trust-nav .nav-actions>.btn,
  .feature-public-page .demo-action,
  .feature-public-page button[data-demo-today]{min-height:40px}
}

/* App-wide control polish: compact desktop, reliable touch targets on mobile. */
.crm-shell :where(button,.btn),
.sc-shell :where(button,.sc-btn,.sc-mini),
.ops-shell :where(button,.btn),
.os-shell :where(button,.btn),
.auto-page :where(button,.btn),
.portal-shell :where(button,.btn),
.storefront-shell :where(button,.public-btn){
  min-height:36px;
}
:where(button,.btn,.public-btn,.sc-btn,.sc-mini):not(:disabled){cursor:pointer}
:where(button,.btn,.public-btn,.sc-btn,.sc-mini):not(:disabled):active{transform:translateY(0) scale(.99)}
@media(max-width:760px){
  .crm-shell :where(button,.btn):not(.icon-btn),
  .sc-shell :where(button,.sc-btn,.sc-mini),
  .ops-shell :where(button,.btn),
  .os-shell :where(button,.btn),
  .auto-page :where(button,.btn),
  .portal-shell :where(button,.btn),
  .storefront-shell :where(button,.public-btn){min-height:42px}
}

/* v5.27 mobile collision guards found during full-app control hit testing. */
.nav-more-group:not([open]) > .nav-more-list{
  display:none!important;
  pointer-events:none!important;
}
@media(max-width:560px){
  /* Storefront header: keep the two highest-priority actions without overlapping. */
  .public-top .public-nav .public-btn[href="quote.html"]{display:none!important}
  .public-top .public-top-inner{gap:10px}
  .public-top .public-nav{gap:7px}
  .public-top .public-nav .public-btn{min-height:40px;padding:8px 10px;white-space:nowrap}
}
@media(max-width:420px){
  .public-top .public-nav .public-btn[href="customer-portal.html"]{display:none!important}
  .public-top .public-logo{max-width:132px}
}
.demo-live-chip{pointer-events:none!important;user-select:none!important}
