.modal-title {
    font-weight: bold;
    color: #0d6efd;
}
.modal-header {
    border-bottom: none;
    padding: 1rem 1.25rem; /* tweak as needed */
}
.custom-modal-width {
    max-width: 90%; 
    width: auto !important;
}
.full-modal {
    max-width: 95%;
    width: 95%;
    margin: 2.5% auto;
    height: 95vh;
    display: flex;
    align-items: center;
}
#modalForLinkContent .modal-content {
    height: 100%;
}
@media (min-width: 62rem) {
    .custom-modal-width {
        max-width: 56.25rem;
    }
    .full-modal {
        max-width: 95%;
    }
}
.margin-down {
    margin-top: 1.875rem !important;
}
.no-margin-padding {
    margin: 0 !important;
    padding: 0 !important;
    border-collapse:collapse !important;
}
button {
    font-size: 0.8rem !important;
}
iframe {
    width: 100%;
    height: 100%;
    min-height: 300px !important;
    border: none; /* remove border */
    display: block; /* removes inline spacing */
    margin: 1px;
}
.nav-tabs .nav-link {
    color: #c0c0c0;
}
.menu-item-active {
    background-color: aqua;
    border-radius: 10px;
    padding: 0.5rem 0.75rem 0.5rem 0.75rem !important;
}
.custom-link-on-head-table {
    color: blue !important;
    font-weight: bold;
    text-decoration: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.next-page-link {
    color: blue !important;
    font-weight: bold;
    text-decoration: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.lang-select{
    font-size: 0.75rem !important;
    margin-left: 0.3125rem !important;
    margin-top: 0.3125rem !important;
    margin-bottom: 0.3125rem !important;
    border: 0.0625rem solid rgb(13, 133, 180) !important;  /* 1px if root font-size = 16px */
}
.modal-multi-choices {
    max-height: 20rem; 
    overflow-y: auto;
}
.message_return {
	color: #C41230;
	text-align: center;
}
.message_return_modal {
	color: #C41230;
	text-align: center;
}
.errorlist {
	padding: 0.3rem;
	list-style: none;
	color: #C41230;
	text-align: center;
	font-size: 0.875rem;
    text-align: left;
}
.text-grey-out, .text-form {
    color: #797777;
    font-style: italic;
    font-size: 0.7rem;
}
.text-form-required {
    color: #8a8080 !important;
    font-size: 0.9rem !important;    
    font-family: Arial, sans-serif;
    padding-left: 10px;
}
.text-form-required::first-letter {
    color: red;
    font-weight: bolder;
}
.text-success {
    color: #0d6efd;
    font-weight: bold;
}
.float-text-for-qa-mode {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translate(-50%, -50%);
    color: red;
    font-size: 1.4rem;
    padding: 0 0;
    border-radius: 6px;
    background: rgba(217, 221, 17, 0.5);
    z-index: 9999;
}
.ui-autocomplete {
    z-index: 10000 !important;
}
.ul-no-indentation {
  list-style-position: inside;
  padding-left: 0;
}
.ui-datepicker-month {
  border-radius: 4px;
  font-size: 0.9rem !important;
  margin-right: 2px !important;
}
.ui-datepicker-year {
  border-radius: 4px;
  font-size: 0.9rem !important;
}
.ui-datepicker {
  z-index: 99999 !important;
}
.no-margin {
    margin: 0;
    padding: 0 !important;
}
.address_form {
    width: 100%;
    margin: 0.4rem 0 0.4rem 0;
    border-color: #0d6efd;
}
.address_form_title {
    color: white !important;
    background-color: #0d6efd; 
    border-color: #0d6efd;
}
.page-select-required {
    color: #0d6efd;
    font-weight: bold;
    margin: 0.3rem auto 2.1rem auto !important;
    padding: 0.3rem auto 0.6rem auto !important;
}
input:required:invalid,
select:required:invalid,
textarea:required:invalid {
    border: 2px solid #e74c3c;  /* red border */
    background: #fdecea;        /* light red background */
}
.form-check-input {
    cursor: pointer;
    background-color: #afb8a6;
}
.form-check-label-sm {
    color: #797777;
    font-size: 0.56rem;
    font-family: Arial, sans-serif;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.form-control.xs,
.form-select.xs {
    height: 25px;
    font-size: 0.75rem;
    padding: 2px 6px;
}
.link-edit {
    color: #0d6efd;
    text-decoration: none;
    font-weight: 500; 
    transition: color 0.2s ease, text-decoration 0.2s ease;
}
.link-edit:hover,
.link-edit:focus {
    color: #0a58ca;
    text-decoration: underline; 
}
.link-edit:active {
    color: #084298;              /* even darker when active */
}
.page-subtitle {
    color: #000;
    font-size: 0.9rem;
}
.page-title {
    font-size: 1.2rem;
}
.text-top-right {
    font-size: 0.67rem;
}
.text-sm {
    font-size: 0.67rem;
}
.scroll-box {
  max-height: 15rem;
  overflow: auto;
  white-space: pre-wrap;  /* keep line breaks but allow wrapping */
}
.fieldset-in-form {
    border: 1px dotted #aaa;   /* simple edge */
    border-radius: 6px;       /* soften corners */
    padding: 15px;
}
.legend-in-form {
    font-size: 1rem;
}
.w-one-icon {
    width: 2rem !important;
}
.table-no-spaces {
    margin: 0 !important;
    padding: 0 !important;
    float: left !important;
    border-collapse:collapse !important;
}
.table-in-tab {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 0.7rem;
    border-radius: 6px;
    overflow: hidden; /* round corners */
}
.table-in-tab thead th {
    font-size: 0.7rem;
    text-align: left;
    padding: 10px;
    border-bottom: 1px solid #1a252f;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.table-in-tab-sm {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 0.7rem;
    border-radius: 6px;
    overflow: hidden; /* round corners */
}
.table-in-tab-sm thead th {
    font-size: 0.5rem;
    text-align: left;
    padding: 10px;
    border-bottom: 1px solid #1a252f;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.table-main thead th {
    font-size: 1rem;
}
.table-main {
    font-size: 0.9rem;
}
.table-sub thead th {
    font-size: 1rem;
}
.table-sub {
    font-size: 0.9rem;
}