/* Login container centering */
.login-container {
    max-width: 420px;
    margin: 80px auto;
}

/* Navbar brand alignment */
.navbar-brand {
    display: flex;
    align-items: center;
}

/* Hero section */
.hero {
    padding: 3rem 1rem;
}

.domain-search {
    max-width: 560px;
}

.domain-search .btn-success {
    white-space: nowrap;
}

/* HTMX spinner */
.htmx-indicator {
    display: none;
}
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    display: block;
}

/* Lookup results */
#lookup-results {
    max-width: 640px;
    margin: 0 auto;
}

/* Pricing tables */
#pricing .table-responsive {
    max-width: 640px;
    margin: 0 auto;
}

/* Checkout container — wider than login for contact form */
.checkout-container {
    max-width: 720px;
    margin: 40px auto;
}

/* Cart badge in navbar */
.cart-badge {
    font-size: 0.65em;
    vertical-align: top;
}

/* ── Netsville brand colors ── */
.bg-nv-green {
    background-color: #2e7d32 !important;
}
.bg-nv-yellow {
    background-color: #f9a825 !important;
}
.bg-nv-orange {
    background-color: #e65100 !important;
}

/* ── Dashboard list ── */
.dashboard-table th {
    font-size: 0.85rem;
    border-bottom-width: 2px;
    border-bottom-color: #2e7d32;
}
.dashboard-table td {
    vertical-align: middle;
}
.domain-link {
    color: #2e7d32;
}
.domain-link:hover {
    color: #1b5e20;
    text-decoration: underline !important;
}

/* ── Domain detail ── */
.detail-container {
    max-width: 1100px;
}
.detail-card {
    border-left: 3px solid #2e7d32;
}
.detail-card .card-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}
.detail-card .card-body {
    padding: 1rem;
}

/* ── Activity log ── */
.activity-table th {
    font-size: 0.85rem;
    border-bottom-width: 2px;
    border-bottom-color: #2e7d32;
}
.activity-table td {
    vertical-align: middle;
}

/* Green toggle switches */
.form-check-input:checked {
    background-color: #2e7d32;
    border-color: #2e7d32;
}
