/* Base HTML layout */

/* Smaller screens including devices */
html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

/* Larger screens */
@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* Focus styles */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* Body layout */
body {
    margin-bottom: 60px;
    /*background-color: #ffeeee !important;*/ /*top check if css is loading properly*/
}

/*DataTable*/
/*dom styles*/
.dom-wrapper {
    /*width: 100%;*/
    margin: 0 auto;
    background-color: lightgrey;
}

.dom-inner1 {
    margin: 0 20px;
    display: inline-block;
    vertical-align: middle;
}

.dom-inner2 {
    margin: 10px 20px 0 20px;
    display: block;
    float: right;
    vertical-align: middle;
}

.dom-inner3 {
    margin: 3px 20px 0 20px;
    display: block;
    float: right;
    vertical-align: middle;
}

/*search results link*/
.case-number {
    font-size: 16px;
    color: dodgerblue;
}

/*DataTable*/


/*eCertify This is for hidden fields needed on client side*/
.hidefields {
    display: none;
}

/*Spinner*/

.spinner {
    width: 40px;
    height: 40px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
    z-index: 9999;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.spinner-active {
    cursor: wait !important;
}

/*Download*/
#downloadModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

#downloadModalContent {
    background: white;
    padding: 20px 30px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

    #downloadModalContent button {
        margin: 10px;
        padding: 10px 20px;
        cursor: pointer;
    }

/*Toast*/
#simpleToast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 12px 20px;
    border-radius: 5px;
    font-size: 0.95em;
    z-index: 9999;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    display: none;
}

.DisclaimerBodyHeader {
    /* New Clerk theme */
    color: #01426A;
    font-weight: bold;
}

/* For _LoginPartial styling */
.nav-username {
    font-weight: 700;
    font-style: italic;
    color: #01426A !important;
    padding-top: .3125rem;
    padding-bottom: .3125rem;
}

/* Ada & Brand Styling */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #fff;
    color: #000;
    padding: 8px 16px;
    z-index: 1000;
    text-decoration: none;
}

    .skip-link:focus {
        top: 0;
    }

/* For Guest, Registered & eCertify */
.login-btn {
    display: inline-block;
    border: none;
    background-color: transparent;
    padding: 0;
    cursor: pointer;
    text-indent: -9999px; /* hide text visually */
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 220px; /* adjust to your image size */
    height: 60px; /* adjust to your image size */
}

/* guest */
.login-btn-guest {
    background-image: url('/eCaseView/Images/continue-as-guest.gif');
}

/* registered */
.login-btn-registered {
    background-image: url('/eCaseView/Images/log-in-registered-user.gif');
}

/* eCert link */
.login-btn-ecert {
    background-image: url('/eCaseView/Images/eCertifyClerkPage-2.gif');
}



h1.LandingPageHeader {
    all: unset;
    display: block;
    /*Clerk theme*/
    color: #01426A;
    font-weight: bold;
    font-size: 1rem;
    margin-top: 0;
    margin-bottom: .5rem;
    line-height: 1.2;
}

.news-box {
    background-color: #e6eef3; /* soft tint of #01426A */
    border-left: 4px solid #01426A;
    color: #01426A;
    border-radius: 4px;
}

.maint-box {
    border-left: 4px solid #01426A !important;
    padding-left: 1rem !important;
    color: #01426A;
    border-radius: 4px;
}

.logout-box {
    background-color: #e9f7ec; /* soft green tint */
    border-left: 4px solid #01426A; /* brand color */
    color: #01426A; /* brand text */
    border-radius: 4px;
}

/* Base tab styling */
/* Stronger base selector */
ul.nav.nav-tabs > li.nav-item > a.nav-link {
    border: none !important;
    border-bottom: 3px solid transparent !important;
    color: #01426A !important;
    font-weight: 500 !important;
    background-color: transparent !important;
}

    /* Hover state */
    ul.nav.nav-tabs > li.nav-item > a.nav-link:hover {
        border-bottom: 3px solid #7aa5bd33 !important;
        color: #012f4a !important;
    }

    /* Active tab � strongest possible selector */
    ul.nav.nav-tabs > li.nav-item > a.nav-link.active,
    ul.nav.nav-tabs > li.nav-item > a.nav-link[aria-selected="true"] {
        border-bottom: 3px solid #01426A !important;
        color: #01426A !important;
        font-weight: 600 !important;
        background-color: transparent !important;
    }

/* Section headers inside forms */
.form-section-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #01426A;
    margin-bottom: 1rem;
    border-left: 4px solid #01426A;
    padding-left: .75rem;
}

/* Labels */
.form-label {
    font-weight: 600;
    color: #01426A;
}

/* Inputs */
.form-control {
    border-radius: 4px;
    border: 1px solid #b8c7d1;
    padding: .55rem .75rem;
}

    .form-control:focus {
        border-color: #01426A;
        box-shadow: 0 0 0 0.15rem rgba(1, 66, 106, 0.25);
    }

/* Validation messages */
.text-danger {
    font-size: .875rem;
    margin-top: .25rem;
}

/* Config text (right column) */
.form-config-text {
    color: #6c757d;
    font-size: .875rem;
    line-height: 1.3;
}

/* Checkbox alignment */
.form-check-input {
    margin-top: .35rem;
}

/* Buttons */
.btn-primary {
    background-color: #01426A;
    border-color: #01426A;
}

    .btn-primary:hover {
        background-color: #012f4a;
        border-color: #012f4a;
    }

.btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
}

    .btn-secondary:hover {
        background-color: #5a6268;
        border-color: #545b62;
    }

/* Compact card spacing for Search Criteria display */
.compact-card .card-body {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}

/* Reduce table row spacing */
.criteria-details-table tr > td {
    padding-top: .15rem !important;
    padding-bottom: .15rem !important;
}

/* Label column width + alignment */
.criteria-label {
    width: 38%;
    white-space: nowrap;
}

/* Value column */
.criteria-value {
    white-space: nowrap;
}

/* Case Layouts */
/* Compact summary card */
.compact-summary-card .summary-row {
    font-size: .95rem;
    margin-bottom: .15rem;
}

.summary-label {
    font-weight: 800;
    color: #01426A;
}

.summary-value {
    font-weight: 600;
    color: #333;
}

.highlighted {
    background-color: #fff3cd;
    padding: .15rem .35rem;
    border-radius: 4px;
}

/* Tabs */

.case-tabs .nav-link {
    color: #01426A;
    font-weight: 500;
    padding: .5rem 1rem;
}

    .case-tabs .nav-link:hover {
        color: #012f4a;
    }

    .case-tabs .nav-link.active,
    .case-tabs .nav-link[aria-selected="true"] {
        color: #01426A;
        font-weight: 600;
        background-color: transparent !important;
        border: none !important;
        border-bottom: 3px solid #01426A !important;
    }

    /* Focus state for accessibility */
    .case-tabs .nav-link:focus {
        outline: 3px solid #01426A;
        outline-offset: 2px;
        border-radius: 0;
    }

/* Case Info */
/* Compact summary card */
.compact-summary-card .card-body {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}

/* Reduce table row spacing */
.caseinfo-details-table tr > td {
    padding-top: .1rem !important;
    padding-bottom: .1rem !important;
}

/* Label column width + alignment */
.caseinfo-label {
    width: 20% !important;
    white-space: nowrap;
    padding-right: .5rem !important;
    color: #01426A !important;
}

/* Value column */
.caseinfo-value {
    white-space: nowrap;
    width: 80% !important;
    color: #333 !important;
}

.caseinfo-value-wrap {
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    color: #333 !important;
}

/*Parties*/
/* Compact table spacing */
#infoTable td,
#infoTable th {
    padding-top: .35rem !important;
    padding-bottom: .35rem !important;
}

/* Card wrapper spacing for table */
.card-body {
    padding: .75rem !important;
}

/*Fees*/
/* Compact table spacing */
.table-sm td,
.table-sm th {
    padding-top: .35rem !important;
    padding-bottom: .35rem !important;
}

/* Sentences & Warrant both have expandable features. Keep the styling separate in case there is a custom change needed for one table. */

/*Sentences*/
/* Chevron cell */
/*.sentence-chevron-cell {
    position: relative;
    padding-left: 1.5rem !important;
}*/

/* Chevron icon */
.sentence-chevron {
    position: absolute;
    left: .25rem;
    top: 50%;
    transform: translateY(-50%) rotate(90deg); /* default expanded */
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 6px solid #01426A;
    transition: transform .25s ease;
}

/* Collapsed state */
.sentence-main-row[aria-expanded="false"] .sentence-chevron {
    transform: translateY(-50%) rotate(0deg);
}

/* Expanded state */
.sentence-main-row[aria-expanded="true"] .sentence-chevron {
    transform: translateY(-50%) rotate(90deg);
}

/* Nested table indentation */
.sentence-terms-table {
    width: 90%;
    margin-left: 1.5rem;
}

    /* Compact nested table spacing */
    .sentence-terms-table th,
    .sentence-terms-table td {
        padding-top: .35rem !important;
        padding-bottom: .35rem !important;
    }

/*Warrants*/
/* Highlight bench warrant rows */
.warrant-highlight {
    background-color: #fff3cd !important; /* soft yellow */
}

#warrantTable tr.warrant-highlight,
#warrantTable tr.warrant-highlight > td {
    background-color: #fff3cd !important;
}


/* Make nested table indented and compact */
.warrant-nested-table {
    width: 90%;
    margin-left: 1.5rem;
}

    .warrant-nested-table th,
    .warrant-nested-table td {
        padding-top: .35rem !important;
        padding-bottom: .35rem !important;
    }

/* Pointer cursor for expandable rows */
.warrant-main-row {
    cursor: pointer;
}

/* Remove extra spacing */
.warrant-details-row > td {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}

/* Chevron container */
.warrant-chevron-cell {
    position: relative;
    padding-left: 1.5rem !important;
}

/* Chevron icon */
.warrant-chevron {
    position: absolute;
    left: .25rem;
    top: 50%;
    transform: translateY(-50%) rotate(90deg); /* default expanded */
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 6px solid #01426A; /* brand color */
    transition: transform .25s ease;
}

/* Collapsed state rotates chevron right */
.warrant-main-row[aria-expanded="false"] .warrant-chevron {
    transform: translateY(-50%) rotate(0deg);
}

/* Expanded state rotates chevron down */
.warrant-main-row[aria-expanded="true"] .warrant-chevron {
    transform: translateY(-50%) rotate(90deg);
}


/* Dockets */
/* Remove bullets and align icons cleanly */
.icon-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1rem;
}

    .icon-list li {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin-bottom: .5rem;
    }

/* Standardized icon size */
.icon-img {
    width: 24px;
    height: 24px;
}

.section-label {
    font-size: 1.25rem; /* matches h5 */
    font-weight: 600;
    margin-bottom: .5rem;
}


/* Reset preference link styled as a small button */
.reset-pref-btn {
    font-size: .75rem;
    text-decoration: underline;
    color: #0d6efd;
}

    .reset-pref-btn:hover,
    .reset-pref-btn:focus {
        text-decoration: none;
        color: #0a58ca;
    }

/* Warning message spacing */
.warning {
    margin-bottom: .5rem;
    font-weight: bold;
    color: #b30000; /* darker red that passes WCAG */
}

/* eCertify toolbar */
.icon-btn {
    width: 40px;
    height: 40px;
    border: none;
    cursor: pointer;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: white;
}


.icon-btn-cart {
    float: left; /* replaces inline-start */
    color: white;
    height: 40px;
    width: 40px;
    /*background: url('../Images/cart-thumb.png') no-repeat center center;*/
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    cursor: pointer;
}

.icon-btn, .icon-btn-cart {
    outline: none;
}

    .icon-btn:focus, .icon-btn-cart:focus {
        outline: 3px solid #01426A;
        outline-offset: 3px;
    }

/* Individual button icons */
#idCart {
    background-image: url('../Images/cart-thumb.png');
    background-color: transparent;
}

#idVerifyDoc {
    background-image: url('../Images/verifydoc.png');
    background-color: transparent;
}

#idLookupReceipt {
    background-image: url('../Images/findreceipt.png');
    background-color: transparent;
}


/* Proper, stable, WCAG-compliant visually hidden text */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/*for screen reader*/
.sr-minimal {
    font-size: 1px;
    line-height: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    color: transparent;
    background: transparent !important;
}


/* Legend styling */
.legend {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .9rem;
}

.legend-icon {
    width: 18px;
    height: 18px;
}

.legend-sep {
    width: 2rem;
    display: inline-block;
}

/* Docket table */
.iconimage:focus {
    outline: 3px solid #01426A;
    outline-offset: 3px;
}

/* Ada Styling */

/* Date columns */
.dt-nowrap-left {
    white-space: nowrap;
    text-align: left;
}
