/* ==========================================================================
   AlienTech Sync — My Account / AlienTech Licenses

   Specificity note: every <button> selector is scoped as
   `.container button.class` (0,2,1) to beat Elementor / theme globals
   like `[type=button]:not(:disabled)` (0,2,0).

   Contraste élevé (objectif WCAG AAA sur texte courant sur fond clair).
   S’intègre au thème : pas de grand bloc noir ; surfaces claires.
   ========================================================================== */

.alientech-licenses {
    --at-text: #0f172a;
    --at-text-secondary: #334155;
    --at-text-muted: #475569;
    --at-surface: #ffffff;
    --at-surface-muted: #f8fafc;
    --at-border: #cbd5e1;
    --at-border-strong: #94a3b8;
    --at-radius: 12px;
    --at-radius-sm: 8px;
    --at-pill: 999px;
    --at-focus: #1d4ed8;
    --at-cta-bg: #fde68a;
    --at-cta-text: #1c1917;
    --at-cta-border: #d97706;
    --at-cta-hover: #fcd34d;

    max-width: 42rem;
    margin: 0 0 2rem;
    font-size: 1rem;
    line-height: 1.55;
    font-family: inherit;
    color: var(--at-text);
}

.alientech-licenses--empty {
    max-width: 42rem;
}

/* Full-width on My Account so empty + filled states match other endpoints (see WC My Account section). */
body.woocommerce-account .woocommerce-MyAccount-content > .alientech-licenses {
    max-width: 100%;
}

.alientech-licenses__lede {
    margin: 0 0 0.75rem;
    font-size: 0.9375rem;
    color: var(--at-text-muted);
}

.alientech-licenses .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* --------------------------------------------------------------------------
   Empty state
   -------------------------------------------------------------------------- */

.alientech-licenses__empty {
    border: 1px dashed var(--at-border-strong);
    border-radius: var(--at-radius);
    padding: 1.75rem 1.5rem;
    text-align: center;
    background: var(--at-surface-muted);
}

.alientech-licenses__empty-title {
    margin: 0 0 0.5rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--at-text);
}

.alientech-licenses__empty-text {
    margin: 0;
    font-size: 0.9375rem;
    color: var(--at-text-secondary);
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}

/* --------------------------------------------------------------------------
   License card
   -------------------------------------------------------------------------- */

.alientech-license-card {
    position: relative;
    margin: 0;
    padding: 0;
    border: 1px solid var(--at-border);
    border-radius: var(--at-radius);
    background: var(--at-surface);
    overflow: hidden;
    transition: border-color 0.15s ease;
}

.alientech-license-card + .alientech-license-card {
    margin-top: 0.625rem;
}

.alientech-license-card--status-active {
    --at-badge-fg: #14532d;
    --at-badge-bg: #dcfce7;
    --at-expiry-accent: #166534;
}

.alientech-license-card--status-expiring {
    --at-badge-fg: #92400e;
    --at-badge-bg: #fef3c7;
    --at-expiry-accent: #d97706;
}

.alientech-license-card--status-expired {
    --at-badge-fg: #991b1b;
    --at-badge-bg: #fee2e2;
    --at-expiry-accent: #b91c1c;
}

.alientech-license-card--status-unknown {
    --at-badge-fg: #334155;
    --at-badge-bg: #f1f5f9;
    --at-expiry-accent: var(--at-text);
}

/* Accordion header */

.alientech-license-card__accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.25rem;
    cursor: pointer;
    user-select: none;
    transition: background 0.12s ease;
}

.alientech-license-card__accordion-header:hover {
    background: var(--at-surface-muted);
}

.alientech-license-card__header-left {
    flex: 1;
    min-width: 0;
}

.alientech-license-card__header-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.alientech-license-card__header-company {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--at-text-muted);
    line-height: 1.3;
}

.alientech-license-card__accordion-chevron {
    flex-shrink: 0;
    color: var(--at-text-muted);
    transition: transform 0.2s ease;
}

.alientech-license-card.is-open .alientech-license-card__accordion-chevron {
    transform: rotate(180deg);
}

.alientech-license-card__accordion-body {
    border-top: 1px solid var(--at-border);
}

.alientech-license-card__accordion-body[hidden] {
    display: none;
}

.alientech-license-card.is-open {
    border-color: var(--at-border-strong);
}

/* Filter toolbar */

.alientech-licenses__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.alientech-licenses button.alientech-licenses__filter {
    margin: 0;
    padding: 0.3rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    border: 1px solid var(--at-border);
    border-radius: var(--at-pill);
    background: var(--at-surface);
    color: var(--at-text-muted);
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
    text-transform: none;
    line-height: 1.4;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    min-height: 0;
}

.alientech-licenses button.alientech-licenses__filter:hover {
    border-color: var(--at-border-strong);
    color: var(--at-text);
    background: var(--at-surface);
}

.alientech-licenses button.alientech-licenses__filter.is-active {
    background: var(--at-text);
    color: var(--at-surface);
    border-color: var(--at-text);
}

.alientech-license-card[hidden] {
    display: none !important;
}

.alientech-licenses__empty-filter {
    padding: 1.5rem;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--at-text-muted);
    border: 1px dashed var(--at-border);
    border-radius: var(--at-radius);
    display: none;
}

.alientech-licenses__empty-filter.is-visible {
    display: block;
}

.alientech-license-card__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
    color: var(--at-text);
}

.alientech-license-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: var(--at-pill);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--at-badge-fg);
    background: var(--at-badge-bg);
    white-space: nowrap;
    border: none;
}

.alientech-license-card__header-renew-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

/* Meta grid */

.alientech-license-card__meta {
    margin: 0;
    padding: 0.25rem 1.25rem 1rem;
}

.alientech-license-card__meta-row {
    display: grid;
    grid-template-columns: minmax(6rem, 8rem) 1fr;
    gap: 0.5rem 1.25rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--at-border);
    align-items: baseline;
}

.alientech-license-card__meta-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.alientech-license-card__meta dt {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--at-text-muted);
}

.alientech-license-card__meta dd {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--at-text);
    word-break: break-word;
}

.alientech-license-card__meta-row--protocols {
    align-items: flex-start;
}

.alientech-license-card__protocol-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 6px;
}

.alientech-license-card__protocol-groups {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.alientech-license-card__protocol-group {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.alientech-license-card__protocol-group-label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--at-text-muted, #64748b);
}

.alientech-license-card__protocol-pill {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #374151;
    background: #f1f3f5;
    border: 1px solid #e2e6ea;
    padding: 3px 10px;
    border-radius: 999px;
    line-height: 1.35;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.alientech-license-card__meta-empty {
    font-size: 0.8125rem;
    color: #475569;
    font-style: italic;
}

/* Inline renewal on expiry row */

.alientech-license-card__meta-row--expiry dd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.65rem;
}

.alientech-license-card__renewal-inline {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.5rem;
    margin-left: 0.15rem;
}

.alientech-license-card__renewal-inline--muted {
    font-size: 0.75rem;
    color: var(--at-text-muted);
    font-style: italic;
}

.alientech-license-card__renewal-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 2px 8px;
    border-radius: 999px;
    line-height: 1.3;
    white-space: nowrap;
}

.alientech-license-card__renewal-badge--early_renewal {
    background: #dcfce7;
    color: #14532d;
}

.alientech-license-card__renewal-badge--standard,
.alientech-license-card__renewal-badge--renewal {
    background: #ffedd5;
    color: #9a3412;
}

.alientech-license-card__renewal-badge--reactivation {
    background: #fee2e2;
    color: #991b1b;
}

.alientech-license-card__renewal-picker-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.alientech-license-card__renewal-select {
    font-size: 0.75rem;
    padding: 0.2rem 0.4rem;
    border: 1px solid var(--at-border);
    border-radius: 5px;
    background: #fff;
    color: var(--at-text);
    max-width: 14rem;
    cursor: pointer;
}

.alientech-license-card__renewal-btn,
.alientech-licenses button.alientech-license-card__renewal-btn,
.alientech-licenses a.alientech-license-card__renewal-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em;
    text-decoration: none !important;
    border-radius: 5px !important;
    border: 1.5px solid var(--at-cta-border) !important;
    background: var(--at-cta-bg) !important;
    color: var(--at-cta-text) !important;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
    min-height: 0 !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
    box-shadow: none !important;
}

.alientech-license-card__renewal-btn:hover,
.alientech-licenses button.alientech-license-card__renewal-btn:hover,
.alientech-licenses a.alientech-license-card__renewal-btn:hover,
.alientech-licenses button.alientech-license-card__renewal-btn:focus,
.alientech-licenses a.alientech-license-card__renewal-btn:focus {
    background: var(--at-cta-hover) !important;
    color: var(--at-cta-text) !important;
    border-color: #b45309 !important;
}

.alientech-license-card__renewal-price {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--at-text);
    white-space: nowrap;
}

/* Details accordion */

.alientech-license-card__details {
    border-top: 1px solid var(--at-border);
}

.alientech-license-card__details-summary {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--at-text-muted);
    cursor: pointer;
    user-select: none;
    list-style: none;
    transition: background 0.12s ease;
}

.alientech-license-card__details-summary::-webkit-details-marker {
    display: none;
}

.alientech-license-card__details-summary:hover {
    background: var(--at-surface-muted);
}

.alientech-license-card__details-chevron {
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.alientech-license-card__details[open] > .alientech-license-card__details-summary .alientech-license-card__details-chevron {
    transform: rotate(180deg);
}

.alientech-license-card__details-body {
    padding: 0 1.25rem 1rem;
}

.alientech-license-card__details-section {
    margin-bottom: 1rem;
}

.alientech-license-card__details-section:last-child {
    margin-bottom: 0;
}

.alientech-license-card__details-label {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--at-text-muted);
}

/* Copy serial — warm amber CTA, vertically centred icons */

.alientech-license-card__serial-wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

.alientech-licenses button.alientech-license-card__serial-btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.45rem;
    max-width: 100%;
    margin: 0;
    padding: 0.35rem 0.5rem 0.35rem 0.6rem;
    font: inherit;
    text-align: left;
    cursor: pointer;
    color: #78350f;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(217, 119, 6, 0.06);
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
    white-space: normal;
    text-transform: none;
    user-select: auto;
    -webkit-appearance: none;
    appearance: none;
}

.alientech-licenses button.alientech-license-card__serial-btn:hover {
    background: #fef3c7;
    border-color: #f59e0b;
    box-shadow: 0 1px 3px rgba(217, 119, 6, 0.1);
}

.alientech-licenses button.alientech-license-card__serial-btn:focus-visible {
    outline: 2px solid var(--at-focus);
    outline-offset: 2px;
}

.alientech-licenses button.alientech-license-card__serial-btn .alientech-license-card__serial {
    background: transparent;
    border: none;
    padding: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
    color: #92400e;
}

.alientech-license-card__serial-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin: 0;
    color: #b45309;
    transition: color 0.18s ease;
}

.alientech-licenses button.alientech-license-card__serial-btn:hover .alientech-license-card__serial-icons {
    color: #92400e;
}

.alientech-license-card__serial-icons svg {
    display: block;
    width: 100%;
    height: 100%;
}

.alientech-licenses button.alientech-license-card__serial-btn .alientech-license-card__icon--check {
    display: none;
    color: #15803d;
}

.alientech-licenses button.alientech-license-card__serial-btn.is-copied {
    background: #f0fdf4;
    border-color: #86efac;
}

.alientech-licenses button.alientech-license-card__serial-btn.is-copied .alientech-license-card__serial {
    color: #166534;
}

.alientech-licenses button.alientech-license-card__serial-btn.is-copied .alientech-license-card__icon--clipboard {
    display: none;
}

.alientech-licenses button.alientech-license-card__serial-btn.is-copied .alientech-license-card__icon--check {
    display: block;
}

.alientech-license-card__copy-tooltip {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    z-index: 2;
    padding: 0.3rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #fff;
    background: #166534;
    border-radius: 5px;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
}

.alientech-license-card__expiry-value {
    font-weight: 700;
    color: var(--at-expiry-accent, var(--at-text));
}

.alientech-license-card__expiry-hint {
    display: inline-block;
    margin-left: 0.35rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--at-text-muted);
}

.alientech-license-card__scenario {
    display: inline-block;
    padding: 0.25rem 0.65rem;
    border-radius: var(--at-pill);
    font-size: 0.8125rem;
    font-weight: 700;
    background: #fef3c7;
    color: #78350f;
    border: 1px solid #fcd34d;
}

.at-early-notice {
    margin: 0 1.25rem 1rem;
    padding: 0.75rem 1rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--at-text-secondary);
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: var(--at-radius-sm);
}

/* Section headings (renewal, protocols, subscriptions) */

.alientech-license-card__section-heading {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--at-text);
}

.alientech-renewal-type-label {
    display: inline-block;
    margin: 0 0 0.75rem;
    padding: 0.2rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    border-radius: 4px;
    background: var(--at-scenario-bg, #f3f3f3);
    color: var(--at-scenario-fg, #3a3a3a);
}

.alientech-renewal-type-label--early {
    --at-scenario-bg: #ecfdf5;
    --at-scenario-fg: #065f46;
}

.alientech-renewal-type-label--standard {
    --at-scenario-bg: #eff6ff;
    --at-scenario-fg: #1e40af;
}

.alientech-renewal-type-label--reactivation {
    --at-scenario-bg: #fef3c7;
    --at-scenario-fg: #92400e;
}

/* Info tooltip — fixed-position to escape overflow:hidden ancestors. */

.at-info-tip {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 0.3rem;
    cursor: help;
    color: inherit;
    opacity: 1;
    transition: color 0.2s ease;
}
.at-info-tip > svg,
.at-info-tip > .at-info-tip__icon,
.at-info-tip > i {
    opacity: 0.7;
    color: var(--at-text-muted, #64748b);
    transition: opacity 0.2s ease, color 0.2s ease;
}
.at-info-tip:hover > svg,
.at-info-tip:focus > svg,
.at-info-tip:hover > .at-info-tip__icon,
.at-info-tip:focus > .at-info-tip__icon,
.at-info-tip:hover > i,
.at-info-tip:focus > i {
    opacity: 1;
    color: var(--at-text, #0f172a);
}

.at-info-tip:hover,
.at-info-tip:focus {
    opacity: 1;
    color: inherit;
}

.at-info-tip__bubble {
    position: fixed;
    width: max-content;
    max-width: 280px;
    padding: 0.65rem 0.85rem;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: normal;
    text-transform: none;
    color: #1f2937!important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px;
    backdrop-filter: none;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06);
    z-index: 200000;
    pointer-events: none;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.92) translateY(4px);
    transform-origin: center bottom;
    transition:
        opacity 0.22s cubic-bezier(0.23, 1, 0.32, 1),
        transform 0.28s cubic-bezier(0.23, 1, 0.32, 1),
        visibility 0s 0.28s;
}

.at-info-tip__bubble::after {
    content: "";
    position: absolute;
    top: 100%;
    left: var(--at-tip-arrow, 50%);
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #ffffff;
}

.at-info-tip__bubble::before {
    content: "";
    position: absolute;
    top: 100%;
    left: var(--at-tip-arrow, 50%);
    transform: translateX(-50%);
    border: 7px solid transparent;
    border-top-color: #e5e7eb;
}

.at-info-tip__bubble.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) translateY(0);
    transition:
        opacity 0.22s cubic-bezier(0.23, 1, 0.32, 1),
        transform 0.28s cubic-bezier(0.23, 1, 0.32, 1),
        visibility 0s 0s;
}

.at-info-tip__bubble strong {
    font-weight: 700;
    color: #111827;
}

.alientech-license-card__section-lede {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--at-text-muted);
}

/* Renewal */

.alientech-license-card__renewal {
    margin: 0;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--at-border);
    background: transparent;
}

.alientech-license-card__renewal-hint {
    margin: 0.65rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--at-text-muted);
}

.alientech-license-card__renewal-msg {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--at-text-secondary);
}

.alientech-license-card__renewal-msg--warn {
    padding: 0.75rem 1rem;
    border-radius: var(--at-radius-sm);
    border: 1px solid #fcd34d;
    background: #fffbeb;
    color: #78350f;
}

.alientech-license-card__renewal-msg--expired {
    padding: 0.75rem 1rem;
    border-radius: var(--at-radius-sm);
    border: 1px solid var(--at-border);
    background: #fff;
    color: var(--at-text);
    font-weight: 500;
}

.at-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.at-actions--renew {
    margin: 0;
}

.at-btn-renew {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0 1.35rem;
    border-radius: var(--at-pill);
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--at-cta-text) !important;
    background: var(--at-cta-bg);
    border: 2px solid var(--at-cta-border);
    box-shadow: 0 1px 2px rgba(28, 25, 23, 0.08);
    transition: background 0.15s ease, border-color 0.15s ease;
}

.at-btn-renew:hover {
    background: var(--at-cta-hover);
    color: var(--at-cta-text) !important;
    border-color: #b45309;
}

.at-btn-renew:focus-visible {
    outline: 3px solid var(--at-focus);
    outline-offset: 2px;
}

button.at-btn-renew,
.alientech-licenses button.at-btn-renew {
    cursor: pointer;
    font-family: inherit !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    min-height: 2.25rem !important;
    padding: 0 1.15rem !important;
    border-radius: var(--at-pill) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    background: var(--at-cta-bg) !important;
    color: var(--at-cta-text) !important;
    border: 2px solid var(--at-cta-border) !important;
    line-height: 1.35 !important;
}

/* Expired: renewal + add-on bundle CTA */
.at-renew-addon-bundle {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px dashed var(--at-border);
}

.at-renew-addon-bundle__lede {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--at-text-secondary);
}

.at-renew-addon-bundle__row {
    margin-bottom: 0.75rem;
}

.at-renew-addon-bundle__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--at-text);
}

.at-renew-addon-bundle__select {
    display: block;
    width: 100%;
    max-width: 28rem;
    min-height: 2.5rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.875rem;
    border: 1px solid var(--at-border);
    border-radius: var(--at-radius-sm);
    background: #fff;
    color: var(--at-text);
}

.at-actions--renew-addon {
    margin-top: 0.25rem;
}

.at-renew-addon-bundle__hint {
    margin: 0.6rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--at-text-muted);
}

.alientech-licenses button.at-btn-renew.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

/* Variable subscription: variation picker */

.at-renew-variation-picker {
    margin-top: 0.25rem;
}

.at-renew-variation-picker__options {
    border: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.at-renew-variation-picker__option {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 1rem;
    border: 1.5px solid var(--at-border);
    border-radius: var(--at-radius);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    background: var(--at-card-bg);
}

.at-renew-variation-picker__option:hover {
    border-color: var(--at-cta);
    background: rgba(0, 0, 0, 0.015);
}

.at-renew-variation-picker__option:has(:checked) {
    border-color: var(--at-cta);
    background: rgba(0, 0, 0, 0.025);
}

.at-renew-variation-picker__radio {
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    accent-color: var(--at-cta);
    margin: 0;
}

.at-renew-variation-picker__label {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--at-text);
    flex: 1;
}

.at-renew-variation-picker__price {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--at-text);
    white-space: nowrap;
}

.at-renew-variation-picker + .at-actions--renew {
    margin-top: 0;
}

/* Protocols (always visible) */

.alientech-license-card__protocols {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--at-border);
}

.alientech-license-card__protocol-group {
    margin-bottom: 1.25rem;
}

.alientech-license-card__protocol-group:last-child {
    margin-bottom: 0;
}

.alientech-license-card__protocol-tool {
    margin: 0 0 0.5rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--at-text);
}

.alientech-license-card__protocol-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--at-border);
    border-radius: var(--at-radius-sm);
    overflow: hidden;
    background: var(--at-surface);
}

.alientech-license-card__protocol-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin: 0;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid var(--at-border);
    font-size: 0.875rem;
}

.alientech-license-card__protocol-row:last-child {
    border-bottom: none;
}

.alientech-license-card__protocol-name {
    font-weight: 600;
    color: var(--at-text);
    flex: 1;
    min-width: 8rem;
}

.alientech-license-card__protocol-badge {
    flex-shrink: 0;
    padding: 0.2rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #14532d;
    background: #dcfce7;
    border-radius: var(--at-pill);
    border: 1px solid #86efac;
}

/* Add-ons: un grand accordéon + lignes (bouton + fin, typo légère) */

.alientech-license-card__subscriptions {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--at-border);
    background: transparent;
}

.alientech-license-card__addons-accordion {
    margin: 0;
    padding: 0;
    border: 1px solid #e2e7ed;
    border-radius: var(--at-radius-sm);
    background: var(--at-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
    overflow: hidden;
}

.alientech-license-card__addons-summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.alientech-license-card__addons-summary::-webkit-details-marker {
    display: none;
}

.alientech-license-card__addons-chevron {
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--at-text-muted);
    transition: transform 0.2s ease;
}

.alientech-license-card__addons-chevron::before {
    content: "";
    width: 0.35rem;
    height: 0.35rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
    margin-top: -0.1rem;
}

.alientech-license-card__addons-accordion[open] .alientech-license-card__addons-chevron::before {
    transform: rotate(45deg);
    margin-top: -0.1rem;
}

.alientech-license-card__addons-summary-text {
    flex: 1;
    min-width: 0;
}

.alientech-license-card__addons-title {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--at-text);
}

.alientech-license-card__addons-sub {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--at-text-muted);
    line-height: 1.4;
}

.alientech-license-card__addons-count {
    flex-shrink: 0;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--at-text-muted);
    background: #f1f5f9;
    border: 1px solid #e8ecf0;
    border-radius: var(--at-pill);
}

.alientech-license-card__addons-panel {
    padding: 0 0.5rem 0.75rem;
    border-top: 1px solid var(--at-border);
    background: var(--at-surface-muted);
}

.alientech-license-card__addon-group {
    padding-top: 0.75rem;
}

.alientech-license-card__addon-group + .alientech-license-card__addon-group {
    margin-top: 0.25rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--at-border);
}

.alientech-license-card__addon-group-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.25rem 0.25rem;
    padding: 0;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--at-fg-muted, #5a6070);
}

.alientech-license-card__addon-group-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1;
    color: var(--at-fg-muted, #5a6070);
    background: var(--at-surface, #fff);
    border: 1px solid var(--at-border, #e2e7ed);
    border-radius: 999px;
}

.alientech-license-card__addon-group-hint {
    margin: 0.15rem 0 0 0.25rem;
    padding: 0;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.45;
    color: var(--at-text-muted, #64748b);
    font-style: italic;
}

.alientech-license-card__sub-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.65rem;
}

.alientech-license-card__sub-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.7rem 0.7rem;
    background: var(--at-surface);
    border: 1px solid #e2e7ed;
    border-radius: 6px;
}

.alientech-license-card__sub-row a.added_to_cart,
.alientech-license-card__sub-row a.wc-forward {
    display: none !important;
}

.alientech-licenses button.alientech-license-card__sub-add {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #475569;
    background: #fafafa;
    border: 1px solid #e2e8f0;
    border-radius: 5px;
    transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
    white-space: normal;
    text-transform: none;
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
}

.alientech-licenses button.alientech-license-card__sub-add:hover:not(:disabled) {
    border-color: #475569;
    color: #475569;
    background: #f1f5f9;
}

.alientech-licenses button.alientech-license-card__sub-add:focus-visible {
    outline: 2px solid var(--at-focus);
    outline-offset: 2px;
}

.alientech-licenses button.alientech-license-card__sub-add:disabled,
.alientech-licenses .alientech-license-card__sub-add--disabled {
    opacity: 0.35;
    cursor: not-allowed;
    background: #f8fafc;
}

.alientech-licenses button.alientech-license-card__sub-add.is-loading {
    pointer-events: none;
    opacity: 0.5;
}

.alientech-licenses button.alientech-license-card__sub-add.added {
    color: #16a34a;
    border-color: #bbf7d0;
    background: #f0fdf4;
    pointer-events: none;
}

.alientech-license-card__sub-add-icon {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1;
    font-family: system-ui, -apple-system, sans-serif;
}

.alientech-licenses button.alientech-license-card__sub-add.added .alientech-license-card__sub-add-icon {
    font-size: 0.75rem;
    font-weight: 600;
}

.alientech-license-card__sub-row-body {
    flex: 1;
    min-width: 0;
}

.alientech-license-card__sub-row-category {
    margin: 0 0 0.2rem;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--at-text-muted);
}

.alientech-license-card__sub-row-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.35;
    color: var(--at-text);
    letter-spacing: -0.005em;
}

.alientech-license-card__name-prefix {
    font-weight: 300;
    color: #888;
}

.alientech-license-card__name-sep {
    font-weight: 300;
    color: #bbb;
    margin: 0 0.15em;
}

.alientech-license-card__name-main {
    font-weight: 700;
    color: #000;
}

.alientech-license-card__sub-row--bundle {
    border-left: 3px solid #ffee00;
}

.alientech-license-card__bundle-badge {
    display: inline-block;
    font-size: 0.78em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #000;
    background: #ffee00;
    padding: 1px 7px;
    border-radius: 4px;
    margin: 0 3px;
    vertical-align: middle;
    line-height: 1.5;
}

.alientech-license-card__bundle-savings {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #16a34a;
    margin-top: 2px;
    letter-spacing: 0.01em;
}

.alientech-license-card__bundle-includes {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.alientech-license-card__bundle-includes li {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    line-height: 1.35;
    color: #475569;
}

.alientech-license-card__check-icon {
    flex-shrink: 0;
    color: #16a34a;
}

.alientech-license-card__sub-row-desc {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    font-weight: 400;
    color: var(--at-text-secondary);
}

.alientech-license-card__sub-row-sku {
    display: inline-block;
    margin: 0.2rem 0 0;
    font-size: 0.65rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    color: #888;
    background: #f1f3f5;
    padding: 1px 7px;
    border-radius: 4px;
    letter-spacing: 0.02em;
    line-height: 1.5;
}

.at-sku-match {
    margin-left: 0.3em;
    font-family: inherit;
}

.at-sku-match--linked {
    color: #065f46;
}

.at-sku-match--missing {
    color: #dc2626;
    font-weight: 600;
}

.alientech-license-card__sub-row-price {
    flex-shrink: 0;
    text-align: right;
    margin-left: auto;
    padding-left: 0.35rem;
    max-width: 8.5rem;
}

.alientech-license-card__sub-row-price-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--at-text-muted);
    margin-bottom: 0.15rem;
}

.alientech-license-card__sub-row-price-value {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--at-text);
    line-height: 1.25;
}

.alientech-license-card__sub-row-price-value .woocommerce-Price-amount {
    font-weight: 600;
    font-size: inherit;
}

/* Side mini-cart — Shopify-style drawer
 * Layout supports WooCommerce mini-cart: remove link, then either one <a> (image + name)
 * or separate thumb / name links, then dl/ul item meta and quantity.
 * Colors target WCAG 2.2 AAA contrast (~7:1) for normal text on white. */

body.alientech-side-cart-open {
    overflow: hidden;
}

/* We use a single site-wide side cart rendered by render_side_cart_shell().
 * Keep the Elementor header cart icon visible (it's the click trigger —
 * frontend.js intercepts it and opens our panel instead), but suppress
 * every piece of Elementor's own dropdown chrome (panel + container +
 * backdrop + shown-state) so two panels can't both surface. */
.elementor-menu-cart__main,
.elementor-menu-cart__container,
.elementor-menu-cart--shown .elementor-menu-cart__main,
.elementor-menu-cart--shown .elementor-menu-cart__container {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.alientech-side-cart {
    --at-side-cart-bg: #ffffff;
    --at-side-cart-fg: #0f172a;
    --at-side-cart-fg-muted: #475569;
    --at-side-cart-border: #e2e8f0;
    --at-side-cart-subtle: #f8fafc;
    --at-side-cart-accent: #ffee00;
    --at-side-cart-accent-text: #0f172a;
    --at-side-cart-focus: #1d4ed8;
    position: fixed;
    inset: 0;
    z-index: 100000;
    pointer-events: none;
}

.alientech-side-cart:not([hidden]) {
    pointer-events: auto;
}

.alientech-side-cart button.alientech-side-cart__backdrop {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(0, 0, 0, 0.32);
    cursor: pointer;
    animation: alientech-backdrop-in 0.2s ease;
    border-radius: 0;
    font-size: inherit;
    font-family: inherit;
    text-transform: none;
    color: transparent;
    white-space: normal;
    -webkit-appearance: none;
    appearance: none;
}

@keyframes alientech-backdrop-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.alientech-side-cart__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: min(24rem, 94vw);
    height: 100%;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--at-side-cart-bg);
    box-shadow: -8px 0 48px rgba(15,23,42,0.14);
    animation: alientech-side-cart-in 0.28s cubic-bezier(0.32, 0.72, 0, 1);
}

@keyframes alientech-side-cart-in {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

/* Header */

.alientech-side-cart__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--at-side-cart-border);
}

.alientech-side-cart__title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--at-side-cart-fg);
}

.alientech-side-cart__title svg {
    flex-shrink: 0;
    color: var(--at-side-cart-fg-muted);
}

.alientech-side-cart button.alientech-side-cart__close {
    margin: 0;
    padding: 0.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--at-side-cart-fg-muted);
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.15s ease, color 0.15s ease;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    text-transform: none;
    white-space: normal;
    -webkit-appearance: none;
    appearance: none;
}

.alientech-side-cart button.alientech-side-cart__close:hover {
    background: var(--at-side-cart-subtle);
    color: var(--at-side-cart-fg);
}

.alientech-side-cart button.alientech-side-cart__close:focus-visible {
    outline: 3px solid var(--at-side-cart-focus);
    outline-offset: 2px;
}

/* Scrollable body */

.alientech-side-cart__mini {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--at-side-cart-fg);
}

.alientech-side-cart__mini .woocommerce-mini-cart__empty-message {
    margin: 0;
    padding: 3rem 1.25rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--at-side-cart-fg-muted);
}

/* WooCommerce item list */

.alientech-side-cart__mini .woocommerce-mini-cart {
    margin: 0;
    padding: 0;
    list-style: none;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem 1.25rem;
    padding-right: 2.75rem;
    border-bottom: 1px solid var(--at-side-cart-border);
    position: relative;
    max-width: 100%;
    box-sizing: border-box;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item:last-child {
    border-bottom: none;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item img {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--at-side-cart-border);
    flex-shrink: 0;
    background: var(--at-side-cart-subtle);
    display: block;
}

/* Legacy: thumbnail-only link */
.alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):has(> img:only-child) {
    flex: 0 0 3.5rem;
    line-height: 0;
    max-width: 3.5rem;
}

/* Legacy: product name link (no image inside) */
.alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):not(:has(img)) {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--at-side-cart-fg);
    text-decoration: none;
    line-height: 1.4;
    overflow-wrap: break-word;
    word-break: break-word;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):not(:has(img)):hover {
    color: var(--at-side-cart-fg-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Modern: single link wrapping image + product name */
.alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):has(img):not(:has(> img:only-child)) {
    flex: 1 1 100%;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--at-side-cart-fg);
    text-decoration: none;
    line-height: 1.4;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):has(img):not(:has(> img:only-child)):hover {
    color: var(--at-side-cart-fg-muted);
}

.alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):has(img):not(:has(> img:only-child)) > img {
    flex: 0 0 3.5rem;
    width: 3.5rem;
    height: 3.5rem;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):has(img):not(:has(> img:only-child)) > :not(img) {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Cart item meta (variations, renewal lines, etc.) */
.alientech-side-cart__mini .woocommerce-mini-cart-item > dl,
.alientech-side-cart__mini .woocommerce-mini-cart-item > ul.wc-item-meta {
    flex: 1 1 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--at-side-cart-fg-muted);
    overflow-wrap: break-word;
    word-break: break-word;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item dl.variation dt {
    font-weight: 600;
    color: var(--at-side-cart-fg);
    margin: 0 0 0.15rem;
    float: none;
    clear: both;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item dl.variation dd {
    margin: 0 0 0.5rem;
    padding: 0;
    color: var(--at-side-cart-fg-muted);
}

.alientech-side-cart__mini .woocommerce-mini-cart-item dl.variation dd p {
    margin: 0;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item ul.wc-item-meta li {
    margin-bottom: 0.35rem;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item ul.wc-item-meta li strong {
    color: var(--at-side-cart-fg);
    font-weight: 600;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item > img {
    flex: 0 0 3.5rem;
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--at-side-cart-border);
}

.alientech-side-cart__mini .woocommerce-mini-cart-item .quantity {
    display: block;
    flex: 1 1 100%;
    min-width: 0;
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--at-side-cart-fg-muted);
    overflow-wrap: break-word;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
    font-weight: 600;
    color: var(--at-side-cart-fg);
}

.alientech-side-cart__mini .woocommerce-mini-cart-item .remove,
.alientech-side-cart__mini .woocommerce-mini-cart-item .remove_from_cart_button {
    position: absolute;
    top: 0.75rem;
    right: 1rem;
    width: 1.75rem;
    height: 1.75rem;
    min-width: 1.75rem;
    min-height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    font-weight: 600;
    color: var(--at-side-cart-fg-muted) !important;
    text-decoration: none;
    border-radius: 4px;
    transition: color 0.15s ease, background 0.15s ease;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item .remove:hover,
.alientech-side-cart__mini .woocommerce-mini-cart-item .remove_from_cart_button:hover {
    color: #9b1c1c !important;
    background: #fce8e8;
}

.alientech-side-cart__mini .woocommerce-mini-cart-item .remove:focus-visible,
.alientech-side-cart__mini .woocommerce-mini-cart-item .remove_from_cart_button:focus-visible {
    outline: 3px solid var(--at-side-cart-focus);
    outline-offset: 1px;
}

/* Subtotal inside the mini-cart fragment */

.alientech-side-cart__mini .woocommerce-mini-cart__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--at-side-cart-border);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--at-side-cart-fg);
    background: var(--at-side-cart-subtle);
}

.alientech-side-cart__mini .woocommerce-mini-cart__total strong {
    font-weight: 700;
    color: var(--at-side-cart-fg-muted);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.alientech-side-cart__mini .woocommerce-mini-cart__total .woocommerce-Price-amount {
    font-weight: 800;
    font-size: 1rem;
    color: var(--at-side-cart-fg);
}

/* Hide WooCommerce's built-in buttons (we use our own footer) */

.alientech-side-cart__mini .woocommerce-mini-cart__buttons {
    display: none;
}

/* Footer */

.alientech-side-cart__footer {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.85rem 1rem 1rem;
    border-top: 1px solid var(--at-side-cart-border);
    background: var(--at-side-cart-bg);
}

.alientech-side-cart__checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0;
    text-decoration: none;
    color: var(--at-side-cart-accent-text);
    background: var(--at-side-cart-accent);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

.alientech-side-cart__checkout:hover {
    background: #ffe000;
    box-shadow: 0 4px 14px rgba(0,0,0,0.14);
    transform: translateY(-1px);
    color: var(--at-side-cart-accent-text);
}

.alientech-side-cart__checkout:focus-visible {
    outline: 3px solid var(--at-side-cart-focus);
    outline-offset: 2px;
}

.alientech-side-cart__viewcart {
    display: block;
    text-align: center;
    padding: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--at-side-cart-fg-muted);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.15s ease;
}

.alientech-side-cart__viewcart:hover {
    color: var(--at-side-cart-fg);
}

/* --------------------------------------------------------------------------
   Elementor Global Style Isolation
   Elementor's .elementor-kit-* a/button rules bleed into our side cart.
   Use #id for specificity that beats .elementor-kit-12 selectors.
   -------------------------------------------------------------------------- */

#alientech-side-cart,
#alientech-side-cart *,
#alientech-side-cart *::before,
#alientech-side-cart *::after {
    box-sizing: border-box;
}

#alientech-side-cart a {
    color: inherit;
    text-decoration: none;
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-transform: none;
    transition: none;
}

#alientech-side-cart button {
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-transform: none;
    color: inherit;
    line-height: inherit;
}

#alientech-side-cart .alientech-side-cart__checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    color: #0f172a;
    background: #ffee00;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

#alientech-side-cart .alientech-side-cart__checkout:hover,
#alientech-side-cart .alientech-side-cart__checkout:focus {
    background: #ffe000;
    color: #0f172a;
    box-shadow: 0 4px 14px rgba(0,0,0,0.14);
    transform: translateY(-1px);
    text-decoration: none;
}

#alientech-side-cart .alientech-side-cart__checkout:focus-visible {
    outline: 3px solid var(--at-side-cart-focus);
    outline-offset: 2px;
}

#alientech-side-cart .alientech-side-cart__viewcart {
    display: block;
    text-align: center;
    padding: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--at-side-cart-fg-muted);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    background: none;
    border: none;
    border-radius: 0;
    transition: color 0.15s ease;
}

/* ── Elementor mini-cart inside our side cart — full layout override ──────── */

#alientech-side-cart .elementor-menu-cart__products {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#alientech-side-cart .elementor-menu-cart__product {
    display: grid !important;
    grid-template-columns: 48px 1fr auto !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
        "img name remove"
        "img price remove" !important;
    gap: 0.1rem 0.75rem !important;
    align-items: start !important;
    padding: 0.85rem 1rem !important;
    border-bottom: 1px solid var(--at-side-cart-border) !important;
    background: var(--at-side-cart-bg) !important;
    transition: background 0.12s ease;
}

#alientech-side-cart .elementor-menu-cart__product:hover {
    background: var(--at-side-cart-subtle) !important;
}

#alientech-side-cart .elementor-menu-cart__product-image {
    grid-area: img !important;
    width: 48px !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

#alientech-side-cart .elementor-menu-cart__product-image a {
    display: block !important;
    line-height: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}

#alientech-side-cart .elementor-menu-cart__product-image img {
    width: 48px !important;
    height: 48px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid var(--at-side-cart-border) !important;
    display: block !important;
    background: var(--at-side-cart-subtle) !important;
}

#alientech-side-cart .elementor-menu-cart__product-name {
    grid-area: name !important;
    padding: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

#alientech-side-cart .elementor-menu-cart__product-name > a {
    display: block !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: var(--at-side-cart-fg) !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#alientech-side-cart .elementor-menu-cart__product-name > a:hover {
    color: var(--at-side-cart-fg-muted) !important;
    text-decoration: underline !important;
}

/* Variation DL — show only Serial, compact */
#alientech-side-cart .elementor-menu-cart__product-name dl.variation {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.2rem 0.5rem !important;
    margin: 0.2rem 0 0 !important;
    padding: 0 !important;
}

#alientech-side-cart .elementor-menu-cart__product-name dl.variation dt {
    display: none !important; /* hide label, keep value */
}

#alientech-side-cart .elementor-menu-cart__product-name dl.variation dd {
    font-size: 0.65rem !important;
    color: var(--at-side-cart-fg-muted) !important;
    background: var(--at-side-cart-subtle) !important;
    padding: 0.1rem 0.4rem !important;
    border-radius: 4px !important;
    border: 1px solid var(--at-side-cart-border) !important;
    margin: 0 !important;
    float: none !important;
    font-weight: 500 !important;
}

#alientech-side-cart .elementor-menu-cart__product-name dl.variation dd p {
    margin: 0 !important;
    display: inline !important;
}

#alientech-side-cart .elementor-menu-cart__product-price {
    grid-area: price !important;
    padding: 0 !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: var(--at-side-cart-fg) !important;
}

#alientech-side-cart .elementor-menu-cart__product-price .quantity,
#alientech-side-cart .elementor-menu-cart__product-price .woocommerce-Price-amount,
#alientech-side-cart .elementor-menu-cart__product-price .woocommerce-Price-amount bdi {
    color: var(--at-side-cart-fg) !important;
    font-size: 0.8rem !important;
    opacity: 1 !important;
}

#alientech-side-cart .elementor-menu-cart__product-price .product-quantity {
    color: var(--at-side-cart-fg-muted) !important;
    font-weight: 400 !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove {
    grid-area: remove !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: center !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .elementor_remove_from_cart_button {
    display: none !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    color: var(--at-side-cart-fg-muted) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: color 0.15s ease, background 0.15s ease !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button:empty::after {
    content: "×" !important;
    font-size: 1.1rem !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button::before,
#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button::after {
    content: none !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button:empty::after {
    content: "×" !important;
    display: inline !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button:hover {
    color: #991b1b !important;
    background: #fee2e2 !important;
}

/* Subtotal */
#alientech-side-cart .elementor-menu-cart__subtotal {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.85rem 1rem !important;
    border-top: 1px solid var(--at-side-cart-border) !important;
    background: var(--at-side-cart-subtle) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--at-side-cart-fg) !important;
    margin: 0 !important;
}

#alientech-side-cart .elementor-menu-cart__subtotal strong {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--at-side-cart-fg-muted) !important;
}

#alientech-side-cart .elementor-menu-cart__subtotal .woocommerce-Price-amount,
#alientech-side-cart .elementor-menu-cart__subtotal .woocommerce-Price-amount bdi {
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: var(--at-side-cart-fg) !important;
}

/* Hide Elementor's own footer buttons — we use alientech-side-cart__footer */
#alientech-side-cart .elementor-menu-cart__footer-buttons {
    display: none !important;
}

#alientech-side-cart .alientech-side-cart__viewcart:hover,
#alientech-side-cart .alientech-side-cart__viewcart:focus {
    color: var(--at-side-cart-fg-muted);
    text-decoration: underline;
}

#alientech-side-cart button.alientech-side-cart__close {
    margin: 0;
    padding: 0.35rem;
    background: transparent;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    color: var(--at-side-cart-fg-muted);
    line-height: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

#alientech-side-cart button.alientech-side-cart__close:hover {
    background: var(--at-side-cart-subtle);
    color: var(--at-side-cart-fg);
}

#alientech-side-cart button.alientech-side-cart__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    border: none;
    margin: 0;
    padding: 0;
    cursor: default;
    -webkit-appearance: none;
    appearance: none;
}

#alientech-side-cart .woocommerce-mini-cart-item a {
    color: var(--at-side-cart-fg);
    text-decoration: none;
    font-weight: 600;
}

#alientech-side-cart .woocommerce-mini-cart-item a:hover {
    color: var(--at-side-cart-fg-muted);
    text-decoration: underline;
}

#alientech-side-cart .woocommerce-mini-cart-item .remove,
#alientech-side-cart .woocommerce-mini-cart-item .remove_from_cart_button {
    color: var(--at-side-cart-fg-muted) !important;
    text-decoration: none;
    background: none;
    border: none;
    border-radius: 4px;
}

#alientech-side-cart .woocommerce-mini-cart-item .remove:hover,
#alientech-side-cart .woocommerce-mini-cart-item .remove_from_cart_button:hover {
    color: #9b1c1c !important;
    background: #fce8e8;
    text-decoration: none;
}

/* Elementor-templated cart items loaded inside our side-cart — fix colors. */
#alientech-side-cart .elementor-menu-cart__product-price,
#alientech-side-cart .elementor-menu-cart__product-price .quantity,
#alientech-side-cart .elementor-menu-cart__product-price .product-quantity,
#alientech-side-cart .elementor-menu-cart__product-price .woocommerce-Price-amount,
#alientech-side-cart .elementor-menu-cart__product-price .woocommerce-Price-amount bdi {
    color: var(--at-side-cart-fg, #121212) !important;
    opacity: 1 !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove {
    position: static !important;
    width: auto !important;
    height: auto !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    color: inherit !important;
    background: none !important;
    inset: auto !important;
    bottom: auto !important;
    text-align: left !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove::before,
#alientech-side-cart .elementor-menu-cart__product-remove::after,
#alientech-side-cart .product-remove::before,
#alientech-side-cart .product-remove::after {
    content: none !important;
    display: none !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .elementor_remove_from_cart_button {
    display: none !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1.75rem !important;
    height: 1.75rem !important;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1;
    color: var(--at-side-cart-fg-muted, #3a3a3a) !important;
    opacity: 1 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 4px !important;
    position: static !important;
    overflow: visible !important;
    transition: color 0.15s ease, background 0.15s ease;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button::before,
#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button::after {
    content: none !important;
    display: none !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button:empty::after {
    content: "\00d7" !important;
    display: inline !important;
}

#alientech-side-cart .elementor-menu-cart__product-remove .remove_from_cart_button:hover {
    color: #7f1d1d !important;
    background: #fee2e2 !important;
    border-color: transparent !important;
}

/* --------------------------------------------------------------------------
   Elementor Pro — WooCommerce Menu Cart
   Override Elementor’s display:grid on lines (breaks this theme); block flow +
   scroll/contrast/variation stacking.
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart {
    --at-el-cart-fg: #121212;
    --at-el-cart-muted: #3a3a3a;
    --at-el-cart-border: #d8d8d8;
}

/* Single vertical scroll on the drawer / dropdown shell, not nested lists. */
.elementor-widget-woocommerce-menu-cart .widget_shopping_cart_content {
    max-height: none !important;
    overflow: visible !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__products.woocommerce-mini-cart,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__products {
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main-panel {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* If both wrappers exist, scroll only the outer panel (avoid nested scrollbars). */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main-panel .elementor-menu-cart__main {
    overflow-y: visible;
    max-height: none;
}

/* Kill Elementor line grid (user layout breaks with display:grid on this row). */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product.cart_item,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    max-width: 100%;
}

/* Elementor default padding-inline-start: 20px on these — reset for block layout. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price {
    padding-inline-start: 0 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-image {
    min-width: 0;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-image img {
    display: block;
    width: 100%;
    max-width: 4.5rem;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--at-el-cart-border);
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--at-el-cart-fg);
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name > a {
    color: var(--at-el-cart-fg) !important;
    font-weight: 600;
    text-decoration: none;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name > a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name dl.variation {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    margin: 0.4rem 0 0;
    padding: 0;
    font-size: 0.8125rem;
    color: var(--at-el-cart-muted);
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name dl.variation dt {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0;
    font-weight: 600;
    color: var(--at-el-cart-fg);
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name dl.variation dd {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 0 0.35rem !important;
    padding: 0;
    color: var(--at-el-cart-muted);
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name dl.variation dd p {
    margin: 0;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name dl.variation .woocommerce-Price-amount {
    color: var(--at-el-cart-fg) !important;
    font-weight: 600;
    opacity: 1 !important;
}

/* Line price — contrast only (alignment comes from Elementor widget settings). */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price {
    min-width: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--at-el-cart-fg) !important;
    opacity: 1 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price .quantity,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price .product-quantity,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price .woocommerce-Price-amount,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price .woocommerce-Price-amount bdi {
    color: var(--at-el-cart-fg) !important;
    opacity: 1 !important;
    font-weight: 600;
}

/* Elementor duplicates the remove link; keep one visible, high-contrast control. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove .elementor_remove_from_cart_button {
    display: none !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove {
    /* Pin the remove control to the top-right of each item card.
       Elementor's default / older rule positioned it full-width at the
       bottom of the row, which collided with the new grid layout. */
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    inset: 14px 14px auto auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: none !important;
    z-index: 2;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove::before,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove::after,
.elementor-widget-woocommerce-menu-cart .product-remove::before,
.elementor-widget-woocommerce-menu-cart .product-remove::after {
    content: none !important;
    display: none !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove .remove_from_cart_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2rem !important;
    height: 2rem !important;
    margin: 0;
    padding: 0;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1;
    color: var(--at-el-cart-muted) !important;
    opacity: 1 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 4px !important;
    position: static !important;
    overflow: visible !important;
    transition: color 0.15s ease, background 0.15s ease;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove .remove_from_cart_button::before,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove .remove_from_cart_button::after {
    content: none !important;
    display: none !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove .remove_from_cart_button:empty::after {
    content: "\00d7" !important;
    display: inline !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove .remove_from_cart_button:hover {
    color: #7f1d1d !important;
    background: #fee2e2 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-remove .remove_from_cart_button:focus-visible {
    outline: 3px solid #0b4f9c;
    outline-offset: 1px;
}

/* Subtotal — colors only (keep Elementor layout). */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__subtotal {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--at-el-cart-fg) !important;
    opacity: 1 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__subtotal strong {
    font-weight: 600;
    color: var(--at-el-cart-muted) !important;
    opacity: 1 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__subtotal .woocommerce-Price-amount,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__subtotal .woocommerce-Price-amount bdi {
    color: var(--at-el-cart-fg) !important;
    font-weight: 700;
    opacity: 1 !important;
}

/* Hide redundant renewal metadata everywhere (cart, mini-cart, side-cart). */
dl.variation .variation-AlienTechproduct,
dl.variation .variation-Currentexpiry,
dl.variation .variation-Accountemail {
    display: none !important;
}

/* ---------------------------------------------------------------
 *  WC variation block — single column, label above value.
 *  Targets dl.variation directly (no ancestor) so it matches
 *  Elementor-built checkout/mini-cart markup too, where the
 *  `.woocommerce` ancestor class may be missing.
 *  dl.variation is only generated by WC in cart/checkout/order contexts,
 *  so scoping here is safe.
 * ------------------------------------------------------------- */
/* Need to match the theme's (0,3,3) specificity on
   `body .woocommerce td.product-name dl.variation dt { display: none !important }`
   — ties go to whichever CSS loads later (ours does). Achieved by repeating
   `dl.variation` three times so the selector carries three classes. */
body dl.variation.variation.variation {
    display: block !important;
    margin: 0.5rem 0 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

body dl.variation.variation.variation dt,
body dl.variation.variation.variation dd {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 3px 7px !important;
    min-width: 0;
    box-sizing: border-box;
    list-style: none !important;
}

body dl.variation.variation.variation dt {
    font-size: 0.72em;
    font-weight: 300 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.6;
    margin: 0.6em 0 0.15em !important;
    color: inherit;
}

body dl.variation.variation.variation dt:first-child {
    margin-top: 0 !important;
}

body dl.variation.variation.variation dd {
    font-size: 0.9em;
    line-height: 1.35;
    word-break: break-word;
}

body dl.variation.variation.variation dd p {
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

/* Cart + checkout: add 3px padding to variation dt/dd rows */
.woocommerce .woocommerce-cart-form .cart_item td.product-name dl.variation dt,
.woocommerce .woocommerce-cart-form .cart_item td.product-name dl.variation dd,
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-name dl.variation dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-name dl.variation dd {
    padding: 3px !important;
}

/* Footer buttons — override .elementor-kit-12 .elementor-button pill styling. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons {
    display: flex !important;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    margin: 0 !important;
    padding: 0.7rem 1rem !important;
    font-family: inherit !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    border: 2px solid transparent !important;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
    background-color: var(--at-side-cart-subtle, #f3f3f3) !important;
    color: var(--at-el-cart-fg, #121212) !important;
    border-color: var(--at-el-cart-border, #d8d8d8) !important;
    border-radius: 0 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart:focus {
    background-color: #e8e8e8 !important;
    color: var(--at-el-cart-fg, #121212) !important;
    border-color: #bbb !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--checkout {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border-color: #0a0a0a !important;
    border-radius: 0 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--checkout:focus {
    background-color: #1f1f1f !important;
    color: #ffffff !important;
    border-color: #1f1f1f !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button:focus-visible {
    outline: 3px solid #0b4f9c;
    outline-offset: 2px;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button span {
    font-size: inherit !important;
    font-weight: inherit !important;
    text-transform: inherit !important;
    color: inherit !important;
}

@media screen and (max-width: 480px) {
    .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-image img {
        max-width: 3.25rem;
    }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media screen and (max-width: 480px) {
    .alientech-license-card__accordion-header {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .alientech-license-card__header-right {
        width: 100%;
        justify-content: flex-end;
    }

    .alientech-license-card__meta-row {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .at-actions {
        flex-direction: column;
    }

    .at-btn-renew {
        width: 100%;
        box-sizing: border-box;
    }

    .alientech-license-card__sub-row {
        flex-wrap: wrap;
    }

    .alientech-license-card__sub-row-price {
        flex-basis: 100%;
        max-width: none;
        margin-left: 0;
        padding-left: 2.65rem;
        text-align: right;
    }

    .alientech-side-cart__panel {
        width: 100vw;
    }

    .alientech-side-cart__mini .woocommerce-mini-cart-item img {
        width: 3rem;
        height: 3rem;
    }

    .alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):has(> img:only-child) {
        flex-basis: 3rem;
        max-width: 3rem;
    }

    .alientech-side-cart__mini .woocommerce-mini-cart-item > a:not(.remove_from_cart_button):not(.remove):has(img):not(:has(> img:only-child)) > img {
        flex-basis: 3rem;
        width: 3rem;
        height: 3rem;
    }

    .alientech-side-cart__mini .woocommerce-mini-cart-item > img {
        flex-basis: 3rem;
        width: 3rem;
        height: 3rem;
    }
}

/* ==========================================================================
   WooCommerce My Account — SaaS Dashboard Layout
   Scoped to body.woocommerce-account to avoid affecting other pages.
   ========================================================================== */

/* ---------- Layout: sidebar + content grid ---------- */

body.woocommerce-account main.site-main {
    /* Wider cap on large / 4K viewports so the account layout is not a narrow strip */
    max-width: min(1560px, 100% - 3rem) !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 1.75rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    box-sizing: border-box;
    min-height: 61vh;
}

/* Theme page title — small label style (My Account only) */
body.woocommerce-account .page-header .entry-title {
    margin: 0 0 0.5rem;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #475569 !important;
}

body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    display: grid !important;
    grid-template-columns: 15rem 1fr;
    gap: 1.75rem;
    align-items: start;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1;
    grid-row: 1;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2;
    grid-row: 1;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* ---------- Navigation sidebar ---------- */

body.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.5rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    position: sticky;
    top: 2rem;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link {
    margin: 0;
    padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link a {
    display: flex !important;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #475569;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
    line-height: 1.4;
    background: transparent;
    border: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
    background: #f1f5f9;
    color: #1e293b;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 600;
}

/* ---------- Nav icons (CSS mask-image) ---------- */

body.woocommerce-account .woocommerce-MyAccount-navigation-link a::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: currentColor;
    opacity: 0.6;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a::before,
body.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover::before {
    opacity: 1;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--subscriptions a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--alientech-licenses a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 35' fill='none'%3E%3Cpath d='M25.5307 0C26.8816 9.87853e-05 28.112 0.778046 28.6919 1.99805L43.1753 32.4902C43.648 33.4855 42.9226 34.6338 41.8208 34.6338H33.562C32.5547 34.6336 31.6456 34.0286 31.2563 33.0996L21.6606 10.2021L12.0659 33.0996C11.6765 34.0287 10.7676 34.6338 9.76023 34.6338H1.50144C0.399611 34.6337-0.325802 33.4855 0.146952 32.4902L14.6304 1.99805C15.2102 0.777958 16.4406 0.000108723 17.7915 0H25.5307Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 35' fill='none'%3E%3Cpath d='M25.5307 0C26.8816 9.87853e-05 28.112 0.778046 28.6919 1.99805L43.1753 32.4902C43.648 33.4855 42.9226 34.6338 41.8208 34.6338H33.562C32.5547 34.6336 31.6456 34.0286 31.2563 33.0996L21.6606 10.2021L12.0659 33.0996C11.6765 34.0287 10.7676 34.6338 9.76023 34.6338H1.50144C0.399611 34.6337-0.325802 33.4855 0.146952 32.4902L14.6304 1.99805C15.2102 0.777958 16.4406 0.000108723 17.7915 0H25.5307Z' fill='black'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 0.35rem !important;
    padding-top: 0.35rem !important;
    border-top: 1px solid #e2e8f0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #475569 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #ef4444 !important;
    background: #fef2f2 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
}

/* ---------- Content area ---------- */

body.woocommerce-account .woocommerce-MyAccount-content {
    --at-mac-text: #0f172a;
    --at-mac-muted: #64748b;
    --at-mac-border: #e2e8f0;
    --at-mac-surface: #ffffff;
    --at-mac-surface-muted: #f8fafc;
    --at-mac-radius: 12px;
    --at-mac-radius-sm: 8px;
    min-width: 0;
    color: var(--at-mac-text);
    font-size: 1rem;
    line-height: 1.55;
}

/* Card shell for default WC endpoints (orders, downloads, addresses, account, payments).
   Dashboard + AlienTech licenses keep their own inner cards — no double frame. */
body.woocommerce-account .woocommerce-MyAccount-content:not(:has(.at-account-dashboard)):not(:has(.alientech-licenses)):not(:has(.at-dealership-dashboard)) {
    background: var(--at-mac-surface);
    border: 1px solid var(--at-mac-border);
    border-radius: var(--at-mac-radius);
    padding: 1.35rem 1.5rem 1.75rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.woocommerce-account .woocommerce-MyAccount-content:has(> .at-account-dashboard) > p,
body.woocommerce-account .woocommerce-MyAccount-content:has(.at-dealership-dashboard) > p,
body.woocommerce-account .woocommerce-MyAccount-content:has(.at-dealership-tabs) > p {
    display: none;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

body.woocommerce-account .woocommerce-MyAccount-content > h2:first-of-type,
body.woocommerce-account .woocommerce-MyAccount-content > h3:first-of-type {
    margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content > h2 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--at-mac-border, #e2e8f0);
}

body.woocommerce-account .woocommerce-MyAccount-content > p:not(.woocommerce-result-count) {
    font-size: 0.9375rem;
    color: var(--at-mac-muted, #64748b);
}

/* Notices inside content panel */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper:first-child {
    margin-bottom: 1rem;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    border-radius: var(--at-mac-radius-sm, 8px);
    border-left: 3px solid #dc2626;
    padding: 0.85rem 1rem 0.85rem 3.5em;
    font-size: 0.875rem;
    margin-bottom: 1rem;
    list-style: none;
    background: #fef2f2;
    color: #991b1b;
}

/* Address manager — two columns as soft cards */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
body.woocommerce-account .woocommerce-MyAccount-content .u-columns {
    margin-top: 0.5rem;
}

body.woocommerce-account .woocommerce-MyAccount-content .u-columns {
    /* Flex avoids phantom grid tracks from auto-fit when billing/shipping columns are uneven or one is empty. */
    display: flex;
    flex-wrap: wrap;
    gap: 1.15rem;
}

body.woocommerce-account .woocommerce-MyAccount-content .u-column1,
body.woocommerce-account .woocommerce-MyAccount-content .u-column2 {
    float: none !important;
    flex: 1 1 17rem;
    min-width: 0;
    max-width: 100%;
    width: auto !important;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
    margin: 0 0 0.65rem;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--at-mac-text);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a {
    float: none;
    display: inline-flex;
    align-items: center;
    margin-left: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    color: #1d4ed8 !important;
    text-decoration: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a:hover {
    color: #1e40af !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

body.woocommerce-account .woocommerce-MyAccount-content address {
    margin: 0;
    padding: 1rem 1.1rem;
    background: var(--at-mac-surface-muted, #f8fafc);
    border: 1px solid var(--at-mac-border, #e2e8f0);
    border-radius: var(--at-mac-radius-sm, 8px);
    font-size: 0.875rem;
    font-style: normal;
    line-height: 1.55;
    color: #334155;
}

/* Edit-address / edit-account field grids */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm {
    margin-top: 0.25rem;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
body.woocommerce-account .woocommerce-MyAccount-content fieldset {
    padding: 0;
    margin: 0 0 1rem;
    border: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .form-row {
    margin-bottom: 0.85rem;
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--at-mac-text);
    padding: 0 0 0.5rem;
    margin-bottom: 0.35rem;
    border-bottom: 1px solid var(--at-mac-border, #e2e8f0);
    width: 100%;
}

/* Payment methods */
body.woocommerce-account .woocommerce-MyAccount-content ul.payment_methods,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-PaymentMethods,
body.woocommerce-account .woocommerce-MyAccount-content ul.wc-saved-payment-methods {
    list-style: none !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

body.woocommerce-account .woocommerce-MyAccount-content ul.wc-saved-payment-methods > li {
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    background: var(--at-mac-surface-muted, #f8fafc);
    border: 1px solid var(--at-mac-border, #e2e8f0);
    border-radius: var(--at-mac-radius-sm, 8px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

body.woocommerce-account .woocommerce-MyAccount-content ul.wc-saved-payment-methods .button,
body.woocommerce-account .woocommerce-MyAccount-content ul.wc-saved-payment-methods a.button {
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-PaymentBox,
body.woocommerce-account .woocommerce-MyAccount-content #add_payment_method #payment,
body.woocommerce-account .woocommerce-MyAccount-content #payment .payment_box {
    margin-top: 0.75rem;
    padding: 1rem 1.1rem;
    background: var(--at-mac-surface-muted, #f8fafc);
    border: 1px solid var(--at-mac-border, #e2e8f0);
    border-radius: var(--at-mac-radius-sm, 8px);
    font-size: 0.875rem;
}

/* Order status chips in tables */
body.woocommerce-account .woocommerce-MyAccount-content mark.order-status {
    display: inline-block;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.3;
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

body.woocommerce-account .woocommerce-MyAccount-content mark.order-status.status-completed {
    background: #dcfce7;
    color: #14532d;
    border-color: #86efac;
}

body.woocommerce-account .woocommerce-MyAccount-content mark.order-status.status-processing,
body.woocommerce-account .woocommerce-MyAccount-content mark.order-status.status-on-hold {
    background: #fef3c7;
    color: #9a3412;
    border-color: #fcd34d;
}

body.woocommerce-account .woocommerce-MyAccount-content mark.order-status.status-cancelled,
body.woocommerce-account .woocommerce-MyAccount-content mark.order-status.status-failed,
body.woocommerce-account .woocommerce-MyAccount-content mark.order-status.status-refunded {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}

/* Table action links */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.view {
    padding: 0.4rem 0.85rem !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    border-radius: var(--at-mac-radius-sm, 8px) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination,
body.woocommerce-account .woocommerce-MyAccount-content nav.woocommerce-pagination {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--at-mac-border, #e2e8f0);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination ul li a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: 0 0.5rem;
    border-radius: var(--at-mac-radius-sm, 8px);
    font-size: 0.8125rem;
    font-weight: 600;
    border: 1px solid var(--at-mac-border, #e2e8f0);
    background: #fff;
    color: #334155 !important;
    text-decoration: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination ul li a:hover {
    background: var(--at-mac-surface-muted, #f8fafc);
    border-color: #475569;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination ul li span.current {
    background: #0f172a;
    border-color: #0f172a;
    color: #fff !important;
}

/* Single order / subscription detail back link */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-content__header {
    margin-bottom: 1rem;
}

/* Elementor: reinforce account content typography inside kit-scoped pages */
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):not(.woocommerce-Button) {
    color: #1d4ed8;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):not(.woocommerce-Button):hover {
    color: #1e40af;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--at-mac-radius-sm, 8px);
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table th,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
    background: #f8fafc;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #475569;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid #e2e8f0;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table td,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
    padding: 0.7rem 0.85rem;
    font-size: 0.875rem;
    color: #1e293b;
    border-bottom: 1px solid #f1f5f9;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr:last-child td,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table tr:last-child td,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td {
    border-bottom: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr:hover td,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table tr:hover td,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:hover td {
    background: #f8fafc;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1.25rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    border: 1px solid #d0d5dd;
    background: #fff;
    color: #1e293b;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover {
    background: #f8fafc;
    border-color: #475569;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body.woocommerce-account .woocommerce-MyAccount-content .button.alt,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"].alt,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button--alt {
    background: #0f172a !important;
    color: #fff !important;
    border-color: #0f172a !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

body.woocommerce-account .woocommerce-MyAccount-content .button.alt:hover,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"].alt:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button--alt:hover {
    background: #1e293b !important;
    border-color: #1e293b !important;
    color: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"],
body.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"],
body.woocommerce-account .woocommerce-MyAccount-content button[name="woocommerce_save_payment_method"] {
    background: #0f172a !important;
    color: #fff !important;
    border-color: #0f172a !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

body.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content button[name="woocommerce_save_payment_method"]:hover {
    background: #1e293b !important;
    border-color: #1e293b !important;
    color: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:focus-visible {
    outline: 2px solid #1d4ed8;
    outline-offset: 2px;
}

/* WC notices/messages/errors that render outside a content container
   (e.g. the "added to your cart" toast on product pages) stretch
   edge-to-edge on themes that don't wrap them. Constrain to the site
   content width so they line up with the rest of the layout. */
.woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-notices-wrapper > .woocommerce-info,
.woocommerce-notices-wrapper > .woocommerce-error,
body > .woocommerce-message,
body > .woocommerce-info,
body > .woocommerce-error,
main > .woocommerce-message,
main > .woocommerce-info,
main > .woocommerce-error {
    max-width: var(--container-max-width, 1140px);
    width: min(100%, var(--container-max-width, 1140px));
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* WC places a ::before icon on the left; keep padding-left ≥ ~3rem so text
   does not sit under the glyph (our compact padding was overriding defaults). */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notice {
    position: relative;
    border-radius: 8px;
    border-left-width: 3px;
    /* Leave room for WC’s ::before icon (defaults assume ~3em+ left padding). */
    padding: 0.85rem 1.15rem 0.85rem 3.25rem;
    font-size: 0.875rem;
    margin-bottom: 1.25rem;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row label,
body.woocommerce-account .woocommerce-MyAccount-content .form-row label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.25rem;
}

body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="search"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="number"],
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account .woocommerce-MyAccount-content textarea {
    border-radius: 8px;
    border: 1px solid #d0d5dd;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: #1e293b;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content input:focus,
body.woocommerce-account .woocommerce-MyAccount-content select:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
    border-color: #1d4ed8;
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.15);
    outline: none;
}

/* ---------- Dashboard Widgets ---------- */

.at-account-dashboard {
    color: #0f172a;
    font-family: inherit;
}

.at-account-dashboard__header {
    margin-bottom: 1.5rem;
}

.at-account-dashboard__header h2 {
    margin: 0 0 0.25rem;
    font-size: 1.5rem;
    font-weight: 300;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.at-account-dashboard__company {
    font-weight: 700;
}

.at-account-dashboard__header p {
    margin: 0 !important;
    font-size: 0.9375rem;
    color: #475569;
    display: block !important;
}

.at-account-dashboard__kpi-strip {
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.85rem 0;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.at-account-dashboard__kpi {
    flex: 1;
    text-align: center;
    padding: 0.4rem 0.5rem;
    min-width: 0;
}

.at-account-dashboard__kpi-sep {
    width: 1px;
    background: #e2e8f0;
    flex-shrink: 0;
    align-self: stretch;
}

.at-account-dashboard__kpi-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #475569;
    margin-bottom: 0.3rem;
}

.at-account-dashboard__kpi-value {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.at-account-dashboard__kpi-hint {
    font-size: 0.75rem;
    font-weight: 500;
    color: #475569;
}

.at-account-dashboard__status-dot {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    flex-shrink: 0;
}

.at-account-dashboard__status-dot--active {
    background: #22c55e;
    box-shadow: 0 0 0 2px #dcfce7;
}

.at-account-dashboard__status-dot--expiring {
    background: #f59e0b;
    box-shadow: 0 0 0 2px #fef3c7;
}

.at-account-dashboard__status-dot--expired {
    background: #ef4444;
    box-shadow: 0 0 0 2px #fee2e2;
}

.at-account-dashboard__kpi-value--active { color: #166534; }
.at-account-dashboard__kpi-value--expiring { color: #9a3412; }
.at-account-dashboard__kpi-value--expired { color: #991b1b; }

.at-account-dashboard__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.at-account-dashboard__card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.at-account-dashboard__card-header {
    padding: 0.85rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
}

.at-account-dashboard__card-header h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #0f172a;
}

.at-account-dashboard__details {
    margin: 0;
    padding: 0;
    flex: 1;
}

.at-account-dashboard__detail-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1.15rem;
    border-bottom: 1px solid #f1f5f9;
}

.at-account-dashboard__detail-row:last-child {
    border-bottom: none;
}

.at-account-dashboard__details dt {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #475569;
    white-space: nowrap;
}

.at-account-dashboard__details dd {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
    text-align: right;
    min-width: 0;
    word-break: break-word;
}

.at-account-dashboard__details dd code {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #78350f;
    background: #fffbeb;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #fcd34d;
}

.at-account-dashboard__renewal-badge {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
}

.at-account-dashboard__renewal-badge--early { background: #ecfdf5; color: #065f46; }
.at-account-dashboard__renewal-badge--standard { background: #eff6ff; color: #1e40af; }
.at-account-dashboard__renewal-badge--reactivation { background: #fef3c7; color: #92400e; }

.at-account-dashboard__card-link {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.75rem 1.15rem;
    border-top: 1px solid #e2e8f0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1d4ed8 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
    margin-top: auto;
}

.at-account-dashboard__card-link:hover {
    background: #eff6ff;
    color: #1e40af !important;
}

.at-account-dashboard__card-link svg {
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.at-account-dashboard__card-link:hover svg {
    transform: translateX(2px);
}

.at-account-dashboard__actions-list {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.at-account-dashboard__action-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 1.15rem;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a !important;
    text-decoration: none !important;
    transition: background 0.15s ease;
}

.at-account-dashboard__action-item:last-child {
    border-bottom: none;
}

.at-account-dashboard__action-item:hover {
    background: #f8fafc;
}

.at-account-dashboard__action-item svg {
    flex-shrink: 0;
    color: #475569;
}

.at-account-dashboard__empty {
    text-align: center;
    padding: 2rem 1.5rem;
    background: #fff;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
}

.at-account-dashboard__empty p {
    margin: 0;
    font-size: 0.9375rem;
    color: #475569;
}

/* ---------- My Account Responsive ---------- */

@media screen and (max-width: 768px) {
    /* Tighter side padding so the cards reach almost edge-to-edge on phones. */
    body.woocommerce-account main.site-main {
        max-width: 100% !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        padding-top: 1rem !important;
        background: #f1f5f9 !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content:not(:has(.at-account-dashboard)):not(:has(.alientech-licenses)) {
        padding: 1rem 0.9rem 1.15rem;
        border-radius: 10px;
    }

    body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    /* Reset explicit grid placement so children stack vertically on mobile.
       Without this the desktop rules grid-column: 1 / 2 force a 2-column
       implicit grid even when grid-template-columns is set to 1fr.
       min-width:0 prevents wide intrinsic content (horizontal scroll nav,
       wide tables) from inflating the grid column past the viewport. */
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        grid-column: 1 / -1;
        grid-row: auto;
        min-width: 0;
        max-width: 100%;
    }

    /* ----------------------------------------------------------
       Mobile navigation = horizontal scrollable tab strip.
       Sticky under the site header so the user can switch sections
       at any scroll position. Active tab gets a yellow underline.
       ---------------------------------------------------------- */
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        position: sticky;
        top: 0;
        z-index: 10;
        margin: 0 -0.75rem; /* bleed to viewport edges */
        padding: 0;
        background: #fff;
        border: none;
        border-bottom: 1px solid #e2e8f0;
        border-radius: 0;
        box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
        padding: 0 0.5rem;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation-link {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation-link a {
        display: inline-flex !important;
        align-items: center;
        gap: 0.4rem;
        padding: 0.85rem 0.75rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #475569;
        white-space: nowrap;
        border-radius: 0;
        border-bottom: 2px solid transparent;
        background: transparent !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
        color: #0f172a;
        background: transparent !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
        color: #0f172a;
        background: transparent !important;
        border-bottom-color: #ffee00;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation-link a::before {
        width: 1rem;
        height: 1rem;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none;
    }

    .at-account-dashboard__header h2 {
        font-size: 1.25rem;
    }

    .at-account-dashboard__kpi-strip {
        flex-wrap: wrap;
        padding: 0;
    }

    .at-account-dashboard__kpi {
        flex-basis: calc(50% - 1px);
        padding: 0.65rem 0.5rem;
    }

    .at-account-dashboard__kpi-sep {
        display: none;
    }

    .at-account-dashboard__grid {
        grid-template-columns: 1fr;
    }

    /* User Switching plugin orphan link — hidden on mobile (duplicated in nav). */
    body.woocommerce-account #user_switching_switch_on {
        display: none;
    }
}

/* User Switching plugin: pin the orphan switch-back link as a discreet
   bottom-right pill. All !important needed to beat the plugin's inline styles. */
#user_switching_switch_on {
    position: fixed !important;
    bottom: 12px !important;
    top: auto !important;
    left: auto !important;
    right: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 0 !important; /* suppress any whitespace text node */
    line-height: 1 !important;
    z-index: 99999 !important;
}

#user_switching_switch_on a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.45rem 0.9rem !important;
    background: rgba(15, 23, 42, 0.88) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
    backdrop-filter: blur(4px) !important;
    white-space: nowrap !important;
    transition: background 0.15s ease !important;
}

#user_switching_switch_on a:hover {
    background: #0f172a !important;
    text-decoration: none !important;
    color: #ffee00 !important;
}

/* ── Dealership My Account dashboard ──────────────────────────────────────── */
.at-dealership-dashboard {
    max-width: 100%;
    --at-text: #0f172a;
    --at-text-secondary: #334155;
    --at-text-muted: #475569;
    --at-surface: #ffffff;
    --at-surface-muted: #f8fafc;
    --at-border: #cbd5e1;
    --at-border-strong: #94a3b8;
    --at-radius: 12px;
    --at-radius-sm: 8px;
}

.at-dealership-dashboard__lede {
    margin: 0 0 1.25rem;
    color: var(--at-text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
}

/* KPI row */
.at-dealership-dashboard__kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0 0 1.5rem;
    padding: 0;
    border: none;
    background: none;
}

.at-dealership-dashboard__kpi {
    flex: 1 1 160px;
    min-width: 140px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "label value"
        "hint  hint";
    column-gap: 0.75rem;
    row-gap: 0.1rem;
    align-items: center;
    padding: 0.85rem 1.1rem;
    background: var(--at-surface);
    border: 1px solid var(--at-border);
    border-radius: var(--at-radius);
    box-shadow: 0 1px 3px rgba(15,23,42,0.06);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.at-dealership-dashboard__kpi-label {
    grid-area: label;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--at-text-muted);
}

.at-dealership-dashboard__kpi-value {
    grid-area: value;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
    color: var(--at-text);
    text-align: right;
    justify-self: end;
    font-variant-numeric: tabular-nums;
}

.at-dealership-dashboard__kpi-hint {
    grid-area: hint;
    font-size: 0.72rem;
    color: var(--at-text-muted);
    font-weight: 400;
    margin-top: 0.2rem;
}

/* Clickable Need-renewal KPI */
a.at-dealership-dashboard__kpi--clickable,
a.at-dealership-dashboard__kpi--clickable:hover,
a.at-dealership-dashboard__kpi--clickable:focus {
    text-decoration: none !important;
}
a.at-dealership-dashboard__kpi--clickable {
    cursor: pointer;
    border-color: #fde68a;
    background: #fffdf0;
}
a.at-dealership-dashboard__kpi--clickable:hover,
a.at-dealership-dashboard__kpi--clickable:focus {
    border-color: #d97706;
    box-shadow: 0 4px 14px rgba(217,119,6,0.14);
    transform: translateY(-1px);
    background: #fffdf0;
}
a.at-dealership-dashboard__kpi--clickable .at-dealership-dashboard__kpi-hint {
    color: #b45309;
    font-weight: 600;
    text-decoration: none;
}
a.at-dealership-dashboard__kpi--clickable .at-dealership-dashboard__kpi-hint::after {
    content: " →";
}

/* KPI value accent colors */
.at-dealership-dashboard__kpi--renew {
    border-color: #fde68a;
    transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.at-dealership-dashboard__kpi--renew:hover,
.at-dealership-dashboard__kpi--renew:focus {
    border-color: #d97706;
    box-shadow: 0 4px 14px rgba(217,119,6,0.14);
}
.at-dealership-dashboard__kpi--renew .at-dealership-dashboard__kpi-value {
    color: #d97706;
}
.at-dealership-dashboard__kpi--ok .at-dealership-dashboard__kpi-value {
    color: #15803d;
}
.at-dealership-dashboard__kpi--muted .at-dealership-dashboard__kpi-value {
    color: #475569;
}

/* Status pill in customer table */
.at-dealership-status-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.22rem 0.6rem;
    border-radius: 99px;
    white-space: nowrap;
    line-height: 1;
    background: #e2e8f0;
    color: #334155;
}
.at-dealership-status-badge--active       { background: #dcfce7; color: #166534; }
.at-dealership-status-badge--expiring_soon{ background: #fef3c7; color: #92400e; }
.at-dealership-status-badge--expired      { background: #fee2e2; color: #991b1b; }

/* Flash highlight when scrolled to via auto-select */
.at-dealership-bulk-bar--flash {
    animation: at-dealership-bulk-flash 1.6s ease-out;
}
@keyframes at-dealership-bulk-flash {
    0%, 30% { box-shadow: 0 0 0 3px rgba(255,238,0,0.55); }
    100%    { box-shadow: 0 0 0 0 rgba(255,238,0,0); }
}

/* Filters card */
.at-dealership-filters {
    margin: 0 0 1.25rem;
    padding: 1rem 1.25rem;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(15,23,42,0.05);
}

.at-dealership-filters__row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem;
    align-items: flex-end;
}

.at-dealership-filters__row .form-row {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
}

.at-dealership-filters__row label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--at-text-muted);
    margin-bottom: 0.35rem;
    display: block;
}

.at-dealership-filters__row input[type="text"],
.at-dealership-filters__row select {
    border: 1px solid var(--at-border);
    border-radius: var(--at-radius-sm);
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    width: 100%;
    background: var(--at-surface-muted);
    color: var(--at-text);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.at-dealership-filters__row input[type="text"]:focus,
.at-dealership-filters__row select:focus {
    border-color: var(--at-border-strong);
    box-shadow: 0 0 0 3px rgba(15,23,42,0.06);
    outline: none;
}

.at-dealership-filters__actions {
    margin: 1rem 0 0;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.at-dealership-filters__actions .button,
.at-dealership-filters__actions button {
    padding: 0.45rem 1.1rem !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: 1px solid #94a3b8 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

.at-dealership-filters__actions .button:first-child,
.at-dealership-filters__actions button:first-child,
.at-dealership-filters__actions button.at-dealership-filters__submit,
.at-dealership-filters__actions button.at-dealership-filters__submit:hover,
.at-dealership-filters__actions button.at-dealership-filters__submit:focus,
.at-dealership-filters__actions button.at-dealership-filters__submit:active,
form .at-dealership-filters__actions button.at-dealership-filters__submit {
    background: #0f172a !important;
    background-color: #0f172a !important;
    color: #fff !important;
    border-color: #0f172a !important;
}

.at-dealership-dashboard__empty-filter {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px dashed var(--at-border-strong);
    border-radius: var(--at-radius-sm);
    color: var(--at-text-muted);
    font-size: 0.875rem;
}

/* =========================================================================
   Dealership customer table — HARD RESET
   Strips all borders/box-shadows from WooCommerce, Elementor, and previous
   rules on this table + its children, then re-applies a SINGLE outer frame
   and SINGLE internal divider. !important is required here because WC and
   Elementor inject high-specificity rules with !important in places.
   ========================================================================= */

/* Wipe the slate on the table, its sections, rows, and cells */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers > thead,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers > tbody,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers > tfoot,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers tr,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers th,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers td {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Single outer frame — no shadow, just the border (matches design-system "flat" cards) */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers {
    margin-top: 0.5rem !important;
    width: 100% !important;
    font-size: 0.875rem !important;
    line-height: 1.35 !important;
    border: 1px solid var(--at-border, #cbd5e1) !important;
    border-radius: var(--at-radius, 12px) !important;
    overflow: hidden !important;
    box-shadow: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: var(--at-surface, #ffffff) !important;
}

/* Header: tinted surface + single bottom divider (no per-cell borders) */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers thead th {
    background: var(--at-surface-muted, #f8fafc) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: var(--at-text-muted, #475569) !important;
    padding: 0.65rem 0.85rem !important;
    border-bottom: 1px solid var(--at-border, #cbd5e1) !important;
}

/* Body rows: single thin bottom divider between rows only */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers tbody td {
    padding: 0.65rem 0.85rem !important;
    font-size: 0.8125rem !important;
    background: transparent !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* Last row has no bottom divider — the table's outer border closes it */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers tbody tr:last-child td {
    border-bottom: 0 !important;
}

/* Row-state tints intentionally removed — status is conveyed by the pill badge
   in the Status column only. Keep rows visually quiet. */

/* Bulk selection bar */
.at-dealership-bulk-form {
    margin-top: 1rem;
}

.at-dealership-bulk-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin: 0 0 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--at-border);
    border-radius: var(--at-radius);
    background: var(--at-surface-muted);
    box-shadow: 0 1px 3px rgba(15,23,42,0.05);
}

.at-dealership-bulk-bar--hidden {
    display: none !important;
}

.at-dealership-bulk-bar__copy {
    flex: 1 1 22rem;
}

.at-dealership-bulk-bar__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--at-text);
}

.at-dealership-bulk-bar__hint {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--at-text-muted);
}

.at-dealership-dashboard button.at-dealership-bulk-bar__submit,
.at-dealership-dashboard .button.at-dealership-bulk-bar__submit {
    min-width: 200px;
    padding: 0.6rem 1.4rem;
    border: 1.5px solid var(--at-cta-border, #eab308);
    border-radius: var(--at-radius-sm);
    background: var(--at-cta-bg, #ffee00);
    color: var(--at-cta-text, #0f172a);
    font-weight: 800;
    font-size: 0.875rem;
    text-align: center;
    box-shadow: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
    letter-spacing: 0;
    text-transform: none;
}

.at-dealership-dashboard button.at-dealership-bulk-bar__submit:hover,
.at-dealership-dashboard .button.at-dealership-bulk-bar__submit:hover {
    background: var(--at-cta-hover, #ffe000);
    border-color: #b45309;
    box-shadow: none;
    transform: none;
}

/* Select-column header checkbox — match per-row checkbox alignment */
.at-dealership-select-control--head {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    cursor: pointer;
}
.at-dealership-select-control--head input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}

.at-dealership-dashboard button.at-dealership-bulk-bar__submit[disabled],
.at-dealership-dashboard .button.at-dealership-bulk-bar__submit[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.at-dealership-col-select {
    width: 52px;
    text-align: center;
}

.at-dealership-select-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
}

.at-dealership-select-control--disabled {
    color: #475569;
    position: relative;
    cursor: not-allowed;
}
.at-dealership-select-control--disabled input[type="checkbox"] {
    cursor: not-allowed;
    opacity: 0.5;
    margin: 0;
}
.at-dealership-select-control--disabled[data-at-tooltip]:hover::after,
.at-dealership-select-control--disabled[data-at-tooltip]:focus-within::after {
    content: attr(data-at-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    background: #ffffff;
    color: var(--at-text, #0f172a);
    border: 1px solid var(--at-border, #e2e8f0);
    padding: 0.55rem 0.7rem;
    border-radius: var(--at-radius-sm, 8px);
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
    white-space: normal;
    width: max-content;
    max-width: 260px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
    z-index: 30;
    pointer-events: none;
}
.at-dealership-select-control--disabled[data-at-tooltip]:hover::before,
.at-dealership-select-control--disabled[data-at-tooltip]:focus-within::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: calc(100% + 3px);
    transform: translateX(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    background: #ffffff;
    border-right: 1px solid var(--at-border, #e2e8f0);
    border-bottom: 1px solid var(--at-border, #e2e8f0);
    z-index: 31;
    pointer-events: none;
}

.at-dealership-customers th,
.at-dealership-customers td {
    vertical-align: middle;
}

.at-dealership-customer,
.at-dealership-product {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.at-dealership-customer__name,
.at-dealership-product__name {
    color: var(--at-text, #0f172a);
    font-size: 0.8125rem;
    line-height: 1.35;
}

.at-dealership-customer__meta,
.at-dealership-product__meta {
    font-size: 0.6875rem;
    line-height: 1.45;
    color: var(--at-text-muted, #64748b);
}

.at-dealership-product__meta code {
    display: inline-block;
    padding: 0;
    font-size: 0.75rem;
    background: transparent;
}

/* Row-tint/border rules for row states live in the hard-reset block above.
   Keep only the missing-row typography here. */
.at-dealership-row--missing td {
    font-size: 0.875rem;
    color: var(--at-text-muted, #475569);
}

.at-dealership-col-continuation {
    color: var(--at-text-muted, #64748b);
    font-size: 0.875rem;
}

.at-dealership-continuation-arrow {
    display: inline-block;
    color: #475569;
    font-size: 1rem;
    line-height: 1;
    margin-left: 1.25rem;
    opacity: 1;
}

/* additional-tool row tints are handled in the scoped hard-reset block above */

/*
 * Multi-tool badge — rendered as <button> so Elementor's `.elementor-kit-12 button`
 * rules (background, padding, border-radius, text-transform, font-family, etc.)
 * try to take over. Use a 2-class selector + !important on visual props to win.
 */
.at-dealership-customer button.at-dealership-multi-tool-badge,
button.at-dealership-multi-tool-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
    max-width: max-content !important;
    align-self: flex-start !important;
    background: #e0e7ff !important;
    color: #3730a3 !important;
    font-family: inherit !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 2px 8px !important;
    border: 1px solid #c7d2fe !important;
    border-radius: 999px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
    margin-left: 6px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.at-dealership-customer button.at-dealership-multi-tool-badge:hover,
.at-dealership-customer button.at-dealership-multi-tool-badge:focus,
button.at-dealership-multi-tool-badge:hover,
button.at-dealership-multi-tool-badge:focus {
    background: #3730a3 !important;
    color: #ffffff !important;
    border-color: #3730a3 !important;
    transform: translateY(-1px);
    text-decoration: none !important;
}
.at-dealership-multi-tool-badge__count {
    font-variant-numeric: tabular-nums;
}
.at-dealership-multi-tool-badge__label {
    font-weight: 600;
}

/* ---- Multi-tool details modal ---- */
.at-dealership-tools-modal[hidden] {
    display: none !important;
}
.at-dealership-tools-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.at-dealership-tools-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    cursor: pointer;
}
.at-dealership-tools-modal__panel {
    position: relative;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
    max-width: 560px;
    width: 100%;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.at-dealership-tools-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}
.at-dealership-tools-modal__title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: #0f172a;
    line-height: 1.3;
}
button.at-dealership-tools-modal__close,
.at-dealership-tools-modal__close {
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    font-family: inherit !important;
    font-size: 1.4rem !important;
    line-height: 1 !important;
    color: #475569 !important;
    padding: 4px 10px !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    text-transform: none !important;
    box-shadow: none !important;
    font-weight: 500 !important;
}
button.at-dealership-tools-modal__close:hover,
button.at-dealership-tools-modal__close:focus,
.at-dealership-tools-modal__close:hover,
.at-dealership-tools-modal__close:focus {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}
.at-dealership-tools-modal__body {
    padding: 0.25rem 1rem 1rem;
    overflow-y: auto;
}
.at-dealership-tools-modal__tool {
    border: 1px solid var(--at-border, #cbd5e1);
    border-radius: 10px;
    padding: 0.75rem 0.85rem;
    margin-top: 0.75rem;
    background: #ffffff;
}
.at-dealership-tools-modal__tool-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}
.at-dealership-tools-modal__tool-info {
    flex: 1 1 auto;
    min-width: 0;
}
.at-dealership-tools-modal__tool-titlerow {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px 10px;
}
.at-dealership-tools-modal__tool-name {
    font-weight: 600;
    color: #0f172a;
    font-size: 0.875rem;
    line-height: 1.3;
}
.at-dealership-tools-modal__tool-date {
    font-size: 0.75rem;
    line-height: 1.3;
    color: #475569;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex: 0 0 auto;
}
.at-dealership-tools-modal__tool-serial {
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.7rem;
    color: #475569;
    margin-top: 3px;
    background: #f1f5f9;
    padding: 1px 6px;
    border-radius: 4px;
}
.at-dealership-tools-modal__tool-status {
    flex: 0 0 auto;
    font-size: 0.625rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #334155;
    white-space: nowrap;
}
.at-dealership-tools-modal__tool-status--active   { background: #dcfce7; color: #166534; }
.at-dealership-tools-modal__tool-status--expiring { background: #fef3c7; color: #92400e; }
.at-dealership-tools-modal__tool-status--expired  { background: #fee2e2; color: #991b1b; }
.at-dealership-tools-modal__tool-actions {
    margin-top: 0.6rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
a.at-dealership-tools-modal__renew,
.at-dealership-tools-modal__renew {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffee00 !important;
    color: #0f172a !important;
    font-family: inherit !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding: 0.45rem 1rem !important;
    border: none !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background .15s ease, transform .15s ease;
}
a.at-dealership-tools-modal__renew:hover,
a.at-dealership-tools-modal__renew:focus,
.at-dealership-tools-modal__renew:hover,
.at-dealership-tools-modal__renew:focus {
    background: #ffe000 !important;
    box-shadow: none !important;
    color: #0f172a !important;
    transform: translateY(-1px);
    text-decoration: none !important;
}
.at-dealership-tools-modal__protocols-label {
    display: block;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #475569;
    margin-bottom: 4px;
    font-weight: 600;
}
.at-dealership-tools-modal__protocols {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.at-dealership-tools-modal__protocol {
    font-size: 0.6875rem;
    background: #eef2ff;
    color: #3730a3;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
}
.at-dealership-tools-modal__protocol-empty {
    font-size: 0.75rem;
    color: #475569;
    font-style: italic;
    margin: 0;
}
.at-dealership-tools-modal__protogroups {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.at-dealership-tools-modal__protogroup {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.at-dealership-tools-modal__protogroup-label {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #334155;
    font-weight: 700;
}
.at-dealership-dashboard__header {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0 0 12px;
}
.at-dealership-tabs {
    margin: 24px 0 0;
}
.at-dealership-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 20px;
}
.at-dealership-tabs button.at-dealership-tabs__tab,
.at-dealership-tabs button.at-dealership-tabs__tab:hover,
.at-dealership-tabs button.at-dealership-tabs__tab:focus,
.at-dealership-tabs button.at-dealership-tabs__tab:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12px 20px !important;
    margin: 0 0 -1px 0 !important;
    min-width: 0;
    width: auto;
    font-family: inherit !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    color: #64748b !important;
    cursor: pointer !important;
    transition: color 0.15s ease, border-bottom-color 0.15s ease !important;
}
.at-dealership-tabs button.at-dealership-tabs__tab:hover,
.at-dealership-tabs button.at-dealership-tabs__tab:focus {
    color: #0f172a !important;
    border-bottom-color: #cbd5e1 !important;
    outline: none !important;
}
.at-dealership-tabs button.at-dealership-tabs__tab.is-active,
.at-dealership-tabs button.at-dealership-tabs__tab[aria-selected="true"] {
    color: #0f172a !important;
    border-bottom-color: #0f172a !important;
}
.at-dealership-tabs__panel {
    animation: at-dealership-tab-fade 0.15s ease;
}
.at-dealership-tabs__panel[hidden] {
    display: none !important;
}
@keyframes at-dealership-tab-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.at-dealership-dashboard__title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
}
.at-dealership-dashboard__subtitle {
    margin: 0;
    font-size: 0.9375rem;
    color: #475569;
    font-weight: 500;
}
.at-dealership-dashboard--widget {
    margin: 0 0 2em;
    padding: 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.at-dealership-dashboard__actions-list {
    margin-top: 16px;
}
.at-dealership-tools-modal__addons-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ffffff !important;
    color: #1f2937 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    padding: 0.4rem 0.75rem !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    text-decoration: none !important;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.at-dealership-tools-modal__addons-btn:hover,
.at-dealership-tools-modal__addons-btn:focus {
    border-color: #475569 !important;
    background: #f9fafb !important;
}
.at-dealership-tools-modal__addons-plus {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
}
.at-dealership-tools-modal__addons-count {
    background: #eef2ff;
    color: #3730a3;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
}
.at-dealership-tools-modal__addons {
    margin-top: 10px;
    padding: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.at-dealership-tools-modal__addons-note {
    margin: 0 0 4px;
    font-size: 0.75rem;
    color: #64748b;
    font-style: italic;
}
.at-dealership-tools-modal__addon-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.at-dealership-tools-modal__addon-group-label {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #334155;
    font-weight: 700;
}
.at-dealership-tools-modal__addon-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.at-dealership-tools-modal__addon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 10px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
}
.at-dealership-tools-modal__addon-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.at-dealership-tools-modal__addon-name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1f2937;
}
.at-dealership-tools-modal__addon-price {
    font-size: 0.75rem;
    color: #475569;
}
.at-dealership-tools-modal__addon-price .amount {
    font-weight: 600;
}
.at-dealership-tools-modal__addon-link {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #3730a3 !important;
    text-decoration: none;
}
.at-dealership-tools-modal__addon-link:hover,
.at-dealership-tools-modal__addon-link:focus {
    text-decoration: underline;
}
@media (max-width: 600px) {
    .at-dealership-tools-modal {
        padding: 0;
        align-items: flex-end;
    }
    .at-dealership-tools-modal__panel {
        border-radius: 14px 14px 0 0;
        max-height: 92vh;
    }
}

.at-dealership-pagination-meta,
.at-dealership-per-page-hint,
.at-dealership-per-page-links {
    margin-top: 0.75rem;
}

/* Renew button — matches dashboard's .alientech-license-card__renewal-btn style
   (no box-shadow, 1.5px border, uppercase, darker hover with amber border). */
.at-dealership-renew-button,
a.at-dealership-renew-button,
.at-dealership-customers a.at-dealership-renew-button,
.at-dealership-customers button.at-dealership-renew-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.2rem 0.6rem !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
    text-align: center;
    background: var(--at-cta-bg, #ffee00) !important;
    color: var(--at-cta-text, #0f172a) !important;
    border: 1.5px solid var(--at-cta-border, #eab308) !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    white-space: nowrap;
    min-height: 0 !important;
    transform: none !important;
}

.at-dealership-renew-button:hover,
.at-dealership-renew-button:focus,
a.at-dealership-renew-button:hover,
a.at-dealership-renew-button:focus,
.at-dealership-customers a.at-dealership-renew-button:hover,
.at-dealership-customers a.at-dealership-renew-button:focus,
.at-dealership-customers button.at-dealership-renew-button:hover,
.at-dealership-customers button.at-dealership-renew-button:focus {
    background: var(--at-cta-hover, #ffe000) !important;
    color: var(--at-cta-text, #0f172a) !important;
    border-color: #b45309 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
}

.at-dealership-renew-button--loading {
    opacity: 0.7;
    cursor: progress !important;
    pointer-events: none;
}

.at-dealership-renew-unavailable {
    display: inline-flex;
    align-items: center;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.22rem 0.6rem;
    border-radius: 99px;
    background: #f1f5f9;
    color: #475569;
    white-space: nowrap;
    line-height: 1;
    font-style: normal;
}

/* Details action button (Actions column) — ghost style matching secondary CTA.
   Geometry (padding / font-size / line-height / border) mirrors the Renew
   button above so the two buttons render at the same height. */
.at-dealership-customers button.at-dealership-details-button,
button.at-dealership-details-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.2rem 0.6rem !important;
    font-family: inherit !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    line-height: 1.4 !important;
    background: var(--at-surface, #ffffff) !important;
    color: var(--at-text, #0f172a) !important;
    border: 1.5px solid var(--at-border-strong, #94a3b8) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    cursor: pointer !important;
    white-space: nowrap;
    min-height: 0 !important;
    transform: none !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
}
.at-dealership-customers button.at-dealership-details-button:hover,
.at-dealership-customers button.at-dealership-details-button:focus,
button.at-dealership-details-button:hover,
button.at-dealership-details-button:focus {
    background: var(--at-surface-muted, #f8fafc) !important;
    border-color: var(--at-text, #0f172a) !important;
    transform: translateY(-1px);
}

.at-dealership-col-actions {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}

.at-dealership-notify-form {
    margin: 2rem 0;
    padding: 1.25rem;
    border: 1px solid var(--at-border, #cbd5e1);
    border-radius: var(--at-radius-sm, 8px);
    max-width: 36rem;
}

.at-dealership-pagination {
    margin-top: 1.5rem;
}

@media (max-width: 782px) {
    .at-dealership-bulk-bar {
        align-items: stretch;
    }

    .at-dealership-dashboard button.at-dealership-bulk-bar__submit,
    .at-dealership-dashboard .button.at-dealership-bulk-bar__submit {
        width: 100%;
    }
}

/* ── Dealership customers — mobile rewrite (dense) ── */
@media (max-width: 768px) {
    /* Beat WC's .woocommerce table.shop_table_responsive tr td { text-align: right !important; } */
    .woocommerce table.shop_table_responsive.at-dealership-customers tbody tr td,
    .woocommerce-page table.shop_table_responsive.at-dealership-customers tbody tr td {
        text-align: left !important;
        display: flex !important;
        width: auto !important;
    }
    /* Hide continuation customer cells (additional tools for same user — keep prod/exp/renew only) */
    .woocommerce table.shop_table_responsive.at-dealership-customers tbody tr.at-dealership-row--additional-tool td.at-dealership-col-continuation,
    .woocommerce table.shop_table_responsive.at-dealership-customers tbody tr.at-dealership-row--additional-tool td[data-title="Customer"],
    .woocommerce-page table.shop_table_responsive.at-dealership-customers tbody tr.at-dealership-row--additional-tool td.at-dealership-col-continuation,
    .woocommerce-page table.shop_table_responsive.at-dealership-customers tbody tr.at-dealership-row--additional-tool td[data-title="Customer"] {
        display: none !important;
    }

    /* Reset content padding so dashboard panels go edge-to-edge */
    body.woocommerce-account .woocommerce-MyAccount-content:has(.at-dealership-dashboard) {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    .at-dealership-dashboard {
        font-size: 0.8125rem;
    }

    .at-dealership-dashboard > h2 {
        font-size: 1rem !important;
        margin: 0 0 0.25rem !important;
        line-height: 1.25;
        word-break: break-word;
    }

    .at-dealership-dashboard__lede {
        font-size: 0.75rem;
        margin: 0 0 0.75rem;
        line-height: 1.4;
    }

    /* KPIs: 3 columns compact row on mobile */
    .at-dealership-dashboard__kpis {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.4rem;
        margin: 0 0 0.75rem;
    }
    .at-dealership-dashboard__kpi {
        display: flex;
        flex: none;
        flex-direction: column;
        min-width: 0;
        padding: 0.45rem 0.5rem;
        background: var(--at-surface);
        border: 1px solid var(--at-border);
        border-radius: 8px;
        box-shadow: none;
        gap: 0.05rem;
        align-items: stretch;
    }
    .at-dealership-dashboard__kpi-label {
        font-size: 0.52rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--at-text-muted);
        line-height: 1.2;
        font-weight: 700;
    }
    .at-dealership-dashboard__kpi-value {
        font-size: 1.1rem;
        line-height: 1.1;
        font-weight: 800;
        width: 100%;
    }
    .at-dealership-dashboard__kpi-hint {
        display: none;
    }
    a.at-dealership-dashboard__kpi--clickable {
        padding: 0.45rem 0.5rem;
        border-color: #fde68a;
    }
    a.at-dealership-dashboard__kpi--clickable .at-dealership-dashboard__kpi-hint {
        display: none;
    }

    /* Notify form: tighter */
    .at-dealership-notify-form {
        margin: 0.75rem 0;
        padding: 0.65rem 0.8rem;
        max-width: 100%;
        border-radius: 8px;
    }
    .at-dealership-notify-form h3 {
        font-size: 0.8125rem !important;
        margin: 0 0 0.4rem !important;
    }
    .at-dealership-notify-form label {
        font-size: 0.6875rem !important;
    }
    .at-dealership-notify-form input[type="email"] {
        font-size: 0.8125rem !important;
        padding: 0.45rem 0.6rem !important;
    }
    .at-dealership-notify-form .button {
        padding: 0.5rem 0.85rem !important;
        font-size: 0.75rem !important;
    }

    /* Filters: compact, single column with full-width inputs */
    .at-dealership-filters {
        margin: 0 0 0.75rem;
        padding: 0.75rem 0.85rem;
        border-radius: 8px;
    }
    .at-dealership-filters__row {
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
    }
    .at-dealership-filters__row .form-row {
        flex: 1 1 100%;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
    }
    .at-dealership-filters__row .form-row label {
        font-size: 0.6875rem !important;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #475569;
        margin: 0 !important;
    }
    .at-dealership-filters__row .form-row input,
    .at-dealership-filters__row .form-row select {
        width: 100% !important;
        font-size: 0.875rem !important;
        padding: 0.55rem 0.7rem !important;
        line-height: 1.3;
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        background: #fff !important;
        box-shadow: none !important;
    }
    .at-dealership-filters__row .form-row select {
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
        background-repeat: no-repeat !important;
        background-position: right 0.6rem center !important;
        background-size: 14px 14px !important;
        padding-right: 2rem !important;
    }
    .at-dealership-filters__actions {
        margin-top: 0.75rem;
        display: flex;
        gap: 0.5rem;
    }
    .at-dealership-filters__actions .button {
        flex: 1;
        padding: 0.6rem 0.7rem !important;
        font-size: 0.8125rem !important;
        font-weight: 600;
        border-radius: 8px;
        line-height: 1.2;
    }

    /* Bulk bar: compact */
    .at-dealership-bulk-bar {
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.65rem 0.8rem;
        margin: 0 0 0.65rem;
        border-radius: 8px;
    }
    .at-dealership-bulk-bar__copy {
        flex: none;
    }
    .at-dealership-bulk-bar__toggle {
        font-size: 0.75rem;
        gap: 0.35rem;
        font-weight: 600;
    }
    .at-dealership-bulk-bar__hint {
        font-size: 0.6875rem;
        line-height: 1.35;
        margin-top: 0.25rem;
    }
    .at-dealership-dashboard button.at-dealership-bulk-bar__submit,
    .at-dealership-dashboard .button.at-dealership-bulk-bar__submit {
        min-width: 0;
        width: 100%;
        padding: 0.55rem 0.85rem;
        font-size: 0.75rem;
        box-shadow: none;
    }

    /* ====== Customer rows — DENSE LIST ITEMS ====== */
    /* Strip WC shop_table wrapper (border, border-radius, overflow) — cards do their own framing */
    body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers,
    body.woocommerce-account .woocommerce-MyAccount-content .at-dealership-customers.shop_table {
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .at-dealership-customers {
        display: block;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        margin-top: 0;
        font-size: 0.75rem;
    }
    .at-dealership-customers thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
    }
    .at-dealership-customers tbody {
        display: block;
    }
    /* Each row = compact card (CSS grid for layout, no labels) */
    .at-dealership-customers tbody tr {
        display: grid !important;
        grid-template-columns: 20px 1fr auto !important;
        grid-template-areas:
            "sel  cust    status"
            "sel  prod    prod"
            "sel  actions actions" !important;
        column-gap: 0.45rem;
        row-gap: 0.2rem;
        align-items: center;
        padding: 0.5rem 0.65rem !important;
        margin-bottom: 0.35rem;
        background: #fff;
        border: 1px solid #e2e8f0 !important;
        border-left: 3px solid #ffee00 !important;
        border-radius: 8px;
        box-shadow: none;
    }
    .at-dealership-customers tbody tr.at-dealership-row--expiring {
        border-left-color: #f59e0b !important;
    }
    .at-dealership-customers tbody tr.at-dealership-row--expired {
        border-left-color: #dc2626 !important;
    }
    /* Continuation rows keep a dashed outline only. */
    .at-dealership-customers tbody tr.at-dealership-row--additional-tool {
        border-style: dashed !important;
        margin-top: -0.2rem;
        padding-top: 0.35rem !important;
    }

    .at-dealership-customers tbody td,
    body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.at-dealership-customers tbody td {
        display: flex !important;
        align-items: center;
        gap: 0.4rem;
        padding: 0 !important;
        border: none !important;
        border-bottom: 0 !important;
        background: transparent !important;
        text-align: left !important;
        min-width: 0;
        line-height: 1.25;
        width: auto !important;
    }
    .at-dealership-customers tbody tr.at-dealership-row--expiring td,
    .at-dealership-customers tbody tr.at-dealership-row--expired td {
        background: transparent !important;
    }

    /* Hide WC's auto-injected data-title labels on this table */
    .at-dealership-customers tbody td::before {
        content: "" !important;
        display: none !important;
    }

    /* Cell placement via grid areas */
    .at-dealership-customers tbody td.at-dealership-col-select {
        grid-area: sel !important;
        width: auto !important;
        justify-content: center;
        align-self: center;
    }
    .at-dealership-customers tbody td[data-title="Customer"] { grid-area: cust !important; }
    .at-dealership-customers tbody td[data-title="Product"] { grid-area: prod !important; }
    .at-dealership-customers tbody td.at-dealership-col-status { grid-area: status !important; }
    .at-dealership-customers tbody td[data-title="Expiry"] {
        grid-area: prod !important;
        justify-self: end;
        font-size: 0.6875rem;
        color: #64748b;
        white-space: nowrap;
        margin-left: auto;
    }
    .at-dealership-customers tbody td[data-title="Renew"] {
        grid-area: actions !important;
        justify-self: start;
    }
    .at-dealership-customers tbody td.at-dealership-col-actions,
    .at-dealership-customers tbody td[data-title="Actions"] {
        display: flex !important;
        grid-area: actions !important;
        justify-content: flex-end;
        margin-left: auto;
    }
    .at-dealership-customers tbody td.at-dealership-col-select input[type="checkbox"] {
        margin: 0;
        width: 16px;
        height: 16px;
    }
    .at-dealership-customers tbody td[data-title="Customer"] {
        grid-area: cust;
        min-width: 0;
    }
    .at-dealership-customers tbody td[data-title="Product"] {
        grid-area: prod;
        align-items: flex-start;
        min-width: 0;
    }
    .at-dealership-customers tbody td.at-dealership-col-status {
        grid-area: status;
        justify-content: flex-end;
        white-space: nowrap;
    }
    /* Expiry / Renew / Actions placement is handled in the grid-areas block above. */

    /* Customer cell content */
    .at-dealership-customer {
        flex: 1 1 auto;
        min-width: 0;
        gap: 0;
    }
    .at-dealership-customer__name {
        font-size: 0.875rem;
        font-weight: 800;
        color: #0f172a;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        letter-spacing: -0.01em;
    }
    .at-dealership-customer__meta {
        font-size: 0.6875rem;
        color: #64748b;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .at-dealership-customer button.at-dealership-multi-tool-badge,
    button.at-dealership-multi-tool-badge {
        font-size: 0.5625rem !important;
        padding: 1px 6px !important;
        margin-left: 4px !important;
        gap: 4px !important;
    }

    /* Product cell content */
    .at-dealership-product {
        flex: 1 1 auto;
        min-width: 0;
        gap: 0;
    }
    .at-dealership-product__name {
        font-size: 0.75rem;
        font-weight: 500;
        color: #334155;
        line-height: 1.3;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
    }
    .at-dealership-product__meta {
        font-size: 0.625rem;
        line-height: 1.3;
        color: #475569;
    }
    .at-dealership-product__meta code {
        font-size: 0.6875rem;
        color: #475569;
    }
    /* Hide "Client: ..." meta on mobile (already shown in customer cell) */
    .at-dealership-product__meta:nth-of-type(2) {
        display: none;
    }

    /* Status: pill-style chip */
    .at-dealership-col-status {
        font-size: 0.625rem !important;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        padding: 2px 6px !important;
        border-radius: 999px;
        line-height: 1;
        background: #e2e8f0;
        color: #475569;
        align-self: start;
        max-width: max-content;
        margin-left: auto;
    }
    .at-dealership-row--expiring .at-dealership-col-status {
        background: #fef3c7;
        color: #92400e;
    }
    .at-dealership-row--expired .at-dealership-col-status {
        background: #fee2e2;
        color: #991b1b;
    }

    /* Renew + Details buttons on mobile: identical geometry so heights match. */
    .at-dealership-renew-button,
    a.at-dealership-renew-button,
    .at-dealership-customers a.at-dealership-renew-button,
    .at-dealership-customers button.at-dealership-renew-button,
    .at-dealership-customers button.at-dealership-details-button,
    button.at-dealership-details-button {
        min-width: 0 !important;
        padding: 0.3rem 0.7rem !important;
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        border-width: 1.5px !important;
        border-radius: 5px !important;
        box-shadow: none !important;
    }
    .at-dealership-renew-unavailable {
        font-size: 0.625rem;
    }

    /* Continuation row: simplified */
    .at-dealership-customers tbody tr.at-dealership-row--additional-tool .at-dealership-col-continuation {
        display: none !important;
    }
    .at-dealership-customers tbody tr.at-dealership-row--additional-tool {
        grid-template-areas:
            "sel  prod    status"
            "sel  actions actions" !important;
    }
    .at-dealership-customers tbody tr.at-dealership-row--additional-tool td[data-title="Customer"] {
        display: none !important;
    }

    /* Missing rows */
    .at-dealership-customers tbody tr.at-dealership-row--missing {
        grid-template-areas: "msg msg msg";
        grid-template-columns: 1fr;
    }
    .at-dealership-customers tbody tr.at-dealership-row--missing td {
        grid-area: msg;
        font-size: 0.75rem;
        color: #475569;
    }

    /* Pagination */
    .at-dealership-pagination ul.page-numbers {
        flex-wrap: wrap;
        gap: 0.2rem;
    }
    .at-dealership-pagination ul.page-numbers li a,
    .at-dealership-pagination ul.page-numbers li span {
        padding: 0.35rem 0.55rem !important;
        font-size: 0.75rem !important;
        min-width: 0 !important;
    }
    .at-dealership-pagination-meta {
        font-size: 0.6875rem;
    }
}

@media (max-width: 380px) {
    .at-dealership-dashboard__kpi-value {
        font-size: 0.9375rem;
    }
    .at-dealership-dashboard__kpi-label {
        font-size: 0.5rem;
    }
}

/* ── Add-ons slide-out panel ── */

body.alientech-addon-panel-open {
    overflow: hidden;
}

.alientech-addon-panel {
    position: fixed;
    inset: 0;
    z-index: 100001;
    pointer-events: none;
}

.alientech-addon-panel:not([hidden]) {
    pointer-events: auto;
}

.alientech-addon-panel button.alientech-addon-panel__backdrop {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(0, 0, 0, 0.32);
    cursor: pointer;
    animation: alientech-backdrop-in 0.2s ease;
    border-radius: 0;
    font-size: inherit;
    font-family: inherit;
    text-transform: none;
    color: transparent;
    white-space: normal;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    display: block;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    box-shadow: none;
    min-height: 0;
    min-width: 0;
}

.alientech-addon-panel__drawer {
    position: absolute;
    top: 0;
    right: 0;
    width: min(34rem, 96vw);
    height: 100%;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    box-shadow: -6px 0 40px rgba(0, 0, 0, 0.12);
    animation: alientech-side-cart-in 0.28s cubic-bezier(0.32, 0.72, 0, 1);
}

.alientech-addon-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #d8d8d8;
    flex-shrink: 0;
}

.alientech-addon-panel__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #121212;
}

.alientech-addon-panel button.alientech-addon-panel__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #f3f3f3;
    color: #121212;
    cursor: pointer;
    transition: background 0.15s ease;
    flex-shrink: 0;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    text-transform: none;
    white-space: normal;
    -webkit-appearance: none;
    appearance: none;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    box-shadow: none;
    min-height: 0;
    min-width: 0;
}

.alientech-addon-panel button.alientech-addon-panel__close:hover,
.alientech-addon-panel button.alientech-addon-panel__close:focus {
    background: #e0e0e0;
    color: #121212;
    border: none;
}

.alientech-addon-panel__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 1.25rem;
    -webkit-overflow-scrolling: touch;
}

.alientech-addon-panel__target {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    background: linear-gradient(180deg, #f8fafc, #f1f3f5);
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

.alientech-addon-panel__target-customer {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #4b5563;
    margin-bottom: 0.15rem;
}

.alientech-addon-panel__target-product {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.3;
}

.alientech-addon-panel__target-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: #374151;
}

.alientech-addon-panel__target-meta code {
    background: #fff;
    padding: 0 0.35rem;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    font-size: 0.78rem;
}

.alientech-addon-panel__target-active {
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px dashed #cbd5e1;
}

.alientech-addon-panel__target-active-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #475569;
    margin-bottom: 0.35rem;
}

.alientech-addon-panel__target-active-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.alientech-addon-panel__target-active-item {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.6rem;
    font-size: 0.8rem;
    color: #0f172a;
}

.alientech-addon-panel__target-active-group {
    font-weight: 700;
    text-transform: capitalize;
    color: #1e293b;
}

.alientech-addon-panel__target-active-values {
    color: #334155;
}

.alientech-addon-panel__body .alientech-license-card__addon-group {
    margin-bottom: 1.5rem;
}

.alientech-addon-panel__body .alientech-license-card__addon-group:last-child {
    margin-bottom: 0;
}

.alientech-addon-panel__body .alientech-license-card__addon-group-title {
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.alientech-addon-panel__body .alientech-license-card__sub-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.alientech-addon-panel__body .alientech-license-card__sub-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #f3f3f3;
    border-left: none;
    border-right: none;
    border-top: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.alientech-addon-panel__body .alientech-license-card__sub-row:last-child {
    border-bottom: none;
}

.alientech-addon-panel button.alientech-license-card__sub-add {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #475569;
    background: #fafafa;
    border: 1px solid #e2e8f0;
    border-radius: 5px;
    transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
    white-space: normal;
    text-transform: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
    letter-spacing: normal;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    min-height: 0;
    min-width: 0;
}

.alientech-addon-panel button.alientech-license-card__sub-add:hover:not(:disabled) {
    border-color: #475569;
    color: #475569;
    background: #f1f5f9;
}

.alientech-addon-panel button.alientech-license-card__sub-add:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    background: #f8fafc;
}

.alientech-addon-panel button.alientech-license-card__sub-add.added {
    color: #16a34a;
    border-color: #bbf7d0;
    background: #f0fdf4;
    pointer-events: none;
}

/* ── Add-on panel cart summary ── */

.alientech-addon-panel__cart {
    flex-shrink: 0;
    border-top: 1px solid #e8e8e8;
    background: #fafafa;
    padding: 1rem 1.25rem;
}

.alientech-panel-cart__empty {
    margin: 0;
    font-size: 0.8125rem;
    color: #475569;
    text-align: center;
    padding: 0.5rem 0;
}

.alientech-panel-cart__heading {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #475569;
    margin-bottom: 0.6rem;
}

.alientech-panel-cart__list {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: 9rem;
    overflow-y: auto;
}

.alientech-panel-cart__item {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    font-size: 0.8125rem;
    color: #334155;
}

.alientech-addon-panel button.alientech-panel-cart__remove {
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1.25rem !important;
    height: 1.25rem !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.9rem !important;
    line-height: 1 !important;
    color: #475569 !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 3px !important;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit !important;
    font-weight: 400 !important;
    text-transform: none !important;
    white-space: normal;
    box-shadow: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
}

.alientech-addon-panel button.alientech-panel-cart__remove:hover {
    color: #ef4444 !important;
    background: #fee2e2 !important;
    background-color: #fee2e2 !important;
    border-color: transparent !important;
}

.alientech-panel-cart__item-name {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.alientech-panel-cart__item-qty {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #475569;
}

.alientech-panel-cart__item-price {
    flex-shrink: 0;
    font-weight: 600;
    color: #0f172a;
}

.alientech-panel-cart__item-context {
    flex: 1 1 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.6rem;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    color: #475569;
}

.alientech-panel-cart__item-context-for {
    font-weight: 600;
    color: #334155;
}

.alientech-panel-cart__item-context-serial {
    background: #f1f5f9;
    padding: 0 0.3rem;
    border-radius: 3px;
    border: 1px solid #e2e8f0;
    font-size: 0.72rem;
}

.alientech-panel-cart__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0;
    border-top: 1px solid #e2e8f0;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.75rem;
}

.alientech-panel-cart__actions {
    display: flex;
    gap: 0.5rem;
}

.alientech-panel-cart__btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 7px;
    text-decoration: none !important;
    text-align: center;
    transition: background 0.15s ease, border-color 0.15s ease;
    white-space: nowrap;
}

.alientech-panel-cart__btn--secondary,
.alientech-panel-cart__btn--secondary:visited {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
    border-radius: 7px !important;
    text-transform: none !important;
    font-size: 0.8125rem !important;
    padding: 0.5rem 0.75rem !important;
}

.alientech-panel-cart__btn--secondary:hover {
    background: #f9fafb !important;
    background-color: #f9fafb !important;
    border-color: #475569 !important;
    color: #111827 !important;
}

.alientech-panel-cart__btn--primary,
.alientech-panel-cart__btn--primary:visited {
    background: #ffee00 !important;
    background-color: #ffee00 !important;
    border: 1px solid #ffee00 !important;
    color: #0f172a !important;
    border-radius: 7px !important;
    text-transform: none !important;
    font-size: 0.8125rem !important;
    padding: 0.5rem 0.75rem !important;
}

.alientech-panel-cart__btn--primary:hover {
    background: #fde047 !important;
    background-color: #fde047 !important;
    border-color: #fde047 !important;
    color: #0f172a !important;
}

/* ── Add-ons trigger button on license card ── */

.alientech-license-card__addons-action {
    display: flex;
    margin-top: 0.75rem;
}

.alientech-license-card__addons-action .alientech-license-card__addons-trigger {
    margin-top: 0;
}

.alientech-license-card__addons-trigger,
.alientech-licenses button.alientech-license-card__addons-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #374151 !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    margin-top: 0.75rem;
    text-transform: none !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
    box-shadow: none !important;
}

.alientech-license-card__addons-trigger:hover,
.alientech-licenses button.alientech-license-card__addons-trigger:hover,
.alientech-licenses button.alientech-license-card__addons-trigger:focus {
    border-color: #475569 !important;
    background: #f9fafb !important;
    color: #374151 !important;
}

.alientech-license-card__addons-trigger-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    background: #e5e7eb;
    color: #374151;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.alientech-license-card__addons-trigger-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.3rem;
    height: 1.3rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #e0e7ff;
    color: #3730a3;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
}

/* ── Dashboard summary ── */

.at-dashboard-summary {
    margin-bottom: 1.5rem;
}

/* Dashboard card list — inherits license-card shell, no accordion */

.at-dashboard-licenses {
    max-width: none;
    margin-bottom: 1rem;
}

.at-dashboard-licenses .alientech-license-card + .alientech-license-card {
    margin-top: 0.5rem;
}

.at-dashboard-card__inner {
    display: grid;
    grid-template-columns: 6rem 2fr 1.5fr 10rem;
    align-items: center;
    gap: 0.75rem 1rem;
    padding: 0.75rem 1.1rem;
}

.at-dashboard-card__status-col {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    padding-left: 4px; /* room for LED halo so it's not clipped */
    overflow: visible;
}

.at-dashboard-card__led {
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--at-expiry-accent, #cbd5e1);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--at-expiry-accent, #cbd5e1) 22%, transparent);
}

.at-dashboard-card__status-badge {
    font-size: 0.55rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 0.18rem 0.4rem !important;
    border-radius: 99px !important;
    line-height: 1.2;
    white-space: normal;
    word-break: break-word;
    text-align: center;
}

.at-dashboard-card__main {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    overflow: hidden;
}

.at-dashboard-card__product {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--at-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.at-dashboard-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
    overflow: hidden;
}

.at-dashboard-card__expiry {
    font-size: 0.8rem;
    color: var(--at-expiry-accent, var(--at-text-muted));
    font-weight: 500;
    white-space: nowrap;
}

.at-dashboard-card__group-count {
    font-size: 0.75rem;
    color: var(--at-text-muted);
}

.at-dashboard-card__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
    min-width: 0;
}

.at-dashboard-summary__actions-cell {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem 0.4rem;
}


.at-dashboard-card__renewal-label {
    font-size: 0.6rem;
    font-weight: 600;
    color: var(--at-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1;
    white-space: nowrap;
}

.at-dashboard-card__renewal-discount {
    font-size: 0.65rem;
    font-weight: 600;
    color: #15803d;
    line-height: 1;
}

/* Compact variation select in dashboard renew area — select + button on one row */
.at-dashboard-card__renewal-picker {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.35rem;
}

.at-dashboard-card__renewal-select {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--at-border-strong);
    border-radius: 6px;
    background: #fff;
    color: var(--at-text);
    cursor: pointer;
    height: 100%;
}

/* Label + info icon on same row */
.at-dashboard-card__renewal-meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.3rem;
}

.at-dashboard-summary__actions-cell .at-info-tip {
    opacity: 1;
    flex-shrink: 0;
}
.at-dashboard-summary__actions-cell .at-info-tip > svg {
    opacity: 0.65;
}
.at-dashboard-summary__actions-cell .at-info-tip:hover > svg,
.at-dashboard-summary__actions-cell .at-info-tip:focus > svg {
    opacity: 1;
}

/* Addon count badge on Browse Add-ons button */
.at-dashboard-card__addon-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 0.3rem;
    margin-left: 0.35rem;
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 18px;
    border-radius: 99px;
    background: rgba(0,0,0,0.12);
    color: inherit;
    vertical-align: middle;
}

/* Early notice inside dashboard expand */
.at-dashboard-card__early-notice {
    margin: 0.75rem 1.1rem 0;
}

.at-dashboard-card__chevron {
    color: var(--at-text-muted);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.at-dashboard-card.is-open .at-dashboard-card__chevron {
    transform: rotate(180deg);
}

.at-dashboard-card__inner {
    cursor: pointer;
    user-select: none;
}

.at-dashboard-card__inner:hover {
    background: var(--at-surface-muted, #f8fafc);
}

.at-dashboard-card__expand {
    border-top: 1px solid var(--at-border);
}

.at-dashboard-card__expand[hidden] {
    display: none;
}

.at-dashboard-card__addon-suggestion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 1.1rem;
    border-top: 1px dashed var(--at-border);
    background: var(--at-surface-muted, #f8fafc);
}

.at-dashboard-card__addon-suggestion-text {
    font-size: 0.8125rem;
    color: var(--at-text-muted);
}

/*
 * Addon suggestion control — Elementor `.elementor-kit-* button` global styles
 * (background, padding, border-radius, text-transform, font, etc.) override plain
 * class rules. Match `.at-dealership-multi-tool-badge` pattern: `button.class` + !important.
 */
.at-dashboard-card__addon-btn,
.at-dashboard-card__addon-btn:visited,
button.at-dashboard-card__addon-btn,
[class*="elementor-kit"] button.at-dashboard-card__addon-btn {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.3rem 0.75rem !important;
    font-family: inherit !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: var(--at-text) !important;
    background: var(--at-surface) !important;
    background-color: var(--at-surface) !important;
    border: 1px solid var(--at-border) !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    line-height: inherit !important;
}

.at-dashboard-card__addon-btn:hover,
.at-dashboard-card__addon-btn:focus,
button.at-dashboard-card__addon-btn:hover,
button.at-dashboard-card__addon-btn:focus,
[class*="elementor-kit"] button.at-dashboard-card__addon-btn:hover,
[class*="elementor-kit"] button.at-dashboard-card__addon-btn:focus {
    background: #f1f5f9 !important;
    background-color: #f1f5f9 !important;
    border-color: var(--at-border-strong) !important;
    color: var(--at-text) !important;
    text-decoration: none !important;
}

.at-filter-count {
    font-weight: 400;
    opacity: 0.7;
}

/* Suppress old table-only styles on dashboard page */
.at-dashboard-summary__table-wrap,
.at-dashboard-summary__table {
    display: none;
}

@media (max-width: 600px) {
    .at-dashboard-card__inner {
        grid-template-columns: 1.5rem 1fr;
        grid-template-rows: auto auto;
    }

    .at-dashboard-card__meta {
        grid-column: 2;
    }

    .at-dashboard-card__right {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .at-dashboard-card__status-badge {
        display: none !important;
    }
}

.at-dashboard-summary__heading {
    margin: 0 0 1rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e293b;
}

.at-dashboard-summary__heading small {
    font-weight: 400;
    color: #475569;
    font-size: 0.85em;
    margin-left: 0.4em;
}

.at-dashboard-summary__table-wrap {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

.at-dashboard-summary__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.at-dashboard-summary__table th,
.at-dashboard-summary__table thead th {
    text-align: left;
    font-weight: 600 !important;
    color: #475569;
    font-size: 0.6875rem !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.55rem 0.75rem !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-block-start: none !important;
    white-space: nowrap;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 1.4;
    vertical-align: middle;
}

.at-dashboard-summary__table thead {
    background: transparent !important;
    box-shadow: none !important;
}

.at-dashboard-summary__table thead tr,
.at-dashboard-summary__table thead tr:first-child {
    background: transparent !important;
    box-shadow: none !important;
}

.at-dashboard-summary__table td {
    padding: 0.6rem 0.75rem !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    color: #334155;
    vertical-align: middle !important;
    background: transparent;
    line-height: 1.4;
}

.at-dashboard-summary__table tbody tr {
    background: transparent;
    box-shadow: none;
}

.at-dashboard-summary__table tbody tr:last-child td {
    border-bottom: none !important;
}

.at-dashboard-summary__table tbody tr:hover td {
    background: #f8fafc;
}

.at-dashboard-summary__status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    vertical-align: middle;
}

.at-dashboard-summary__status-dot--active {
    background: #22c55e;
}

.at-dashboard-summary__status-dot--expiring {
    background: #f59e0b;
}

.at-dashboard-summary__status-dot--expired {
    background: #ef4444;
}

.at-dashboard-summary__expiry-days {
    color: #475569;
    font-size: 0.8em;
    margin-left: 0.3em;
}

.at-dashboard-summary__serial-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
}

.at-dashboard-summary__serial {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    font-size: 0.8em;
    color: #475569;
}

.at-dashboard-summary__serial-copy {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.1em 0.45em !important;
    font-size: 0.72em !important;
    line-height: 1.4 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: #64748b !important;
    cursor: pointer !important;
    transition: background 0.15s, color 0.15s, border-color 0.15s !important;
    white-space: nowrap !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    box-shadow: none !important;
}

.at-dashboard-summary__serial-copy:hover {
    background: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    color: #334155 !important;
}

.at-dashboard-summary__serial-copy.is-copied {
    border-color: #22c55e !important;
    color: #16a34a !important;
}

.at-dashboard-summary__table td[data-label="Product"] {
    font-size: 0.75rem;
}

.at-dashboard-summary__table td[data-label="Expiry"] {
    font-size: 0.75rem;
}

.at-dashboard-summary__actions-cell {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem 0.4rem;
}

.at-dashboard-summary__renew-btn,
.at-dashboard-summary__table a.at-dashboard-summary__renew-btn,
.alientech-licenses .at-dashboard-summary__renew-btn,
.alientech-licenses button.at-dashboard-summary__renew-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    font-weight: 700;
    font-size: 0.72rem;
    line-height: 1;
    color: #0f172a !important;
    background: #ffee00 !important;
    border: none !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12);
}

.at-dashboard-summary__renew-btn:hover,
.at-dashboard-summary__renew-btn:focus,
.at-dashboard-summary__table a.at-dashboard-summary__renew-btn:hover,
.at-dashboard-summary__table a.at-dashboard-summary__renew-btn:focus,
.alientech-licenses button.at-dashboard-summary__renew-btn:hover,
.alientech-licenses button.at-dashboard-summary__renew-btn:focus {
    background: #ffe000 !important;
    color: #0f172a !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}

.at-dashboard-summary__view-link,
.at-dashboard-summary__table a.at-dashboard-summary__view-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    font-weight: 600;
    font-size: 0.75rem;
    line-height: 1;
    color: #0f172a !important;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.at-dashboard-summary__view-link:hover,
.at-dashboard-summary__view-link:focus,
.at-dashboard-summary__table a.at-dashboard-summary__view-link:hover,
.at-dashboard-summary__table a.at-dashboard-summary__view-link:focus {
    background: #0f172a;
    border-color: #0f172a;
    color: #ffee00 !important;
    text-decoration: none !important;
}


.at-dashboard-summary__actions {
    margin-top: 1rem;
    padding: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.at-dashboard-summary__actions h3 {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #334155;
}

.at-dashboard-summary__actions-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.at-dashboard-summary__actions-list li a,
.at-dashboard-summary__actions-list li a:visited {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    color: #374151 !important;
    background: #ffffff;
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.at-dashboard-summary__actions-list li a:hover,
.at-dashboard-summary__actions-list li a:focus {
    border-color: #475569;
    background: #f9fafb;
    color: #1f2937 !important;
    text-decoration: none;
}

.at-dashboard-summary__protocol-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 5px;
}

.at-dashboard-summary__protocol-pill {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #374151;
    background: #f1f3f5;
    border: 1px solid #e2e6ea;
    padding: 2px 8px;
    border-radius: 999px;
    line-height: 1.35;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
    overflow-wrap: anywhere;
}

/* Dashboard summary — responsive stacking */
@media (max-width: 640px) {
    /* Remove outer wrapper border on mobile so cards don't double-stroke */
    .at-dashboard-summary__table-wrap {
        background: transparent;
        border: none;
        border-radius: 0;
        overflow: visible;
    }

    .at-dashboard-summary__table,
    .at-dashboard-summary__table thead,
    .at-dashboard-summary__table tbody,
    .at-dashboard-summary__table tr,
    .at-dashboard-summary__table th,
    .at-dashboard-summary__table td {
        display: block;
    }

    .at-dashboard-summary__table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .at-dashboard-summary__table tbody tr {
        padding: 0.75rem;
        margin-bottom: 0.5rem;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        background: #ffffff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }

    .at-dashboard-summary__table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.75rem;
        padding: 0.4rem 0 !important;
        border: none !important;
        border-bottom: 1px solid #f1f5f9 !important;
        font-size: 0.8125rem;
    }

    .at-dashboard-summary__table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #475569;
        font-size: 0.625rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        margin-right: auto;
        flex-shrink: 0;
    }

    .at-dashboard-summary__table td:last-child {
        border-bottom: none !important;
    }

    .at-dashboard-summary__actions-cell {
        justify-content: flex-end;
    }
}

/* ---------------------------------------------------------------
 * Elementor cart toggle — tighten oversized padding around icon
 * ------------------------------------------------------------- */
.elementor-menu-cart__toggle,
.elementor-menu-cart__toggle .elementor-button-wrapper,
.elementor-menu-cart__toggle .elementor-button {
    padding: 0 !important;
}
.elementor-menu-cart__toggle .elementor-button {
    min-height: 0 !important;
    line-height: 1 !important;
    border: 0 !important;
    background: transparent !important;
}
.elementor-menu-cart__toggle .elementor-button-icon {
    margin: 0 !important;
    padding: 0 !important;
}

/* -----------------------------------------------------------------
 * Logged-out My Account: compact, centered login/register card
 * Matches the My Account "mac" surface look (rounded, bordered, soft shadow)
 * and prevents the default 1560px shell from dwarfing the form.
 * --------------------------------------------------------------- */
body.woocommerce-account:not(.logged-in) main.site-main {
    max-width: min(520px, 100% - 2rem) !important;
    padding-top: 3rem;
    padding-bottom: 3rem;
    min-height: calc(100vh - 200px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
    margin: 0 auto;
}

body.woocommerce-account:not(.logged-in) #customer_login {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: #ffffff;
    border: 1px solid var(--at-mac-border, #e2e8f0);
    border-radius: 14px;
    padding: 1.75rem 1.75rem 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
}

body.woocommerce-account:not(.logged-in) #customer_login h2 {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--at-mac-text, #0f172a);
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row {
    margin-bottom: 0.9rem;
}

body.woocommerce-account:not(.logged-in) #customer_login label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--at-mac-text-muted, #475569);
}

body.woocommerce-account:not(.logged-in) main.site-main input[type="text"],
body.woocommerce-account:not(.logged-in) main.site-main input[type="email"],
body.woocommerce-account:not(.logged-in) main.site-main input[type="password"],
body.woocommerce-account:not(.logged-in) main.site-main input[type="tel"],
body.woocommerce-account:not(.logged-in) main.site-main input[type="number"],
body.woocommerce-account:not(.logged-in) main.site-main input[inputmode="numeric"],
body.woocommerce-account:not(.logged-in) main.site-main input.authcode,
body.woocommerce-account:not(.logged-in) main.site-main input[autocomplete="one-time-code"] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--at-mac-border, #e2e8f0);
    border-radius: 8px;
    font-size: 0.95rem;
    background: #fff;
    box-sizing: border-box;
    letter-spacing: normal;
}

body.woocommerce-account:not(.logged-in) main.site-main input[type="text"]:focus,
body.woocommerce-account:not(.logged-in) main.site-main input[type="email"]:focus,
body.woocommerce-account:not(.logged-in) main.site-main input[type="password"]:focus,
body.woocommerce-account:not(.logged-in) main.site-main input[type="tel"]:focus,
body.woocommerce-account:not(.logged-in) main.site-main input[type="number"]:focus,
body.woocommerce-account:not(.logged-in) main.site-main input[inputmode="numeric"]:focus,
body.woocommerce-account:not(.logged-in) main.site-main input.authcode:focus,
body.woocommerce-account:not(.logged-in) main.site-main input[autocomplete="one-time-code"]:focus {
    outline: none;
    border-color: #1d4ed8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

/* 2FA / one-time code input — center text, spaced digits, bigger */
body.woocommerce-account:not(.logged-in) main.site-main input.authcode,
body.woocommerce-account:not(.logged-in) main.site-main input[autocomplete="one-time-code"],
body.woocommerce-account:not(.logged-in) main.site-main input[name="authcode"],
body.woocommerce-account:not(.logged-in) main.site-main input[name="2fa"],
body.woocommerce-account:not(.logged-in) main.site-main input[name="totp"] {
    text-align: center;
    font-size: 1.25rem !important;
    font-weight: 600;
    letter-spacing: 0.35em !important;
    padding: 0.75rem 0.75rem !important;
    font-variant-numeric: tabular-nums;
}

/* 2FA / standalone challenge step often renders outside #customer_login.
   Center every heading on the logged-out my-account page, no matter how
   deeply WC / Wordfence nests it (.woocommerce > h2, entry-content,
   bare h1/h2 inside main, etc.). */
body.woocommerce-account:not(.logged-in) main.site-main h1,
body.woocommerce-account:not(.logged-in) main.site-main h2,
body.woocommerce-account:not(.logged-in) main.site-main h3,
body.woocommerce-account:not(.logged-in) main.site-main .page-title,
body.woocommerce-account:not(.logged-in) main.site-main .entry-title {
    text-align: center !important;
    margin: 0 0 1.25rem;
}

body.woocommerce-account:not(.logged-in) main.site-main form.login,
body.woocommerce-account:not(.logged-in) main.site-main form#loginform,
body.woocommerce-account:not(.logged-in) main.site-main form.wp-2fa-form,
body.woocommerce-account:not(.logged-in) main.site-main form[name="validate_2fa_form"],
body.woocommerce-account:not(.logged-in) main.site-main form[name="loginform"],
body.woocommerce-account:not(.logged-in) main.site-main form[name="wfls"],
body.woocommerce-account:not(.logged-in) main.site-main form.wfls-form,
body.woocommerce-account:not(.logged-in) main.site-main form[id^="wfls"],
body.woocommerce-account:not(.logged-in) main.site-main form:has(input.authcode),
body.woocommerce-account:not(.logged-in) main.site-main form:has(input[autocomplete="one-time-code"]),
body.woocommerce-account:not(.logged-in) main.site-main form:has(input[name="wordfence-authfactor"]),
body.woocommerce-account:not(.logged-in) main.site-main form:has(input[name="wfls-token"]) {
    background: #ffffff;
    border: 1px solid var(--at-mac-border, #e2e8f0);
    border-radius: 14px;
    padding: 1.75rem 1.75rem 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 420px;
}

/* Wordfence 2FA help-tooltip icon next to the label */
body.woocommerce-account:not(.logged-in) main.site-main .wfls-tooltip,
body.woocommerce-account:not(.logged-in) main.site-main .wfls-tooltip-trigger {
    color: var(--at-mac-text-muted, #475569);
    margin-left: 0.35rem;
    cursor: help;
}

/* "Remember for 30 days" checkbox row inside the 2FA card */
body.woocommerce-account:not(.logged-in) main.site-main form .login-remember,
body.woocommerce-account:not(.logged-in) main.site-main form label[for="rememberme"],
body.woocommerce-account:not(.logged-in) main.site-main form .wfls-remember-device {
    display: inline-flex !important;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.875rem;
    color: var(--at-mac-text-muted, #475569);
    font-weight: 500;
    margin: 0.6rem 0 0;
}
body.woocommerce-account:not(.logged-in) main.site-main form input[type="checkbox"] {
    accent-color: #ffee00;
    width: 1rem;
    height: 1rem;
    margin: 0;
}

/* "Log In" submit button on the 2FA / wp-login style forms — match the
   yellow pill used on the regular WooCommerce login form. */
body.woocommerce-account:not(.logged-in) main.site-main form.login input[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form.login button[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form#loginform input[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form#loginform button[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form[name="validate_2fa_form"] input[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form[name="validate_2fa_form"] button[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form.wfls-form input[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form.wfls-form button[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form[id^="wfls"] input[type="submit"],
body.woocommerce-account:not(.logged-in) main.site-main form[id^="wfls"] button[type="submit"] {
    display: inline-block !important;
    float: none !important;
    width: auto !important;
    margin: 1rem auto 0 !important;
    padding: 0.6rem 1.6rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ffee00 !important;
    background-image: none !important;
    color: #0f172a !important;
    font-family: inherit !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}
body.woocommerce-account:not(.logged-in) main.site-main form.login input[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form.login button[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form#loginform input[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form#loginform button[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form[name="validate_2fa_form"] input[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form[name="validate_2fa_form"] button[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form.wfls-form input[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form.wfls-form button[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form[id^="wfls"] input[type="submit"]:hover,
body.woocommerce-account:not(.logged-in) main.site-main form[id^="wfls"] button[type="submit"]:hover {
    background: #64748b !important;
    color: #ffffff !important;
}

/* Center the submit row inside the 2FA card. */
body.woocommerce-account:not(.logged-in) main.site-main form.login p.submit,
body.woocommerce-account:not(.logged-in) main.site-main form#loginform p.submit,
body.woocommerce-account:not(.logged-in) main.site-main form.wfls-form p.submit,
body.woocommerce-account:not(.logged-in) main.site-main form[id^="wfls"] p.submit {
    text-align: center;
    margin-top: 1rem;
}

body.woocommerce-account:not(.logged-in) main.site-main form.login p,
body.woocommerce-account:not(.logged-in) main.site-main form.wp-2fa-form p {
    margin: 0 0 0.9rem;
}

body.woocommerce-account:not(.logged-in) main.site-main form.login label,
body.woocommerce-account:not(.logged-in) main.site-main form.wp-2fa-form label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--at-mac-text-muted, #475569);
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form__label-for-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--at-mac-text-muted, #475569);
    font-weight: 500;
}

body.woocommerce-account:not(.logged-in) button.woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) button.woocommerce-form-register__submit,
body.woocommerce-account:not(.logged-in) input.woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) input.woocommerce-form-register__submit,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit.button,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register__submit.button,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-register__submit,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit {
    display: inline-block !important;
    float: right !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0.75rem 0 0 auto !important;
    padding: 0.6rem 1.4rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ffee00 !important;
    background-image: none !important;
    color: #0f172a !important;
    font-family: inherit !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    text-transform: none !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit:hover,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register__submit:hover,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit:focus,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register__submit:focus,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-login__submit:hover,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-register__submit:hover,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit:hover,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit:hover,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-login__submit:focus,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-register__submit:focus,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit:focus,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit:focus {
    background: #64748b !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    transform: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .lost_password {
    margin-top: 0.75rem;
    font-size: 0.85rem;
    text-align: right;
}

body.woocommerce-account:not(.logged-in) #customer_login .lost_password a {
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 600;
}

body.woocommerce-account:not(.logged-in) #customer_login .lost_password a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (min-width: 720px) {
    body.woocommerce-account:not(.logged-in) main.site-main {
        max-width: min(960px, 100% - 3rem) !important;
    }
    body.woocommerce-account:not(.logged-in) #customer_login {
        flex-direction: row;
        align-items: flex-start;
    }
    body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
    body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
        flex: 1 1 0;
    }
}

/* My-account login page: light grey page background + centered page title. */
body.woocommerce-account:not(.logged-in),
body.woocommerce-account:not(.logged-in) .elementor,
body.woocommerce-account:not(.logged-in) .site,
body.woocommerce-account:not(.logged-in) .site-content,
body.woocommerce-account:not(.logged-in) main.site-main {
    background-color: #f1f5f9 !important;
}

body.woocommerce-account:not(.logged-in) .entry-title,
body.woocommerce-account:not(.logged-in) h1.entry-title,
body.woocommerce-account:not(.logged-in) .elementor-heading-title,
body.woocommerce-account:not(.logged-in) .page-title,
body.woocommerce-account:not(.logged-in) main.site-main > header.entry-header,
body.woocommerce-account:not(.logged-in) main.site-main > header.entry-header h1,
body.woocommerce-account:not(.logged-in) main.site-main > header.page-header,
body.woocommerce-account:not(.logged-in) main.site-main > header.page-header h1 {
    text-align: center !important;
}

/* --------------------------------------------------------------------------
   WAPF serial field (product pages) — tame the huge default label and
   align the input with the my-account input style.
   -------------------------------------------------------------------------- */

.wapf-field-container.label-above .wapf-field-label,
.wapf-field-container .wapf-field-label,
.wapf .wapf-field-label,
.wapf-field-label {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin: 0 0 0.35rem !important;
    color: #0f172a;
    letter-spacing: normal;
    text-transform: none;
}

.wapf-field-container .wapf-input[type="text"],
.wapf .wapf-input[type="text"],
input.wapf-input[type="text"] {
    width: 100% !important;
    padding: 0.6rem 0.75rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    background: #fff !important;
    box-sizing: border-box;
    letter-spacing: normal;
}

.wapf-field-container .wapf-input[type="text"]:focus,
.wapf .wapf-input[type="text"]:focus,
input.wapf-input[type="text"]:focus {
    outline: none !important;
    border-color: #1d4ed8 !important;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15) !important;
}

/* Device selector dropdown — match the same look */
.at-proto-device-selector__select {
    width: 100%;
    padding: 0.6rem 0.75rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    background: #fff !important;
    box-sizing: border-box;
}

.at-proto-device-selector__select:focus {
    outline: none !important;
    border-color: #1d4ed8 !important;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15) !important;
}

.at-proto-device-selector__label {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
