/* Minimal styles for rate table and badges */
.rm-rate-table-preview-container { width: 100%; max-width: 1000px; margin: 0 auto; }
.rm-rate-table { margin: 1em 0; }
.rm-rate-table__title { font-weight: 600; margin-bottom: .5em; text-align: center; }
.rm-rate-table__table { width: 100%; border-collapse: collapse; margin-left: auto; margin-right: auto; }
.rm-rate-table__table th, .rm-rate-table__table td { border: 1px solid #ddd; padding: 6px 8px; }
.rm-rate-table__head { background: #f6f7f7; font-weight: 600; }
.rm-rate-table__row--title td { background: #fbfbfc; font-weight: 600; text-align: center; }
.badge { display: inline-block; margin-left: .4em; padding: 2px 6px; font-size: 11px; border-radius: 10px; background: #ccd0d4; color: #1e1e1e; line-height: 1; }
.badge.scheduled { background: #dbeafe; color: #1e40af; }
.badge.current { background: #dcfce7; color: #166534; }
.badge.old { background: #fee2e2; color: #991b1b; }
.badge.draft { background: #f5f5f5; color: #444; }


table.rates-table.desktop-only {
    max-height: 420px;
    overflow: auto;
    table-layout: fixed;
}

/* Header Row */
.rates-table thead tr:not(.table-header) th {
	background-color: var(--primary-palette-navy);
	color: var(--primary-palette-white);
	text-align: start;
	font-size: 18px;
	font-weight: bold;
	text-align: start;
	text-transform: uppercase;
}

/* Data Rows */
.rates-table tr td, .rates-table tr th {
	font-size: 16px;
	line-height: 1.25em;
}
.rates-table th, .rates-table td {
	border-width: 0 0 1px 0;
	padding-left: 24px;
	padding-right: 24px;
	text-align: left;
	padding-top: 16px;
	padding-bottom: 16px;
	font-weight: normal;
}
.rates-table td:last-of-type {
	border-width: 0 1px 1px 0;
	
}
.rates-table tbody tr:nth-of-type(odd){
	background-color: #F6F6F6;
}
.rates-table tbody tr:nth-of-type(even){
	background-color: var(--primary-palette-white);
}

/*Title Rows */
.rates-table tr.table-title-row td {
    padding: 16px 24px;
    background-color: var(--accent-palette-light-cerulean);
    color: var(--primary-palette-navy);
    line-height: normal;
    font-weight: 600;
	text-align: center;
}

.rates-table h3 {
	margin-bottom: 0;
	line-height: normal;
	text-transform: uppercase;
}

.rates-table h4 {
	margin-bottom: 0;
}

/* Custom Block Rows */
.rates-table tr.rates-row--block td {
	background-color: var(--accent-palette-light-cerulean);
    color: var(--primary-palette-navy);
}



/** Mobile Table **/
.rates-table-mobile {
	display: none;
	margin-bottom: 1.5em;
}
.rates-table-mobile {
	max-height: 440px;
	overflow: auto;
}
.rates-table-desktop-scroll {
    max-height: 440px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* Sticky header for desktop scroll container */
.rates-table-desktop-scroll .rates-table thead th {
	position: sticky;
	top: 0;
	z-index: 2;
}
.rates-mobile-card.card-header {
	padding: 12px 16px;
	background-color: var(--primary-palette-navy);
}
.rates-mobile-card.card-header h4 {
	margin-bottom: 0;
	color: var(--primary-palette-white);
}
.rates-mobile-card {
	padding: 16px;
}
.rates-mobile-card:not(.card-header,.card-secondary-header):nth-of-type(odd) {
	background-color: var(--primary-palette-white);
}
.rates-mobile-card:not(.card-header,.card-secondary-header):nth-of-type(even) {
	background-color: #F6F6F6;
}
.rates-mobile-card.card-secondary-header {
	background-color: var(--accent-palette-light-cerulean);
	color: var(--primary-palette-navy);
	padding: 12px 12px;
}
.rates-mobile-card.card-secondary-header h3, .rates-mobile-card.card-secondary-header h4 {
	margin-bottom: 0;
}
.rates-mobile-row h4{
	color: var(--primary-palette-black);
	margin-bottom: 16px;
}
.rates-mobile-row {
	font-size: 14px;
	line-height: 1.3em;
}
.rates-table td p:last-of-type, .rates-table th p:last-of-type {
	margin-bottom: 0 !important;
}
@media (max-width: 767px) {
	.rates-table-mobile {
		display: block;
	}
	.rates-table.desktop-only {
		display: none;
	}
	.rates-mobile-card p:last-of-type {
		margin-bottom: 0;
	}
}
