/* ==========================================================================
   Ran Lanka Tour Holidays — "Ceylon Luxe" layer
   --------------------------------------------------------------------------
   Loaded AFTER ranlanka.css on every public page. It turns the playful
   "organic" look into a quiet, editorial luxury feel:

   - Palette: deep tea-estate emerald, warm ivory, champagne gold (the logo's
     sunset orange is kept only as a rare accent).
   - Type: Cormorant Garamond for display, Jost for text; small-caps style
     tracked labels instead of the brush script.
   - Shape: crisp edges, thin gold hairlines and classic arches instead of
     blobs, wavy edges, rotating rings and leaves.
   - Motion: slow, subtle fades only.

   To roll back, remove the one <link> to this file in
   resources/views/components/brand-head.blade.php.
   ========================================================================== */

:root {
  /* Luxe palette */
  --lx-emerald: #0F241D;       /* tea-estate night */
  --lx-emerald-2: #16332A;
  --lx-emerald-3: #21463A;
  --lx-ivory: #FAF7F1;
  --lx-cream: #F3EDE2;
  --lx-stone: #E6DDCD;
  --lx-gold: #B08D57;          /* champagne gold */
  --lx-gold-light: #D6BD8D;
  --lx-gold-deep: #8C6A38;
  --lx-ink: #1A1F1C;
  --lx-ink-soft: #5E625D;
  --lx-hair: rgba(26, 31, 28, .12);
  --lx-hair-gold: rgba(176, 141, 87, .38);
  --lx-gold-gradient: linear-gradient(135deg, #C9A86B 0%, #B08D57 45%, #8C6A38 100%);

  /* Re-map the design-system tokens so every existing component follows */
  --rl-sunset: var(--lx-gold-deep);
  --rl-tangerine: var(--lx-gold);
  --rl-marigold: var(--lx-gold-light);
  --rl-palm: var(--lx-emerald);
  --rl-palm-soft: var(--lx-emerald-2);
  --rl-jungle: var(--lx-emerald-2);
  --rl-olive: var(--lx-gold);
  --rl-plum: var(--lx-gold-deep);

  --rl-sand: var(--lx-cream);
  --rl-sand-deep: var(--lx-stone);
  --rl-paper: var(--lx-ivory);
  --rl-ink: var(--lx-ink);
  --rl-ink-soft: var(--lx-ink-soft);
  --rl-line: var(--lx-hair);

  --rl-sun-gradient: var(--lx-gold-gradient);
  --rl-jungle-gradient: linear-gradient(160deg, var(--lx-emerald-3) 0%, var(--lx-emerald) 100%);

  /* Shapes: crisp, with arches reserved for hero imagery */
  --lx-arch: 999px 999px 0 0 / 420px 420px 0 0;
  --lx-r: 2px;
  --rl-blob-a: var(--lx-r);
  --rl-blob-b: var(--lx-r);
  --rl-blob-c: var(--lx-r);
  --rl-pebble: var(--lx-r);
  --rl-radius: var(--lx-r);

  --rl-shadow-sm: 0 1px 2px rgba(15, 36, 29, .04), 0 8px 24px rgba(15, 36, 29, .05);
  --rl-shadow: 0 2px 6px rgba(15, 36, 29, .05), 0 24px 60px rgba(15, 36, 29, .10);
  --rl-shadow-warm: none;

  --rl-font-display: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --rl-font-body: "Jost", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;
  --rl-font-script: "Cormorant Garamond", Garamond, serif;

  --rl-ease: cubic-bezier(.25, .8, .25, 1);
  --rl-header-h: 92px;

  --primary-color1: var(--lx-gold);
  --primary-color1-opc: 176, 141, 87;
  --primary-color2: var(--lx-emerald);
  --primary-color2-opc: 15, 36, 29;
}
html[dir="rtl"] {
  --rl-font-display: "Tajawal", "Cormorant Garamond", serif;
  --rl-font-body: "Tajawal", "Jost", sans-serif;
  --rl-font-script: "Tajawal", serif;
}

/* --------------------------------------------------------------------------
   Base & typography
   -------------------------------------------------------------------------- */
body {
  font-weight: 350;
  font-size: 16.5px;
  letter-spacing: .005em;
  background: var(--lx-ivory);
  color: var(--lx-ink);
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  letter-spacing: -.005em;
  font-variation-settings: normal;
}
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3 { font-weight: 700; letter-spacing: 0; }
p { color: var(--lx-ink-soft); }
strong, b { font-weight: 500; }
::selection { background: var(--lx-gold-light); color: var(--lx-emerald); }
:focus-visible { outline: 1px solid var(--lx-gold); outline-offset: 4px; border-radius: 0; }

.rl-container { width: min(1280px, 100% - 48px); }
.rl-section { padding-block: clamp(80px, 10vw, 150px); }

/* Tracked label replaces the brush-script eyebrow */
.rl-eyebrow {
  font-family: var(--rl-font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--lx-gold-deep);
  gap: 16px;
  margin-bottom: 22px;
}
.rl-eyebrow::before {
  width: 42px; height: 1px;
  background: currentColor;
  opacity: .7;
}
html[dir="rtl"] .rl-eyebrow { letter-spacing: 0; font-size: 14px; }

.rl-title {
  font-size: clamp(38px, 4.8vw, 66px);
  line-height: 1.04;
  font-weight: 500;
  margin-bottom: 26px;
}
.rl-title--sm { font-size: clamp(30px, 3.4vw, 46px); }
.rl-title em, .rl-hero h1 em { font-style: italic; font-weight: 400; color: var(--lx-gold-deep); }

/* Hand-drawn scribble becomes a refined italic */
.rl-scribble { font-style: italic; font-weight: 400; color: var(--lx-gold-deep); white-space: normal; }
.rl-scribble::after { display: none; }

.rl-lead { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.8; font-weight: 300; color: var(--lx-ink); }
.rl-script { font-family: var(--rl-font-display); font-style: italic; color: var(--lx-gold-deep); }

/* --------------------------------------------------------------------------
   Buttons — tailored, square, tracked
   -------------------------------------------------------------------------- */
.rl-btn {
  --btn-bg: var(--lx-emerald);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  gap: 12px;
  padding: 17px 34px;
  border-radius: 0;
  background: var(--btn-bg);
  color: var(--lx-ivory) !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  box-shadow: none;
  transition: color .5s var(--rl-ease), background .5s var(--rl-ease), box-shadow .5s var(--rl-ease);
}
.rl-btn::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: var(--lx-gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .6s var(--rl-ease);
}
.rl-btn:hover { transform: none; border-radius: 0; box-shadow: none; color: #fff !important; }
.rl-btn:hover::before { transform: scaleX(1); transform-origin: left; }
.rl-btn i { font-size: 14px; }
html[dir="rtl"] .rl-btn { letter-spacing: 0; font-size: 14px; }

.rl-btn--ghost { background: transparent; color: var(--lx-emerald) !important; box-shadow: inset 0 0 0 1px var(--lx-emerald); }
.rl-btn--ghost::before { background: var(--lx-emerald); }
.rl-btn--ghost:hover { background: transparent; color: var(--lx-ivory) !important; box-shadow: inset 0 0 0 1px var(--lx-emerald); }
.rl-btn--light { background: var(--lx-ivory); color: var(--lx-emerald) !important; box-shadow: none; }
.rl-btn--light::before { background: var(--lx-gold-light); }
.rl-btn--light:hover { color: var(--lx-emerald) !important; }
.rl-btn--jungle { --btn-bg: transparent; box-shadow: inset 0 0 0 1px rgba(250, 247, 241, .5); }
.rl-btn--jungle::before { background: var(--lx-ivory); }
.rl-btn--jungle:hover { color: var(--lx-emerald) !important; }
.rl-btn--glass {
  background: transparent;
  backdrop-filter: none; -webkit-backdrop-filter: none;
  box-shadow: inset 0 0 0 1px rgba(250, 247, 241, .6);
}
.rl-btn--glass::before { background: var(--lx-ivory); }
.rl-btn--glass:hover { background: transparent; color: var(--lx-emerald) !important; box-shadow: inset 0 0 0 1px var(--lx-ivory); }
.rl-btn--sm { padding: 13px 22px; font-size: 11px; }

.rl-link {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lx-emerald);
  border-bottom: 1px solid var(--lx-gold);
  padding-bottom: 6px;
}
.rl-link:hover { color: var(--lx-gold-deep); }
html[dir="rtl"] .rl-link { letter-spacing: 0; font-size: 14px; }

/* --------------------------------------------------------------------------
   Shapes & decoration — retire the playful pieces
   -------------------------------------------------------------------------- */
.rl-blob { border-radius: var(--lx-r); box-shadow: none; background: var(--lx-stone); }
.rl-blob img { transition: transform 1.6s var(--rl-ease); }
.rl-blob:hover img { transform: scale(1.035); }
.rl-blob--morph, .rl-float-wa, .rl-step__num, .rl-quote-empty__mark { animation: none !important; }

.rl-wave, .rl-leaf, .rl-ring { display: none !important; }
.rl-sun { display: none; }

/* Stamp: thin double gold ring */
.rl-stamp {
  width: 124px; height: 124px;
  background: var(--lx-ivory);
  box-shadow: 0 0 0 1px var(--lx-hair-gold), var(--rl-shadow);
}
.rl-stamp::before { inset: 6px; border: 1px solid var(--lx-hair-gold); }
.rl-stamp strong { font-family: var(--rl-font-display); font-weight: 500; font-size: 38px; color: var(--lx-gold-deep); }
.rl-stamp span { font-size: 9.5px; letter-spacing: .24em; }

.rl-pill {
  border-radius: 0;
  padding: 7px 12px;
  background: var(--lx-ivory);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.rl-pill--sun { background: var(--lx-emerald); color: var(--lx-gold-light); }
html[dir="rtl"] .rl-pill { letter-spacing: 0; font-size: 12.5px; }

/* Slower, softer reveal */
.rl-reveal { transform: translateY(22px); transition: opacity 1.2s var(--rl-ease), transform 1.2s var(--rl-ease); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.rl-header {
  background: rgba(250, 247, 241, .94);
  border-bottom: 1px solid var(--lx-hair);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}
.rl-header.is-scrolled { box-shadow: 0 10px 40px rgba(15, 36, 29, .06); background: rgba(250, 247, 241, .98); }
.rl-header__inner { width: min(1400px, 100% - 48px); gap: 32px; }

.rl-brand img { height: 50px; }
.rl-brand:hover img { transform: none; }
.rl-brand__text strong {
  font-family: var(--rl-font-display);
  font-size: 25px; font-weight: 600;
  letter-spacing: .02em;
  color: var(--lx-emerald);
}
.rl-brand__text em {
  font-family: var(--rl-font-body);
  font-size: 9.5px; font-weight: 500;
  letter-spacing: .38em; text-transform: uppercase;
  color: var(--lx-gold-deep);
  margin-top: 5px;
}

.rl-menu { gap: 2px; }
.rl-menu > li > a,
.rl-menu > li > button {
  padding: 12px 14px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lx-ink);
  position: relative;
  white-space: nowrap;
}
html[dir="rtl"] .rl-menu > li > a, html[dir="rtl"] .rl-menu > li > button { letter-spacing: 0; font-size: 15px; }
.rl-menu > li > a::before,
.rl-menu > li > button::before {
  content: ""; position: absolute; inset-inline: 14px; bottom: 6px; height: 1px;
  background: var(--lx-gold); transform: scaleX(0); transform-origin: left;
  transition: transform .5s var(--rl-ease);
}
.rl-menu > li:hover > a, .rl-menu > li:hover > button, .rl-menu > li.is-open > button { background: transparent; color: var(--lx-gold-deep); }
.rl-menu > li:hover > a::before, .rl-menu > li:hover > button::before,
.rl-menu > li.is-active > a::before, .rl-menu > li.is-active > button::before { transform: scaleX(1); }
.rl-menu > li.is-active > a, .rl-menu > li.is-active > button { color: var(--lx-gold-deep); }
.rl-menu > li.is-active > a::after, .rl-menu > li.is-active > button::after { display: none; }
.rl-menu > li > button i { font-size: 9px; }

.rl-sub, .rl-drop__panel {
  border-radius: 0;
  padding: 14px 8px;
  background: var(--lx-ivory);
  border: 1px solid var(--lx-hair);
  border-top: 2px solid var(--lx-gold);
  box-shadow: 0 30px 60px rgba(15, 36, 29, .10);
}
.rl-sub a, .rl-drop__panel a { border-radius: 0; font-size: 14.5px; font-weight: 400; padding: 10px 16px; }
.rl-sub a:hover, .rl-sub li.is-active a,
.rl-drop__panel a:hover, .rl-drop__panel a.is-active { background: var(--lx-cream); color: var(--lx-gold-deep); }

.rl-icon-btn {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--lx-hair);
  font-size: 16px;
}
.rl-icon-btn:hover { background: var(--lx-emerald); color: var(--lx-ivory); transform: none; box-shadow: none; }
.rl-icon-btn .rl-badge { background: var(--lx-gold); font-weight: 500; }
.rl-icon-btn.rl-lang-btn { width: auto; padding-inline: 14px; gap: 6px; }
.rl-lang-btn { border-radius: 999px; font-size: 12px; letter-spacing: .12em; font-weight: 500; }
.rl-cart-item img { border-radius: 0; }
.rl-cart-item { border-bottom-style: solid; }

@media (max-width: 1340px) and (min-width: 992px) {
  .rl-menu > li > a, .rl-menu > li > button { padding-inline: 9px; letter-spacing: .1em; font-size: 11.5px; }
  .rl-menu > li > a::before, .rl-menu > li > button::before { inset-inline: 9px; }
  .rl-header__inner { gap: 20px; }
}
@media (max-width: 480px) {
  .rl-header__inner { width: calc(100% - 28px); gap: 10px; }
  .rl-actions { gap: 6px; }
  .rl-icon-btn { width: 38px; height: 38px; font-size: 15px; }
  .rl-brand img { height: 40px; }
}
@media (max-width: 991px) {
  :root { --rl-header-h: 74px; }
  .rl-nav { border-radius: 0; background: var(--lx-ivory); }
  html[dir="rtl"] .rl-nav { border-radius: 0; }
  .rl-menu > li > a, .rl-menu > li > button { border-radius: 0; padding: 16px 6px; font-size: 13px; border-bottom: 1px solid var(--lx-hair); }
  .rl-menu > li > a::before, .rl-menu > li > button::before { display: none; }
  .rl-sub { border: 0; background: var(--lx-cream); border-radius: 0; }
  .rl-nav__extras { border-radius: 0; background: var(--lx-emerald); color: var(--lx-ivory); }
  .rl-nav__extras a, .rl-nav__extras small { color: var(--lx-ivory) !important; }
  .rl-nav__extras small { letter-spacing: .24em; text-transform: uppercase; font-size: 10.5px; opacity: .7; }
  .rl-nav__langs a { border-radius: 0; background: transparent; box-shadow: inset 0 0 0 1px rgba(250,247,241,.3); }
  .rl-nav__langs a.is-active { background: var(--lx-gold); }
  .rl-nav__extras .rl-btn { background: var(--lx-gold); width: 100%; }
  .rl-scrim { background: rgba(15, 36, 29, .55); }
}

/* Home: header floats transparently over the full-bleed hero */
@media (min-width: 992px) {
  .rl-home .rl-header:not(.is-scrolled) {
    position: fixed; inset-inline: 0;
    background: linear-gradient(180deg, rgba(10, 22, 18, .55), rgba(10, 22, 18, 0));
    border-bottom-color: rgba(250, 247, 241, .14);
    backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  .rl-home .rl-header.is-scrolled { position: fixed; inset-inline: 0; }
  .rl-home .rl-header:not(.is-scrolled) .rl-brand__text strong,
  .rl-home .rl-header:not(.is-scrolled) .rl-menu > li > a,
  .rl-home .rl-header:not(.is-scrolled) .rl-menu > li > button,
  .rl-home .rl-header:not(.is-scrolled) .rl-icon-btn { color: var(--lx-ivory); }
  .rl-home .rl-header:not(.is-scrolled) .rl-brand__text em { color: var(--lx-gold-light); }
  .rl-home .rl-header:not(.is-scrolled) .rl-icon-btn { box-shadow: inset 0 0 0 1px rgba(250, 247, 241, .35); }
  .rl-home .rl-header:not(.is-scrolled) .rl-icon-btn:hover { background: var(--lx-ivory); color: var(--lx-emerald); }
  .rl-home .rl-header:not(.is-scrolled) .rl-menu > li:hover > a,
  .rl-home .rl-header:not(.is-scrolled) .rl-menu > li:hover > button,
  .rl-home .rl-header:not(.is-scrolled) .rl-menu > li.is-active > a { color: var(--lx-gold-light); }
  .rl-home .rl-header:not(.is-scrolled) .rl-cta-trip { background: transparent; box-shadow: inset 0 0 0 1px rgba(250, 247, 241, .6); }
  .rl-home .rl-header:not(.is-scrolled) .rl-cta-trip::before { background: var(--lx-ivory); }
  .rl-home .rl-header:not(.is-scrolled) .rl-cta-trip:hover { color: var(--lx-emerald) !important; }
  .rl-home .rl-vhero { min-height: 100vh; min-height: 100svh; padding-top: calc(var(--rl-header-h) + 60px); }
}

/* ==========================================================================
   INNER PAGE BANNER
   ========================================================================== */
.rl-banner {
  background: var(--lx-cream);
  padding: clamp(56px, 7vw, 100px) 0 clamp(64px, 8vw, 110px);
  border-bottom: 1px solid var(--lx-hair);
}
.rl-banner::before { display: none; }
.rl-banner h1 { font-size: clamp(44px, 6vw, 88px); font-weight: 500; line-height: 1; margin: 18px 0 22px; }
.rl-banner__tag { font-weight: 300; color: var(--lx-ink); }
.rl-crumbs { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; gap: 12px; }
.rl-crumbs a { font-weight: 500; color: var(--lx-gold-deep); }
.rl-crumbs li + li::before { content: ""; display: inline-block; width: 22px; height: 1px; background: var(--lx-gold); vertical-align: middle; margin-inline-end: 12px; }
html[dir="rtl"] .rl-crumbs { letter-spacing: 0; font-size: 13px; }

.rl-banner__media { width: min(100%, 460px); }
.rl-banner__media .rl-blob,
.rl-about-hero__media .rl-blob--main {
  aspect-ratio: .82;
  border-radius: var(--lx-arch);
}
.rl-banner__media::after {
  /* gold keyline offset frame */
  content: ""; position: absolute; inset: 18px -18px -18px 18px;
  border: 1px solid var(--lx-hair-gold);
  border-radius: var(--lx-arch);
  z-index: -1; pointer-events: none;
}
html[dir="rtl"] .rl-banner__media::after { inset: 18px 18px -18px -18px; }

/* ==========================================================================
   HOME — hero
   ========================================================================== */
.rl-vhero { padding-bottom: clamp(120px, 12vw, 180px); background-color: var(--lx-emerald); }
.rl-vhero__shade {
  background:
    linear-gradient(90deg, rgba(8, 20, 16, .78) 0%, rgba(8, 20, 16, .45) 45%, rgba(8, 20, 16, .12) 100%),
    linear-gradient(180deg, rgba(8, 20, 16, .35) 0%, transparent 30%, rgba(8, 20, 16, .55) 100%);
}
.rl-vhero__shade::after { display: none; }
.rl-vhero h1 {
  font-size: clamp(48px, 7.2vw, 112px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.015em;
  max-width: 13ch;
  text-shadow: none;
}
.rl-vhero .rl-eyebrow { color: var(--lx-gold-light); }
.rl-vhero__lead { font-weight: 300; font-size: clamp(17px, 1.5vw, 20px); color: rgba(250, 247, 241, .85); max-width: 520px; }
.rl-vhero .rl-btn:not(.rl-btn--glass) { background: var(--lx-gold); }
.rl-vhero .rl-btn:not(.rl-btn--glass)::before { background: var(--lx-ivory); }
.rl-vhero .rl-btn:not(.rl-btn--glass):hover { color: var(--lx-emerald) !important; }
.rl-hero__ctas { gap: 16px; }

.rl-hero__trust { margin-top: 48px; padding-top: 28px; border-top: 1px solid rgba(250, 247, 241, .18); max-width: 520px; }
.rl-hero__trust-dots span {
  width: 38px; height: 38px;
  background: var(--lx-emerald-2) !important;
  color: var(--lx-gold-light);
  border: 1px solid rgba(214, 189, 141, .55) !important;
  font-size: 10px; font-weight: 500; letter-spacing: .08em;
  margin-inline-start: -8px;
}
.rl-vhero .rl-hero__trust strong { font-family: var(--rl-font-display); font-size: 20px; font-weight: 500; }

.rl-stamp--hero { background: transparent; box-shadow: 0 0 0 1px rgba(214, 189, 141, .55); backdrop-filter: blur(6px); animation: none; }
.rl-stamp--hero::before { border-color: rgba(214, 189, 141, .35); }
.rl-stamp--hero strong { color: var(--lx-gold-light); }
.rl-stamp--hero span { color: rgba(250, 247, 241, .8); }
.rl-vhero__sound { border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1px rgba(250, 247, 241, .35); font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; backdrop-filter: none; }
.rl-vhero__sound i { background: var(--lx-gold); }
.rl-vhero__scroll {
  width: 1px; height: 70px; border-radius: 0; box-shadow: none;
  background: linear-gradient(180deg, rgba(250, 247, 241, 0), rgba(250, 247, 241, .8));
  animation: none; font-size: 0;
}
.rl-vhero__scroll:hover { background: var(--lx-gold-light); }

/* Classic (non-video) hero */
.rl-hero { background: var(--lx-cream); }
.rl-hero__main { border-radius: var(--lx-arch); }
.rl-hero__small { border-radius: 0; border-color: var(--lx-cream); }
.rl-hero__caption { border-radius: 0; border-top: 2px solid var(--lx-gold); }
.rl-hero__dots button.is-active { border-radius: 0; height: 2px; margin-top: 4px; }

/* Finder bar */
.rl-search { margin-top: clamp(-96px, -7vw, -64px); }
.rl-vhero + .rl-search { margin-top: clamp(-96px, -7vw, -64px); }
.rl-search__card {
  gap: 0;
  padding: 10px;
  border-radius: 0;
  background: var(--lx-ivory);
  box-shadow: 0 40px 80px rgba(8, 20, 16, .16);
  border-top: 2px solid var(--lx-gold);
}
.rl-field { padding: 14px 22px; border-radius: 0; }
.rl-field + .rl-field { border-inline-start: 1px solid var(--lx-hair); }
.rl-field:hover, .rl-field:focus-within { background: var(--lx-cream); }
.rl-field label { font-size: 10.5px; font-weight: 500; letter-spacing: .26em; color: var(--lx-gold-deep); }
.rl-field select { font-family: var(--rl-font-display); font-size: 20px; font-weight: 500; }
.rl-search__card .rl-btn { height: auto; align-self: stretch; padding-inline: 38px; }
@media (max-width: 991px) {
  .rl-search__card { border-radius: 0; }
  .rl-field:nth-child(odd) { border-inline-start: 0; }
  .rl-field { border-bottom: 1px solid var(--lx-hair); }
  .rl-search__card .rl-btn { padding-block: 18px; }
}

/* ==========================================================================
   HOME — sections
   ========================================================================== */
.rl-head { gap: 50px; margin-bottom: clamp(48px, 6vw, 80px); }
@media (min-width: 768px) { .rl-head { grid-template-columns: 1.15fr .85fr; } }
@media (max-width: 767px) { .rl-head { gap: 22px; } }
.rl-head__side { padding-inline-start: 28px; border-inline-start: 1px solid var(--lx-hair-gold); gap: 22px; }
.rl-head__side p { font-weight: 300; }
@media (max-width: 767px) { .rl-head__side { padding-inline-start: 18px; } }

/* Intro collage: arch + offset square, gold keyline */
.rl-collage__a { border-radius: var(--lx-arch); }
.rl-collage__b { border: 10px solid var(--lx-ivory); border-radius: 0; }
.rl-section--sand .rl-collage__b { border-color: var(--lx-cream); }
.rl-collage::before {
  content: ""; position: absolute; inset: -18px 26% 24% -18px;
  border: 1px solid var(--lx-hair-gold); border-radius: var(--lx-arch); pointer-events: none;
}
html[dir="rtl"] .rl-collage::before { inset: -18px -18px 24% 26%; }
.rl-checks { gap: 16px 28px; }
.rl-checks li { font-weight: 400; padding-bottom: 14px; border-bottom: 1px solid var(--lx-hair); }
.rl-checks i { color: var(--lx-gold); font-size: 16px; }

/* Categories: clean editorial tiles */
.rl-cats { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 28px; }
.rl-cat:nth-child(even) { transform: none; }
.rl-cat__img, .rl-cat:nth-child(n) .rl-cat__img { border-radius: 0; aspect-ratio: .78; }
.rl-cat:nth-child(4n+1) .rl-cat__img { border-radius: var(--lx-arch); }
.rl-cat__img::after { background: linear-gradient(180deg, transparent 40%, rgba(8, 20, 16, .78)); }
.rl-cat__body { text-align: start; padding: 26px; }
.rl-cat__body h3 { font-size: 28px; font-weight: 500; }
.rl-cat__body span { font-size: 10.5px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: rgba(250, 247, 241, .88); opacity: 1; }
.rl-cat__arrow { background: transparent; color: var(--lx-ivory); box-shadow: inset 0 0 0 1px rgba(250, 247, 241, .55); width: 40px; height: 40px; }
.rl-cat:hover .rl-cat__arrow { background: var(--lx-gold); box-shadow: none; color: #fff; }

/* Featured destinations carousel */
.rl-fcard:nth-child(even) { margin-top: 64px; }
.rl-fcard:hover { transform: translateY(-6px); }
.rl-fcard__img, .rl-fcard:nth-child(n) .rl-fcard__img { border-radius: var(--lx-arch); box-shadow: none; }
.rl-fcard:nth-child(3n+2) .rl-fcard__img { border-radius: 0; }
.rl-fcard__img::after { background: linear-gradient(180deg, transparent 42%, rgba(8, 20, 16, .85) 100%); }
.rl-fcard__num { font-size: 13px; letter-spacing: .2em; color: var(--lx-gold-light); }
.rl-fcard__body h3 { font-size: 32px; font-weight: 500; }
.rl-fcard__go { font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; border-bottom: 1px solid var(--lx-gold-light); padding-bottom: 5px; }
.rl-arrows .rl-icon-btn { background: transparent; box-shadow: inset 0 0 0 1px var(--lx-hair); width: 52px; height: 52px; }
.rl-arrows .rl-icon-btn:hover { background: var(--lx-emerald); color: var(--lx-ivory); }

/* Spotlight tour */
.rl-spot__img { border-radius: 0 !important; aspect-ratio: 1.15; }
.rl-spot__body {
  border-radius: 0;
  border-top: 2px solid var(--lx-gold);
  box-shadow: 0 40px 90px rgba(15, 36, 29, .12);
  background: var(--lx-ivory);
  padding: clamp(32px, 4.5vw, 56px);
}
.rl-spot__body h3 { font-size: clamp(30px, 3.2vw, 44px); font-weight: 500; }
.rl-spot__meta span { border-radius: 0; background: transparent; box-shadow: inset 0 0 0 1px var(--lx-hair); font-weight: 400; font-size: 13px; }
.rl-spot__meta i { color: var(--lx-gold); }

/* Tour cards */
.rl-tours { gap: 36px; }
.rl-tour {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.rl-tour:nth-child(3n+2), .rl-tour:nth-child(3n+2):hover { transform: none; }
.rl-tour:hover { box-shadow: none; transform: none; }
.rl-tour__img { margin: 0; border-radius: 0; aspect-ratio: 4 / 4.6; }
.rl-tour:nth-child(3n+2) .rl-tour__img { border-radius: var(--lx-arch); }
.rl-tour__img .rl-pill { background: rgba(250, 247, 241, .94); }
.rl-tour:nth-child(3n+2) .rl-tour__img .rl-pill { top: auto; bottom: 14px; }
.rl-tour__body { padding: 24px 0 0; }
.rl-tour__cat { font-size: 10.5px; font-weight: 500; letter-spacing: .26em; color: var(--lx-gold-deep); }
.rl-tour__body h3 { font-size: 27px; line-height: 1.15; font-weight: 500; margin: 8px 0 12px; }
.rl-tour__places { font-size: 13px; }
.rl-tour__places li::before { content: "·"; font-family: inherit; color: var(--lx-gold); font-size: 18px; }
.rl-tour__places li:first-child::before { display: none; }
.rl-tour__foot { border-top: 1px solid var(--lx-hair); padding-top: 18px; }
.rl-price small { font-size: 10px; letter-spacing: .24em; }
.rl-price strong { font-size: 30px; font-weight: 500; color: var(--lx-emerald); }

.rl-tabs { border-radius: 0; background: transparent; padding: 0; gap: 22px; border-bottom: 1px solid var(--lx-hair); }
.rl-tabs button { border-radius: 0; padding: 10px 0; font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.rl-tabs button.is-active { background: transparent; box-shadow: inset 0 -1px 0 var(--lx-gold); color: var(--lx-emerald); }

/* Why us: dark emerald with hairline grid */
.rl-why { background: var(--lx-emerald); }
.rl-why::before {
  width: 900px; height: 900px; border-radius: 50%; top: -420px; inset-inline-end: -320px;
  background: radial-gradient(circle, rgba(176, 141, 87, .16), transparent 65%);
}
.rl-why .rl-eyebrow { color: var(--lx-gold-light); }
.rl-why .rl-head__side { border-color: rgba(214, 189, 141, .3); }
.rl-why__grid { gap: 0; border-top: 1px solid rgba(214, 189, 141, .22); border-inline-start: 1px solid rgba(214, 189, 141, .22); }
.rl-why__item, .rl-why__item:nth-child(n) {
  transform: none;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-inline-end: 1px solid rgba(214, 189, 141, .22);
  border-bottom: 1px solid rgba(214, 189, 141, .22);
  padding: clamp(32px, 3.5vw, 48px);
  transition: background .6s var(--rl-ease);
}
.rl-why__item:hover { background: rgba(250, 247, 241, .04); }
.rl-why__icon {
  width: auto; height: auto; margin-bottom: 26px;
  background: transparent; border-radius: 0;
  color: var(--lx-gold-light); font-size: 30px;
  display: block;
}
.rl-why__item h3 { font-size: 26px; font-weight: 500; }
.rl-why__item p { color: rgba(250, 247, 241, .66); font-weight: 300; }

/* Testimonials */
.rl-quotes { gap: 32px; }
.rl-quote, .rl-quote:nth-child(n) {
  margin-top: 0;
  border-radius: 0;
  background: var(--lx-ivory);
  box-shadow: none;
  border: 1px solid var(--lx-hair);
  padding: 46px 36px 34px;
}
.rl-section--sand .rl-quote { background: #fff; }
.rl-quote::before { top: 14px; font-size: 80px; color: var(--lx-gold-light); }
.rl-quote__stars { color: var(--lx-gold); letter-spacing: 4px; font-size: 12px; }
.rl-quote__text { font-family: var(--rl-font-display); font-size: 21px; line-height: 1.5; font-style: italic; }
html[dir="rtl"] .rl-quote__text { font-family: var(--rl-font-body); font-size: 16px; font-style: normal; }
.rl-quote__more { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--lx-gold-deep); }
.rl-quote__who { padding-top: 20px; border-top: 1px solid var(--lx-hair); }
.rl-quote__avatar { border-radius: 50%; background: var(--lx-emerald); color: var(--lx-gold-light); font-weight: 500; }
.rl-quote__who strong { font-weight: 500; }
.rl-quote__via { border-radius: 0; }
.rl-rating-sum strong { font-weight: 500; font-size: 56px; }
.rl-quote-empty { border-radius: 0; border: 1px solid var(--lx-hair); box-shadow: none; }
.rl-quote-empty__mark { border-radius: 50%; background: var(--lx-emerald); color: var(--lx-gold-light); }

/* Tailor-made band */
.rl-service__strip { transform: none; gap: 18px; }
.rl-service__strip .rl-blob { border-radius: 0; }
.rl-service__strip .rl-blob:nth-of-type(1) { border-radius: var(--lx-arch); }
.rl-service__list { gap: 0; border-top: 1px solid var(--lx-hair); }
.rl-service__list li { border-radius: 0; background: transparent; box-shadow: none; border-bottom: 1px solid var(--lx-hair); padding: 18px 0; font-weight: 400; }
.rl-service__list i { border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 1px var(--lx-hair-gold); color: var(--lx-gold-deep); }

/* Destination ribbon: straight, refined */
.rl-ribbon {
  transform: none; margin: 0;
  padding: 34px 0;
  background: var(--lx-ivory);
  border-block: 1px solid var(--lx-hair);
}
.rl-ribbon__track { gap: 44px; animation-duration: 70s; }
.rl-ribbon__track span { font-weight: 400; font-size: clamp(28px, 3.2vw, 46px); color: var(--lx-emerald); }
.rl-ribbon__track span:nth-of-type(3n+2) { color: var(--lx-gold-deep); }
.rl-ribbon__track span:nth-of-type(3n) { -webkit-text-stroke: 0; color: var(--lx-emerald); font-style: normal; }
.rl-ribbon__track img { width: 26px; opacity: .55; filter: grayscale(1) sepia(.6); }

/* Destinations broken grid (destinations listing) */
.rl-dest__img, .rl-dest:nth-child(even) .rl-dest__img { border-radius: 0; }
.rl-dest:nth-child(5n+1) .rl-dest__img { border-radius: 0; }
.rl-dest__body { border-radius: 0; border-top: 2px solid var(--lx-gold); background: var(--lx-ivory); }
.rl-dest__body h3 { font-size: 28px; font-weight: 500; }

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
.rl-about-hero h1 { font-weight: 400; }
.rl-about-hero h1 .rl-script-line { font-family: var(--rl-font-display); font-style: italic; font-size: .46em; color: var(--lx-gold-deep); }
.rl-about-hero__media .rl-blob--mini { border-radius: 0; border-color: var(--lx-cream); }
.rl-about-hero__media .rl-emblem-badge { animation: none; box-shadow: 0 0 0 1px var(--lx-hair-gold), var(--rl-shadow); }
.rl-hero-facts span { border-radius: 0; background: transparent; box-shadow: inset 0 0 0 1px var(--lx-hair); font-weight: 400; font-size: 13px; }
.rl-hero-facts i { color: var(--lx-gold); }

.rl-welcome__body p:first-of-type::first-letter { font-weight: 500; color: var(--lx-gold-deep); font-size: 4.6em; }
.rl-pullquote { border-radius: 0; background: transparent; border-block: 1px solid var(--lx-hair-gold); padding: 34px 0 34px 40px; font-weight: 400; font-size: clamp(22px, 2.4vw, 30px); }
.rl-pullquote::before { width: 1px; background: var(--lx-gold); border-radius: 0; }
.rl-partners { border-radius: 0; box-shadow: none; border: 1px solid var(--lx-hair); background: transparent; }
.rl-partners li { border-radius: 0; background: var(--lx-cream); font-weight: 400; }

.rl-path::before { width: 1px; margin-left: -.5px; background: var(--lx-hair-gold); opacity: 1; }
.rl-step__card, .rl-step:nth-child(even) .rl-step__card { border-radius: 0; box-shadow: none; border: 1px solid var(--lx-hair); background: var(--lx-ivory); }
.rl-step__card:hover { transform: none; box-shadow: var(--rl-shadow-sm); }
.rl-step__card h3 { font-size: 26px; font-weight: 500; }
.rl-step__num { border-radius: 50%; background: var(--lx-emerald); color: var(--lx-gold-light); box-shadow: 0 0 0 8px var(--lx-ivory), 0 0 0 9px var(--lx-hair-gold); font-weight: 400; }
.rl-section--sand .rl-step__num { box-shadow: 0 0 0 8px var(--lx-cream), 0 0 0 9px var(--lx-hair-gold); }
.rl-step__icon { color: var(--lx-gold); opacity: .7; }

.rl-mv__card { box-shadow: none; }
.rl-mv__mission, .rl-mv__vision { border-radius: 0 !important; }
.rl-mv__mission { background: var(--lx-emerald); }
.rl-mv__mission .rl-mv__icon { background: transparent; color: var(--lx-gold-light); box-shadow: inset 0 0 0 1px rgba(214,189,141,.4); }
.rl-mv__vision { background: var(--lx-ivory); border: 1px solid var(--lx-hair); border-top: 2px solid var(--lx-gold); box-shadow: var(--rl-shadow); }
.rl-mv__vision .rl-mv__icon { background: var(--lx-emerald); color: var(--lx-gold-light); }
.rl-mv__card .rl-mv__icon { border-radius: 50%; }
.rl-mv__card h3 { font-weight: 500; }

.rl-ceo__frame { border-radius: var(--lx-arch); background: var(--lx-emerald); box-shadow: none; }
.rl-ceo__monogram { color: var(--lx-gold-light); font-weight: 400; }
.rl-ceo__name strong { font-weight: 500; font-size: 30px; }
.rl-ceo__name span { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--lx-gold-deep); font-weight: 500; }
.rl-letter { border-radius: 0; box-shadow: none; border: 1px solid var(--lx-hair); background: var(--lx-ivory); }
.rl-letter::before { border-radius: 0; border: 1px solid var(--lx-hair-gold); inset: 12px; }
.rl-letter__greet { font-family: var(--rl-font-display); font-style: italic; color: var(--lx-gold-deep); }
.rl-philosophy { border-radius: 0; background: var(--lx-emerald); margin-inline: 0; }
.rl-philosophy small { color: var(--lx-gold-light); font-weight: 500; letter-spacing: .26em; font-size: 10.5px; }
.rl-letter__sign .rl-sig { font-family: var(--rl-font-display); font-style: italic; font-weight: 400; color: var(--lx-emerald); }

.rl-reach__card, .rl-reach__card:nth-child(even) { border-radius: 0; box-shadow: none; border: 1px solid var(--lx-hair); background: var(--lx-ivory); transform: none; }
.rl-reach__card:hover { box-shadow: var(--rl-shadow-sm); color: var(--lx-gold-deep); border-color: var(--lx-hair-gold); }
.rl-reach__card i { border-radius: 50%; background: var(--lx-emerald); color: var(--lx-gold-light); font-size: 17px; }
.rl-reach__card small { font-size: 10px; letter-spacing: .24em; }
.rl-reach__card strong { font-weight: 400; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.rl-footer {
  margin-top: clamp(80px, 10vw, 140px);
  padding-top: 0;
  background: var(--lx-emerald);
  color: rgba(250, 247, 241, .7);
}
.rl-footer::before {
  width: 900px; height: 900px; top: -300px; inset-inline-end: -360px;
  background: radial-gradient(circle, rgba(176, 141, 87, .14), transparent 65%);
}
.rl-footer a { color: rgba(250, 247, 241, .72); }
.rl-footer a:hover { color: var(--lx-gold-light); }
.rl-footer__cta {
  position: relative;
  grid-template-columns: 1.4fr auto;
  margin: 0 0 80px;
  padding: clamp(56px, 7vw, 96px) 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border-bottom: 1px solid rgba(214, 189, 141, .2);
}
.rl-footer__cta h3 { font-size: clamp(34px, 4.4vw, 60px); font-weight: 400; line-height: 1.05; max-width: 16ch; }
.rl-footer__cta p { color: rgba(250, 247, 241, .7); font-weight: 300; margin-top: 12px; }
.rl-footer__grid { padding-bottom: 70px; }
.rl-footer__brand .rl-brand__text em { color: var(--lx-gold-light); }
.rl-footer__brand p { color: rgba(250, 247, 241, .6); font-weight: 300; }
.rl-footer h5 {
  font-family: var(--rl-font-body);
  font-size: 11px; font-weight: 500;
  letter-spacing: .3em; text-transform: uppercase;
  color: var(--lx-gold-light) !important;
  margin-bottom: 24px;
}
html[dir="rtl"] .rl-footer h5 { letter-spacing: 0; font-size: 14px; }
.rl-footer__links li { margin-bottom: 12px; }
.rl-footer__links a { font-weight: 300; }
.rl-footer__links a::before { display: none; }
.rl-footer__contact { font-weight: 300; }
.rl-footer__contact i { color: var(--lx-gold); font-size: 15px; }
.rl-social a { border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 1px rgba(250, 247, 241, .22); font-size: 15px; }
.rl-social a:hover { background: var(--lx-gold); transform: none; box-shadow: none; }
.rl-footer__bottom { border-top-color: rgba(214, 189, 141, .2); font-size: 12px; letter-spacing: .06em; }
.rl-footer__bottom p { color: rgba(250, 247, 241, .5); }
.rl-footer__pay img { border-radius: 0; }

.rl-float-wa { border-radius: 50%; width: 54px; height: 54px; font-size: 24px; background: var(--lx-emerald); color: var(--lx-gold-light) !important; box-shadow: 0 0 0 1px rgba(214,189,141,.5), 0 16px 34px rgba(8, 20, 16, .3); }
.rl-float-wa:hover { background: #25D366; color: #fff !important; }
.rl-to-top { background: var(--lx-ivory); color: var(--lx-emerald); box-shadow: inset 0 0 0 1px var(--lx-hair), var(--rl-shadow-sm); }

/* ==========================================================================
   LEGACY INNER PAGES (tour grid, tour details, forms, cart, checkout…)
   ========================================================================== */
.primary-btn1, .primary-btn2, .primary-btn3, .primary-btn4 {
  background: var(--lx-emerald) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  transition: background .5s var(--rl-ease) !important;
}
.primary-btn1:hover, .primary-btn2:hover, .primary-btn3:hover, .primary-btn4:hover { transform: none; border-radius: 0 !important; background: var(--lx-gold) !important; }
.btn-dark, .btn-primary { background: var(--lx-emerald) !important; border-color: var(--lx-emerald) !important; border-radius: 0 !important; }
.btn-primary:hover, .btn-dark:hover { background: var(--lx-gold) !important; border-color: var(--lx-gold) !important; }

.special_title, .section-title span, .section-title2 .eg-section-tag {
  font-family: var(--rl-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
  color: var(--lx-gold-deep) !important;
}
.section-title h2, .section-title2 h2 { font-weight: 500 !important; }

.package-card, .destination-card, .destination-card2, .activity-card, .feature-card, .cat-card, .info-card, .visa-card, .transport-card, .lux-card {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--lx-hair) !important;
  background: var(--lx-ivory) !important;
  transition: box-shadow .6s var(--rl-ease), border-color .6s var(--rl-ease);
}
.package-card:hover, .destination-card:hover, .activity-card:hover { box-shadow: var(--rl-shadow) !important; border-color: var(--lx-hair-gold) !important; }
.package-card .package-card-img-wrap, .package-card .package-card-img-wrap .card-img, .package-card .package-card-img-wrap img { border-radius: 0 !important; }
.package-card .package-card-img-wrap { margin: 0; }
.package-card .package-card-content .card-content-top h5 a, .package-card h5 { font-weight: 500 !important; font-size: 24px !important; line-height: 1.2 !important; }
.package-card .batch .date, .destination-card .tour_count, .tour_count {
  background: var(--lx-emerald) !important; color: var(--lx-gold-light) !important; border-radius: 0 !important;
  font-size: 10.5px !important; letter-spacing: .18em; text-transform: uppercase;
}

.booking-form-wrap, .contact-form-area, .contact-page .contact-form, .form-wrapper, .inquiry-form, .login-card {
  border-radius: 0 !important;
  border-top: 2px solid var(--lx-gold) !important;
  box-shadow: 0 30px 80px rgba(15, 36, 29, .08) !important;
  background: var(--lx-ivory) !important;
}
.form-inner input, .form-inner textarea, .form-inner select, .form-control, .form-select {
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(26, 31, 28, .22) !important;
  background-color: transparent !important;
  padding-inline: 2px !important;
  font-weight: 400;
}
.form-inner input:focus, .form-inner textarea:focus, .form-control:focus, .form-select:focus {
  border-color: var(--lx-gold) !important;
  box-shadow: 0 1px 0 0 var(--lx-gold) !important;
}
.form-inner label, .form-label { font-size: 10.5px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--lx-gold-deep); }
html[dir="rtl"] .form-inner label, html[dir="rtl"] .form-label { letter-spacing: 0; font-size: 13px; }

.nav-pills .nav-link, .nav-tabs .nav-link { border-radius: 0 !important; }
.nav-pills .nav-link.active, .nav-tabs .nav-link.active, .tour-type-tabs .nav-link.active {
  background: var(--lx-emerald) !important; color: var(--lx-gold-light) !important;
}
.page-link { border-radius: 0 !important; border-color: var(--lx-hair) !important; }
.page-item.active .page-link { background: var(--lx-emerald) !important; border-color: var(--lx-emerald) !important; }

.accordion-item { border-radius: 0 !important; border-color: var(--lx-hair) !important; background: transparent; }
.accordion-button { font-family: var(--rl-font-display); font-size: 22px; font-weight: 500; background: transparent !important; box-shadow: none !important; color: var(--lx-ink) !important; }
.accordion-button:not(.collapsed) { color: var(--lx-gold-deep) !important; }

#toast-container > .toast-success { background-color: var(--lx-emerald) !important; }
#toast-container > .toast-error { background-color: #7A2E2A !important; }

@media (max-width: 767px) {
  .rl-vhero__shade { background: linear-gradient(180deg, rgba(8, 20, 16, .55) 0%, rgba(8, 20, 16, .72) 60%, rgba(8, 20, 16, .85) 100%); }
  .rl-hero__ctas .rl-btn { width: 100%; }
}
