/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Cart
 *
 * This block allows you to customize theme colors and styles for the entire Nexus Cart template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */

html {
    font-size: 14px;
}

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* Neutral shades */
    /* define own pallet with brand colors */
    --primary-50: #ecfeff;
    --primary-100: #cffafe;
    --primary-200: #a5f3fc;
    --primary-300: #67e8f9;
    --primary-400: #22d3ee;
    --primary-500: #06b6d4;
    --primary-600: #0891b2;
    --primary-700: #0e7490;
    --primary-800: #155e75;
    --primary-900: #164e63;
    --primary-950: #083344;

    /* Primary colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--primary-700);
    --primary-lifted: var(--primary-800);
    --primary-accented: var(--primary-900);

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: #7c98a5;
    --text-lifted: #51707f;
    --text-accented: #3f5f6e;
    --text: #0b2a3a;

    /* Border neutral colors */
    --border-muted: #e1eef3;
    --border: #d3e5ec;
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: #f1f8fa;
    --bg-lifted: #e8f3f7;
    --bg-accented: #d3e5ec;
    --bg-inverted: #0b2a3a;

    /* Additional colors */
    --yellow-200: #cffafe;
    --yellow-300: #a5f3fc;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}


/* =====================================================
   ACLOUD THEME
   ===================================================== */

/* ---------- 1. Brand tokens ---------- */
:root {
    --ac-ink: #0b2a3a;
    --ac-muted: #51707f;
    --ac-brand: #0891b2;
    --ac-brand-deep: #0e7490;
    --ac-wash: #eef8fb;
    --ac-line: #d3e5ec;
    --ac-surface: #ffffff;
}

/* Dark mode: covers common theme switch selectors; adjust if your theme uses another */
[data-bs-theme="dark"], [data-theme="dark"], .dark {
    --ac-ink: #e6f4f8;
    --ac-muted: #9bb8c4;
    --ac-brand: #22d3ee;
    --ac-brand-deep: #67e8f9;
    --ac-wash: #0f2530;
    --ac-line: #1f3b49;
    --ac-surface: #0b1c25;
}


/* ---------- 2. Homepage sections ---------- */
.ac-section { margin: 3rem auto; }

.ac-heading {
    margin: 0 0 1.25rem;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ac-ink);
    text-align: left;
}

.ac-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
}

.ac-product {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-left: 4px solid var(--ac-brand);
    border-radius: 6px;
    color: var(--ac-ink);
    text-decoration: none;
    transition: border-color .15s ease, background-color .15s ease;
}
.ac-product-domain {
    border-left-color: var(--ac-brand-deep);
    background: var(--ac-wash);
}
.ac-product:hover,
.ac-product:focus-visible {
    border-color: var(--ac-brand);
    background: var(--ac-wash);
    color: var(--ac-ink);
    text-decoration: none;
}
.ac-product-title {
    margin: 0 0 .5rem;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--ac-ink);
}
.ac-product-text {
    flex: 1;
    margin: 0 0 1.25rem;
    color: var(--ac-muted);
    line-height: 1.5;
}
.ac-product-cta {
    align-self: flex-start;
    padding: .45rem 1rem;
    border-radius: 6px;
    background: var(--ac-brand-deep);
    color: #fff;
    font-weight: 600;
    font-size: .9rem;
}
[data-bs-theme="dark"] .ac-product-cta,
[data-theme="dark"] .ac-product-cta,
.dark .ac-product-cta { color: #04222c; }

.ac-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: .75rem;
}
.ac-tile {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1rem 1.1rem;
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 6px;
    color: var(--ac-ink);
    font-weight: 500;
    text-decoration: none;
    transition: border-color .15s ease, background-color .15s ease;
}
.ac-tile i {
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ac-wash);
    color: var(--ac-brand-deep);
    font-size: 1rem;
}
.ac-tile:hover,
.ac-tile:focus-visible {
    border-color: var(--ac-brand);
    background: var(--ac-wash);
    color: var(--ac-ink);
    text-decoration: none;
}
.ac-product:focus-visible,
.ac-tile:focus-visible {
    outline: 2px solid var(--ac-brand);
    outline-offset: 2px;
}

@media (max-width: 575px) {
    .ac-tiles { grid-template-columns: 1fr 1fr; }
    .ac-tile { flex-direction: column; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .ac-product, .ac-tile { transition: none; }
}


/* ---------- 3. Top bar + navbar ---------- */
body .ac-header .topbar {
    background: var(--ac-ink);
    color: var(--ac-surface);
}
body .ac-header .topbar .btn,
body .ac-header .topbar .input-group-text {
    color: inherit;
    background: transparent;
    border: 0;
}

body .ac-navbar {
    background: var(--ac-surface);
    border-bottom: 1px solid var(--ac-line);
    padding: .6rem 0;
}
body .ac-navbar .container { flex-wrap: wrap; }
body .ac-navbar .navbar-brand { order: 1; padding: 0; flex: 0 0 auto; }
body .ac-navbar .logo-img { height: 42px; width: auto; }

/* mobile / tablet: logo left, search+cart+menu right, menu drops below */
body .ac-navbar .ac-toolbar {
    order: 2;
    margin-left: auto;
    flex-direction: row;
    align-items: center;
}
body .ac-navbar .navbar-collapse { order: 3; }

/* desktop: logo | menu ........ search + cart (one row) */
@media (min-width: 1200px) {
    body .ac-navbar .container { flex-wrap: nowrap; }
    body .ac-navbar .navbar-collapse {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        padding-left: 1rem;
    }
    body .ac-navbar .ac-toolbar { order: 3; flex: 0 0 auto; margin-left: .75rem; }
    body .ac-navbar .navbar-nav .nav-link { padding: .5rem .65rem; }
}

body .ac-navbar .navbar-nav .nav-link {
    color: var(--ac-ink);
    font-weight: 500;
    padding: .5rem .85rem;
    border-radius: 6px;
}
body .ac-navbar .navbar-nav .nav-link:hover,
body .ac-navbar .navbar-nav .nav-link:focus,
body .ac-navbar .navbar-nav .active > .nav-link {
    color: var(--ac-brand-deep);
    background: var(--ac-wash);
}
body .ac-navbar .dropdown-menu {
    border: 1px solid var(--ac-line);
    border-radius: 8px;
    background: var(--ac-surface);
    box-shadow: 0 8px 24px rgba(11, 42, 58, .12);
    padding: .4rem;
}
body .ac-navbar .dropdown-item {
    color: var(--ac-ink);
    border-radius: 6px;
}
body .ac-navbar .dropdown-item:hover,
body .ac-navbar .dropdown-item:focus {
    background: var(--ac-wash);
    color: var(--ac-brand-deep);
}

/* search pill (desktop, in toolbar): always visible and typeable */
body .ac-navbar .ac-toolbar .search {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 210px;
    height: 42px;
    background: var(--ac-wash);
    border: 1px solid var(--ac-line);
    border-radius: 21px;
    overflow: hidden;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body .ac-navbar .ac-toolbar .search:focus-within {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 3px rgba(8, 145, 178, .18);
}
body .ac-navbar .ac-toolbar .search .input-group-prepend { margin: 0; }
body .ac-navbar .ac-toolbar .search .btn {
    width: 40px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--ac-brand-deep);
}
body .ac-navbar .ac-toolbar .search .btn i { color: var(--ac-brand-deep); opacity: 1; }
body .ac-navbar .ac-toolbar .search .form-control {
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    padding: 0 .9rem 0 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--ac-ink);
    text-overflow: ellipsis;
}
@media (min-width: 1200px) and (max-width: 1399px) {
    body .ac-navbar .ac-toolbar .search { width: 160px; }
}

/* search inside the mobile menu */
body .ac-navbar .navbar-collapse .search .form-control,
body .ac-navbar .navbar-collapse .search .btn {
    background: var(--ac-wash);
    border: 1px solid var(--ac-line);
    color: var(--ac-ink);
}

/* cart + hamburger: round buttons */
body .ac-navbar .ac-toolbar .cart-btn,
body .ac-navbar .ac-toolbar .btn.nav-link {
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ac-line);
    border-radius: 50%;
    background: var(--ac-wash);
    color: var(--ac-brand-deep);
}
body .ac-navbar .ac-toolbar .cart-btn:hover {
    background: var(--ac-surface);
    border-color: var(--ac-brand);
}
body .ac-navbar .ac-toolbar .cart-btn .badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    border-radius: 10px;
    background: var(--ac-brand-deep);
    color: #fff;
}


/* ---------- 4. Breadcrumb ---------- */
body .master-breadcrumb {
    background: var(--ac-wash);
    border-bottom: 1px solid var(--ac-line);
}
body .master-breadcrumb .breadcrumb {
    background: transparent;
    margin: 0;
    padding: .7rem 0;
    font-size: .875rem;
}
body .master-breadcrumb .breadcrumb a { color: var(--ac-brand-deep); }
body .master-breadcrumb .breadcrumb-item.active { color: var(--ac-muted); }


/* ---------- 5. Domain search hero (homepage) ---------- */
body .home-domain-search {
    background: var(--ac-wash) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--ac-line);
    padding: 4rem 0 3rem !important;
}
body .home-domain-search h2 {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ac-ink);
    margin-bottom: 1.5rem;
}
body .home-domain-search .card,
body .home-domain-search .domain-search-box,
body .home-domain-search form > div {
    background: var(--ac-surface);
    border-color: var(--ac-line);
    border-radius: 14px;
}
body .home-domain-search .card {
    box-shadow: 0 10px 30px rgba(11, 42, 58, .08);
}
body .home-domain-search .form-control,
body .home-domain-search input[type="text"] {
    background: var(--ac-surface);
    color: var(--ac-ink);
    border: 1px solid var(--ac-line);
    border-radius: 8px;
}
body .home-domain-search textarea {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 1.05rem;
    color: var(--ac-ink);
}
body .home-domain-search .form-control:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 3px rgba(8, 145, 178, .18);
    outline: 0;
}
body .home-domain-search .btn-primary {
    background: var(--ac-brand-deep);
    border-color: var(--ac-brand-deep);
    border-radius: 8px;
    font-weight: 600;
    padding: .6rem 1.4rem;
}
body .home-domain-search .btn-primary:hover {
    background: var(--ac-ink);
    border-color: var(--ac-ink);
}
body .home-domain-search .btn-success,
body .home-domain-search .btn-transfer {
    background: var(--ac-ink);
    border-color: var(--ac-ink);
    color: #fff;
    border-radius: 8px;
    font-weight: 600;
    padding: .6rem 1.4rem;
}
body .home-domain-search a { color: var(--ac-brand-deep); }


/* ---------- 6. Buttons and links site-wide ---------- */
body .btn-primary {
    background: var(--ac-brand-deep);
    border-color: var(--ac-brand-deep);
}
body .btn-primary:hover,
body .btn-primary:focus {
    background: var(--ac-ink);
    border-color: var(--ac-ink);
}
body .btn-outline-primary {
    color: var(--ac-brand-deep);
    border-color: var(--ac-brand-deep);
}
body .btn-outline-primary:hover {
    background: var(--ac-brand-deep);
    color: #fff;
}
body a { color: var(--ac-brand-deep); }


/* ---------- 7. Cart / domain results / checkout (standard_cart) ---------- */
body #order-standard_cart .header-lined h1 {
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ac-ink);
}

body #order-standard_cart .domain-checker-container,
body #order-standard_cart .domain-checker-result-headline,
body #order-standard_cart .spotlight-tlds,
body #order-standard_cart .suggested-domains,
body #order-standard_cart .domain-pricing {
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 8px;
}
body #order-standard_cart .domain-checker-available { color: #0f9d58; font-weight: 600; }
body #order-standard_cart .domain-checker-unavailable { color: #d93025; font-weight: 600; }
body #order-standard_cart .btn-add-to-cart {
    background: var(--ac-brand-deep);
    border-color: var(--ac-brand-deep);
    color: #fff;
    border-radius: 6px;
}

body #order-standard_cart .product,
body #order-standard_cart .panel,
body #order-standard_cart .card,
body #order-standard_cart .view-cart-items,
body #order-standard_cart .order-summary,
body #order-standard_cart .sub-heading + .panel {
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 8px;
    box-shadow: none;
}
body #order-standard_cart .product header,
body #order-standard_cart .view-cart-items-header,
body #order-standard_cart .order-summary h2 {
    background: var(--ac-wash);
    color: var(--ac-ink);
    border-bottom: 1px solid var(--ac-line);
}
body #order-standard_cart .order-summary { overflow: hidden; }
body #order-standard_cart .order-summary .total-due-today .amt,
body #order-standard_cart .view-cart-items .item-price span {
    color: var(--ac-brand-deep);
    font-weight: 700;
}

body #order-standard_cart .btn-checkout,
body #order-standard_cart #btnCompleteOrder {
    background: var(--ac-brand-deep);
    border-color: var(--ac-brand-deep);
    color: #fff;
    border-radius: 8px;
    font-weight: 600;
    padding: .7rem 1.4rem;
}
body #order-standard_cart .btn-checkout:hover,
body #order-standard_cart #btnCompleteOrder:hover {
    background: var(--ac-ink);
    border-color: var(--ac-ink);
}
body #order-standard_cart .form-control,
body #order-standard_cart select.field,
body #order-standard_cart input.field {
    border: 1px solid var(--ac-line);
    border-radius: 6px;
    background: var(--ac-surface);
    color: var(--ac-ink);
}
body #order-standard_cart .form-control:focus,
body #order-standard_cart .field:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 3px rgba(8, 145, 178, .18);
}
body #order-standard_cart .payment-methods .form-check,
body #order-standard_cart .account-select-container,
body #order-standard_cart .sub-heading span {
    color: var(--ac-ink);
}


/* ---------- 8. Footer ---------- */
body .ac-footer {
    background: #0b2a3a;
    color: #b9d0da;
    margin-top: 4rem;
    padding: 3.5rem 0 1.5rem;
    border-top: 0;
}
body .ac-footer-main { padding-bottom: 2.5rem; }

body .ac-footer-brand {
    display: inline-block;
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none;
}
/* Logo has dark letters: sits on a light chip so it stays readable on the dark footer */
body .ac-footer-logo {
    height: 44px;
    width: auto;
    background: #fff;
    padding: .4rem .7rem;
    border-radius: 8px;
}
body .ac-footer-about {
    max-width: 34ch;
    margin: 0;
    line-height: 1.6;
    color: #b9d0da;
}
body .ac-footer-title {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
}
body .ac-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}
body .ac-footer-links li { margin-bottom: .55rem; }
body .ac-footer-links a {
    color: #b9d0da;
    text-decoration: none;
}
body .ac-footer-links a:hover,
body .ac-footer-links a:focus-visible {
    color: #67e8f9;
    text-decoration: underline;
}
body .ac-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid #1f3f52;
}
body .ac-footer .copyright {
    color: #8fb0be;
    font-size: .875rem;
}
body .ac-footer-tools .btn,
body .ac-footer-tools a {
    color: #b9d0da;
    background: transparent;
    border: 0;
}
body .ac-footer-tools .btn:hover,
body .ac-footer-tools a:hover { color: #67e8f9; }

body .ac-footer a:focus-visible,
body .ac-footer .btn:focus-visible {
    outline: 2px solid #67e8f9;
    outline-offset: 2px;
}
@media (max-width: 575px) {
    body .ac-footer-bottom { flex-direction: column; align-items: flex-start; }
}


/* ---------- 9. Page theme v2: page background, dark hero, softer cards ---------- */
:root { --ac-page: #f1f8fa; }
[data-bs-theme="dark"], [data-theme="dark"], .dark { --ac-page: #071419; }

/* full-page background */
body.primary-bg-color {
    background-color: var(--ac-page) !important;
    background-image:
        radial-gradient(760px 520px at 100% 55%, rgba(8, 145, 178, .09), transparent 62%),
        radial-gradient(680px 520px at 0% 92%, rgba(34, 211, 238, .10), transparent 62%) !important;
    background-attachment: fixed;
}
body #main-body,
body .primary-content { background: transparent; }

/* navbar floats on the page, breadcrumb blends in */
body .ac-navbar {
    position: relative;
    z-index: 5;
    box-shadow: 0 1px 0 var(--ac-line), 0 8px 24px rgba(11, 42, 58, .06);
}
body .master-breadcrumb {
    background: transparent;
    border-bottom: 0;
}

/* hero: deep teal panel with white heading and a floating white search card */
body .home-domain-search {
    background:
        radial-gradient(900px 420px at 88% -15%, rgba(34, 211, 238, .38), transparent 62%),
        radial-gradient(720px 400px at 4% 115%, rgba(8, 145, 178, .50), transparent 62%),
        linear-gradient(135deg, #0b2a3a 0%, #0e4a63 100%) !important;
    border-bottom: 0;
    padding: 4.5rem 0 3.5rem !important;
    color: #fff;
}
body .home-domain-search h2 {
    color: #fff;
    font-size: 2.4rem;
    text-align: center;
}
body .home-domain-search a { color: #a5f3fc; }
body .home-domain-search form a,
body .home-domain-search .card a,
body .home-domain-search .dropdown-menu a,
body .home-domain-search .btn-link,
body .home-domain-search .dropdown-toggle { color: var(--ac-brand-deep); }
body .home-domain-search div:has(> textarea) {
    border-radius: 12px;
}
body .home-domain-search textarea::placeholder { color: var(--ac-muted); }
body .home-domain-search .card,
body .home-domain-search form > div {
    box-shadow: 0 18px 40px rgba(2, 20, 30, .28);
}

/* product + help cards: rounder, lift on hover */
body .ac-product,
body .ac-tile { border-radius: 12px; box-shadow: 0 1px 2px rgba(11, 42, 58, .04); }
body .ac-product {
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background-color .15s ease;
}
body .ac-product:hover,
body .ac-product:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(11, 42, 58, .10);
}
@media (prefers-reduced-motion: reduce) {
    body .ac-product:hover { transform: none; }
}

/* client area cards, sidebar, tables */
body .card,
body .panel,
body .list-group {
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(11, 42, 58, .04);
}
body .card-header,
body .panel-heading {
    background: var(--ac-wash);
    color: var(--ac-ink);
    border-bottom: 1px solid var(--ac-line);
}
body .list-group-item {
    background: transparent;
    border-color: var(--ac-line);
    color: var(--ac-ink);
}
body .table thead th {
    background: var(--ac-wash);
    color: var(--ac-ink);
    border-color: var(--ac-line);
}
body .table td,
body .table th { border-color: var(--ac-line); }
body .form-control {
    border-color: var(--ac-line);
    border-radius: 8px;
}
body .form-control:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 3px rgba(8, 145, 178, .18);
}

/* cart badge: fully visible */
body .ac-navbar .ac-toolbar,
body .ac-navbar .ac-toolbar .nav-item,
body .ac-navbar .ac-toolbar .cart-btn { overflow: visible; }
body .ac-navbar .ac-toolbar .cart-btn .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    min-width: 20px;
    padding: 0 .35rem;
    font-size: .72rem;
    line-height: 1;
    top: -5px;
    right: -5px;
}


/* ---------- 10. Domain search hero: compact and polished ---------- */
body .home-domain-search { padding: 3.5rem 0 2.75rem !important; }

/* narrower column so the search box is not full-width huge */
body .home-domain-search .container {
    max-width: 880px;
}
body .home-domain-search h2 {
    font-size: 2.1rem;
    margin-bottom: 1.1rem;
}

/* the white box and its inner wrappers: rounded and tighter */
body .home-domain-search div:has(textarea):not(:has(h2)) {
    border-radius: 14px;
}
body .home-domain-search textarea {
    height: 122px !important;
    min-height: 0 !important;
    resize: none;
    font-size: 1rem;
    line-height: 1.45;
    padding: .8rem 1rem 3.8rem !important;
}
body .home-domain-search textarea::placeholder {
    font-size: .92rem;
    color: var(--ac-muted);
    opacity: .85;
}

/* buttons: pills (Search = brand, Transfer = outline) */
body .home-domain-search .btn:not(.btn-link):not(.dropdown-toggle) {
    border-radius: 999px !important;
    font-weight: 600;
    padding: .55rem 1.4rem !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
body .home-domain-search .btn-primary {
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    border: 0 !important;
    color: #fff !important;
}
body .home-domain-search .btn-primary:hover {
    background: linear-gradient(135deg, #0e7490, #0b2a3a) !important;
}
body .home-domain-search .btn:not(.btn-primary):not(.btn-link):not(.dropdown-toggle) {
    background: transparent !important;
    color: var(--ac-brand-deep) !important;
    border: 2px solid var(--ac-brand-deep) !important;
}
body .home-domain-search .btn:not(.btn-primary):not(.btn-link):not(.dropdown-toggle):hover {
    background: var(--ac-brand-deep) !important;
    color: #fff !important;
}

/* "View all pricing" and similar plain links on the dark panel */
body .home-domain-search a:not(.dropdown-toggle):not(.dropdown-item):not(.btn) {
    color: #a5f3fc;
    font-weight: 500;
}
body .home-domain-search a:not(.dropdown-toggle):not(.dropdown-item):not(.btn):hover {
    color: #fff;
}

/* options row under the box: smaller, quieter */
body .home-domain-search .dropdown-toggle,
body .home-domain-search .btn-link,
body .home-domain-search label {
    font-size: .9rem;
}

/* captcha: compact, centered, readable on the dark panel */
body .home-domain-search #inputCaptcha {
    height: 40px;
    border-radius: 8px;
    border: 0;
    background: #fff;
    color: #0b2a3a;
    text-align: center;
    font-weight: 600;
    letter-spacing: .08em;
}
body .home-domain-search .captcha-container,
body .home-domain-search .default-captcha {
    font-size: .9rem;
    color: #cfe9f1;
}
body .home-domain-search .default-captcha img {
    border-radius: 6px;
}

@media (max-width: 575px) {
    body .home-domain-search h2 { font-size: 1.7rem; }
}


/* ---------- 11. Register Domain / cart pages (Nexus Cart) ---------- */

/* page title + subtitle */
body .primary-content h1 {
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ac-ink);
}
body .primary-content h1 + p { color: var(--ac-muted); }

/* sidebar panels (Categories / Actions) */
body .sidebar .card,
body .sidebar .list-group {
    border-radius: 12px;
    overflow: hidden;
}
body .sidebar .card-header {
    background: var(--ac-wash);
    color: var(--ac-ink);
    font-weight: 600;
}
body .sidebar .list-group-item { color: var(--ac-ink); }
body .sidebar .list-group-item:hover { background: var(--ac-wash); }
body .list-group-item.active,
body .list-group-item-action.active,
body .sidebar .list-group-item.active {
    background: var(--ac-brand-deep) !important;
    border-color: var(--ac-brand-deep) !important;
    color: #fff !important;
}

/* domain search box on the cart page */
body textarea[placeholder^="Search by keyword"] {
    border: 1px solid var(--ac-line);
    border-radius: 12px;
    background: var(--ac-surface);
    color: var(--ac-ink);
    font-size: 1rem;
    line-height: 1.45;
    padding: .8rem 1rem 3.8rem;
    box-shadow: 0 6px 20px rgba(11, 42, 58, .08);
}
body textarea[placeholder^="Search by keyword"]:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 3px rgba(8, 145, 178, .18);
    outline: 0;
}
body textarea[placeholder^="Search by keyword"]::placeholder {
    color: var(--ac-muted);
    opacity: .85;
    font-size: .92rem;
}

/* category pills (Popular, Business, ...) */
body .tld-filters a,
body a[data-category],
body .tld-filters .label {
    display: inline-block;
    margin: 0 .35rem .35rem 0;
    padding: .3rem .85rem;
    background: var(--ac-wash);
    color: var(--ac-brand-deep);
    border: 1px solid var(--ac-line);
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
}
body .tld-filters a:hover,
body a[data-category]:hover {
    background: var(--ac-surface);
    border-color: var(--ac-brand);
}
body .tld-filters a.label-success,
body .tld-filters a.active,
body a[data-category].label-success,
body a[data-category].active {
    background: var(--ac-brand-deep);
    border-color: var(--ac-brand-deep);
    color: #fff;
}

/* pricing table */
body .tld-pricing-header > div,
body .tld-pricing-header .col,
body .tld-pricing-header .tld-pricing-cell {
    background: var(--ac-wash);
    color: var(--ac-ink);
    font-weight: 600;
    border-bottom-color: var(--ac-brand-deep) !important;
}
body .tld-row { border-color: var(--ac-line); }
body .tld-row:hover { background: var(--ac-wash); }


/* ---------- 12. Sidebar, domain search card, page texture ---------- */

/* subtle dot texture + glows on the page background */
body.primary-bg-color {
    background-image:
        radial-gradient(rgba(8, 145, 178, .10) 1px, transparent 1.4px),
        radial-gradient(760px 520px at 100% 55%, rgba(8, 145, 178, .10), transparent 62%),
        radial-gradient(680px 520px at 0% 92%, rgba(34, 211, 238, .12), transparent 62%) !important;
    background-size: 22px 22px, auto, auto !important;
    background-attachment: scroll, fixed, fixed !important;
}

/* ----- Sidebar (Categories / Actions / etc.) ----- */
body .sidebar .card,
body .card-sidebar {
    border: 1px solid var(--ac-line);
    border-radius: 16px;
    background: var(--ac-surface);
    box-shadow: 0 8px 24px rgba(11, 42, 58, .06);
    overflow: hidden;
    margin-bottom: 1.1rem;
}
body .sidebar .card-header,
body .card-sidebar .card-header {
    background: linear-gradient(135deg, #0b2a3a 0%, #0e4a63 100%);
    border-bottom: 0;
    padding: .9rem 1.1rem;
}
body .sidebar .card-header .card-title,
body .sidebar .card-header h3,
body .sidebar .card-header .card-minimise,
body .card-sidebar .card-header * {
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}
body .sidebar .card-header i { color: #67e8f9 !important; }

body .sidebar .list-group,
body .card-sidebar .list-group { padding: .5rem; background: transparent; border: 0; box-shadow: none; }
body .sidebar .list-group-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 .2rem;
    padding: .7rem .9rem;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent;
    color: var(--ac-ink);
    font-weight: 500;
    transition: background-color .15s ease, transform .15s ease, color .15s ease;
}
body .sidebar .list-group-item i {
    width: 1.5rem;
    text-align: center;
    color: var(--ac-brand-deep);
}
body .sidebar .list-group-item:hover,
body .sidebar .list-group-item:focus {
    background: var(--ac-wash);
    color: var(--ac-brand-deep);
    transform: translateX(3px);
}
body .sidebar .list-group-item.active,
body .sidebar a.list-group-item.active {
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(8, 145, 178, .30);
    transform: none;
}
body .sidebar .list-group-item.active i { color: #fff; }
@media (prefers-reduced-motion: reduce) {
    body .sidebar .list-group-item:hover { transform: none; }
}

/* ----- Domain search card (cart.php?a=add&domain=register) ----- */
/* outermost box: dark brand panel, no yellow globe */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) {
    background:
        radial-gradient(700px 320px at 90% -10%, rgba(34, 211, 238, .38), transparent 62%),
        radial-gradient(560px 300px at 0% 115%, rgba(8, 145, 178, .50), transparent 62%),
        linear-gradient(135deg, #0b2a3a 0%, #0e4a63 100%) !important;
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 44px rgba(11, 42, 58, .22);
    min-height: 0 !important;
    height: auto !important;
    padding: 2.5rem 2rem 1.75rem !important;
}
/* wrappers inside it: no illustration background */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(textarea) {
    background-image: none !important;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))::before,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))::after,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > img,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > svg {
    display: none !important;
}
/* textarea: no inner scrollbar, room for the Search button */
body textarea[placeholder^="Search by keyword"] {
    height: 120px;
    resize: none;
    overflow: hidden !important;
}


/* ---------- 13. Domain search box polish (cart page) ---------- */

/* tighten the empty space around the white search box */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) {
    padding: 1.75rem 1.5rem 1.5rem !important;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > *,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(textarea) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* white card that holds the textarea and the options */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(textarea) {
    border-radius: 16px !important;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(textarea):not(:has(*:has(textarea))) {
    border: 0 !important;
}

/* textarea: search icon on the left, soft focus ring */
body textarea[placeholder^="Search by keyword"] {
    padding: 1rem 1rem 3.6rem 3rem !important;
    border: 1px solid var(--ac-line) !important;
    border-radius: 14px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230e7490' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 1rem 1.1rem !important;
    background-size: 20px 20px !important;
    box-shadow: none !important;
    color: #0b2a3a !important;
}
body textarea[placeholder^="Search by keyword"]:focus {
    border-color: var(--ac-brand) !important;
    box-shadow: 0 0 0 4px rgba(8, 145, 178, .18) !important;
}

/* Search button: brand gradient pill */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) button[type="submit"] {
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-weight: 600;
    padding: .65rem 1.6rem !important;
    box-shadow: 0 8px 18px rgba(8, 145, 178, .35);
    transition: transform .15s ease, box-shadow .15s ease;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(8, 145, 178, .42);
}

/* options row: clearly readable on white */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .dropdown-toggle,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-link {
    color: #0e7490 !important;
    font-weight: 600;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) label,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .form-check-label {
    color: #0b2a3a !important;
}


/* ---------- 14. Full-height sidebar panel + attractive forms ---------- */

/* the whole left column becomes one tall panel that runs down the page */
body :is(
    div:has(> .sidebar),
    div:has(> .card-sidebar):not(.sidebar),
    .row > .sidebar
):not(.row):not(.container):not(.primary-content):not(#main-body) {
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 20px;
    padding: 1rem;
    box-shadow: 0 12px 32px rgba(11, 42, 58, .07);
    align-self: stretch;
}
@media (min-width: 992px) {
    body :is(
        div:has(> .sidebar),
        div:has(> .card-sidebar):not(.sidebar),
        .row > .sidebar
    ):not(.row):not(.container):not(.primary-content):not(#main-body) {
        min-height: calc(100vh - 320px);
    }
}
/* inner .sidebar wrapper stays transparent so panels don't nest */
body :not(.row) > .sidebar {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    min-height: 0;
}
/* cards inside the panel: flat, no second shadow */
body .sidebar .card,
body .card-sidebar {
    box-shadow: none;
    border-color: var(--ac-line);
}

/* ----- content cards / forms (transfer, config, checkout...) ----- */
body .primary-content h2 {
    color: var(--ac-ink);
    font-weight: 700;
    letter-spacing: -0.02em;
}
body .primary-content .card:not(.card-sidebar) {
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(11, 42, 58, .07);
    overflow: hidden;
    background: var(--ac-surface);
}
body .primary-content .card:not(.card-sidebar) > .card-header {
    background: linear-gradient(135deg, #0b2a3a 0%, #0e4a63 100%);
    border-bottom: 0;
    padding: 1.1rem 1.5rem;
}
body .primary-content .card:not(.card-sidebar) > .card-header,
body .primary-content .card:not(.card-sidebar) > .card-header * {
    color: #fff !important;
    font-weight: 600;
    margin: 0;
}
body .primary-content .card:not(.card-sidebar) > .card-body { padding: 1.5rem; }
body .primary-content .card:not(.card-sidebar) > .card-footer {
    background: var(--ac-wash);
    border-top: 1px solid var(--ac-line);
    padding: 1rem 1.5rem;
}

/* inputs: taller, rounded, clear labels */
body .primary-content label,
body .primary-content .form-group > label {
    color: var(--ac-ink);
    font-weight: 600;
    font-size: .9rem;
}
body .primary-content .card .form-control {
    min-height: 48px;
    padding: .7rem 1rem;
    border: 1px solid var(--ac-line);
    border-radius: 10px;
    background: #fff;
    color: var(--ac-ink);
    transition: border-color .15s ease, box-shadow .15s ease;
}
body .primary-content .card .form-control::placeholder { color: #8aa5b1; }
body .primary-content .card .form-control:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 4px rgba(8, 145, 178, .18);
    outline: 0;
}
body .primary-content .card a:not(.btn) {
    color: var(--ac-brand-deep);
    font-weight: 600;
}

/* primary buttons in the main area: gradient pill */
body .primary-content .btn-primary {
    background: linear-gradient(135deg, #0891b2, #0e7490);
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-weight: 600;
    padding: .65rem 1.6rem;
    box-shadow: 0 8px 18px rgba(8, 145, 178, .30);
    transition: transform .15s ease, box-shadow .15s ease;
}
body .primary-content .btn-primary:hover,
body .primary-content .btn-primary:focus {
    background: linear-gradient(135deg, #0e7490, #0b2a3a);
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(8, 145, 178, .38);
}
@media (prefers-reduced-motion: reduce) {
    body .primary-content .btn-primary:hover { transform: none; }
}


/* ---------- 15. Review & Checkout (cart view) ---------- */

/* page title with a short brand underline */
body #order-standard_cart .header-lined {
    border-bottom: 0;
    margin-bottom: 1.25rem;
}
body #order-standard_cart .header-lined h1::after {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    margin-top: .65rem;
    border-radius: 4px;
    background: linear-gradient(90deg, #0891b2, #22d3ee);
}

/* items table: header bar + body */
body #order-standard_cart .view-cart-items-header {
    padding: .8rem 1.25rem;
    background: var(--ac-wash);
    border: 1px solid var(--ac-line);
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    color: var(--ac-brand-deep);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
body #order-standard_cart .view-cart-items {
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 0 0 14px 14px;
    box-shadow: 0 10px 28px rgba(11, 42, 58, .06);
    overflow: hidden;
}
body #order-standard_cart .view-cart-items .item {
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid var(--ac-line);
}
body #order-standard_cart .view-cart-items .item:last-child { border-bottom: 0; }
body #order-standard_cart .view-cart-items .item-title {
    color: var(--ac-ink);
    font-weight: 700;
}
body #order-standard_cart .view-cart-items .item-domain,
body #order-standard_cart .view-cart-items .item-group { color: var(--ac-muted); }
body #order-standard_cart .view-cart-items .btn-remove-from-cart,
body #order-standard_cart .view-cart-items .btn-link { color: #d93025; }

/* empty cart state */
body #order-standard_cart .view-cart-empty {
    padding: 3rem 1rem;
    text-align: center;
    color: var(--ac-muted);
    font-size: 1.05rem;
}
body #order-standard_cart .view-cart-empty::before {
    content: "";
    display: block;
    width: 68px;
    height: 68px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: var(--ac-wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%230e7490' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.6 12.2a1.6 1.6 0 0 0 1.6 1.3h8.2a1.6 1.6 0 0 0 1.6-1.2L21 7H6'/%3E%3C/svg%3E") center / 32px no-repeat;
    border: 1px solid var(--ac-line);
}

/* promo code tabs */
body #order-standard_cart .view-cart-tabs { margin-top: 1.75rem; }
body #order-standard_cart .view-cart-tabs .nav-tabs {
    border-bottom: 1px solid var(--ac-line);
}
body #order-standard_cart .view-cart-tabs .nav-tabs a {
    padding: .65rem 1.2rem;
    border: 1px solid transparent;
    border-radius: 12px 12px 0 0;
    color: var(--ac-brand-deep);
    font-weight: 600;
}
body #order-standard_cart .view-cart-tabs .nav-tabs .active > a,
body #order-standard_cart .view-cart-tabs .nav-tabs a.active {
    background: var(--ac-surface);
    border-color: var(--ac-line);
    border-bottom-color: var(--ac-surface);
    color: var(--ac-ink);
}
body #order-standard_cart .view-cart-tabs .tab-content {
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-top: 0;
    border-radius: 0 0 14px 14px;
    padding: 1.25rem;
}
body #order-standard_cart .view-cart-tabs .field,
body #order-standard_cart .view-cart-tabs .form-control {
    min-height: 48px;
    border: 1px solid var(--ac-line);
    border-radius: 10px;
    background: #fff;
}
body #order-standard_cart .view-cart-tabs input[type="submit"],
body #order-standard_cart .view-cart-tabs .btn-block {
    margin-top: .75rem;
    padding: .7rem 1rem;
    background: transparent;
    border: 2px solid var(--ac-brand-deep);
    border-radius: 999px;
    color: var(--ac-brand-deep);
    font-weight: 600;
    transition: background-color .15s ease, color .15s ease;
}
body #order-standard_cart .view-cart-tabs input[type="submit"]:hover,
body #order-standard_cart .view-cart-tabs .btn-block:hover {
    background: var(--ac-brand-deep);
    color: #fff;
}

/* order summary */
@media (min-width: 992px) {
    body #order-standard_cart .secondary-cart-sidebar {
        position: sticky;
        top: 1rem;
    }
}
body #order-standard_cart .order-summary {
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    box-shadow: 0 14px 36px rgba(11, 42, 58, .10);
    overflow: hidden;
}
body #order-standard_cart .order-summary h2 {
    margin: 0;
    padding: 1.1rem 1.25rem;
    background: linear-gradient(135deg, #0b2a3a 0%, #0e4a63 100%);
    border-bottom: 0;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 600;
    text-align: left;
}
body #order-standard_cart .order-summary .summary-container {
    background: var(--ac-surface);
    padding: 1rem 1.25rem 1.4rem;
}
body #order-standard_cart .order-summary .subtotal,
body #order-standard_cart .order-summary .bordered-totals {
    border-color: var(--ac-line);
    color: var(--ac-ink);
}
body #order-standard_cart .order-summary .total-due-today {
    padding: 1.2rem 0 .8rem;
    color: var(--ac-muted);
}
body #order-standard_cart .order-summary .total-due-today .amt {
    display: inline-block;
    color: var(--ac-brand-deep);
    font-size: 2.1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body #order-standard_cart .btn-checkout,
body #order-standard_cart #checkout {
    display: block;
    width: 100%;
    padding: .95rem 1.2rem;
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    border: 0 !important;
    border-radius: 999px;
    color: #fff !important;
    font-size: 1.1rem;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(8, 145, 178, .35);
    transition: transform .15s ease, box-shadow .15s ease;
}
body #order-standard_cart .btn-checkout:hover:not(.disabled),
body #order-standard_cart #checkout:hover:not(.disabled) {
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(8, 145, 178, .42);
}
body #order-standard_cart .btn-checkout.disabled,
body #order-standard_cart #checkout.disabled {
    opacity: .5;
    box-shadow: none;
    cursor: not-allowed;
}
body #order-standard_cart .btn-continue-shopping {
    display: block;
    margin-top: .8rem;
    color: var(--ac-brand-deep);
    font-weight: 600;
    text-align: center;
}
@media (prefers-reduced-motion: reduce) {
    body #order-standard_cart .btn-checkout:hover { transform: none; }
}


/* ---------- 16. Domain configuration + Checkout (forms) ---------- */

/* section headings: left title with a brand bar (replaces the line-through-label look) */
body #order-standard_cart .sub-heading,
body #order-standard_cart .sub-heading-borderless {
    height: auto;
    margin: 2.25rem 0 1.1rem;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
}
body #order-standard_cart .sub-heading span,
body #order-standard_cart .sub-heading-borderless span {
    position: static;
    top: auto;
    display: inline-block;
    padding: 0 0 0 .85rem;
    background: none;
    border-left: 4px solid var(--ac-brand);
    color: var(--ac-ink);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.3;
}
body #order-standard_cart h2.sub-heading-borderless,
body #order-standard_cart .sub-heading-borderless {
    color: var(--ac-ink);
    font-weight: 700;
}

/* inputs, selects, textareas */
body #order-standard_cart input.form-control,
body #order-standard_cart input.field,
body #order-standard_cart select.form-control,
body #order-standard_cart select.field,
body #order-standard_cart .form-control,
body #order-standard_cart textarea {
    min-height: 48px;
    border: 1px solid var(--ac-line);
    border-radius: 10px;
    background-color: #fff;
    color: var(--ac-ink);
    transition: border-color .15s ease, box-shadow .15s ease;
}
body #order-standard_cart textarea { min-height: 110px; }
body #order-standard_cart .form-control:focus,
body #order-standard_cart .field:focus,
body #order-standard_cart textarea:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 4px rgba(8, 145, 178, .18);
    outline: 0;
}
body #order-standard_cart .field-icon i,
body #order-standard_cart .field-icon .fas,
body #order-standard_cart .field-icon .far { color: var(--ac-brand-deep); opacity: .85; }
body #order-standard_cart .form-group > label:not(.field-icon) {
    margin-bottom: .35rem;
    color: var(--ac-ink);
    font-size: .85rem;
    font-weight: 600;
}

/* "Total Due Today" box */
body #order-standard_cart .alert-success.large-text,
body #order-standard_cart .alert-success.text-center {
    padding: 1.1rem 1.25rem;
    background: linear-gradient(135deg, #ecfeff 0%, #cffafe 100%);
    border: 1px solid #a5f3fc;
    border-radius: 14px;
    color: var(--ac-ink);
    font-weight: 600;
}
body #order-standard_cart .alert-success.large-text strong,
body #order-standard_cart .alert-success.text-center strong,
body #order-standard_cart #totalCartPrice {
    color: var(--ac-brand-deep);
    font-size: 1.35rem;
    font-weight: 800;
}

/* mailing list switch + password helpers */
body #order-standard_cart .bootstrap-switch {
    border: 1px solid var(--ac-line);
    border-radius: 999px;
    overflow: hidden;
}
body #order-standard_cart .bootstrap-switch .bootstrap-switch-handle-on,
body #order-standard_cart .bootstrap-switch .bootstrap-switch-success {
    background: var(--ac-brand-deep);
    color: #fff;
}
body #order-standard_cart .progress {
    height: .55rem;
    border-radius: 999px;
    background: var(--ac-line);
    overflow: hidden;
}
body #order-standard_cart .btn-default,
body #order-standard_cart .btn-info {
    background: transparent;
    border: 2px solid var(--ac-brand-deep);
    border-radius: 999px;
    color: var(--ac-brand-deep);
    font-weight: 600;
    padding: .5rem 1.2rem;
    transition: background-color .15s ease, color .15s ease;
}
body #order-standard_cart .btn-default:hover,
body #order-standard_cart .btn-info:hover {
    background: var(--ac-brand-deep);
    color: #fff;
}

/* primary actions in the cart: Continue, Complete Order, Add to Cart */
body #order-standard_cart .btn-primary,
body #order-standard_cart #btnCompleteOrder {
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    border: 0 !important;
    border-radius: 999px;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(8, 145, 178, .32);
    transition: transform .15s ease, box-shadow .15s ease;
}
body #order-standard_cart .btn-primary:hover,
body #order-standard_cart #btnCompleteOrder:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(8, 145, 178, .42);
}
body #order-standard_cart .btn-primary:disabled,
body #order-standard_cart .btn-primary.disabled {
    opacity: .5;
    box-shadow: none;
    transform: none;
}
@media (prefers-reduced-motion: reduce) {
    body #order-standard_cart .btn-primary:hover,
    body #order-standard_cart #btnCompleteOrder:hover { transform: none; }
}


/* ---------- 17. Hero motion: waves, drifting glow, reveal ---------- */

/* room at the bottom for the waves, and a slow drifting glow behind everything */
body .home-domain-search {
    position: relative;
    overflow: hidden;
    padding-bottom: 6rem !important;
    animation: ac-drift 18s ease-in-out infinite;
}
body .home-domain-search > * {
    position: relative;
    z-index: 2;
}

/* two moving waves along the bottom edge (back = translucent white, front = page colour) */
body .home-domain-search::before,
body .home-domain-search::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 1;
    pointer-events: none;
    background-repeat: repeat-x;
    background-position: 0 100%;
}
body .home-domain-search::before {
    height: 130px;
    opacity: .35;
    background-size: 2400px 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 100' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 50C200 10 300 10 400 50S600 90 800 50S1000 10 1200 50S1400 90 1600 50V100H0Z'/%3E%3C/svg%3E");
    animation: ac-wave-b 28s linear infinite reverse;
}
body .home-domain-search::after {
    height: 88px;
    background-size: 1600px 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 100' preserveAspectRatio='none'%3E%3Cpath fill='%23f1f8fa' d='M0 50C200 10 300 10 400 50S600 90 800 50S1000 10 1200 50S1400 90 1600 50V100H0Z'/%3E%3C/svg%3E");
    animation: ac-wave-a 16s linear infinite;
}

/* "View all pricing" link: readable on the dark panel */
body .home-domain-search a.btn-link:not(.dropdown-toggle) {
    color: #a5f3fc !important;
    font-weight: 500;
}
body .home-domain-search a.btn-link:not(.dropdown-toggle):hover { color: #fff !important; }

/* heading fades up once on load */
body .home-domain-search h2 {
    animation: ac-rise .7s ease both;
}

@keyframes ac-wave-a {
    from { background-position-x: 0; }
    to   { background-position-x: -1600px; }
}
@keyframes ac-wave-b {
    from { background-position-x: 0; }
    to   { background-position-x: -2400px; }
}
@keyframes ac-drift {
    0%, 100% { background-position: 0 0, 0 0, 0 0; }
    50%      { background-position: -50px 24px, 60px -22px, 0 0; }
}
/* uses `translate` (not `transform`) so hover lifts on cards keep working after the reveal */
@keyframes ac-rise {
    from { opacity: 0; translate: 0 14px; }
    to   { opacity: 1; translate: none; }
}

/* cards reveal as you scroll (Chrome / Edge; other browsers just show them) */
@supports (animation-timeline: view()) {
    body .ac-product,
    body .ac-tile {
        animation: ac-rise both linear;
        animation-timeline: view();
        animation-range: entry 0% cover 28%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .home-domain-search,
    body .home-domain-search::before,
    body .home-domain-search::after,
    body .home-domain-search h2,
    body .ac-product,
    body .ac-tile {
        animation: none !important;
    }
}


/* ---------- 18. Register / account forms ---------- */

/* numbered step badges: 1 Personal Information, 2 Billing Address, ... */
body .primary-content { counter-reset: acstep; }

body .primary-content .card:has(.prepend-icon) {
    box-shadow: 0 14px 34px rgba(11, 42, 58, .07), inset 0 4px 0 var(--ac-brand);
    animation: ac-fade-up .6s ease both;
}
body .primary-content .card:has(.prepend-icon) .card-title {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 0 0 1.4rem;
    color: var(--ac-ink);
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}
body .primary-content .card:has(.prepend-icon) .card-title::before {
    counter-increment: acstep;
    content: counter(acstep);
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0891b2, #0e7490);
    box-shadow: 0 6px 14px rgba(8, 145, 178, .35);
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
}

/* icon fields: same height everywhere, icon centred inside the box */
body .prepend-icon { position: relative; }

body .prepend-icon .field:not([type="tel"]),
body .prepend-icon .form-control:not([type="tel"]),
body .prepend-icon select {
    height: 52px;
    min-height: 52px;
    padding: 0 1rem 0 3rem !important;
    border: 1px solid var(--ac-line);
    border-radius: 12px;
    background-color: #fff;
    color: var(--ac-ink);
    line-height: normal;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body .prepend-icon .field[type="tel"] {
    height: 52px;
    min-height: 52px;
    border: 1px solid var(--ac-line);
    border-radius: 12px;
}
body .prepend-icon .field:focus,
body .prepend-icon .form-control:focus,
body .prepend-icon select:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 4px rgba(8, 145, 178, .18);
    outline: 0;
}
body .prepend-icon .field::placeholder { color: #8aa5b1; }

body .prepend-icon .field-icon {
    position: absolute;
    left: 0;
    top: 0;
    width: 3rem;
    height: 52px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    line-height: 1;
}
body .prepend-icon .field-icon i {
    color: var(--ac-brand-deep);
    font-size: 1rem;
    line-height: 1;
    opacity: .9;
}

/* password helpers outside the cart */
body .progress {
    height: .55rem;
    border-radius: 999px;
    background: var(--ac-line);
    overflow: hidden;
}
body .primary-content .btn-default {
    background: transparent;
    border: 2px solid var(--ac-brand-deep);
    border-radius: 999px;
    color: var(--ac-brand-deep);
    font-weight: 600;
    padding: .5rem 1.2rem;
    transition: background-color .15s ease, color .15s ease;
}
body .primary-content .btn-default:hover {
    background: var(--ac-brand-deep);
    color: #fff;
}

@keyframes ac-fade-up {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    body .primary-content .card:has(.prepend-icon) { animation: none; }
}


/* ---------- 19. Contact Us page (compact, centred, complete) ---------- */

/* centred compact card with a soft cyan wash on top */
body .primary-content .card:has(form[action*="contact"]) {
    width: 100%;
    max-width: 640px;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center;
    padding: .25rem .4rem .5rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #e8fbfe 0, #ffffff 200px);
    box-shadow: 0 18px 44px rgba(11, 42, 58, .09), inset 0 4px 0 var(--ac-brand);
    animation: ac-contact-in .6s ease both;
}
body .primary-content .card:has(form[action*="contact"]) > .card-body {
    padding: 1.25rem 1.5rem;
}

/* title with an envelope badge, subtitle underneath */
body .primary-content .card:has(form[action*="contact"]) :is(h1, h2, h3, .card-title) {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0 0 .25rem;
    color: var(--ac-ink);
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}
body .primary-content .card:has(form[action*="contact"]) :is(h1, h2, h3, .card-title)::before {
    content: "";
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / 20px no-repeat,
        linear-gradient(135deg, #0891b2, #0e7490);
    box-shadow: 0 8px 16px rgba(8, 145, 178, .30);
}
body .primary-content .card:has(form[action*="contact"]) :is(h1, h2, h3, .card-title) + p {
    margin: 0 0 1.1rem;
    padding-left: calc(40px + .75rem);
    color: var(--ac-muted);
    font-size: .95rem;
}

/* form: Name + Email side by side, the rest full width, labels above inputs */
body .primary-content .card:has(form[action*="contact"]) form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: .9rem;
}
body .primary-content .card:has(form[action*="contact"]) form > * { grid-column: 1 / -1; }
body .primary-content .card:has(form[action*="contact"]) form > .form-group.row:nth-of-type(1),
body .primary-content .card:has(form[action*="contact"]) form > .form-group.row:nth-of-type(2) {
    grid-column: auto;
}
body .primary-content .card:has(form[action*="contact"]) .form-group.row {
    display: block;
    margin: 0 0 .8rem;
}
body .primary-content .card:has(form[action*="contact"]) .form-group.row > [class*="col-"] {
    flex: none;
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    padding: 0;
}
body .primary-content .card:has(form[action*="contact"]) .col-form-label,
body .primary-content .card:has(form[action*="contact"]) .form-group.row > label {
    display: block;
    padding: 0 0 .3rem;
    color: var(--ac-ink);
    font-size: .8rem;
    font-weight: 700;
    text-align: left !important;
}

/* inputs */
body .primary-content .card:has(form[action*="contact"]) .form-control {
    height: 44px;
    min-height: 44px;
    padding: .45rem .9rem;
    border: 1px solid var(--ac-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(11, 42, 58, .04);
    color: var(--ac-ink);
    font-size: .95rem;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body .primary-content .card:has(form[action*="contact"]) textarea.form-control {
    height: auto;
    min-height: 120px;
    resize: vertical;
}
body .primary-content .card:has(form[action*="contact"]) .form-control:focus {
    border-color: var(--ac-brand);
    box-shadow: 0 0 0 4px rgba(8, 145, 178, .18);
    outline: 0;
}

/* send button with an arrow */
body .primary-content .card:has(form[action*="contact"]) .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .65rem 1.8rem;
    font-size: .95rem;
}
body .primary-content .card:has(form[action*="contact"]) .btn-primary::after {
    content: "";
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 767px) {
    body .primary-content .card:has(form[action*="contact"]) form { grid-template-columns: 1fr; }
    body .primary-content .card:has(form[action*="contact"]) form > .form-group.row:nth-of-type(1),
    body .primary-content .card:has(form[action*="contact"]) form > .form-group.row:nth-of-type(2) {
        grid-column: 1 / -1;
    }
}

@keyframes ac-contact-in {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    body .primary-content .card:has(form[action*="contact"]) { animation: none; }
}


/* ---------- 21. Register Domain page: base tweaks (final look is in section 23) ---------- */

/* tighter dark panel: pull the white card up/down into the empty space (desktop only) */
@media (min-width: 992px) {
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > *:first-child {
        margin-top: -2.5rem !important;
    }
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > *:last-child {
        margin-bottom: -1.5rem !important;
    }
}

/* rounder white card (all wrappers that hold both the textarea and the options row) */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(textarea):has(.dropdown-toggle) {
    border-radius: 26px !important;
}

/* search field: soft cyan fill, clear border */
body textarea[placeholder^="Search by keyword"] {
    background-color: #f4fbfd !important;
    border: 1px solid #bfe7ef !important;
}

/* Search button: one line, sparkle icon beside the text */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) button[type="submit"] {
    display: inline-flex !important;
    align-items: center;
    gap: .5rem;
    white-space: nowrap !important;
    line-height: 1.1;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary svg,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary i {
    margin: 0 !important;
    flex: 0 0 auto;
}


/* ---------- 22. Store page: product cards (cart store / product group) ---------- */

/* the card */
body #order-standard_cart .product,
body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]) {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-bottom: 1.25rem;
    background: var(--ac-surface);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(11, 42, 58, .07), inset 0 4px 0 var(--ac-brand);
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
body #order-standard_cart .product:hover,
body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]):hover {
    transform: translateY(-4px);
    border-color: var(--ac-brand);
    box-shadow: 0 18px 40px rgba(11, 42, 58, .13), inset 0 4px 0 var(--ac-brand);
}

/* name */
body #order-standard_cart .product > header,
body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]) > header {
    padding: 1.5rem 1.5rem .5rem;
    background: none;
    border: 0;
    color: var(--ac-ink);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

/* description + feature list with check marks */
body #order-standard_cart .product .product-desc,
body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]) .product-desc {
    flex: 1;
    padding: .25rem 1.5rem 1rem;
    color: var(--ac-muted);
    font-size: .95rem;
    line-height: 1.55;
}
body #order-standard_cart .product .product-desc ul {
    margin: .75rem 0 0;
    padding: 0;
    list-style: none;
}
body #order-standard_cart .product .product-desc li {
    position: relative;
    margin-bottom: .45rem;
    padding-left: 1.6rem;
    color: var(--ac-ink);
}
body #order-standard_cart .product .product-desc li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .3em;
    width: 1rem;
    height: 1rem;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e7490' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* price + order button row */
body #order-standard_cart .product > footer,
body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]) > footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding: 1.1rem 1.5rem;
    background: var(--ac-wash);
    border-top: 1px solid var(--ac-line);
}
body #order-standard_cart .product .product-pricing,
body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]) .product-pricing {
    margin: 0;
    color: var(--ac-muted);
    font-size: .9rem;
    line-height: 1.2;
    text-align: left;
}
body #order-standard_cart .product .product-pricing .price,
body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]) .product-pricing .price {
    color: var(--ac-brand-deep);
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* Order Now: brand gradient pill instead of green */
body #order-standard_cart .btn-order-now,
body #order-standard_cart [id$="-order-button"] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.4rem;
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    border: 0 !important;
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(8, 145, 178, .32);
    color: #fff !important;
    font-weight: 700;
    white-space: nowrap;
    transition: transform .15s ease, box-shadow .15s ease;
}
body #order-standard_cart .btn-order-now:hover,
body #order-standard_cart [id$="-order-button"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(8, 145, 178, .42);
}
@media (prefers-reduced-motion: reduce) {
    body #order-standard_cart .product:hover,
    body #order-standard_cart [id^="product"]:not([id*="-"]):not([id$="s"]):hover,
    body #order-standard_cart .btn-order-now:hover { transform: none; }
}


/* ---------- 23. Register Domain page: one clean search bar, no box-in-box ---------- */

/* ===== 1. Hero panel: dot grid + drifting glow orbs + heading ===== */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) {
    position: relative;
    z-index: 30;
    display: flex !important;
    flex-direction: column;
    overflow: visible !important;
    padding: 2.75rem 1.5rem 3rem !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 56px rgba(11, 42, 58, .24) !important;
    background:
        radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1.4px) 0 0 / 22px 22px,
        radial-gradient(circle closest-side, rgba(34, 211, 238, .42), transparent) 92% 0% / 560px 560px no-repeat,
        radial-gradient(circle closest-side, rgba(8, 145, 178, .55), transparent) 4% 100% / 620px 620px no-repeat,
        linear-gradient(135deg, #0b2a3a 0%, #0e4a63 100%) !important;
    animation: ac-reg-orbs 18s ease-in-out infinite;
}

/* heading */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))::before {
    content: "Register a domain";
    display: block !important;
    order: -2;
    width: 100%;
    margin: 0 0 .6rem;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.025em;
    text-align: center;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))::after {
    content: "Search a name to check availability instantly, then browse extensions below.";
    display: block !important;
    order: -1;
    width: 100%;
    max-width: 56ch;
    margin: 0 auto 1.75rem;
    color: #cfe9f1;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
}
/* content centred and above the glow */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > * {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 800px;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (min-width: 992px) {
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > *:first-child {
        margin-top: 0 !important;
    }
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) > *:last-child {
        margin-bottom: 0 !important;
    }
}

/* ===== 2. Flatten every wrapper: no white card, no inner border ===== */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(textarea) {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    text-align: center;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(textarea):not(:has(*:has(textarea))) {
    position: relative !important;
    display: block !important;
    text-align: left;
}

/* ===== 3. The search bar: ONE glass pill with a soft halo ===== */
body textarea[placeholder^="Search by keyword"] {
    display: block;
    width: 100%;
    height: 64px !important;
    min-height: 64px !important;
    padding: 23px 150px 0 54px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background-color: rgba(255, 255, 255, .97) !important;
    background-position: 1.4rem 50% !important;
    box-shadow: 0 0 0 7px rgba(255, 255, 255, .14), 0 22px 50px rgba(2, 20, 30, .40) !important;
    color: #0b2a3a !important;
    font-size: .98rem;
    line-height: 1.35;
    resize: none;
    overflow: hidden !important;
    transition: box-shadow .2s ease;
}
body textarea[placeholder^="Search by keyword"]::placeholder {
    color: transparent !important;
    font-size: 0 !important;
}
/* short placeholder drawn as a background so it stays on one clean line */
body textarea[placeholder^="Search by keyword"]:placeholder-shown {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='330' height='24' viewBox='0 0 330 24'%3E%3Cg fill='none' stroke='%230e7490' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/g%3E%3Ctext x='36' y='17' font-family='Segoe UI, Roboto, Arial, sans-serif' font-size='16' fill='%2351707f'%3ESearch a domain, e.g. mybrand.com%3C/text%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 1.4rem 50% !important;
    background-size: auto 24px !important;
}
body textarea[placeholder^="Search by keyword"]:focus {
    border: 0 !important;
    box-shadow: 0 0 0 7px rgba(34, 211, 238, .38), 0 22px 50px rgba(2, 20, 30, .40) !important;
}

/* Search button sits inside the pill, one line */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) button[type="submit"] {
    position: absolute !important;
    top: 50% !important;
    right: .6rem !important;
    bottom: auto !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: auto !important;
    height: 52px !important;
    padding: 0 1.6rem !important;
    white-space: nowrap !important;
    font-size: 1rem;
    font-weight: 700;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary:hover,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) button[type="submit"]:hover {
    transform: translateY(-50%) scale(1.04) !important;
}

/* ===== 4. Options row removed (TLD filter, max length, safe search) ===== */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .dropdown,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .dropdown-toggle,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .form-check,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .checkbox,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(> input[type="checkbox"]) {
    display: none !important;
}

/* ===== 5. No captcha ===== */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .captcha-container,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .default-captcha,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .g-recaptcha,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) #inputCaptcha,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) #google-recaptcha-domainchecker,
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) *:has(> #inputCaptcha) {
    display: none !important;
}

/* ===== 6. Search results: cleaner card + brand button ===== */
body #order-standard_cart .domain-checker-result-headline {
    padding: 1.4rem 1.5rem;
    border: 1px solid var(--ac-line);
    border-left: 5px solid var(--ac-brand);
    border-radius: 16px;
    background: var(--ac-surface);
    box-shadow: 0 12px 30px rgba(11, 42, 58, .08);
}
body #order-standard_cart .btn-add-to-cart {
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    border: 0 !important;
    border-radius: 999px;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(8, 145, 178, .32);
}

/* ===== 7. Mobile ===== */
@media (max-width: 767px) {
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) {
        padding: 2rem 1rem 2.25rem !important;
    }
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))::before {
        font-size: 1.65rem;
    }
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))::after {
        font-size: 14px;
        margin-bottom: 1.4rem;
    }
    body textarea[placeholder^="Search by keyword"] {
        height: 60px !important;
        min-height: 60px !important;
        padding: 21px 116px 0 46px !important;
    }
    body textarea[placeholder^="Search by keyword"]:placeholder-shown {
        background-size: auto 18px !important;
        background-position: 1.1rem 50% !important;
    }
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) .btn-primary,
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) button[type="submit"] {
        height: 44px !important;
        padding: 0 1.1rem !important;
        font-size: .95rem;
    }
}

@keyframes ac-reg-orbs {
    0%, 100% { background-position: 0 0, 92% 0%, 4% 100%, 0 0; }
    50%      { background-position: 0 0, 76% 32%, 20% 66%, 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) {
        animation: none !important;
    }
}


/* ---------- 24. Register Domain: clean bar, no options, fresh text (now a top-level section) ---------- */

/* 1. keep only the Search button: hide the options row, dropdown menus, labels, checkboxes */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))
  *:not(:has(textarea)):not(textarea)
  :not(:has(.btn-primary, button[type="submit"]))
  :not(.btn-primary):not(button[type="submit"])
  :not(.btn-primary *):not(button[type="submit"] *) {
    display: none !important;
}
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1)) :is(
    .dropdown, .dropdown-menu, .btn-group, .dropdown-toggle,
    .form-check, .custom-control, .checkbox, label, input[type="checkbox"]
) {
    display: none !important;
}

/* 2. remove the old long placeholder text */
body textarea[placeholder^="Search by keyword"]::placeholder {
    color: transparent !important;
    opacity: 0 !important;
    font-size: 0 !important;
}

/* 3. new two-line text inside the bar (bold title + small hint) */
body textarea[placeholder^="Search by keyword"]:placeholder-shown {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='44' viewBox='0 0 460 44'%3E%3Cg fill='none' stroke='%230e7490' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='20' r='8'/%3E%3Cpath d='m22 31-4.5-4.5'/%3E%3C/g%3E%3Ctext x='40' y='19' font-family='Segoe UI, Roboto, Arial, sans-serif' font-size='17' font-weight='700' fill='%230b2a3a'%3EFind your perfect domain name%3C/text%3E%3Ctext x='40' y='38' font-family='Segoe UI, Roboto, Arial, sans-serif' font-size='13' fill='%2351707f'%3ETry mybrand.com and see availability in seconds%3C/text%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 1.4rem 50% !important;
    background-size: auto 44px !important;
}

/* 4. soft glowing pulse around the bar */
body textarea[placeholder^="Search by keyword"] {
    animation: ac-bar-glow 3.2s ease-in-out infinite;
}
body textarea[placeholder^="Search by keyword"]:focus { animation: none; }

@keyframes ac-bar-glow {
    0%, 100% { box-shadow: 0 0 0 7px rgba(255,255,255,.14), 0 22px 50px rgba(2,20,30,.40); }
    50%      { box-shadow: 0 0 0 11px rgba(34,211,238,.22), 0 22px 50px rgba(2,20,30,.40); }
}
@media (prefers-reduced-motion: reduce) {
    body textarea[placeholder^="Search by keyword"] { animation: none; }
}

/* 5. line under the heading */
body :has(h1) > *:has(textarea[placeholder^="Search by keyword"]):not(:has(h1))::after {
    content: "Instant results  \2022  Simple checkout  \2022  Pick your extension below" !important;
    letter-spacing: .02em;
}

/* 6. mobile */
@media (max-width: 767px) {
    body textarea[placeholder^="Search by keyword"]:placeholder-shown {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='40' viewBox='0 0 300 40'%3E%3Cg fill='none' stroke='%230e7490' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='18' r='7'/%3E%3Cpath d='m20 28-4-4'/%3E%3C/g%3E%3Ctext x='34' y='17' font-family='Segoe UI, Roboto, Arial, sans-serif' font-size='15' font-weight='700' fill='%230b2a3a'%3EFind your perfect domain%3C/text%3E%3Ctext x='34' y='35' font-family='Segoe UI, Roboto, Arial, sans-serif' font-size='12' fill='%2351707f'%3Eeg: mybrand.com%3C/text%3E%3C/svg%3E") !important;
        background-size: auto 38px !important;
    }
}


/* ---------- 25. Support ticket form (submitticket.php): compact and attractive ---------- */

/* centred card, soft cyan wash, brand bar on top */
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) {
    width: 100%;
    max-width: 900px;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 18px;
    background: linear-gradient(180deg, #e8fbfe 0, #ffffff 170px);
    box-shadow: 0 18px 44px rgba(11, 42, 58, .09), inset 0 4px 0 var(--ac-brand);
    animation: ac-contact-in .6s ease both;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .card-body { padding: 1.35rem 1.6rem 1.5rem; }

/* title with a support badge */
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) :is(h1, h2, h3, .card-title) {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 1.1rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid var(--ac-line);
    color: var(--ac-ink);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) :is(h1, h2, h3, .card-title)::before {
    content: "";
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.93 4.93 4.24 4.24'/%3E%3Cpath d='m14.83 9.17 4.24-4.24'/%3E%3Cpath d='m14.83 14.83 4.24 4.24'/%3E%3Cpath d='m9.17 14.83-4.24 4.24'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E") center / 20px no-repeat,
        linear-gradient(135deg, #0891b2, #0e7490);
    box-shadow: 0 8px 16px rgba(8, 145, 178, .30);
}

/* labels: small and tidy */
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .form-group { margin-bottom: .95rem; }
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) label,
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .form-group > label {
    margin: 0 0 .3rem;
    color: var(--ac-muted);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* inputs and selects: normal height, not giant */
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .form-control,
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) select,
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .custom-select {
    height: 42px;
    min-height: 42px;
    padding: .4rem .85rem;
    border: 1px solid var(--ac-line);
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(11, 42, 58, .04);
    font-size: .95rem;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) textarea.form-control {
    height: auto;
    min-height: 170px;
    padding: .75rem .9rem;
}

/* message editor: one neat box with a slim toolbar */
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-editor {
    border: 1px solid var(--ac-line);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(11, 42, 58, .04);
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-editor.active { border-color: var(--ac-brand); box-shadow: 0 0 0 4px rgba(8, 145, 178, .15); }
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    padding: .5rem .6rem;
    background: var(--ac-wash);
    border-bottom: 1px solid var(--ac-line);
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn-group {
    display: inline-flex;
    gap: .2rem;
    margin: 0 .25rem 0 0 !important;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn,
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn-default,
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    height: 32px;
    min-width: 34px;
    padding: 0 .65rem !important;
    border-radius: 8px !important;
    box-shadow: none;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1;
    transform: none;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn-default {
    background: #fff !important;
    border: 1px solid var(--ac-line) !important;
    color: var(--ac-brand-deep) !important;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn-default:hover {
    background: var(--ac-wash) !important;
    border-color: var(--ac-brand) !important;
    transform: none;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn-primary {
    background: linear-gradient(135deg, #0891b2, #0e7490) !important;
    border: 0 !important;
    color: #fff !important;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-header .btn-primary:hover { transform: none; box-shadow: 0 6px 14px rgba(8, 145, 178, .30); }
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-editor textarea,
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-editor .form-control {
    min-height: 180px;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .md-footer {
    padding: .4rem .8rem;
    color: var(--ac-muted);
    font-size: 12px;
}

/* submit / cancel buttons */
body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .btn-primary {
    padding: .6rem 1.6rem;
    font-size: .95rem;
}

@media (max-width: 767px) {
    body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) .card-body { padding: 1.1rem 1rem 1.25rem; }
    body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) :is(h1, h2, h3, .card-title) { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) {
    body .primary-content .card:has(:is(#frmOpenTicket, form[action*="submitticket"])) { animation: none; }
}


/* ---------- 26. Register Domain page (written against the real markup) ---------- */

/* 1. remove the 2 empty white bars (Transfer + "own domain" boxes) and the options row */
#order-standard_cart #frmProductDomain .domain-selection-options .option + .option,
#order-standard_cart #frmProductDomain #domainregister > .row + .row {
    display: none !important;
}

/* 2. textarea fills the pill, Check button sits inside it on the right */
#order-standard_cart #frmProductDomain #domainregister > .row:first-child {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
}
#order-standard_cart #frmProductDomain #domainregister > .row:first-child > .col-sm-8 {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
#order-standard_cart #frmProductDomain #domainregister .domains-row {
    display: block !important;
    margin: 0 !important;
}
#order-standard_cart #frmProductDomain #domainregister > .row:first-child > .col-sm-2 {
    position: absolute !important;
    top: 50% !important;
    right: .6rem !important;
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 3;
}
#order-standard_cart #frmProductDomain #btnCheckAvailability {
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center;
    gap: .5rem;
    width: auto !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 1.6rem !important;
    white-space: nowrap;
}
#order-standard_cart #frmProductDomain #btnCheckAvailability:hover {
    transform: none !important;
}

/* 3. sidebar: fit its content, no big empty area */
#order-standard_cart .cart-sidebar {
    min-height: 0 !important;
    height: auto !important;
    align-self: flex-start !important;
}