/**
 * Cart drawer — Block (public) + Phoenix (dashboard) themes.
 */

/* --- Block / public --- */
.avantiy-cart-toggle,
.avantiy-cart-nav-btn {
    position: relative;
}

.avantiy-cart-toggle,
.avantiy-cart-nav-btn[data-cart-open] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: 0.35rem 0.5rem;
}

.avantiy-cart-toggle [data-cart-badge],
.avantiy-cart-nav-btn [data-cart-badge] {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    font-size: 0.65rem;
    line-height: 1.25rem;
    border-radius: 999px;
    background-color: var(--bs-primary);
    color: var(--bs-white);
    text-align: center;
}

.avantiy-cart-theme-block.offcanvas-end {
    width: min(24rem, 100vw);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-left: 1px solid var(--bs-border-color);
}

.avantiy-cart-theme-block .offcanvas-header {
    border-bottom: 1px solid var(--bs-border-color);
}

.avantiy-cart-theme-block .offcanvas-footer {
    border-top: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
}

.avantiy-cart-theme-block .avantiy-cart-line {
    border-color: var(--bs-border-color) !important;
}

.avantiy-cart-theme-block .btn-primary {
    background-color: var(--bs-primary, #8b3bff);
    border-color: var(--bs-primary, #8b3bff);
}

.avantiy-cart-theme-block .btn-outline-primary {
    color: var(--bs-primary, #8b3bff);
    border-color: var(--bs-primary, #8b3bff);
}

.avantiy-cart-theme-block .btn-outline-primary:hover {
    background-color: var(--bs-primary, #8b3bff);
    border-color: var(--bs-primary, #8b3bff);
    color: var(--bs-white, #fff);
}

/* --- Phoenix / dashboard --- */
.avantiy-cart-nav-btn {
    position: relative;
    min-width: 2.25rem;
}

.avantiy-cart-theme-phoenix.offcanvas-end {
    width: min(24rem, 100vw);
    background-color: var(--phoenix-body-bg, var(--bs-body-bg));
    color: var(--phoenix-body-color, var(--bs-body-color));
    border-left: 1px solid var(--phoenix-border-color, var(--bs-border-color));
}

.avantiy-cart-theme-phoenix .offcanvas-header,
.avantiy-cart-theme-phoenix .offcanvas-footer {
    background-color: var(--phoenix-body-bg, var(--bs-body-bg));
}

.avantiy-cart-theme-phoenix .avantiy-cart-line {
    border-color: var(--phoenix-border-color, var(--bs-border-color)) !important;
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix.offcanvas-end {
    background-color: var(--phoenix-body-bg, #141824);
    color: var(--phoenix-body-color, #9da9bb);
    border-left-color: var(--phoenix-border-color, rgba(255, 255, 255, 0.08));
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .offcanvas-header,
[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .offcanvas-footer {
    background-color: var(--phoenix-body-bg, #141824);
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .text-body-emphasis {
    color: var(--phoenix-emphasis-color, #eff2f6) !important;
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .text-body-secondary {
    color: var(--phoenix-secondary-color, #8a94ad) !important;
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .btn-primary {
    background-color: var(--phoenix-primary, #8b3bff);
    border-color: var(--phoenix-primary, #8b3bff);
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .btn-outline-primary {
    color: var(--phoenix-primary, #8b3bff);
    border-color: var(--phoenix-primary, #8b3bff);
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .btn-outline-primary:hover {
    background-color: var(--phoenix-primary, #8b3bff);
    border-color: var(--phoenix-primary, #8b3bff);
    color: #fff;
}

[data-bs-theme="dark"] .avantiy-cart-nav-btn [data-cart-badge] {
    background-color: var(--phoenix-primary, #8b3bff);
    color: #fff;
}

.avantiy-domains-page .avantiy-cart-toggle {
    position: relative;
}

.avantiy-domains-page .avantiy-cart-toggle [data-cart-badge] {
    background-color: var(--phoenix-primary, #8b3bff);
    color: #fff;
}

/* --- Shared domain search result styles (public) --- */
.avantiy-domain-result-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.avantiy-domain-result-row {
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.avantiy-domain-result-row.is-exact {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 1px var(--bs-primary-border-subtle);
}

.avantiy-domain-result-row.is-disabled {
    opacity: 0.55;
}

.avantiy-domain-result-row.animate-in {
    animation: avantiy-domain-fade-in 0.25s ease;
}

@keyframes avantiy-domain-fade-in {
    from {
        opacity: 0;
        transform: translateY(0.35rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.avantiy-domain-skeleton-row {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    padding: 1rem 1.25rem;
    background-color: var(--bs-secondary-bg);
}

.avantiy-domain-skeleton-row .placeholder {
    background-color: var(--bs-secondary-color);
    opacity: 0.15;
}

.avantiy-domain-load-more-end {
    text-align: center;
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
    padding-top: 0.5rem;
}

.avantiy-domain-results-sentinel {
    height: 1px;
    width: 100%;
}

/* Dashboard search card — add-to-cart row */
.avantiy-domain-cart-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.avantiy-domain-cart-actions .btn-add-cart {
    width: 100%;
}

.avantiy-cart-theme-phoenix .avantiy-cart-line,
.avantiy-cart-theme-block .avantiy-cart-line {
    border-color: var(--phoenix-border-color, var(--bs-border-color)) !important;
}

.avantiy-cart-period-select {
    max-width: 11rem;
}

.avantiy-cart-theme-block .avantiy-cart-period-select {
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
}

.avantiy-cart-theme-phoenix .avantiy-cart-period-select {
    border-color: var(--phoenix-border-color, var(--bs-border-color));
    color: var(--phoenix-body-color, var(--bs-body-color));
    background-color: var(--phoenix-body-bg, var(--bs-body-bg));
}

[data-bs-theme="dark"] .avantiy-cart-theme-phoenix .avantiy-cart-period-select {
    border-color: var(--phoenix-border-color, rgba(255, 255, 255, 0.08));
    color: var(--phoenix-body-color, #9da9bb);
    background-color: var(--phoenix-body-bg, #141824);
}
