.elementor-170 .elementor-element.elementor-element-f6f2188{--display:flex;}.elementor-170 .elementor-element.elementor-element-f6f2188:not(.elementor-motion-effects-element-type-background), .elementor-170 .elementor-element.elementor-element-f6f2188 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1B241C;}.elementor-170 .elementor-element.elementor-element-e1d2479{--display:flex;}.elementor-170 .elementor-element.elementor-element-03fe5b0{--display:flex;}.elementor-170 .elementor-element.elementor-element-03fe5b0:not(.elementor-motion-effects-element-type-background), .elementor-170 .elementor-element.elementor-element-03fe5b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4EFE6;}.elementor-170 .elementor-element.elementor-element-8d1a7b4{--display:flex;}.elementor-170 .elementor-element.elementor-element-38ec8fd{--display:flex;}.elementor-170 .elementor-element.elementor-element-90f14f6{--display:flex;}.elementor-170 .elementor-element.elementor-element-62783f4{--display:flex;}.elementor-170 .elementor-element.elementor-element-8bc6970{--display:flex;}.elementor-170 .elementor-element.elementor-element-98534da{--display:flex;}.elementor-170 .elementor-element.elementor-element-de5edc5{--display:flex;}.elementor-170 .elementor-element.elementor-element-53d48bc{--display:flex;}.elementor-170 .elementor-element.elementor-element-8539ecd{--display:flex;}.elementor-170 .elementor-element.elementor-element-2113aa0{--display:flex;}.elementor-170 .elementor-element.elementor-element-d0c5bc0{--display:flex;}.elementor-170 .elementor-element.elementor-element-be6794e{--display:flex;}.elementor-170 .elementor-element.elementor-element-42c1fb7{--display:flex;}.elementor-170 .elementor-element.elementor-element-afdb3ba{--display:flex;}.elementor-170 .elementor-element.elementor-element-a0ced3d{--display:flex;}.elementor-170 .elementor-element.elementor-element-42a2d9e{--display:flex;}.elementor-170 .elementor-element.elementor-element-7090b48{--display:flex;}.elementor-170 .elementor-element.elementor-element-5f3f4a7{--display:flex;}.elementor-170 .elementor-element.elementor-element-c7638df{--display:flex;}.elementor-170 .elementor-element.elementor-element-5a77a8b{--display:flex;}.elementor-170 .elementor-element.elementor-element-72d4da4{--display:flex;}.elementor-170 .elementor-element.elementor-element-72d4da4:not(.elementor-motion-effects-element-type-background), .elementor-170 .elementor-element.elementor-element-72d4da4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBF8F2;}.elementor-170 .elementor-element.elementor-element-66a7763{--display:flex;}.elementor-170 .elementor-element.elementor-element-735d2b5{--display:flex;}.elementor-170 .elementor-element.elementor-element-801debb{--display:flex;}.elementor-170 .elementor-element.elementor-element-ce6133f{--display:flex;}.elementor-170 .elementor-element.elementor-element-da2efb5{--display:flex;}.elementor-170 .elementor-element.elementor-element-c6b4de4{--display:flex;}.elementor-170 .elementor-element.elementor-element-6292a10{--display:flex;}.elementor-170 .elementor-element.elementor-element-6292a10:not(.elementor-motion-effects-element-type-background), .elementor-170 .elementor-element.elementor-element-6292a10 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1B241C;}.elementor-170 .elementor-element.elementor-element-78a9a4e{--display:flex;}.elementor-170 .elementor-element.elementor-element-ac82ff0{--display:flex;}.elementor-170 .elementor-element.elementor-element-5e3e8c4{--display:flex;}.elementor-170 .elementor-element.elementor-element-d6630b2{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-f6f2188 *//* ============================================================================
   READ ME FIRST - how to change how this page looks

   MOST THINGS DO NOT NEED THIS FILE:

   - Section background colours .... click the section, then Style > Background.
   - Wording, day text, prices ..... click the text and type. The price tables are
                                     inside the Mid-range / Luxury tabs.
   - Photos ........................ click the image and swap it (Media Library).
   - Buttons ....................... click the button: change its text or link.
   - Seasons, days, add-ons ........ each is its own box; duplicate or delete like
                                     any Elementor container. A season's months and a
                                     day's map text are under Advanced > Attributes.
   - The route map ................. the HTML widget at the left of the Days section.

   THIS FILE CONTROLS:

   - The colour palette and the fonts - the PALETTE block below. Change a colour
     there once and it updates everywhere on the page, including every faded or
     see-through version of it.
   - The fine layout (spacing, card shapes, the seasons band, the rates table).

   TWO RULES IF YOU EDIT THE PALETTE:

   1. Every colour has a plain line and an "-rgb" line. CHANGE BOTH, and keep them
      matching. For #C2622D the three numbers are 194,98,45. Any "hex to rgb"
      search will convert it for you.
   2. Do not delete a line. If you want a colour gone, set it to another colour.

   Elementor keeps a revision history (the clock icon at the bottom of the panel),
   so you can always step back.
   ============================================================================ */

/* --- Elementor's container defaults off, inside this page's sections only ---
   :where() adds no specificity, so every rule of the page stylesheet below still wins.
   Containers become plain blocks; the stylesheet sets display/gap where a row needs them
   (those declarations carry !important because Elementor's own container CSS does). */
body .e-con:where(.jx-root),body :where(.jx-root) .e-con,body :where(.jx-root) .e-con-inner{
  --display:block;display:block !important;
  --flex-direction:row;flex-direction:row !important;
  --align-items:normal;align-items:normal !important;
  --justify-content:normal;justify-content:normal !important;
  --gap:normal;gap:normal !important;--position:static;position:static;
  --flex-wrap:nowrap;flex-wrap:nowrap;--flex-wrap-mobile:nowrap;align-content:normal;
  --padding-block-start:0;--padding-block-end:0;--padding-inline-start:0;--padding-inline-end:0;
  padding:0;margin:0;max-width:none;width:auto;--width:auto;--min-height:0;
}
body :where(.jx-root) .elementor-widget{position:static;z-index:auto;width:auto;margin:0;
  gap:normal;align-items:normal;justify-content:normal;flex-direction:row;flex-wrap:nowrap;align-content:normal}
body :where(.jx-root) .elementor-widget-container{display:contents !important}
/* text, image and button widgets add a wrapper the design never had: take it out of the layout */
body :where(.jx-root) .elementor-widget-text-editor,
body :where(.jx-root) .elementor-widget-image,
body :where(.jx-root) .elementor-widget-button,
body :where(.jx-root) .elementor-widget-html,
body :where(.jx-root) .jx-i{display:contents;text-align:inherit}
/* Elementor prints width/height on every image, which implies an aspect ratio the design never set */
body :where(.jx-root) img{aspect-ratio:auto}
/* a Heading widget's class sits on a <div>: give that div the browser's own heading defaults, at zero
   specificity, so a heading the design left at its natural size stays that size */
body :where(.jx-root) :where(.elementor-widget-heading:has(> h1)){font-size:2em;font-weight:bold;margin-block:.67em}
body :where(.jx-root) :where(.elementor-widget-heading:has(> h2)){font-size:1.5em;font-weight:bold;margin-block:.83em}
body :where(.jx-root) :where(.elementor-widget-heading:has(> h3)){font-size:1.17em;font-weight:bold;margin-block:1em}
body :where(.jx-root) :where(.elementor-widget-heading:has(> h4)){font-weight:bold;margin-block:1.33em}
/* in the editor the wrappers need a box so they can be clicked */
body.elementor-editor-active :where(.jx-root) .elementor-widget-text-editor,
body.elementor-editor-active :where(.jx-root) .elementor-widget-button{display:block}

/* ============================================================================
   PALETTE - change a colour here and it updates everywhere on the page,
   including every faded/see-through version of it. Each colour is written
   twice: the normal one, and an "-rgb" line for the see-through versions.
   ============================================================================ */
body{
  /* Deep bush green, near black - dark sections, main text */
  --ink:#1B241C;
  --ink-rgb:27,36,28;
  /* Softer green-black - secondary text on light sections */
  --ink-soft:#2C3A2E;
  --ink-soft-rgb:44,58,46;
  /* Cream - light sections, text on dark sections */
  --cream:#F4EFE6;
  --cream-rgb:244,239,230;
  /* Sand - labels on dark sections, "good" season colour */
  --sand:#D9C9A8;
  --sand-rgb:217,201,168;
  /* Terracotta - buttons, accents, kicker labels */
  --terracotta:#C2622D;
  --terracotta-rgb:194,98,45;
  /* Dark terracotta - button hover, accent text on cream */
  --terracotta-dark:#A24F22;
  --terracotta-dark-rgb:162,79,34;
  /* Button orange - behind white text (4.8:1 contrast) */
  --terracotta-fill:#B35A29;
  --terracotta-fill-rgb:179,90,41;
  /* Light terracotta - script titles and accents on dark sections */
  --terracotta-light:#E07A3F;
  --terracotta-light-rgb:224,122,63;
  /* Soft orange - script lines inside the season photos */
  --glow:#E9935F;
  --glow-rgb:233,147,95;
  /* Savanna green - "green season" colour */
  --savanna:#7F9D6C;
  --savanna-rgb:127,157,108;
  /* Paper white - cards on cream sections */
  --paper:#FDFBF6;
  --paper-rgb:253,251,246;
  /* Warm white - the Days and Add-ons section backgrounds */
  --paper-2:#FBF8F2;
  --paper-2-rgb:251,248,242;
  /* Night green - panels inside dark sections */
  --night:#232E24;
  --night-rgb:35,46,36;
  /* White */
  --white:#FFFFFF;
  --white-rgb:255,255,255;
  /* Warm umber - the soft shading in the paper texture */
  --umber:#785A32;
  --umber-rgb:120,90,50;
  /* Deepest green - the shade over the season photos */
  --deep-night:#141A15;
  --deep-night-rgb:20,26,21;
  /* Rust - the hatched "to confirm" price placeholders */
  --rust:#9A3B1F;
  --rust-rgb:154,59,31;
  /* Blush - "to confirm" placeholders inside the selected column */
  --blush:#F0B390;
  --blush-rgb:240,179,144;
  /* Fonts: headings, script accents, body text */
  --font-display:"Gilda Display", "Times New Roman", serif;
  --font-script:"Aleita", "Brush Script MT", cursive;
  --font-body:"DM Sans", "Helvetica Neue", Arial, sans-serif;
  /* Layout */
  --container:1280px;
  --gutter:40px;
  --ease:cubic-bezier(.165, .84, .44, 1);
  /* Paper texture on the cream sections (drawn, not a photo) */
  --paper-grain:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='320'><filter%20id='g'><feTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='3'%20stitchTiles='stitch'/><feColorMatrix%20values='0%200%200%200%200.36%200%200%200%200%200.27%200%200%200%200%200.16%200%200%200%200.11%200'/></filter><rect%20width='100%'%20height='100%'%20filter='url(#g)'/></svg>");
  --paper-mottle:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='900'%20height='900'><filter%20id='m'><feTurbulence%20type='fractalNoise'%20baseFrequency='0.012'%20numOctaves='2'%20seed='7'%20stitchTiles='stitch'/><feColorMatrix%20values='0%200%200%200%200.45%200%200%200%200%200.33%200%200%200%200%200.18%200%200%200%200.09%200'/></filter><rect%20width='100%'%20height='100%'%20filter='url(#m)'/></svg>");
}

/* ============================ PAGE STYLESHEET ============================ */
@font-face{font-family: "Gilda Display";
  src: url("https://simbapridesafaris.com/wp-content/uploads/simba-fonts/GildaDisplay-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;}@font-face{font-family: "Aleita";
  src: url("https://simbapridesafaris.com/wp-content/uploads/simba-fonts/Aleita.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;}@font-face{font-family: "DM Sans";
  src: url("https://simbapridesafaris.com/wp-content/uploads/simba-fonts/DM-Sans-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;}@font-face{font-family: "DM Sans";
  src: url("https://simbapridesafaris.com/wp-content/uploads/simba-fonts/DM-Sans-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;}
body{--gutter:40px}
body :where(.jx-root) *,body :where(.jx-root) *::before,body :where(.jx-root) *::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
body :where(.jx-root) a{color:inherit;text-decoration:none}
body :where(.jx-root) img{display:block;max-width:100%}
body :where(.jx-root) button{font:inherit}
body .elementor-widget-button.btn .elementor-button{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;font-size:14.5px;font-weight:600;letter-spacing:.02em;border-radius:999px;border:1px solid transparent;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease)}
body .btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
body .btn:hover svg{transform:translateX(4px)}
body .elementor-widget-button.btn-primary .elementor-button{background:var(--terracotta-fill);color:var(--white)}
body .elementor-widget-button.btn-primary .elementor-button:hover{background:var(--terracotta-dark)}
body .elementor-widget-button.btn-ghost .elementor-button{color:var(--white);border-color:rgba(var(--white-rgb),.55);backdrop-filter:blur(4px)}
body .elementor-widget-button.btn-ghost .elementor-button:hover{background:rgba(var(--white-rgb),.12);border-color:var(--white)}
@media (max-width: 1024px){
body{--gutter:28px}
}@media (max-width: 640px){
body{--gutter:20px}
body .elementor-widget-button.btn .elementor-button{padding:14px 20px;font-size:14px}
}@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
}body :where(.jx-root) section[id]{scroll-margin-top:72px}
body .title-script{position:relative;z-index:1;display:block;font-family:var(--font-script);line-height:1;color:var(--terracotta);transform:rotate(-3deg);transform-origin:center bottom;pointer-events:none}
body .title-serif{display:block;font-family:var(--font-display);line-height:1.02;letter-spacing:-.01em;color:var(--ink)}
@media (max-width: 767px){
body .title-script{margin:0 0 -10px 2px;font-size:clamp(40px, 12vw, 54px);transform-origin:left bottom}
body .title-serif{font-size:clamp(30px, 8.6vw, 40px)}
}body .ghero{position:relative;min-height:62vh;display:flex !important;align-items:flex-end !important;color:var(--white);overflow:hidden}
body .ghero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
body .ghero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(var(--ink-rgb),.7) 0%, rgba(var(--ink-rgb),.15) 40%, rgba(var(--ink-rgb),.85) 100%)}
body .ghero-inner{position:relative;z-index:1;width:100%;max-width:var(--container);margin:0 auto;padding:200px var(--gutter) 64px}
body .ghero-eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--sand)}
body .ghero-title{margin:10px 0 0 !important;font-weight:400}
body .ghero-title .title-script{display:block;margin:0 0 -20px 2px;font-family:var(--font-script);font-size:clamp(44px, 5vw, 72px);line-height:1;color:var(--terracotta-light);transform:rotate(-3deg);transform-origin:left bottom}
body .ghero-title .title-serif{display:block;font-family:var(--font-display);font-size:clamp(44px, 6vw, 84px);line-height:1;color:var(--white)}
body .ghero-lead{max-width:620px;margin:22px 0 0;font-size:17px;line-height:1.6;color:rgba(var(--white-rgb),.88)}
body .gcta{color:var(--cream)}
body .gcta-inner{max-width:var(--container);margin:0 auto;padding:90px var(--gutter);display:grid !important;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:40px !important;align-items:center !important}
body .gcta-title{margin:0}
body .gcta-title .title-script{display:block;margin:0 0 -18px 2px;font-family:var(--font-script);font-size:clamp(40px, 4vw, 60px);line-height:1;color:var(--terracotta-light);transform:rotate(-3deg);transform-origin:left bottom}
body .gcta-title .title-serif{display:block;font-family:var(--font-display);font-size:clamp(40px, 4.4vw, 64px);line-height:1;color:var(--white)}
body .gcta-text{margin:0;font-size:16.5px;line-height:1.6;color:rgba(var(--cream-rgb),.8)}
body .gcta-actions{display:flex !important;gap:14px !important;flex-wrap:wrap;margin-top:20px}
@media (max-width: 1024px){
body .gcta-inner{grid-template-columns:1fr}
}@media (max-width: 767px){
body .ghero-inner{padding:150px var(--gutter) 44px}
body .gcta-inner{padding:64px var(--gutter)}
}body .ghero-stats{list-style:none;display:flex;gap:36px;margin:30px 0 0;padding:22px 0 0;border-top:1px solid rgba(var(--white-rgb),.25)}
body .ghero-stats li{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--white-rgb),.7)}
body .ghero-stats b{display:block;font-family:var(--font-display);font-size:30px;letter-spacing:0;text-transform:none;color:var(--white)}
@media (max-width: 1024px){
body .ghero-stats{gap:22px;flex-wrap:wrap}
}@media (max-width: 767px){
body .ghero-stats b{font-size:24px}
}body .paper{background-image:var(--paper-grain), var(--paper-mottle), radial-gradient(120% 80% at 50% 0%, rgba(var(--white-rgb),.35), rgba(var(--white-rgb),0) 60%), radial-gradient(100% 100% at 50% 100%, rgba(var(--umber-rgb),.14), rgba(var(--umber-rgb),0) 60%), radial-gradient(60% 40% at 0% 0%, rgba(var(--umber-rgb),.08), rgba(var(--umber-rgb),0) 70%), radial-gradient(60% 40% at 100% 100%, rgba(var(--umber-rgb),.08), rgba(var(--umber-rgb),0) 70%);background-blend-mode:multiply, multiply, normal, normal, normal, normal}
body .itn-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;font-size:13px;color:rgba(var(--white-rgb),.7)}
body .itn-crumbs a:hover{color:var(--white)}
body .itn-crumbs b{font-weight:600;color:var(--sand)}
body .itn-hero{min-height:78vh}
@media (max-width: 767px){
body .itn-hero{min-height:70vh}
}@media print{
body .gcta{display:none !important}
body .ghero{min-height:0;color:var(--ink)}
body .ghero img,body .ghero::after{display:none !important}
body .ghero-inner{padding:20px 0}
body .ghero-title .title-serif,body .ghero-stats b{color:var(--ink)}
body .ghero-lead,body .ghero-stats li,body .itn-crumbs{color:var(--ink-soft)}
}body .jx-wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
body .jx-kicker{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--terracotta)}
body .jx-h2{margin:0 0 18px !important;font-family:var(--font-display);font-weight:400;font-size:clamp(34px, 4vw, 54px);line-height:1.05;color:var(--ink)}
body .jx-h2 em{font-style:normal;font-family:var(--font-script);font-size:1.15em;line-height:.8;color:var(--terracotta)}
body .jx-facts4{display:grid !important;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px !important}
body .jx-facts4 > div,body .jx-facts4 > .elementor-element > div{padding:22px;border-radius:12px;background:var(--paper);border:1px solid rgba(var(--ink-rgb),.1)}
body .jx-facts4 small{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta)}
body .jx-facts4 b{display:block;margin:8px 0;font-family:var(--font-display);font-weight:400;font-size:21px;line-height:1.2}
body .jx-facts4 p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-soft)}
@media (max-width: 1100px){
body .jx-facts4{grid-template-columns:1fr 1fr}
}@media (max-width: 600px){
body .jx-facts4{grid-template-columns:1fr}
}body .jx-deps-sec{padding:110px 0}
body .jx-deps-head{display:flex !important;justify-content:space-between !important;align-items:flex-end !important;gap:40px !important;margin-bottom:36px}
body .jx-deps-head > p,body .jx-deps-head > .elementor-element > p{max-width:440px;margin:0 0 18px;font-size:15.5px;line-height:1.6;color:var(--ink-soft)}
body .jx-deps{display:grid !important;gap:22px !important}
body .jx-dep{display:grid !important;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);border-radius:18px;overflow:hidden;background:var(--paper);border:1px solid rgba(var(--ink-rgb),.1);box-shadow:0 24px 50px rgba(var(--ink-rgb),.08)}
body .jx-dep-photo{margin:0;min-height:320px}
body .jx-dep-photo img{width:100%;height:100%;object-fit:cover}
body .jx-dep-body{padding:32px 36px}
body .jx-dep-date{margin:0;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--terracotta)}
body .jx-dep-body h3{margin:8px 0 6px;font-family:var(--font-display);font-weight:400;font-size:clamp(26px, 2.6vw, 34px);line-height:1.1}
body .jx-dep-route{margin:0 0 16px;font-size:15px;color:var(--ink-soft)}
body .jx-dep-feats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none}
body .jx-dep-feats li{padding:6px 12px;border-radius:999px;border:1px solid rgba(var(--ink-rgb),.15);font-size:12.5px;color:var(--ink-soft)}
body .jx-dep-facts{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));margin:0 0 22px;border-top:1px solid rgba(var(--ink-rgb),.12);border-bottom:1px solid rgba(var(--ink-rgb),.12)}
body .jx-dep-facts div{padding:14px 10px 14px 0}
body .jx-dep-facts div + div{padding-left:14px;border-left:1px solid rgba(var(--ink-rgb),.12)}
body .jx-dep-facts dt{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
body .jx-dep-facts dd{margin:6px 0 0;font-size:15px;line-height:1.35}
body .jx-dep-facts em{display:block;font-style:normal;font-size:12px;color:var(--ink-soft)}
body .jx-dep-actions{display:flex !important;flex-wrap:wrap;gap:12px !important}
body .jx-dep-actions .elementor-widget-button.btn-ghost .elementor-button{color:var(--ink);border-color:rgba(var(--ink-rgb),.35)}
body .jx-dep-actions .elementor-widget-button.btn-ghost .elementor-button:hover{background:rgba(var(--ink-rgb),.06);border-color:var(--ink)}
body .jx-how{padding:100px 0}
body .jx-how .jx-facts4{margin-top:10px}
@media (max-width: 1024px){
body .jx-dep{grid-template-columns:1fr}
body .jx-dep-photo{min-height:0;aspect-ratio:16 / 9}
body .jx-dep-facts{grid-template-columns:1fr 1fr}
body .jx-dep-facts div:nth-child(3){padding-left:0;border-left:0}
body .jx-dep-facts div:nth-child(n+3){border-top:1px solid rgba(var(--ink-rgb),.12)}
body .jx-how .jx-facts4{grid-template-columns:1fr 1fr}
}@media (max-width: 600px){
body .jx-deps-sec,body .jx-how{padding:70px 0}
body .jx-deps-head{flex-direction:column !important;align-items:flex-start !important;gap:0 !important}
body .jx-dep-body{padding:24px 20px}
body .jx-how .jx-facts4{grid-template-columns:1fr}
body .jx-dep-actions .elementor-widget-button.btn .elementor-button{width:100%;justify-content:center}
}@media (max-width: 600px){
body .jx-facts4 small,body .jx-dep-facts dt{font-size:12px !important}
}
/* ================================= GLUE ================================== */
/* --- Heading widget: the class sits on the wrapper, the heading tag is printed inside it ---
   Let the inner heading take everything from the wrapper; rules written as descendants of a
   parent (.gsec-head h2, .jx-ch-head h3) still style it directly. */
body :where(.jx-root) .elementor-heading-title{
  font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;line-height:inherit;margin:0;padding:0;
}

/* --- Image widget: Elementor makes the <img> inline-block; the design's images are blocks --- */
body :where(.jx-root) .elementor-widget-image img{display:block;vertical-align:baseline}

/* --- Button widget -> the page's .btn look ---
   The widget's classes land on the wrapper; the clickable <a class="elementor-button"> gets the
   design (rewritten rules above). Strip Elementor's own button chrome first. */
body :where(.jx-root) .elementor-widget-button .elementor-button{
  /* Elementor's own grey button off: the .btn rules above supply the look */
  width:auto;background:none;border:1px solid transparent;border-radius:0;box-shadow:none;padding:0;
  font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;
  color:inherit;fill:currentColor;text-decoration:none;transition:none;white-space:normal;
}
body :where(.jx-root) .elementor-button-wrapper{display:contents}
body :where(.jx-root) .elementor-button .elementor-button-content-wrapper{display:contents}
/* Elementor puts two <span>s inside every button; a page rule written for spans (.jx-ticket-stub span)
   must not restyle them - they take everything from the button itself */
body :where(.jx-root) .elementor-button .elementor-button-text,
body :where(.jx-root) .elementor-button .elementor-button-content-wrapper{flex-grow:0;margin:0;padding:0;border:0;
  font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;opacity:1}
/* full-width buttons in the rates bar and the seat card */
@media (max-width: 767px){ body .jx-rates-cta .elementor-widget-button .elementor-button{justify-content:center;width:100%} }
/* "Print itinerary" is a text link, not a pill */
body .elementor-widget-button.jx-link .elementor-button{padding:0;border:0;border-radius:0;background:none;
  font-size:13px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* --- rates: Elementor Tabs -> the tier cards + the price table ---
   Tab 1 is Mid-range, so the page opens on the priced tier. */
body .jx-ptabs-w .elementor-tabs-wrapper{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;overflow:visible}
body .jx-ptabs-w .elementor-tab-desktop-title{
  display:block;padding:14px 20px;border:1px solid rgba(var(--ink-rgb),.18) !important;border-radius:12px;
  background:var(--paper);font-family:var(--font-display);font-weight:400;font-size:21px;line-height:1.2;color:var(--ink);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
body .jx-ptabs-w .elementor-tab-desktop-title:hover{border-color:rgba(var(--ink-rgb),.4) !important}
body .jx-ptabs-w .elementor-tab-desktop-title.elementor-active{background:var(--ink);border-color:var(--ink) !important;color:var(--cream)}
body .jx-ptabs-w .elementor-tab-desktop-title.elementor-active::before{display:none}
/* Elementor draws the active tab's underline with ::after; here ::after is the badge, so undo its line styles */
body .jx-ptabs-w .elementor-tab-desktop-title.elementor-active::after{content:"rates pending" !important;display:inline-block;position:static !important;
  inset:auto !important;width:auto !important;height:auto !important;border:1px dashed currentColor !important;opacity:.75}
/* the dashed "rates pending" badge on every tier until its rates are typed in */
body .jx-ptabs-w .elementor-tab-title::after{content:"rates pending";display:inline-block;margin-left:12px;padding:3px 7px;
  border:1px dashed currentColor;border-radius:4px;font-family:var(--font-body);font-size:10.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;vertical-align:middle;opacity:.6;position:static;width:auto;height:auto}
body .jx-ptabs-w.jx-rates-set .elementor-tab-title::after{content:none !important}
body .jx-ptabs-w .elementor-tab-title.jx-tier-live::after{content:none !important}
body .jx-ptabs-w .elementor-tab-content{padding:0;border:0 !important}
body .jx-ptabs-w .elementor-tabs-content-wrapper{border:0 !important}
body .jx-ptab-sub{margin:-12px 0 14px;font-size:13px;color:var(--ink-soft)}
body .jx-ptabs-w .elementor-tab-mobile-title{margin-bottom:8px;padding:12px 16px;border:1px solid rgba(var(--ink-rgb),.18) !important;
  border-radius:10px;background:var(--paper);font-family:var(--font-display);font-size:19px;line-height:1.2;color:var(--ink)}
body .jx-ptabs-w .elementor-tab-mobile-title.elementor-active{background:var(--ink);color:var(--cream)}

/* --- "Before you go": Elementor Tabs -> the underlined tab row --- */
body .jx-tabs-w .elementor-tabs-wrapper{display:flex;gap:6px;margin:10px 0 28px;border-bottom:1px solid rgba(var(--ink-rgb),.15);overflow-x:auto;scrollbar-width:none}
body .jx-tabs-w .elementor-tab-desktop-title{
  flex:none;display:block;padding:14px 18px;border:0 !important;border-bottom:3px solid transparent !important;
  background:none;font-family:var(--font-body);font-size:15px;font-weight:600;line-height:1.2;color:var(--ink-soft);
}
body .jx-tabs-w .elementor-tab-desktop-title.elementor-active{border-bottom-color:var(--terracotta) !important;color:var(--ink)}
body .jx-tabs-w .elementor-tab-desktop-title.elementor-active::before,
body .jx-tabs-w .elementor-tab-desktop-title.elementor-active::after{display:none}
body .jx-tabs-w .elementor-tab-content,body .jx-tabs-w .elementor-tabs-content-wrapper{padding:0;border:0 !important}
body .jx-tabs-w .elementor-tab-mobile-title{padding:14px 0;border:0 !important;border-bottom:1px solid rgba(var(--ink-rgb),.15) !important;
  font-family:var(--font-display);font-size:20px;color:var(--ink)}
body .jx-tabs-w .elementor-tab-mobile-title.elementor-active{color:var(--terracotta)}
@media (max-width: 767px){ body .jx-tabs-w .elementor-tab-content{padding:16px 0 20px} }

/* --- Questions: Elementor Accordion -> the page's .faq look --- */
body .jx-faq-h{margin:46px 0 6px !important;font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--ink)}
body .jx-faq-w .elementor-accordion{max-width:820px}
body .jx-faq-w .elementor-accordion-item{border:0 !important;border-bottom:1px solid rgba(var(--ink-rgb),.12) !important}
body .jx-faq-w .elementor-tab-title{position:relative;padding:16px 40px 16px 0;font-family:var(--font-display);font-size:20px;font-weight:400;line-height:1.3;color:var(--ink)}
body .jx-faq-w .elementor-accordion-title{color:inherit;font:inherit;text-decoration:none}
body .jx-faq-w .elementor-accordion-icon{display:none !important}
body .jx-faq-w .elementor-tab-title::after{content:"+";position:absolute;right:4px;top:12px;font-size:26px;color:var(--terracotta);transition:transform .3s var(--ease)}
body .jx-faq-w .elementor-tab-title.elementor-active::after{transform:rotate(45deg)}
body .jx-faq-w .elementor-tab-content{padding:0 0 18px;border:0 !important;font-size:15px;line-height:1.6;color:var(--ink-soft)}
body .jx-faq-w .elementor-tab-content p{margin:0;max-width:680px}

/* --- states the page script sets --- */
body .jx-extras-picked:not(.is-on){display:none}
body .jx-x{cursor:pointer}
/* the journey rail's orange progress line: width set by the script */
body .jx-rail-days::after{content:"";position:absolute;left:14px;top:28px;height:2px;width:var(--jx-fill,0px);
  background:var(--terracotta);transition:width .3s var(--ease);pointer-events:none}
/* the rates table: a column is picked by clicking any of its cells */
body .jx-ptable td{cursor:pointer}

/* --- editor only: open every season panel's text so it can be edited --- */
body.elementor-editor-active .jx-season-body{opacity:1;transform:none;pointer-events:auto}/* End custom CSS */