/* Copyright 01-07-2026 - R24k.com */

/* ---- TripAdvisor search link and rating ---- */
.rh-ta-link {
    color: #FFF;
    display: inline-flex;
    font-size: 12px;
    text-decoration: none;
}

.rh-ta-link:hover {
	color: #FFF;
    text-decoration: underline;
}
.rh-ta-link i {
	margin-right: 5px;
}
.rh-ta-link--rated {
    align-items: center;
    gap: 5px;
}
#rh-ta-link {
	margin-left: 30px;
}
.rh-ta-badge {
    background: #00aa6c;
    border-radius: 3px;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    padding: 3px 8px;
}

.rh-ta-reviews {
    color: #fff;
}

.rh-ta-ext-icon {
    font-size: 10px;
}
.r24k-tm-rate-hawk-page button,
.rh-book-modal__actions button,
.rh-update__header-actions button,
.rh-cancel__btn.uk-button.uk-button-small,
#rh-update-submit-btn.uk-button,
#r24k-tm-ratehawk-filter-modal .uk-modal-footer button,
#r24k-tm-modal-search-in-rate-hawk-api.uk-button {
	height: 32px !important;
    line-height: 30px !important;
    border-radius: 30px !important;
    padding: 0 24px !important;
}
/* ---- RateHawk day card badge ---- */
.r24k-tm-rh-day-badge-holder {
    display: inline-block;
    margin: 0 1px;
    vertical-align: middle;
	width: 24px;
}

.r24k-tm-rh-day-badge-holder img {
    background-color: #fedd00;
    border: var(--r24k-tm-border);
    border-radius: var(--r24k-tm-radius-s);
    height: 24px;
    padding: 3px;
    width: 24px;
}

/* ---- Modal shell ---- */
.rh-modal .uk-modal-dialog {
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f5f5f3;
}
#r24k-tm-rh-hotel-modal .uk-modal-close-full  {
	background:transparent;
	color:#fff;
	padding: 18px 18px 0;
}
/* ---- Header ---- */
.rh-modal__header {
    display: flex;
    align-items: center;
    padding: 14px 65px 14px 20px;
    background: var(--r24k-tm-blue);
    border-bottom: 1px solid #e0e0e0;
    flex-shrink: 0;
    gap: 12px;
}

.rh-modal__title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 60%;
}

.rh-modal__meta {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 8px;
}

.rh-modal__stars {
    color: #f5a623;
    font-size: 14px;
    letter-spacing: 1px;
}

.rh-modal__kind {
    background: transparent;
    border: 1px solid #fff;
    border-radius: 3px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1.4;
    padding: 3px 8px;
    text-transform: uppercase;
}

.rh-modal__rooms-count {
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
}

/* Guest rating badge in header — override card-view defaults from custom.css */
.rh-modal__header .rh-guest-rating {
    display: inline-block;
    line-height: 1.4;
    margin-bottom: 0;
    margin-left: 0;
    padding: 2px 8px;
    width: auto;
}

.rh-modal__header #rh-hotel-rating {
    align-items: center;
    display: inline-flex;
    gap: 4px;
}

.rh-modal__header .rh-guest-rating__count {
    color: #fff;
    float: none;
    font-size: 11px;
    line-height: 1.4;
}

/* ---- Body: two-column layout ---- */
.rh-modal__body {
    display: flex;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

/* ---- Gallery (left column) ---- */
.rh-gallery {
    border-right: 1px solid #ccc;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    width: 35%;
}
/* In viewer context the gallery fills its container — no fixed width or border */
.rh-hotel-gallery .rh-gallery {
    border-right: none;
    width: auto;
}

/* Flat-skeu: match fs-hotel-card__photos column behaviour */
.rh-hotel-gallery {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rh-gallery__map {
    flex: 0 0 30%;
    position: relative;
}

#rh-hotel-map {
    width: 100%;
    height: 100%;
}

#rh-hotel-description {
	background: #fff;
	border-radius: 6px;
	box-shadow:  rgba(51, 51, 51, 0.6) 1px 1px 0px;
	padding: 10px;
}


.rh-gallery__images {
    flex: 0 0 70%;
    display: flex;
    flex-direction: column;
	max-height: calc(70% - 15px);
    overflow: hidden;
    position: relative;
    background: #eee;
    padding: 15px 15px 0 15px;
}

.rh-gallery__loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eee;
    z-index: 2;
}

.rh-gallery__main {
    flex: 1;
    overflow: hidden;
    position: relative;
    display: none;
}

.rh-gallery__main-img {
    border-radius: 10px;
    display: block;
    inset: 0;
    margin: 0 auto 20px;
    max-height: calc(100% - 40px);
    position: absolute;
	transition: opacity 0.25s ease;
    width: auto;
}

.rh-gallery__counter {
    position: absolute;
    bottom: 10px;
    right: 12px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 12px;
    padding: 3px 9px;
    border-radius: 12px;
    pointer-events: none;
    z-index: 1;
}

.rh-gallery__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.35);
    border: none;
    color: #fff;
    width: 30px;
    height: 50px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
    z-index: 3;
    padding: 0;
}

.rh-gallery__nav:hover      { background: rgba(0, 0, 0, 0.65); }
.rh-gallery__nav--prev      { left: 0;  border-radius: 0 4px 4px 0; }
.rh-gallery__nav--next      { right: 0; border-radius: 4px 0 0 4px; }

.rh-gallery__thumbs {
    flex-shrink: 0;
    height: 65px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    padding: 5px 6px;
    display: none;
    scrollbar-width: thin;
    scrollbar-color: #bbb #e7e8e8;
}

.rh-gallery__thumbs::-webkit-scrollbar       { height: 4px; }
.rh-gallery__thumbs::-webkit-scrollbar-track  { background: #e7e8e8; }
.rh-gallery__thumbs::-webkit-scrollbar-thumb  { background: #bbb; border-radius: 2px; }

.rh-gallery__thumb {
    display: inline-block;
    width: 66px;
    height: 66px;
    object-fit: cover;
    cursor: pointer;
    border-radius: 5px;
    margin-right: 4px;
    opacity: 0.65;
    transition: opacity 0.15s;
    vertical-align: top;
    border: 2px solid transparent;
}

.rh-gallery__thumb:hover         { opacity: 0.9; }
.rh-gallery__thumb--active       { opacity: 1; border-color: #1e87f0; }

.rh-gallery__no-image {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #aaa;
    font-size: 13px;
    gap: 10px;
}

/* ---- Details panel (right column) ---- */
.rh-details {
    flex: 1;
    overflow-y: auto;
    background: #f5f5f3;
    scrollbar-width: thin;
    scrollbar-color: #ccc #f5f5f3;
}

.rh-details::-webkit-scrollbar { width: 5px; }
.rh-details::-webkit-scrollbar-track { background: #f5f5f3; }
.rh-details::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }

.rh-details__loader {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px;
}

.rh-details__content {
    display: none;
    padding: 0 24px 10px;
}

/* Location bar */
.rh-details__location {
	background: var(--r24k-tm-red);
	border-radius: 6px 6px 0 0;
    display: flex;
	font-size: 15px;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin: 14px -5px;
	padding: 5px 15px;
	position: sticky;
		top:0;
	z-index: 100;
}

.rh-details__address {
    color: #fff;
    line-height: 1.5;
}

.rh-details__times {
    display: flex;
    gap: 14px;
    flex-shrink: 0;
    color: #fff;
}

.rh-details__time-item {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.rh-details__time-label {
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 0.4px;
}

.rh-details__time-value {
    font-weight: 600;
}

.rh-details__divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 12px 0;
}

/* Section titles */
.rh-section__title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #888;
    margin: 0 0 10px;
}

/* Description */
.rh-description__section {
    margin-bottom: 12px;
}

.rh-description__heading {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    margin: 0 0 4px;
}

.rh-description__para {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin: 0 0 4px;
}

/* Amenities */
.rh-amenities {
    margin-bottom: 16px;
}

.rh-amenities__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 24px;
}

.rh-amenities__group {
    margin: 0px;
    background: #fff;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 1px 1px 0px #33333399;
}

.rh-amenities__group-name {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
    margin-bottom: 5px;
}

.rh-amenities__item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #333;
    padding: 3px 0;
}

.rh-amenities__icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: #4caf50;
}
.rh-amenities__item i {
	padding-top: 4px;
}
.rh-amenities__icon--paid {
    color: var(--r24k-tm-blue);
}
.rh-amenities__icon {
    width: 14px;
    text-align: center;
    flex-shrink: 0;
    color: var(--r24k-tm-green);
    font-size: 12px;
}
/* Policies */
.rh-policies {
    margin-bottom: 16px;
}

.rh-policies__section {
    margin-bottom: 10px;
}

.rh-policies__heading {
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin: 0 0 3px;
}

.rh-policies__para {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
    margin: 0 0 2px;
}

.rh-policies__extra {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    white-space: pre-line;
    margin-top: 8px;
}
.rh-policies__extra ul {
    margin: 4px 0 4px 16px;
    padding: 0;
    list-style: disc;
}

.rh-policies__extra p {
    margin: 0 0 6px;
}

/* Room groups */
.rh-rooms {
    margin-bottom: 16px;
}

.rh-rooms__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rh-rooms__item {
    display: flex;
    gap: 12px;
    background: #fff;
    box-shadow: 1px 1px 0 #33333399;
    border-radius: 6px;
	margin-top: 10px;
    padding: 10px 12px;
    align-items: flex-start;
}

.rh-rooms__thumb {
    width: 80px;
    height: 56px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
    background: #eee;
}

.rh-rooms__thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    color: #bbb;
    font-size: 24px;
    flex-shrink: 0;
}

.rh-rooms__info {
    flex: 1;
    min-width: 0;
}

.rh-rooms__name {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    margin: 0 0 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rh-rooms__amenities {
    font-size: 12px;
    color: #777;
    line-height: 1.4;
}

.rh-rooms__amenities-more {
    font-style: italic;
    color: #aaa;
}
.rh-rooms__amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 5px;
}

.rh-rooms__amenity-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    background: #f0f0f0;
    border-radius: 4px;
    color: #555;
    font-size: 12px;
    cursor: default;
	padding: 0 8px;
}

.rh-rooms__amenity-tag:hover {
    background: #e0e8f5;
    color: #1e87f0;
}
.rh-rooms__amenity-tag i {
	margin-right: 3px;
}
.rh-rooms__amenities-more {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    color: #aaa;
    font-style: italic;
    padding: 0 4px;
}

/* ---- Footer ---- */
.rh-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    background: #fff;
    border-top: 1px solid #e0e0e0;
    flex-shrink: 0;
    gap: 12px;
}

.rh-modal__footer-info {
    font-size: 12px;
    color: #aaa;
    letter-spacing: 0.3px;
}

.rh-modal__footer-actions {
    display: flex;
    gap: 10px;
}

/* Error state */
.rh-error {
    padding: 30px 24px;
}

.rh-error__box {
    background: #fff3f3;
    border: 1px solid #f5c6c6;
    border-radius: 6px;
    padding: 14px 16px;
    font-size: 14px;
    color: var(--r24k-tm-red);
}
.rh-rates__list         { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.rh-rates__item         { border: 1px solid #e0e0e0; border-radius: 6px; padding: 12px 14px; }
.rh-rates__room-name    { font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.rh-rates__meta         { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; color: #555; margin-bottom: 10px; }
.rh-rates__meta span    { display: flex; align-items: center; gap: 4px; }
.rh-rates__free-cancel  { color: var(--r24k-tm-green); }
.rh-rates__no-cancel    { color: var(--r24k-tm-red); }
.rh-rates__allotment    { color: #e07b00; }
.rh-rates__footer       { display: flex; align-items: center; justify-content: space-between; }
.rh-rates__price        { font-size: 18px; font-weight: 700; color: #195fdf; }
.rh-rates__empty        { color: #888; font-size: 13px; padding: 10px 0; }

.rh-rates__options         { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.rh-rates__option          { border: 1px solid #e0e0e0; border-radius: 4px; padding: 8px 10px; }
.rh-rates__option-meta     { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; color: #555; margin-bottom: 6px; }
.rh-rates__option-meta span{ display: flex; align-items: center; gap: 4px; }
.rh-rates__option-footer   { display: flex; align-items: center; justify-content: space-between; }
.rh-rooms__meta            { font-size: 12px; color: #666; margin-bottom: 6px; display: flex; gap: 12px; }

#r24k-tm-ratehawk-filter-modal .uk-modal-title {
	background: var(--r24k-tm-blue);
    color: #fff;
    font-size: 21px;
	font-weight: 200;
	letter-spacing: 1px;
    padding: 10px;
    text-align: center;
    text-transform: uppercase;
}
#r24k-tm-ratehawk-filter-modal .uk-modal-close-default {
	color: #fff;
}
/* ---- RateHawk-style room group layout ---- */
.rh-rg {
    background: #fff;
    border-radius: 6px;
    box-shadow: 1px 1px 0 #33333399;
    margin-top: 12px;
    overflow: hidden;
}

.rh-rg__header {
    display: flex;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #ebebeb;
    align-items: flex-start;
}

.rh-rg__photo {
    flex-shrink: 0;
    width: 100px;
    height: 72px;
    border-radius: 4px;
    overflow: hidden;
    background: #eee;
}

.rh-rg__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rh-rg__photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 24px;
}

.rh-rg__header-info {
    flex: 1;
    min-width: 0;
}

.rh-rg__name {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.rh-rg__bedding {
    font-size: 13px;
    font-weight: 400;
    color: #888;
}

.rh-rg__amenity-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.rh-rg__amenity-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #f0f0f0;
    border-radius: 4px;
    font-size: 12px;
    padding: 3px 8px;
    white-space: nowrap;
}

.rh-rg__amenity-tag--size {
    background: #e8f0fe;
    color: #195fdf;
    font-weight: 600;
}

.rh-rg__amenity-more {
    font-size: 11px;
    color: #aaa;
    font-style: italic;
    padding: 3px 4px;
    display: inline-flex;
    align-items: center;
}

/* Rates table */
.rh-rg__table-wrap {
    overflow-x: auto;
}

.rh-rg__table {
	border-collapse: collapse;
    font-size: 13px;
	table-layout: fixed;
    width: 100%;
}

.rh-rg__th {
    background: #eeeeee;
    border-bottom: 1px solid #aaa;
    color: #000;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.4px;
    padding: 7px 12px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.rh-rg__row {
    border-bottom: 1px solid #f0f0f0;
}

.rh-rg__row:last-child {
    border-bottom: none;
}

.rh-rg__row:hover {
    background: #fafafa;
}

.rh-rg__row--chosen {
    background: #f0f7ff;
    border-left: 3px solid #1e87f0;
}
.rh-rg__select-btn.uk-button {
	border-radius: 16px !important;
	height: 32px !important;
	line-height: 30px !important;
	padding: 0 12px !important
}
/* ---- Pre-book ---- */
.rh-prebook__btn {
    white-space: nowrap;
}

.rh-prebook__done {
    color: #339933;
    font-size: 12px;
    white-space: nowrap;
}

.rh-update__row--prebooked {
    background: #f0fff4;
}

.rh-prebook__price-changed {
    color: #e07b00;
    display: block;
    font-size: 11px;
    margin-top: 3px;
}

.rh-rg__td {
    padding: 9px 12px;
    vertical-align: middle;
    color: #333;
}

.rh-rg__td--action {
    text-align: right;
    white-space: nowrap;
}

.rh-rg__sub-name {
    font-size: 13px;
    font-weight: 500;
    color: #333;
}

.rh-rg__allotment {
    font-size: 11px;
    color: #e07b00;
    margin-top: 3px;
}

.rh-rg__meal--included { color: var(--r24k-tm-green); }
.rh-rg__cancel--free { color: var(--r24k-tm-green); font-size: 12px; }
.rh-rg__cancel--no   { color: var(--r24k-tm-red); font-size: 12px; }

.rh-rg__price {
    font-size: 15px;
    font-weight: 700;
    color: #195fdf;
    white-space: nowrap;
}

.rh-rg__select-btn {
    white-space: nowrap;
}
/* ---- Selected rooms sticky bar ---- */
#rh-selected-rooms {
    position: sticky;
    top: 35px;
    z-index: 99;
    background: #fff;
    border-bottom: 2px solid var(--r24k-tm-blue);
    padding: 10px 24px;
    margin: 0 -5px 20px;
}

.rh-selected__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--r24k-tm-blue);
    margin-bottom: 8px;
}

.rh-selected__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    table-layout: fixed;
}

.rh-selected__table thead th {
    background: #f7f7f7;
    border-bottom: 1px solid #e5e5e5;
    color: #888;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.4px;
    padding: 5px 8px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.rh-selected__table tbody td {
    padding: 6px 8px;
    vertical-align: middle;
    border-bottom: 1px solid #f0f0f0;
}

.rh-selected__table tbody tr:last-child td {
    border-bottom: none;
}

.rh-selected__input {
    width: 70px;
    padding: 3px 6px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 13px;
    text-align: right;
}

.rh-selected__input:focus {
    outline: none;
    border-color: #1e87f0;
}

.rh-selected__total {
    font-weight: 700;
    color: #1e87f0;
    white-space: nowrap;
}

.rh-selected__delete {
    cursor: pointer;
    color: #cc3333;
    text-align: center;
}

.rh-selected__delete:hover {
    color: #ff0000;
}

@media (max-width: 1480px) {
    .rh-gallery { width: 30%; }
    .rh-hotel-gallery .rh-gallery { width: auto; }
}

/* ---- Update rates modal ---- */
#r24k-tm-update-ratehawk-rates-modal .uk-modal-dialog {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: #f5f5f3;
}
#r24k-tm-update-ratehawk-rates {
	cursor: pointer;
}
.rh-update__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    background: var(--r24k-tm-blue);
    flex-shrink: 0;
    gap: 12px;
}

.rh-update__header-title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.5px;
}

.rh-update__header-actions {
    display: flex;
    gap: 8px;
}

.rh-update__body {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    scrollbar-width: thin;
    scrollbar-color: #ccc #f5f5f3;
}

.rh-update__loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 300px;
    gap: 20px;
    color: #888;
    font-size: 14px;
}

.rh-update__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 1px 1px 0 #33333399;
    table-layout: fixed;
}

.rh-update__table thead th {
    background: var(--r24k-tm-blue);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 10px 12px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.rh-update__table tbody td {
    padding: 10px 12px;
    vertical-align: middle;
    border-bottom: 1px solid #f0f0f0;
}

.rh-update__table tbody tr:last-child td {
    border-bottom: none;
}

.rh-update__row--unchanged  { background: #f0faf0; }
.rh-update__row--cheaper    { background: #e8f5e9; }
.rh-update__row--expensive  { background: #fff3e0; }
.rh-update__row--unavailable{ background: #fdecea; }
.rh-update__row--loading    { background: #fafafa; color: #aaa; }

.rh-update__diff--positive  { color: #cc3333; font-weight: 700; }
.rh-update__diff--negative  { color: #32a852; font-weight: 700; }
.rh-update__diff--zero      { color: #888; }

.rh-update__status--ok          { color: #32a852; }
.rh-update__status--changed     { color: #e07b00; }
.rh-update__status--unavailable { color: #cc3333; font-weight: 700; }
.rh-update__status--loading     { color: #aaa; font-style: italic; }

.rh-update__input {
    width: 80px;
    padding: 4px 6px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 13px;
    text-align: right;
}

.rh-update__input:focus {
    outline: none;
    border-color: #1e87f0;
}

.rh-update__unavailable-note {
    font-size: 11px;
    color: #cc3333;
    font-style: italic;
    margin-top: 3px;
}
/* ---- Book confirmation modal ---- */
.rh-book-modal__title {
    align-items: center;
    color: var(--r24k-tm-blue);
    display: flex;
    font-size: 16px;
    gap: 8px;
    margin-bottom: 16px;
}

.rh-book-modal__summary {
    border-collapse: collapse;
    font-size: 13px;
    margin-bottom: 16px;
    width: 100%;
}

.rh-book-modal__summary th {
    color: #666;
    font-weight: 600;
    padding: 4px 12px 4px 0;
    text-align: left;
    white-space: nowrap;
    width: 140px;
}

.rh-book-modal__summary td { padding: 4px 0; }

.rh-book-modal__cancel-date { color: #339933; font-weight: 600; }

.rh-book-modal__lead { margin-bottom: 16px; }

.rh-book-modal__lead .uk-form-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 4px;
}

.rh-book-modal__actions { display: flex; gap: 8px; }

/* ---- Update modal book / cancel state ---- */
.rh-book__done { color: #339933; font-size: 12px; font-weight: 600; white-space: nowrap; }
.rh-book__ref  { color: #555; font-family: monospace; font-size: 11px; }
.rh-update__row--booked td { background: #f0fff4; }

.rh-update__group-header {
	border-top: 2px solid;
}
#rh-update-table-body .rh-update__group-header:first-child {
	border-top: none;
}
.rh-update__group-header td { background: #f0f4ff; border-bottom: none; padding: 6px 12px; }
.rh-update__group-cell { align-items: center; }
.rh-update__group-label { color: #445; flex: 1; font-size: 12px; font-weight: 600; }
.rh-book-all__btn { float:right;font-size: 12px; white-space: nowrap; }

/* ---- RateHawk overview page ---- */
.r24k-tm-rate-hawk-page {
    padding: 20px;
}

.rh-page__header {
    align-items: center;
    color: var(--r24k-tm-blue);
    display: flex;
    font-size: 22px;
    font-weight: 700;
    gap: 10px;
    margin-bottom: 24px;
}

.rh-page__section {
    margin-bottom: 36px;
}

.rh-page__section-title {
    align-items: center;
    border-bottom: 2px solid var(--r24k-tm-blue);
    color: var(--r24k-tm-blue);
    display: flex;
    font-size: 15px;
    font-weight: 600;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 6px;
}

.rh-page__count {
    background: var(--r24k-tm-blue);
    border-radius: 10px;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
}

.rh-page__empty {
    color: #999;
    font-size: 13px;
}

.rh-page__table {
    border-collapse: collapse;
    font-size: 13px;
    width: 100%;
}

.rh-page__table th {
    background: #f5f5f5;
    border-bottom: 2px solid #ddd;
    color: #333;
    font-weight: 600;
    padding: 8px 10px;
    text-align: left;
    white-space: nowrap;
}

.rh-page__table td {
    border-bottom: 1px solid #eee;
    padding: 7px 10px;
    vertical-align: middle;
}

.rh-page__row:hover td {
    background: #fafafa;
}

.rh-page__deadline--warn td {
    background: #fffbe6;
}

.rh-page__deadline--expired td {
    background: #fff0f0;
}

.rh-page__days-badge {
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
}

.rh-page__days-badge--warn {
    background: #e07b00;
    color: #fff;
}

.rh-page__days-badge--expired {
    background: var(--r24k-tm-red);
    color: #fff;
}

.rh-page__deadline--warn {
    color: #7a4f00;
    font-weight: 600;
}

.rh-page__deadline--expired {
    color: var(--r24k-tm-red);
    font-weight: 600;
}

.rh-page__ref {
    color: #339933;
    font-family: monospace;
}

.rh-page__status {
    border-radius: 3px;
    display: block;
    font-weight: 200;
	height: 20px;
    padding: 0;
    text-align: center;
	width: 100px;
}

.rh-page__status--quoted    { background: #e8f0fe; color: #1a56db; }
.rh-page__status--pre-booked { background: #e6f9ee; color: #1a7a3c; }
.rh-page__status--booked    { background: var(--r24k-tm-blue); color: #fff; }
.rh-page__status--cancelled { background: #fde8e8; color: var(--r24k-tm-red); }
.rh-page__status--failed    { background: #fde8e8; color: var(--r24k-tm-red); }

/* - - - Cancelled section - - - */
.rh-page__header-btn { margin-left: auto; }
.rh-page__count--cancelled { background: #fde8e8; color: var(--r24k-tm-red); }

/* - - - Unified table section separator rows - - - */
.rh-page__section-row td {
    background: var(--r24k-tm-blue22);
    color: var(--r24k-tm-blue);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 10px;
}

.rh-page__section-label {
    display: inline-block;
    width: 200px;
}

.rh-page__section-row .rh-page__count {
    background: #fff;
    color: var(--r24k-tm-blue);
}

/* - - - Global confirm modal - - - */
.r24k-tm-confirm-modal { max-width: 420px; }
.r24k-tm-confirm-modal__msg { font-size: 14px; margin-bottom: 20px; }

/* - - - RH hotel gallery (both viewers) - - - */

/* Flat-skeu: main + thumb strip */
.rh-gallery--skeu {
    margin-bottom: 16px;
}
.rh-gallery--skeu .rh-gallery__main {
    border-radius: var(--radius-lg);
    display: block;
    overflow: hidden;
    width: 100%;
}
.rh-gallery--skeu .rh-gallery__main img {
    aspect-ratio: 4 / 3;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}
.rh-gallery--skeu .rh-gallery__thumbs {
    display: flex;
    gap: 4px;
    height: auto;
    margin-top: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}
/* Each thumb: square, 1/5 of the photos column — same as fs-hotel-card 5-column grid */
.rh-gallery--skeu .rh-gallery__thumb {
    border-color: transparent;
    border-radius: var(--radius-sm);
    cursor: pointer;
    display: block;
    flex: 0 0 calc(20% - 3.2px);
    height: auto;
    margin-right: 0;
    opacity: 1;
    overflow: hidden;
}
.rh-gallery--skeu .rh-gallery__thumb:hover {
    opacity: 1;
}
.rh-gallery--skeu .rh-gallery__thumb img {
    aspect-ratio: 1;
    display: block;
    object-fit: cover;
    width: 100%;
}
.rh-gallery--skeu .rh-gallery__thumb--active img,
.rh-gallery--skeu .rh-gallery__thumb:hover img {
    outline: 2px solid #1e87f0;
    outline-offset: -2px;
}

/* Amenity chips injected into the body column of flat-skeu RH cards */
.rh-body-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 6px;
    margin-top: 16px;
}
.rh-body-chip {
    background: #f0f0f0;
    border-radius: 20px;
    color: #444;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    padding: 3px 10px;
}
.rh-gallery__desc {
    color: #555;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 12px;
}
.rh-gallery__desc-title {
    color: #222;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 2px;
    margin-top: 10px;
    text-transform: uppercase;
}
.rh-gallery__amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 20px;
}
.rh-gallery__chip {
    background: #f0f0f0;
    border-radius: 4px;
    color: #444;
    font-size: 12px;
    font-weight: 400;
    padding: 3px 8px;
}
.r24k-tm-confirm-modal__actions { display: flex; gap: 8px; justify-content: flex-end; }

.fs-accommodations .rh-hotel-gallery {
	max-width: 450px;
}
.fs-accommodations .rh-gallery__thumbs {
	padding: 0 !important;
}
/* ---- RateHawk BM modal ---- */
.r24k-tm-rh-bm-table {
	border-collapse: collapse;
	width: 100%;
}
.r24k-tm-rh-bm-table td {
	border-bottom: 1px solid #eee;
	font-size: 14px;
	padding: 8px 10px;
	vertical-align: middle;
}
.r24k-tm-rh-bm-table tr:last-child td { border-bottom: none; }
.r24k-tm-rh-bm-table tr:nth-child(odd) td { background: #f9f9f9; }
.r24k-tm-rh-bm-table tr:nth-child(even) td { background: #fff; }
.r24k-tm-rh-bm-table td:first-child {
	color: #888;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	width: 130px;
}
.r24k-tm-rh-bm-status {
	border-radius: 3px;
	font-size: 12px;
	font-weight: 400;
	padding: 2px 8px;
	text-transform: capitalize;
}
.rh-status--quoted     { background: #e8f0fe; color: #1a56db; }
.rh-status--booked     { background: var(--r24k-tm-blue); color: #fff; }
.rh-status--cancelled  { background: #fde8e8; color: var(--r24k-tm-red); }
#r24k-tm-rh-bm-msg { border-radius: 4px; font-size: 13px; padding: 6px 10px; }
#r24k-tm-rh-bm-msg.success { background: #e6f9ee; color: #1a7a3c; }
#r24k-tm-rh-bm-msg.error   { background: #fde8e8; color: var(--r24k-tm-red); }

.fs-accommodations .rh-gallery__thumb {
	border: none;
}