/* Domain register page: the result area (Workspace, authored for this order form).
 * Reference: the live Nabtech domain page, measured element by element at 1440, 820 and 390 (box, type, colour and
 * motion); see docs/FINAL-AUDIT-2026-11-11-theme.md, "Domain search". WHMCS draws every answer, price and button;
 * domain-results.js only reads what WHMCS shows and sets the state classes used here:
 *   holder.nd-results-visible   the result area is open and half faded in (starts the rise)
 *   shell.workspace-is-searching the live-search panel is showing
 *   shell.nd31-is-available / nd31-is-unavailable  the outcome (marks styled in domains-authored.css)
 */

/* 1. The result area: as wide as the search card's frame, centred, and empty until a search.
 *    Once open it rises 60px into the hero over a quarter second (margin, so the page below follows). The
 *    selectors are long on purpose: they rank above the older order-form rules for this box, which would otherwise
 *    pull it up the moment WHMCS starts fading it in. */
#order-standard_cart.ndu-register.nd-page.ndv-reimagined.ndw-v6 .nd-main > .nd-container.nd-results-container.ndu-compact-results.nd35-results-safe.workspace-domain-results-holder:has(> #DomainSearchResults) {
    position: relative;
    z-index: 22;
    width: min(1220px, calc(100% - 76px)) !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    transition: margin .25s ease;
}
#order-standard_cart.ndu-register.nd-page.ndv-reimagined.ndw-v6 .nd-main > .nd-container.nd-results-container.ndu-compact-results.nd35-results-safe.workspace-domain-results-holder.nd-results-visible:has(> #DomainSearchResults) {
    margin: -60px auto 38px !important;
}
@media (max-width: 600px) {
    #order-standard_cart.ndu-register.nd-page.ndv-reimagined.ndw-v6 .nd-main > .nd-container.nd-results-container.ndu-compact-results.nd35-results-safe.workspace-domain-results-holder:has(> #DomainSearchResults) {
        width: calc(100% - 36px) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    #order-standard_cart.ndu-register.nd-page.ndv-reimagined.ndw-v6 .nd-main > .nd-container.nd-results-container.ndu-compact-results.nd35-results-safe.workspace-domain-results-holder:has(> #DomainSearchResults) { transition: none; }
}

/* 2. The live-search panel (while WHMCS looks the name up): a slowly sweeping radar beside the name being checked.
 *    It only ever says "checking"; it never shows a percentage or an answer of its own. */
#order-standard_cart.ndu-register.nd-page {
    --workspace-lookup-ink: #193e55;
    --workspace-lookup-name: #1b687f;
    --workspace-lookup-label: #48869b;
    --workspace-lookup-text: #607f91;
    --workspace-lookup-live: #20987d;
    --workspace-lookup-line: #c8e3eb;
}
#order-standard_cart.ndu-register.nd-page #DomainSearchResults #primaryLookupSearching.workspace-lookup {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 25px !important;
    min-height: 145px !important;
    margin: 5px 0 12px !important;
    padding: 7px 0 !important;
    text-align: left !important;
    color: #325a79;
    font-size: 15px;
    font-weight: 660;
    line-height: 1.55;
}
#order-standard_cart.ndu-register.nd-page #DomainSearchResults #primaryLookupSearching.workspace-lookup:is(.w-hidden, [style*="display:none"], [style*="display: none"]) {
    display: none !important;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__radar {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 104px;
    width: 104px;
    height: 104px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid var(--workspace-lookup-line);
    border-radius: 50%;
    background: radial-gradient(circle, #f8ffff 32%, #e0f2f5 70%);
    box-shadow: 0 7px 0 #d5e8ee, 0 17px 25px #23658212;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__radar::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0deg 230deg, #50b2be10 280deg, #50b2be66 358deg, transparent);
    animation: workspace-lookup-sweep 2.8s linear infinite paused;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__ring {
    position: absolute;
    inset: 8px;
    border: 1px solid #accfd955;
    border-radius: 50%;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__ring + .workspace-lookup__ring { inset: 18px; }
#order-standard_cart.ndu-register.nd-page .workspace-lookup__radar svg {
    position: relative;
    z-index: 2;
    width: 55px;
    height: 55px;
    stroke: #5098ad;
    stroke-width: 1.2;
}
/* Three beacons around the globe, blinking in turn. */
#order-standard_cart.ndu-register.nd-page .workspace-lookup__radar > i {
    position: absolute;
    z-index: 3;
    top: 30%;
    left: 26%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #247e99;
    box-shadow: 0 0 0 4px #4dabbc15;
    animation: workspace-lookup-blink 2s ease-in-out infinite paused;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__radar > i:nth-of-type(2) { top: 45%; left: 70%; animation-delay: .6s; }
#order-standard_cart.ndu-register.nd-page .workspace-lookup__radar > i:nth-of-type(3) { top: 73%; left: 40%; animation-delay: 1.2s; }
#order-standard_cart.ndu-register.nd-page .workspace-lookup__copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 9px;
    min-width: 0;
    max-width: 680px;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--workspace-lookup-label);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .15em;
    text-transform: uppercase;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__live {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--workspace-lookup-live);
    box-shadow: 0 0 0 4px #20987d13;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__title {
    color: var(--workspace-lookup-ink);
    font-size: clamp(19px, 2vw, 27px);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__title strong { color: var(--workspace-lookup-name); font-weight: 800; }
#order-standard_cart.ndu-register.nd-page .workspace-lookup__text {
    color: var(--workspace-lookup-text);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__dots { display: inline-flex; gap: 3px; margin-left: 5px; }
#order-standard_cart.ndu-register.nd-page .workspace-lookup__dots > i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    animation: workspace-lookup-blink 1.2s ease-in-out infinite paused;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__dots > i:nth-child(2) { animation-delay: .18s; }
#order-standard_cart.ndu-register.nd-page .workspace-lookup__dots > i:nth-child(3) { animation-delay: .36s; }
#order-standard_cart.ndu-register.nd-page .workspace-lookup__track {
    position: relative;
    width: min(300px, 85%);
    height: 3px;
    margin-top: 4px;
    overflow: hidden;
    border-radius: 8px;
    background: #dcecf1;
}
#order-standard_cart.ndu-register.nd-page .workspace-lookup__track > i {
    display: block;
    width: 35%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, #3b95ae, #60c3b6, transparent);
    animation: workspace-lookup-glide 1.8s ease-in-out infinite paused;
}
/* Motion runs only while WHMCS is looking a name up. */
#order-standard_cart.ndu-register.nd-page #DomainSearchResults.workspace-is-searching :is(.workspace-lookup__radar > i, .workspace-lookup__dots > i, .workspace-lookup__track > i) {
    animation-play-state: running;
}
#order-standard_cart.ndu-register.nd-page #DomainSearchResults.workspace-is-searching .workspace-lookup__radar::before { animation-play-state: running; }
/* While searching the panel is one column: the status mark appears with the answer. */
#order-standard_cart.ndu-register.nd-page #DomainSearchResults.workspace-is-searching .nd31-result-body { grid-template-columns: minmax(0, 1fr) !important; }
#order-standard_cart.ndu-register.nd-page #DomainSearchResults.workspace-is-searching .nd31-status-art { display: none !important; }
@keyframes workspace-lookup-sweep { to { transform: rotate(1turn); } }
@keyframes workspace-lookup-glide { from { transform: translateX(-110%); } to { transform: translateX(390%); } }
@keyframes workspace-lookup-blink { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }
@media (max-width: 600px) {
    #order-standard_cart.ndu-register.nd-page #DomainSearchResults #primaryLookupSearching.workspace-lookup { gap: 17px !important; min-height: 132px !important; }
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__radar { flex-basis: 70px; width: 70px; height: 70px; box-shadow: 0 5px 0 #d5e8ee, 0 12px 18px #23658212; }
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__radar svg { width: 43px; height: 43px; }
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__copy { gap: 6px; }
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__label { font-size: 8px; letter-spacing: .1em; }
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__text { font-size: 11px; }
}
@media (max-width: 360px) {
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__radar { flex-basis: 52px; width: 52px; height: 52px; }
    #order-standard_cart.ndu-register.nd-page #DomainSearchResults #primaryLookupSearching.workspace-lookup { gap: 12px !important; }
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__title { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__radar::before,
    #order-standard_cart.ndu-register.nd-page :is(.workspace-lookup__radar > i, .workspace-lookup__dots > i, .workspace-lookup__track > i) { animation: none !important; }
    #order-standard_cart.ndu-register.nd-page .workspace-lookup__track > i { width: 100%; background: #80bcc8; }
}

/* 3. WHMCS 9's own stylesheet (all.css) gives these parts defaults the live page never shows. */
/* Extension cards stack from the top; the "Unavailable" mark sits one price line below the name, in WHMCS's dark grey. */
#order-standard_cart.ndu-register.nd-page #DomainSearchResults #spotlightTlds .spotlight-tld {
    justify-content: flex-start !important;
}
#order-standard_cart.ndu-register.nd-page #DomainSearchResults #spotlightTlds .spotlight-tld .domain-lookup-result {
    justify-content: flex-start !important;
    min-height: 0 !important;
    margin-top: 6px !important;
}
#order-standard_cart.nab-order-workspace.ndu-register.nd-page #DomainSearchResults #spotlightTlds .spotlight-tld .domain-lookup-result > :is(.btn.unavailable, .btn.invalid) {
    margin: 22.25px 0 0 !important;
    border-color: #343a40 !important;
    background-color: #343a40 !important;
    font-weight: 400 !important;
}
/* The answer line: one size rule at every width (the live page has no separate phone size). */
#order-standard_cart.ndu-register.nd-page.ndv-reimagined #DomainSearchResults #primaryLookupResult.nd31-actual-result > :is(.domain-available, .domain-unavailable, .domain-tld-unavailable, .domain-invalid, .domain-error) {
    margin: 0 0 13px !important;
    font-size: clamp(19px, 2.35vw, 28px) !important;
    line-height: 1.25 !important;
    letter-spacing: -.045em !important;
}
/* Suggestion badges in the live page's coral and yellow (WHMCS 9 ships a darker red and an olive). */
#order-standard_cart.ndu-register.nd-page #domainSuggestions .promo.hot { background-color: #f9615a; }
#order-standard_cart.ndu-register.nd-page #domainSuggestions .promo.sale { background-color: #f7d458; color: #000; }

/* 4. Hero spacing on narrower screens. The live page's spacing rules come after its critical structure block, so
 *    they win at every width; here that block comes last, which left 27px/42px below 1101px. */
#order-standard_cart.ndu-register.nd-page.ndw-v4.ndw-v6 .ndv-hero.nd-hero {
    padding-top: 25px !important;
    padding-bottom: 68px !important;
}
@media (max-width: 800px) {
    #order-standard_cart.ndu-register.nd-page.ndw-v4.ndw-v6 .ndv-hero.nd-hero { padding: 20px 0 54px !important; }
}

/* 6. The result area's section contains the rise. On the live page this section is a flow-root, so the result card's
 *    -60px margin moves only the card up over the hero's lower edge; the section (and its light background) stays
 *    below the hero, which keeps its last 60px and its rounded corners. An older bridge rule in domains.css made it a
 *    plain block, so the margin escaped and dragged the whole light section over the hero. */
.workspace-order-host #order-standard_cart.nd-page.ndu-register > .workspace-domain-main {
    display: flow-root !important;
}

/* 7. Page before a search, sub-pixel parity (measured against the live page with fractional section heights).
 *    - WHMCS's content column keeps Bootstrap's 1px minimum height although everything in it is hidden here.
 *    - Featured extension cards: the price block has a 1px rule above it, and the round pick button sets 16px type
 *      (its arrow is sized from it); the order form's global 14px button type is for labelled buttons.
 *    - The featured grid follows the live page's breakpoints: 3 columns with 16px gaps below 1200px, 2 columns with
 *      15px gaps below 768px and 10px gaps below 560px. */
#order-standard_cart.ndu-register.nd-page .nd-main > .cart-body.workspace-domain-content { min-height: 0; }
#order-standard_cart.ndu-register.nd-page #nd-extensions .nd-tld-card .nd-tld-price { border-top: 1px solid #d5dce5 !important; }
#order-standard_cart.nab-order-workspace.ndu-register.nd-page #nd-extensions .nd-tld-card .nd-tld-pick { font-size: 16px !important; line-height: 24px; }
@media (max-width: 1199.98px) {
    #order-standard_cart.ndu-register.nd-page #nd-extensions .nd35-tld-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
}
@media (max-width: 767.98px) {
    #order-standard_cart.ndu-register.nd-page #nd-extensions .nd35-tld-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 15px !important; }
}
@media (max-width: 559.98px) {
    #order-standard_cart.ndu-register.nd-page #nd-extensions .nd35-tld-grid { gap: 10px !important; }
}
