/* Nexus Hotel Results v2.0
   Isolated, page-specific styles to avoid legacy green/red theme inheritance. */
:root {
    --nhr-navy: #071b3c;
    --nhr-navy-2: #123f7b;
    --nhr-gold: #d5a13a;
    --nhr-gold-soft: #fff6df;
    --nhr-bg: #f3f6fb;
    --nhr-card: #ffffff;
    --nhr-text: #24334a;
    --nhr-muted: #718096;
    --nhr-border: rgba(7, 27, 60, .10);
}

.nexus-hotel-results-hero {
    min-height: auto !important;
    padding: 128px 0 44px !important;
}
.nexus-hotel-results-hero__breadcrumb .breadcrumb {
    margin: 0 0 14px;
    padding: 0;
    background: transparent;
}
.nexus-hotel-results-hero__breadcrumb .breadcrumb-item,
.nexus-hotel-results-hero__breadcrumb .breadcrumb-item a {
    color: rgba(255,255,255,.70);
    font-size: 12.5px;
}
.nexus-hotel-results-hero__breadcrumb .breadcrumb-item.active { color: #fff; font-weight: 600; }
.nexus-hotel-results-hero .nexus-hero-copy { max-width: none; padding-top: 0; }
.nexus-hotel-results-hero .nexus-hero-copy h1 { margin: 14px 0 0; font-size: clamp(30px,3vw,42px); }
.nexus-hotel-results-hero #theme_search_form { margin-top: 28px; }

.nexus-hotel-search-page {
    color: var(--nhr-text);
    background:
        radial-gradient(circle at 10% 2%, rgba(213,161,58,.08), transparent 23%),
        linear-gradient(180deg,#f7f9fc 0%,var(--nhr-bg) 100%);
}
.nexus-hotel-search-main { padding: 46px 0 72px; }
.nexus-hotel-search-container { width: min(calc(100% - 40px),1440px) !important; max-width: 1440px !important; }

.nexus-hotel-search-summary {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 26px;
}
.nexus-hotel-search-kicker,
.nexus-hotel-filter__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #b67a09;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.nexus-hotel-search-summary h2 { margin: 0; color: var(--nhr-navy); font-size: clamp(26px,2.6vw,38px); font-weight: 750; letter-spacing: -.035em; }
.nexus-hotel-search-summary p { max-width: 690px; margin: 8px 0 0; color: var(--nhr-muted); font-size: 14px; }
.nexus-hotel-search-trip {
    display: flex;
    align-items: center;
    gap: 18px;
    flex: 0 0 auto;
    padding: 14px 18px;
    border: 1px solid var(--nhr-border);
    border-radius: 17px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 34px rgba(7,27,60,.07);
}
.nexus-hotel-search-trip > i { color: var(--nhr-gold); font-size: 13px; }
.nexus-hotel-search-trip__item span { display: block; color: var(--nhr-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.nexus-hotel-search-trip__item strong { display: block; margin-top: 3px; color: var(--nhr-navy); font-size: 15px; }

.nexus-hotel-search-layout { display: grid; grid-template-columns: 292px minmax(0,1fr); gap: 24px; align-items: start; }
.nexus-hotel-filter {
    position: sticky;
    top: 22px;
    overflow: visible;
    border: 1px solid var(--nhr-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(7,27,60,.08);
}
.nexus-hotel-filter__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px; border-bottom: 1px solid var(--nhr-border); }
.nexus-hotel-filter__head h3 { margin: 0; color: var(--nhr-navy); font-size: 20px; font-weight: 700; }
.nexus-hotel-filter__reset { display: inline-flex; align-items: center; gap: 6px; padding: 7px 5px; border: 0; border-radius: 9px; color: #637086; background: #f3f6fa; font-size: 12px; font-weight: 600; }
.nexus-hotel-filter__reset:hover { color: var(--nhr-navy); background: var(--nhr-gold-soft); }
.nexus-hotel-filter__section { padding: 18px 20px; border-bottom: 1px solid rgba(7,27,60,.075); }
.nexus-hotel-filter__section:last-child { border-bottom: 0; }
.nexus-hotel-filter__label,
.nexus-hotel-filter__label-row { display: flex; align-items: center; justify-content: space-between; margin: 0 0 10px; color: var(--nhr-navy); font-size: 12px; font-weight: 700; }
.nexus-hotel-filter__label-row span { color: #9aa4b4; font-size: 10px; }
.nexus-hotel-filter__search { position: relative; }
.nexus-hotel-filter__search i { position: absolute; top: 50%; left: 14px; z-index: 2; color: #8b96a8; transform: translateY(-50%); }
.nexus-hotel-filter__search input,
.nexus-hotel-filter__prices input {
    width: 100%;
    height: 44px;
    border: 1px solid rgba(7,27,60,.13);
    border-radius: 12px;
    outline: 0;
    color: var(--nhr-navy);
    background: linear-gradient(180deg,#fff 0%,#f9fbfd 100%);
    font-size: 13px;
}
.nexus-hotel-filter__search input { padding: 0 13px 0 40px; }
.nexus-hotel-filter__search input:focus,
.nexus-hotel-filter__prices input:focus { border-color: rgba(213,161,58,.85); box-shadow: 0 0 0 3px rgba(213,161,58,.12); }
.nexus-hotel-filter .select2-container { width: 100% !important; }
.nexus-hotel-filter .select2-container--default .select2-selection--single {
    height: 44px !important;
    border: 1px solid rgba(7,27,60,.13) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg,#fff 0%,#f9fbfd 100%) !important;
}
.nexus-hotel-filter .select2-selection__rendered { line-height: 42px !important; padding-left: 13px !important; color: var(--nhr-navy) !important; font-size: 13px; }
.nexus-hotel-filter .select2-selection__arrow { height: 42px !important; right: 7px !important; }
.nexus-hotel-filter__slider { padding: 5px 5px 12px; }
.nexus-hotel-filter #price-slider.noUi-target { height: 5px; border: 0; background: #e6ebf2; box-shadow: none; }
.nexus-hotel-filter #price-slider .noUi-connect { background: linear-gradient(90deg,var(--nhr-navy-2),var(--nhr-gold)); }
.nexus-hotel-filter #price-slider .noUi-handle { top: 3px; width: 18px; height: 18px; right: -9px; border: 3px solid #fff; border-radius: 50%; background: var(--nhr-navy); box-shadow: 0 3px 9px rgba(7,27,60,.22); }
.nexus-hotel-filter #price-slider .noUi-handle:before,
.nexus-hotel-filter #price-slider .noUi-handle:after { display: none; }
.nexus-hotel-filter #price-slider .noUi-tooltip { display: none; }
.nexus-hotel-filter__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.nexus-hotel-filter__prices input { height: 38px; padding: 0 9px; text-align: center; font-size: 11.5px; }
.nexus-hotel-filter__apply,
.nexus-hotel-results-empty button {
    width: 100%;
    margin-top: 9px;
    padding: 10px 13px;
    border: 1px solid #d6a033;
    border-radius: 11px;
    color: var(--nhr-navy);
    background: linear-gradient(135deg,#e6b94f 0%,#fcdb99 52%,#ffcc73 100%);
    box-shadow: 0 7px 18px rgba(213,161,58,.20);
    font-size: 13px;
    font-weight: 700;
}
.nexus-hotel-filter__apply:hover,
.nexus-hotel-results-empty button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(213,161,58,.30); }
.nexus-hotel-filter__stars { display: grid; gap: 7px; }
.nexus-hotel-filter__star { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 8px; min-height: 35px; margin: 0; padding: 6px 8px; border-radius: 9px; cursor: pointer; }
.nexus-hotel-filter__star:hover { background: #f7f9fc; }
.nexus-hotel-filter__star input { position: absolute; opacity: 0; pointer-events: none; }
.nexus-hotel-filter__check { display: inline-grid; width: 18px; height: 18px; place-items: center; border: 1px solid #cbd3df; border-radius: 5px; color: transparent; background: #fff; font-size: 9px; }
.nexus-hotel-filter__star input:checked + .nexus-hotel-filter__check { color: var(--nhr-navy); border-color: var(--nhr-gold); background: #ffe7ae; }
.nexus-hotel-filter__star-icons { color: #f2bb22; font-size: 10px; white-space: nowrap; }
.nexus-hotel-filter__star-text { color: #7a8495; font-size: 11.5px; }
.nexus-hotel-filter__utilities { display: flex; flex-wrap: wrap; gap: 7px; }
.nexus-hotel-filter__utility { position: relative; margin: 0; cursor: pointer; }
.nexus-hotel-filter__utility input { position: absolute; opacity: 0; }
.nexus-hotel-filter__utility span { display: inline-flex; min-height: 30px; align-items: center; padding: 5px 9px; border: 1px solid rgba(7,27,60,.10); border-radius: 999px; color: #526176; background: #f8fafc; font-size: 11px; }
.nexus-hotel-filter__utility input:checked + span { color: var(--nhr-navy); border-color: rgba(213,161,58,.55); background: var(--nhr-gold-soft); box-shadow: inset 0 0 0 1px rgba(213,161,58,.12); }

.nexus-hotel-results { min-width: 0; }
.nexus-hotel-results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; margin-bottom: 14px; padding: 11px 16px; border: 1px solid var(--nhr-border); border-radius: 15px; background: rgba(255,255,255,.90); box-shadow: 0 10px 28px rgba(7,27,60,.05); color: #647287; font-size: 13px; }
.nexus-hotel-results-toolbar__count { display: inline-grid; min-width: 33px; height: 33px; place-items: center; margin-right: 7px; border-radius: 10px; color: #fff; background: linear-gradient(135deg,var(--nhr-navy-2),var(--nhr-navy)); font-size: 14px; font-weight: 750; }
.nexus-hotel-results-toolbar__note { display: inline-flex; align-items: center; gap: 7px; color: #748196; }
.nexus-hotel-results-toolbar__note i { color: #1c9a63; }
.nexus-hotel-results-list { display: grid; gap: 16px; }
.nexus-hotel-card {
    overflow: hidden;
    border: 1px solid var(--nhr-border);
    border-radius: 20px;
    background: var(--nhr-card);
    box-shadow: 0 14px 38px rgba(7,27,60,.065);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.nexus-hotel-card:hover { border-color: rgba(213,161,58,.38); box-shadow: 0 22px 50px rgba(7,27,60,.11); transform: translateY(-3px); }
.nexus-hotel-card { display: grid; grid-template-columns: 320px minmax(0,1fr); }
.nexus-hotel-card__media { position: relative; min-height: 242px; overflow: hidden; background: #e9eef5; }
.nexus-hotel-card__media .owl-carousel,
.nexus-hotel-card__media .owl-stage-outer,
.nexus-hotel-card__media .owl-stage,
.nexus-hotel-card__media .owl-item,
.nexus-hotel-card__media .owl-item > div { height: 100%; }
.nexus-hotel-card__image { width: 100%; height: 242px; object-fit: cover; transition: transform .4s ease; }
.nexus-hotel-card:hover .nexus-hotel-card__image { transform: scale(1.035); }
.nexus-hotel-card__media .owl-dots { position: absolute; left: 0; right: 0; bottom: 10px; }
.nexus-hotel-card__media .owl-dot span { width: 8px !important; height: 8px !important; margin: 3px !important; background: rgba(255,255,255,.62) !important; }
.nexus-hotel-card__media .owl-dot.active span { width: 18px !important; border-radius: 999px !important; background: #fff !important; }
.nexus-hotel-card__verified { position: absolute; top: 13px; left: 13px; z-index: 3; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: #fff; background: rgba(7,27,60,.72); backdrop-filter: blur(8px); font-size: 10.5px; font-weight: 650; }
.nexus-hotel-card__verified i { color: #66d89b; }
.nexus-hotel-card__body { display: grid; grid-template-columns: minmax(0,1fr) 230px; min-width: 0; }
.nexus-hotel-card__main { min-width: 0; padding: 22px 24px; }
.nexus-hotel-card__rating { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; color: #7a879a; font-size: 11px; }
.nexus-hotel-card__stars { display: inline-flex; gap: 2px; color: #f2bb22; }
.nexus-hotel-card__main h3 { margin: 0 0 9px; font-size: 22px; font-weight: 720; line-height: 1.25; letter-spacing: -.025em; }
.nexus-hotel-card__main h3 a { color: var(--nhr-navy) !important; }
.nexus-hotel-card__main h3 a:hover { color: #a96d00 !important; }
.nexus-hotel-card__address { display: flex; align-items: flex-start; gap: 8px; color: #59687e !important; font-size: 12.5px; line-height: 1.5; }
.nexus-hotel-card__address i { margin-top: 3px; color: var(--nhr-gold); }
.nexus-hotel-card__amenities { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.nexus-hotel-card__amenities > span { display: inline-flex; align-items: center; gap: 5px; min-height: 29px; padding: 5px 9px; border: 1px solid rgba(7,27,60,.08); border-radius: 999px; color: #526176; background: linear-gradient(180deg,#fff,#f7f9fc); font-size: 10.5px; }
.nexus-hotel-card__amenities i { color: #17965f; font-size: 9px; }
.nexus-hotel-card__amenities-more { color: #9b6a0a !important; border-color: rgba(213,161,58,.25) !important; background: var(--nhr-gold-soft) !important; }
.nexus-hotel-card__price { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 22px; border-left: 1px solid var(--nhr-border); background: linear-gradient(150deg,#fff 0%,#fffaf0 100%); }
.nexus-hotel-card__price-label { color: #a26d09; font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.nexus-hotel-card__price strong { margin-top: 5px; color: var(--nhr-navy); font-size: 27px; font-weight: 780; line-height: 1.1; letter-spacing: -.035em; }
.nexus-hotel-card__currency { margin-top: 3px; color: #6f7d91; font-size: 11.5px; }
.nexus-hotel-card__price-note { display: flex; align-items: flex-start; gap: 6px; margin: 14px 0 18px; color: #8b96a7; font-size: 10px; line-height: 1.45; }
.nexus-hotel-card__price-note i { margin-top: 2px; color: var(--nhr-gold); }
.nexus-hotel-card__cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 43px; padding: 10px 14px; border: 1px solid #d4a034; border-radius: 12px; color: var(--nhr-navy) !important; background: linear-gradient(135deg,#e6b94f 0%,#fcdb99 52%,#ffcc73 100%); box-shadow: 0 8px 22px rgba(213,161,58,.24); font-size: 13px; font-weight: 750; }
.nexus-hotel-card__cta:hover { color: var(--nhr-navy) !important; box-shadow: 0 12px 28px rgba(213,161,58,.34); transform: translateY(-1px); }
.nexus-hotel-results-empty { padding: 64px 24px; border: 1px dashed rgba(7,27,60,.16); border-radius: 20px; text-align: center; background: rgba(255,255,255,.75); }
.nexus-hotel-results-empty__icon { display: inline-grid; width: 64px; height: 64px; place-items: center; border-radius: 20px; color: var(--nhr-navy); background: var(--nhr-gold-soft); font-size: 24px; }
.nexus-hotel-results-empty h3 { margin: 16px 0 6px; color: var(--nhr-navy); font-size: 20px; }

.nexus-hotel-search-start {
    padding: 72px 24px;
    border: 1px dashed rgba(7,27,60,.16);
    border-radius: 20px;
    text-align: center;
    background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(247,250,253,.9) 100%);
}
.nexus-hotel-search-start__icon {
    display: inline-grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(135deg, var(--nhr-navy-2), var(--nhr-navy));
    font-size: 28px;
    box-shadow: 0 14px 30px rgba(7,27,60,.18);
}
.nexus-hotel-search-start h3 { margin: 20px 0 8px; color: var(--nhr-navy); font-size: 21px; font-weight: 700; }
.nexus-hotel-search-start p { margin: 0 auto; max-width: 420px; color: #647187; font-size: 13.5px; line-height: 1.6; }
.nexus-hotel-results-empty p { margin: 0 auto; max-width: 480px; color: var(--nhr-muted); font-size: 13px; }
.nexus-hotel-results-empty button { width: auto; margin-top: 18px; padding-inline: 20px; }

@media (max-width: 1199.98px) {
    .nexus-hotel-search-layout { grid-template-columns: 260px minmax(0,1fr); }
    .nexus-hotel-card { grid-template-columns: 270px minmax(0,1fr); }
    .nexus-hotel-card__body { grid-template-columns: minmax(0,1fr) 205px; }
}
@media (max-width: 991.98px) {
    .nexus-hotel-search-summary { align-items: flex-start; flex-direction: column; }
    .nexus-hotel-search-layout { grid-template-columns: 1fr; }
    .nexus-hotel-filter { position: static; }
    .nexus-hotel-filter__section { display: inline-block; width: 49%; vertical-align: top; border-bottom: 1px solid rgba(7,27,60,.075); }
    .nexus-hotel-card { grid-template-columns: 280px minmax(0,1fr); }
    .nexus-hotel-card__body { grid-template-columns: 1fr; }
    .nexus-hotel-card__price { border-top: 1px solid var(--nhr-border); border-left: 0; }
}
@media (max-width: 767.98px) {
    .nexus-hotel-results-hero { padding: 96px 0 38px !important; }
    .nexus-hotel-search-main { padding: 28px 0 52px; }
    .nexus-hotel-search-container { width: calc(100% - 24px) !important; }
    .nexus-hotel-search-trip { width: 100%; justify-content: space-between; }
    .nexus-hotel-filter__section { display: block; width: 100%; }
    .nexus-hotel-results-toolbar { align-items: flex-start; flex-direction: column; }
    .nexus-hotel-card { grid-template-columns: 1fr; }
    .nexus-hotel-card__media,
    .nexus-hotel-card__image { height: 230px; min-height: 230px; }
    .nexus-hotel-card__main,
    .nexus-hotel-card__price { padding: 18px; }
    .nexus-hotel-card__price strong { font-size: 25px; }
}
