/* ============================================================
   Hero Portal — Modern SaaS Styling
   ============================================================ */

/* --- Base & Reset --- */

html,
body {
    height: 100%;
}

html {
    background: #ffffff;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    color: #1a1b1e;
}

/* --- Design Token Overrides ---
   These cascade through shadow DOM into DXP/SLDS components */

:root {
    --dxp-g-root: #ffffff;
    --dxp-g-root-contrast: #1a1b1e;
    --dxp-g-neutral: #f5f5f7;
    --dxp-g-neutral-1: #e8e8eb;
    --dxp-g-neutral-2: #d1d1d6;
    --dxp-g-neutral-3: #aeaeb2;

    --slds-g-radius-border-2: 10px;
    --slds-g-radius-border-3: 12px;
    --slds-g-radius-border-4: 16px;

    --slds-g-shadow-1: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --slds-g-shadow-2: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
    --slds-g-shadow-3: 0 8px 24px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.04);
}

/* --- Global Transitions --- */

a,
button,
input,
select,
textarea {
    transition: background-color 0.2s ease,
                border-color 0.2s ease,
                color 0.2s ease,
                box-shadow 0.2s ease,
                transform 0.15s ease;
}

/* --- Focus States --- */

*:focus-visible {
    outline: 2px solid rgb(244, 96, 21);
    outline-offset: 2px;
    border-radius: 4px;
}

/* --- Cards & Containers --- */

.slds-card {
    border-radius: 12px !important;
    border: 1px solid #e8e8eb !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
}

.slds-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.slds-card .slds-card,
.slds-card .slds-card:hover {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* --- Buttons --- */

.slds-button {
    border-radius: 8px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em;
    transition: all 0.2s ease !important;
}

.slds-button_brand,
.slds-button--brand,
.comm-button-brand,
[class*="button"][class*="primary"] {
    box-shadow: 0 1px 3px rgba(7, 56, 137, 0.3) !important;
}

.slds-button_brand:hover,
.slds-button--brand:hover,
.comm-button-brand:hover,
[class*="button"][class*="primary"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(7, 56, 137, 0.25) !important;
}

.slds-button_brand:active,
.slds-button--brand:active,
.comm-button-brand:active,
[class*="button"][class*="primary"]:active {
    transform: translateY(0px);
    box-shadow: 0 1px 2px rgba(7, 56, 137, 0.2) !important;
}

.slds-button_neutral,
.slds-button--neutral {
    border-color: #d1d1d6 !important;
    background: #ffffff !important;
}

.slds-button_neutral:hover,
.slds-button--neutral:hover {
    background: #f5f5f7 !important;
    border-color: #aeaeb2 !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}

/* --- Tables --- */

.slds-table,
table[class*="table"] {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    border: 1px solid #e8e8eb !important;
}

.slds-table thead th,
table[class*="table"] thead th {
    background: #f9f9fb !important;
    border-bottom: 2px solid #e8e8eb !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #6e6e73 !important;
    padding: 12px 16px !important;
}

.slds-table tbody td,
table[class*="table"] tbody td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #f0f0f2 !important;
    vertical-align: middle !important;
}

.slds-table tbody tr:last-child td,
table[class*="table"] tbody tr:last-child td {
    border-bottom: none !important;
}

.slds-table tbody tr:hover td,
table[class*="table"] tbody tr:hover td {
    background: #f5f7fa !important;
}

/* --- Form Elements --- */

.slds-input,
.slds-textarea {
    border-radius: 8px !important;
    border: 1.5px solid #d1d1d6 !important;
    transition: all 0.2s ease !important;
}

.slds-input:hover,
.slds-textarea:hover {
    border-color: #aeaeb2 !important;
}

.slds-input:focus,
.slds-textarea:focus {
    border-color: #073889 !important;
    box-shadow: 0 0 0 3px rgba(7, 56, 137, 0.12) !important;
    outline: none !important;
}

.slds-form-element__label {
    font-weight: 500 !important;
    color: #3a3a3c !important;
}

::placeholder {
    color: #aeaeb2 !important;
    opacity: 1;
}

/* --- Section Layout --- */

.mainSection {
    animation: fadeInUp 0.4s ease both;
}

.LoginSection {
    padding-top: 4rem;
    animation: fadeInUp 0.5s ease both;
}

.ForgetPass,
.CheckMail,
.SupportSection {
    animation: fadeInUp 0.4s ease both;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Links --- */

a:not([class*="button"]):not([class*="nav"]) {
    text-decoration: none;
    transition: color 0.15s ease;
}

a:not([class*="button"]):not([class*="nav"]):hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
}

/* --- Badges & Pills --- */

.slds-badge {
    border-radius: 20px !important;
    font-weight: 500 !important;
    padding: 2px 10px !important;
    font-size: 0.75rem !important;
}

/* --- Dropdowns & Menus --- */

/* .slds-dropdown,
[class*="dropdown__list"],
[class*="listbox"] {
    border-radius: 10px !important;
    border: 1px solid #e8e8eb !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
    padding: 4px !important;
}

.slds-dropdown__item,
[class*="listbox__option"] {
    border-radius: 6px !important;
    margin: 1px 0 !important;
}

.slds-dropdown__item:hover,
[class*="listbox__option"]:hover {
    background: #f5f5f7 !important;
} */

/* --- Tooltips & Popovers --- */

.slds-popover {
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid #e8e8eb !important;
}

/* --- Print --- */

@media print {
    .siteheaderSectioncss,
    .NavMenucss {
        position: static !important;
    }
}
