/* DomainVault Pro 2.5 Experience Layer
   Intentionally scoped. Does not restyle native WHMCS forms, buttons or navigation. */
#dv-overlay .dv-modal {
    width:min(var(--dv-pro-modal-width,900px),100%)!important;
    max-height:min(91dvh,960px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    border-radius:var(--dv-pro-modal-radius,24px)!important;
    border:1px solid var(--dv-col-divider)!important;
    background:var(--dv-col-surface)!important;
    scroll-behavior:auto;
}
#dv-overlay .dv-panel-scroll{
    overflow:visible!important;
    max-height:none!important;
    min-height:auto!important;
    flex:none!important;
}
#dv-overlay #dv-list{
    max-height:none!important;
    min-height:100px;
    height:auto!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
}
#dv-overlay .dv-modal-top{
    position:sticky!important;top:0!important;z-index:8!important;
    flex:none!important;background:var(--dv-col-modal_header)!important;
    backdrop-filter:none!important;
}
/* Scrollbar styles are deliberately isolated per browser engine. Firefox's
   scrollbar-width:thin is its own fallback; Chromium/WebKit get actual 2px. */
@supports (-moz-appearance:none){
  #dv-overlay .dv-modal{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--dv-col-primary) 15%, transparent) transparent}
}
@supports not (-moz-appearance:none){
  #dv-overlay .dv-modal::-webkit-scrollbar{width:2px;height:2px}
  #dv-overlay .dv-modal::-webkit-scrollbar-track{background:transparent}
  #dv-overlay .dv-modal::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--dv-col-primary) 16%, transparent);border-radius:10px}
  #dv-overlay .dv-modal::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--dv-col-primary) 36%, transparent)}
}
#dv-overlay .dv-backdrop{
    background:var(--dv-col-backdrop)!important;
    opacity:var(--dv-pro-overlay-opacity,.65)!important;
    backdrop-filter:blur(var(--dv-pro-overlay-blur,11px))!important;
    -webkit-backdrop-filter:blur(var(--dv-pro-overlay-blur,11px))!important;
}
#dv-overlay.dv-no-backdrop{pointer-events:none!important}
#dv-overlay.dv-no-backdrop .dv-backdrop{opacity:0!important;pointer-events:none!important}
#dv-overlay.dv-no-backdrop .dv-modal{pointer-events:auto!important}
/* One unified input edge. No inner chip, browser-native shadow, or duplicate blue outline. */
#dv-overlay .dv-filter-wrap{
    box-sizing:border-box!important;min-width:0;border:1px solid var(--dv-col-divider)!important;
    border-radius:12px!important;background:var(--dv-col-surface)!important;
    box-shadow:none!important;outline:0!important;transition:border-color .16s,box-shadow .16s;
}
#dv-overlay .dv-filter-wrap:focus-within{
    border-color:var(--dv-col-focus)!important;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--dv-col-shadow) 10%, transparent)!important;
    outline:0!important;
}
#dv-overlay .dv-filter-wrap input,
#dv-overlay .dv-filter-wrap input:focus,
#dv-overlay .dv-filter-wrap input:focus-visible{
    -webkit-appearance:none!important;appearance:none!important;
    display:block!important;box-sizing:border-box!important;
    padding:0!important;margin:0!important;width:100%!important;height:100%!important;
    border:0!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;outline:0!important;transform:none!important;
    font-family:inherit!important;color:var(--dv-col-link)!important;
}
#dv-overlay .dv-filter-wrap input::-webkit-search-decoration,
#dv-overlay .dv-filter-wrap input::-webkit-search-results-button,
#dv-overlay .dv-filter-wrap input::-webkit-search-results-decoration{display:none!important}
/* The host theme cannot add a second dark square outline to addon-owned controls. */
#dv-overlay button,#dv-launcher,#dv-save-cart,.dv-inline-actions .dv-domain-action,
.dv-offer-badge,#dv-offer-popover button,.dv-nav-shortcut,.dv-domains-inline-link{
    -webkit-appearance:none!important;appearance:none!important;
    -webkit-tap-highlight-color:transparent!important;
    outline:0!important;
    transform:none;
}
#dv-overlay:is(button,a,select,input):focus-visible,
#dv-launcher:focus-visible,#dv-save-cart:focus-visible,
.dv-inline-actions .dv-domain-action:focus-visible,
.dv-offer-badge:focus-visible,#dv-offer-popover :is(button,a):focus-visible,
.dv-nav-shortcut:focus-visible,.dv-domains-inline-link:focus-visible{
    outline:0!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--dv-col-shadow) 22%, transparent)!important;
}
#dv-overlay .dv-panel-tabs>button.dv-tab-active{color:var(--dv-col-primary)!important}
#dv-overlay .dv-panel-intro>span{color:var(--dv-col-primary)!important}
#dv-overlay .dv-panel-intro h2 em{background-image:linear-gradient(90deg,var(--dv-col-primary),var(--dv-col-success))!important}
#dv-overlay:is(.dv-continue,.dv-selection-bar button,.dv-page-open),
.dv-client-page .dv-page-open,.dv-client-page .dv-embedded-head button{
    background:var(--dv-col-primary)!important;border-color:transparent!important;
}
#dv-launcher.dv-launcher{
    background:var(--dv-col-launcher_bg)!important;
    inset:auto!important;top:auto!important;left:auto!important;right:var(--dv-pro-launcher-offset,22px)!important;
    bottom:var(--dv-pro-launcher-offset,22px)!important;
    border:1px solid color-mix(in srgb, var(--dv-col-divider) 25%, transparent)!important;
    box-shadow:0 10px 28px color-mix(in srgb, var(--dv-col-shadow) 23%, transparent)!important;
}
#dv-launcher .dv-launcher-icon{background:var(--dv-col-launcher_accent)!important}
#dv-launcher[data-dv-position="bottom-left"]{left:var(--dv-pro-launcher-offset,22px)!important;right:auto!important;bottom:var(--dv-pro-launcher-offset,22px)!important;top:auto!important}
#dv-launcher[data-dv-position="top-left"]{left:var(--dv-pro-launcher-offset,22px)!important;right:auto!important;top:var(--dv-pro-launcher-offset,22px)!important;bottom:auto!important}
#dv-launcher[data-dv-position="top-right"]{right:var(--dv-pro-launcher-offset,22px)!important;left:auto!important;top:var(--dv-pro-launcher-offset,22px)!important;bottom:auto!important}
#dv-launcher[data-dv-position="center-left"]{left:var(--dv-pro-launcher-offset,22px)!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
#dv-launcher[data-dv-position="center-right"]{right:var(--dv-pro-launcher-offset,22px)!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
#dv-launcher.dv-launcher-compact{min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;max-width:none!important;padding:5px!important;gap:0!important;border-radius:14px!important}
#dv-launcher.dv-launcher-compact .dv-launcher-copy,#dv-launcher.dv-launcher-compact .dv-launcher-chevron{display:none!important}
#dv-launcher.dv-launcher-compact .dv-launcher-icon{width:42px;height:42px;border-radius:11px}
#dv-save-cart{right:var(--dv-pro-launcher-offset,22px)!important;bottom:var(--dv-pro-launcher-offset,22px)!important}
html:has(#dv-launcher[data-dv-position="bottom-right"]) #dv-save-cart{
    bottom:calc(var(--dv-pro-launcher-offset,22px) + 64px)!important;
}
/* Native navigation links inherit the active theme's typography, spacing and hover
   behaviour. The domain-page action is inserted INTO the native button group and
   gets its .btn* classes from a real adjacent WHMCS button. No independent chip. */
.dv-custom-nav-item{list-style:inherit}
[data-dv-nav-shortcut] svg{width:17px;height:17px;vertical-align:middle;stroke:currentColor;fill:none}
[data-dv-nav-shortcut="my-domains"] i{margin-right:0.25em}
/* The notification shortcut is an ordinary menu link, not an unread message.
   Apply fallback geometry only where the host supplies no navigational item. */
[data-dv-nav-shortcut="notifications"] i{margin-right:.45em;vertical-align:middle}
[data-dv-nav-shortcut="notifications"][data-dv-notify-fallback="1"]{
  display:flex;align-items:center;gap:.2em;padding:.7em 1em;
  font:inherit;line-height:1.45;color:inherit;text-decoration:none;
}
[data-dv-nav-shortcut="notifications"][data-dv-notify-fallback="1"]:hover{background:rgba(125,145,185,.09)}
[data-dv-nav-shortcut="notifications"][data-dv-notify-fallback="1"] span{white-space:normal}

@media(max-width:760px){
  #dv-overlay .dv-modal{max-height:95dvh!important}
  #dv-overlay .dv-modal-top{padding:12px 16px!important}
  #dv-launcher.dv-launcher{--dv-effective-launcher-offset:min(var(--dv-pro-launcher-offset,22px),26px);right:var(--dv-effective-launcher-offset)!important;bottom:var(--dv-effective-launcher-offset)!important}
  #dv-launcher[data-dv-position="bottom-left"]{left:var(--dv-effective-launcher-offset)!important;right:auto!important}
  #dv-launcher[data-dv-position="top-left"]{left:var(--dv-effective-launcher-offset)!important;right:auto!important;top:var(--dv-effective-launcher-offset)!important;bottom:auto!important}
  #dv-launcher[data-dv-position="top-right"]{right:var(--dv-effective-launcher-offset)!important;left:auto!important;top:var(--dv-effective-launcher-offset)!important;bottom:auto!important}
  #dv-launcher[data-dv-position="center-left"]{left:var(--dv-effective-launcher-offset)!important;right:auto!important;top:50%!important;bottom:auto!important}
  #dv-launcher[data-dv-position="center-right"]{right:var(--dv-effective-launcher-offset)!important;left:auto!important;top:50%!important;bottom:auto!important}
}
@media(prefers-reduced-motion:reduce){#dv-overlay .dv-modal{animation:none!important}}
