/* Shared visual theme. The portal stylesheet retains existing responsive behavior. */
:where(.rehltak-portal,.rehltak-error,.portal-page) {
  --travel-ink: #211735;
  --travel-night: #25163f;
  --travel-paper: #fff;
  --travel-canvas: #faf8fc;
  --travel-line: #e9e0ef;
  --travel-muted: #655b73;
  --travel-accent: #723b99;
  --travel-soft: #f2eaf8;
  --travel-gradient: linear-gradient(115deg,#563084,#713ea4 50%,#a32273);
  --travel-shadow: 0 12px 34px rgb(47 23 72 / 10%);
  --travel-scene: linear-gradient(105deg,rgb(26 15 56 / 92%),rgb(70 32 101 / 42%) 68%,rgb(63 23 78 / 29%)),url("rehltak-sunset.svg");
}
.rehltak-portal {
  --portal-ink: var(--travel-ink);
  --portal-muted: var(--travel-muted);
  --portal-brand: var(--travel-accent);
  --portal-accent: #7a348c;
  --portal-wash: var(--travel-soft);
  --portal-line: var(--travel-line);
  --portal-canvas: var(--travel-canvas);
  --portal-shadow: var(--travel-shadow);
  --trip-ink: var(--travel-ink);
  --trip-navy: var(--travel-night);
  --trip-blue: var(--travel-accent);
  --trip-bg: var(--travel-canvas);
  --trip-line: var(--travel-line);
  --trip-shadow: var(--travel-shadow);
}
.rehltak-portal :is(.button-primary,.ota-search-submit,.dev-button:not(.dev-secondary),.nav-login):not(:disabled) {
  background: var(--travel-gradient);
  color: white;
  border-color: transparent;
}
.rehltak-portal :is(.trip-site-header,.trip-partner-header,.dev-header,.admin-workspace-topbar) {
  color: #fff;
  background: linear-gradient(105deg,#25163f,#3d2259);
  border-block-end-color: #5f4476;
}
.rehltak-portal :is(.trip-site-nav,.trip-partner-header nav,.dev-header nav,.admin-breadcrumb) a,
.rehltak-portal :is(.dev-brand,.admin-breadcrumb,.admin-topbar-account,.trip-mobile-lang,.trip-mobile-profile) {
  color: #fff;
}
.rehltak-portal :is(.trip-site-nav,.dev-header nav) a:is(:hover,[aria-current=page]) {
  background: #fff;
  color: var(--travel-night);
  border-radius: 999px;
}
.rehltak-portal :is(.trip-site-brand,.dev-brand img,.trip-partner-header img,.admin-topbar-mark,.rx-footer-intro img) {
  background: #fff;
  border-radius: 10px;
}
.rehltak-portal .trip-menu-toggle { background: #fff; }
.rehltak-portal :is(.trip-site-footer,.trip-partner-footer,.dev-footer) {
  background: var(--travel-night);
  color: #f3eaf8;
  border-color: #5f4476;
}
.rehltak-portal :is(.trip-site-footer,.trip-partner-footer,.dev-footer) :is(a,summary,p,span) { color: inherit; }
.rehltak-portal :is(.trip-site-footer,.dev-footer) a:hover { text-decoration: underline; }

.customer-portal .trip-hero {
  background: var(--travel-scene) center 57% / cover;
  padding-block: clamp(40px,6vw,90px) clamp(46px,7vw,105px);
}
.customer-portal .trip-home .trip-hero-inner {
  background: transparent;
  box-shadow: none;
  border: 0;
  padding: 0;
}
.customer-portal .trip-home .trip-hero-copy { color: #fff; margin-block-end: 32px; }
.customer-portal .trip-home .trip-hero-copy h1 {
  color: inherit;
  font-size: clamp(34px,5vw,72px);
  font-weight: 800;
  line-height: 1.13;
  margin-block: 12px 8px;
}
.trip-hero-copy h1 em { font-style: normal; color: #ffc2e5; }
.customer-portal .trip-hero-copy p { color: #f6eaf7; max-width: 55ch; }
.trip-hero-label {
  display: inline-flex;
  border-radius: 999px;
  border: 1px solid #ffffff55;
  padding: 5px 12px;
  background: #ffffff24;
  font-size: .78rem;
  font-weight: 700;
}
.trip-discover {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 13px;
  padding: 10px 15px;
  margin-block-start: 14px;
  background: var(--travel-gradient);
  color: white;
  font-weight: 700;
  text-decoration: none;
}
.customer-portal .trip-home .trip-tabs {
  margin: 0 auto 13px;
  padding: 5px;
  gap: 4px;
  border: 1px solid #ffffff70;
  border-radius: 999px;
  background: #3f225ee8;
}
.customer-portal .trip-home .trip-tab {
  border: 0;
  border-radius: 999px;
  color: #f6eaf9;
  min-height: 44px;
}
.customer-portal .trip-home .trip-tab[aria-selected=true] {
  background: #fff;
  color: var(--travel-night);
}
.customer-portal .trip-home .trip-search-card {
  width: min(1100px,100%);
  margin-inline: auto;
  padding: clamp(12px,1.6vw,21px);
  background: #fff;
  border: 1px solid #ddc4e9;
  border-radius: 22px;
  box-shadow: 0 12px 30px #21113550;
}
.customer-portal .trip-search .ota-fields { box-shadow: none; }
.customer-portal .trip-search .ota-swap { color: var(--travel-accent); }
.customer-portal .trip-search .ota-trip-types label:has(:checked) { border-color: #cba5e0; }
.customer-portal .rxp-trust { padding-block: 18px; background: #fff; border-block-end: 1px solid var(--travel-line); }
.customer-portal .rxp-trust .rxp-section-heading { display: none; }
.customer-portal .rxp-trust .rxp-trust-grid article {
  border: 0;
  border-inline-start: 1px solid var(--travel-line);
  border-radius: 0;
  box-shadow: none;
  padding: 10px 14px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
}
.customer-portal .rxp-trust .rxp-trust-grid article > span { grid-row: span 2; margin: 0; }
.customer-portal .rxp-trust .rxp-trust-grid article > :is(h3,p) { margin: 0; }

.rehltak-portal :is(.rx-service-landing .page-hero,.b9-content-hero,.rx-info-hero,.b2c-page-hero,.dev-hero) {
  background: var(--travel-scene) center 56% / cover;
  color: white;
  border-color: #604677;
}
.rehltak-portal :is(.rx-service-landing .page-hero,.b9-content-hero,.rx-info-hero,.b2c-page-hero,.dev-hero)
:is(h1,.eyebrow,.b9-eyebrow,.back-link,.b9-back,.dev-kicker,nav a,.rx-info-kicker) { color: #fff; }
.rehltak-portal :is(.rx-service-landing .page-hero,.b9-content-hero,.rx-info-hero,.b2c-page-hero,.dev-hero) p { color: #f5eaf9; }
.rehltak-portal :is(.rx-service-landing .page-hero,.b9-content-hero,.rx-info-hero) {
  padding-block: clamp(34px,5vw,76px);
}
.rehltak-portal :is(.b9-content-hero,.rx-info-hero) h1 { font-size: clamp(30px,4vw,57px); line-height: 1.12; }
.rehltak-portal .b2c-page-hero .b2c-inline-alert { color: var(--travel-ink); }
.rehltak-portal :is(.b9-content-section,.rx-info-layout,.b2c-results,.b2c-checkout-layout) { padding-block: clamp(18px,3vw,38px); }
.rehltak-portal :is(.search-panel,.info-panel,.table-card,.b2c-offer-card,.b2c-order-summary,.b2c-checkout-section,.b2c-account-card,.b2c-results-toolbar,.b9-cta-panel,.b9-destination-card,.rx-info-content,.rx-info-aside,.b9-empty,.b2c-empty-filter,.rxp-trust-grid article) {
  border-radius: 17px;
  border-color: var(--travel-line);
  background-color: #fff;
  box-shadow: var(--travel-shadow);
}
.rehltak-portal :is(.b9-destination-card,.rxp-destination) { overflow: hidden; }
.rehltak-portal :is(.b2c-service-chip,.b2c-step-number,.dev-product-icon,.rxp-tab-icon) {
  background-color: var(--travel-soft);
  color: var(--travel-accent);
  border-color: var(--travel-line);
}
.customer-portal .trip-tab .rxp-tab-icon { background: transparent; color: inherit; }
.rehltak-portal .b2c-offer-price { border-color: var(--travel-line); }
.rehltak-portal .b2c-summary-total { background-color: var(--travel-soft); color: var(--travel-ink); }
.rehltak-portal :is(.b2c-account-nav,.admin-workbench,.agency-dashboard-shortcuts) a {
  border-color: var(--travel-line);
  border-radius: 14px;
}
.rehltak-portal :is(.agency-sidebar,.enterprise-admin-nav,.dev-doc-nav) { border-color: var(--travel-line); }
.rehltak-portal :is(.agency-workspace,.admin-workspace) .dashboard-head,
.rehltak-portal .dashboard-head {
  background: linear-gradient(110deg,#fff,#f3e8f8);
  border: 1px solid var(--travel-line);
  border-radius: 16px;
  padding: clamp(15px,2vw,24px);
}
.rehltak-portal :is(.agency-workspace .agency-nav,.enterprise-admin-nav) a[aria-current=page] {
  background: var(--travel-soft) !important;
  color: var(--travel-night) !important;
  border-inline-start-color: var(--travel-accent) !important;
}
.rehltak-portal :is(.agency-table,.enterprise-admin-table,.admin-responsive-table) thead { background: var(--travel-soft); }
.rehltak-portal .dev-hero .dev-terminal { background: #221637; color: #f5eaf9; }
.rehltak-portal .dev-hero .dev-terminal :is(.dev-caption,small) { color: #e8c9f0; }

.rehltak-portal .auth-section {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  place-items: stretch;
  gap: 0;
  width: min(1100px,calc(100% - 40px));
  margin: clamp(22px,5vw,68px) auto;
  padding: 0;
  min-height: 0;
  border: 1px solid var(--travel-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--travel-shadow);
  overflow: hidden;
}
.rehltak-portal .auth-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
  padding: clamp(24px,4vw,56px);
  background: var(--travel-scene) center / cover;
  color: #fff;
}
.auth-intro-brand { display: inline-flex; padding: 4px 8px; background: white; border-radius: 10px; }
.auth-intro-brand img { object-fit: contain; }
.auth-intro h2 { color: #fff; margin: 8px 0; font-size: clamp(26px,3vw,44px); line-height: 1.16; }
.auth-intro p { color: #f5eaf9; margin: 0; }
.auth-intro > a:last-child { color: #fff; margin-block-start: auto; }
.rehltak-portal .auth-section .auth-card {
  width: 100%;
  max-width: none;
  padding: clamp(22px,4vw,54px);
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.agency-entry .b2b-partner-hero { background: var(--travel-scene) center / cover; }
.agency-entry .b2b-partner-hero::before { content: none; }
.portal-page .portal-aside { background: var(--travel-scene) center / cover; }
.portal-page .portal-card button { background: var(--travel-gradient); color: #fff; }
.rehltak-error { background: var(--travel-scene) center / cover; color: var(--travel-ink); }
.rehltak-error main { border-radius: 20px; box-shadow: var(--travel-shadow); }
.rehltak-error main a { background: var(--travel-gradient); color: #fff; }
.rehltak-portal a:focus-visible { outline-color: #9d60bd; outline-offset: 3px; }

@media (max-width: 650px) {
  .customer-portal .trip-home .trip-hero-copy { margin-block-end: 20px; }
  .customer-portal .trip-home .trip-tabs { padding: 4px; }
  .customer-portal .trip-home .trip-tab { padding-inline: 7px; }
  .customer-portal .rxp-trust .rxp-trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
  .customer-portal .rxp-trust .rxp-trust-grid article { grid-template-columns: 1fr; padding: 8px; }
  .customer-portal .rxp-trust .rxp-trust-grid article > span { grid-row: auto; margin-block-end: 5px; }
  .rehltak-portal .auth-section { grid-template-columns: minmax(0,1fr); width: calc(100% - 24px); }
  .rehltak-portal .auth-intro { gap: 10px; padding: 18px; }
  .auth-intro-brand img { width: 110px; height: 38px; }
}
.rehltak-portal .rx-service-landing {
  max-width: none;
  margin: 0 0 42px;
  padding: 0;
}
.rehltak-portal .rx-service-landing > .page-hero {
  background: var(--travel-scene) center 56% / cover !important;
  padding: clamp(28px,6vw,88px) 16px !important;
  border-radius: 0;
  color: white !important;
}
.rehltak-portal .rx-service-landing .page-hero > .shell {
  width: min(1120px,100%) !important;
  margin-inline: auto !important;
}
.rehltak-portal .rx-service-landing .page-hero h1 { color: white !important; font-size: clamp(30px,4vw,58px); line-height: 1.16; }
.rehltak-portal .rx-service-landing .page-hero p,
.rehltak-portal .rx-service-landing .page-hero .back-link { color: #f5eaf9 !important; }
.rehltak-portal .rx-service-landing .page-hero .eyebrow { color: var(--travel-night) !important; background: #f5eaf9; }
.rehltak-portal .rx-service-landing > .form-section,
.rehltak-portal .rx-service-landing > .rx-service-guide {
  width: min(1120px,calc(100% - 28px)) !important;
  margin-inline: auto !important;
}
.rehltak-portal .rx-service-landing > .form-section {
  border: 1px solid var(--travel-line);
  border-radius: 22px;
  box-shadow: var(--travel-shadow);
}
.rehltak-portal .rx-service-landing .search-panel { border-top: 0 !important; }
.rehltak-portal .rx-service-landing .field :is(input,select,textarea) {
  background: var(--travel-canvas);
  border-color: var(--travel-line);
  color: var(--travel-ink);
}
.travel-product-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: center;
  width: fit-content;
  max-width: calc(100% - 24px);
  padding: 5px;
  margin: 18px auto;
  border: 1px solid var(--travel-line);
  border-radius: 28px;
  background: var(--travel-soft);
}
.travel-product-navigation a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  padding-inline: clamp(7px,2vw,22px);
  border-radius: 99px;
  color: var(--travel-night);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 650;
}
.travel-product-navigation a:is(:hover,[aria-current=page]) { background: #fff; box-shadow: var(--travel-shadow); }
.portal-brand img { object-fit: contain; background: white; border-radius: 10px; padding: 4px 8px; }
.customer-portal .trip-hero:has(.home-hotel-picker[open],.passenger-picker[open]) { z-index: 1; }
@media (max-width: 650px) {
  .customer-portal .home-hotel-picker-body {
    position: static;
    width: auto;
    max-height: none;
    margin-block-start: 10px;
  }
}
