/* Tourvex-inspired presentation, adapted to the site's orange identity.
   Existing Togo/Elementor scripts, data attributes and form contracts are retained. */
@font-face { font-family: "Tour Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/barlow/semi-condensed-400.ttf") format("truetype"); }
@font-face { font-family: "Tour Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/barlow/semi-condensed-500.ttf") format("truetype"); }
@font-face { font-family: "Tour Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow/semi-condensed-600.ttf") format("truetype"); }
@font-face { font-family: "Tour Barlow Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/barlow/condensed-500.ttf") format("truetype"); }
@font-face { font-family: "Tour Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow/condensed-600.ttf") format("truetype"); }
:root {
  --tour-dark: #17272f;
  --tour-heading: #20333d;
  --tour-soft: #f5f5f2;
  --tour-orange: #fd4621;
  --tour-copy: #626971;
  --tour-display: "Tour Barlow Condensed", "Arial Narrow", sans-serif;
  --tour-font: "Tour Barlow", system-ui, sans-serif;
  --togo-body-font-family: var(--tour-font);
  --togo-heading-font-family: var(--tour-display);
  --togo-button-font-family: var(--tour-font);
}
body { font-family: var(--tour-font); font-size: 18px; line-height: 1.65; background: #fff; }
.elementor { --e-global-typography-primary-font-family: var(--tour-display); --e-global-typography-secondary-font-family: var(--tour-display); --e-global-typography-text-font-family: var(--tour-font); }
.elementor .elementor-heading-title, .trip-title, .togo-st-heading-title { font-family: var(--tour-display); font-weight: 500; color: var(--tour-heading); }
.elementor .elementor-widget-text-editor, .elementor .elementor-icon-box-description { font-family: var(--tour-font); font-size: 18px; line-height: 1.7; }
.site-header { box-shadow: none; border-bottom: 1px solid #edf0f0; }
.site-header .elementor-6095 .elementor-element.elementor-element-43f43d4 { max-width: 1320px; margin-inline: auto; --padding-left: 32px; --padding-right: 32px; --padding-top: 20px; --padding-bottom: 20px; }
.site-header .site-menu .menu > li > a { font-family: var(--tour-display); font-size: 20px; font-weight: 500; text-transform: uppercase; letter-spacing: .01em; color: var(--tour-heading); }
.site-header .site-menu .sub-menu { border-radius: 4px; padding: 10px; }
.site-header .site-menu .sub-menu a { font-size: 17px; }
.site-header .elementor-button { border-radius: 30px; font-family: var(--tour-font); }
.mobile-menu-content .mb-menu a { font-family: var(--tour-display); font-size: 24px; }
/* Hero: large editorial heading and three staggered photographic columns. */
.tour-home.elementor-3327 .tour-hero.elementor-element.elementor-element-4c22cd5:not(.elementor-motion-effects-element-type-background) {
  background: var(--tour-dark); --min-height: 0; padding: 0 32px; overflow: hidden;
}
.tour-home.elementor-3327 .tour-hero > .e-con-inner { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; width: 100%; max-width: 1200px; min-height: 720px; padding-block: 0; }
/* Only old decorative art is hidden; all navigation and page controls remain. */
.tour-home.elementor-3327 .tour-hero .elementor-shape, .tour-home.elementor-3327 .tour-hero .elementor-element-2020c23 { display: none; }
.tour-home.elementor-3327 .tour-hero .elementor-element.elementor-element-8943fb0 { width: 100%; max-width: none; --container-widget-width: 100%; padding-block: 72px; }
.tour-home.elementor-3327 .tour-hero .elementor-element-8943fb0 > .elementor-widget-container { margin: 0; }
.tour-home.elementor-3327 .tour-hero .tour-eyebrow { font-family: var(--tour-display); font-size: 16px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #ff947c; margin-bottom: 24px; }
.tour-home.elementor-3327 .tour-hero .elementor-element-8943fb0 .elementor-heading-title { font-family: var(--tour-display); font-size: clamp(54px, 5.6vw, 82px); line-height: 1.02; letter-spacing: -.02em; color: #fff; text-transform: uppercase; text-wrap: initial; }
.tour-home.elementor-3327 .tour-hero .elementor-heading-title span { display: block; color: #ff8064; text-transform: none; font-size: .65em; line-height: 1.15; margin-top: 12px; }
.tour-home.elementor-3327 .tour-hero-description { color: #d0d7da; font: 400 19px/1.7 var(--tour-font); max-width: 450px; margin: 26px 0 30px; }
.tour-hero-cta { display: inline-flex; align-items: center; gap: 20px; padding: 7px 8px 7px 25px; min-height: 58px; border: 1px solid #ffffff45; border-radius: 40px; color: #fff; font-size: 18px; font-weight: 500; }
.tour-hero-cta i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--tour-orange); color: #fff; font-size: 16px; }
.tour-hero-cta:hover, .tour-hero-cta:focus-visible { color: #fff; background: #ffffff12; border-color: #ff8064; }
.tour-hero-gallery { display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-self: stretch; gap: 18px; height: 720px; overflow: hidden; }
.tour-hero-gallery__column { display: flex; flex-direction: column; gap: 20px; min-width: 0; margin-top: -65px; }
.tour-hero-gallery__column:nth-child(2) { margin-top: 60px; }
.tour-hero-gallery__column:nth-child(3) { margin-top: -120px; }
.tour-hero-gallery img { display: block; width: 100%; height: 360px; flex-shrink: 0; object-fit: cover; border-radius: 100px; }
.tour-hero-gallery__column:nth-child(2) img { height: 420px; }
/* Section rhythm and heading hierarchy. */
.tour-home.elementor-3327 .elementor-element.elementor-element-dbb7c33 { --padding-top: 90px; --padding-bottom: 90px; --padding-left: 32px; --padding-right: 32px; max-width: 1264px; margin-inline: auto; background: #fff; }
.tour-home.elementor-3327 .elementor-element.elementor-element-889317e { border: 0; padding-inline-start: 0; }
.tour-home.elementor-3327 .elementor-element-ec28d65 .elementor-heading-title { font-family: var(--tour-display); font-size: 15px; letter-spacing: .14em; color: #b8371d; }
.tour-home.elementor-3327 .elementor-element-d22dfd0 .elementor-heading-title { font-family: var(--tour-display); font-size: clamp(32px, 3.3vw, 48px); line-height: 1.13; }
.tour-home.elementor-3327 .elementor-icon-box-title { font-family: var(--tour-display); font-size: 29px; color: var(--tour-heading); }
.tour-home.elementor-3327 .elementor-element.elementor-element-ba2790b { background: var(--tour-soft); --padding-top: 85px; --padding-bottom: 85px; --padding-left: 32px; --padding-right: 32px; scroll-margin-top: 28px; }
.tour-home.elementor-3327 .elementor-element-ba2790b > .elementor-shape { display: none; }
.tour-home.elementor-3327 .elementor-element.elementor-element-ba2790b::before { background: none; }
.tour-home.elementor-3327 .elementor-element-ba2790b > .elementor-element { width: 100%; max-width: 1200px; margin-inline: auto; }
.tour-home.elementor-3327 .elementor-element-30c4d71 .elementor-heading-title { font-family: var(--tour-display); font-size: clamp(38px, 4vw, 58px); text-align: start; color: var(--tour-heading); }
.tour-home.elementor-3327 .elementor-element.elementor-element-c0cc467 { --padding-top: 85px; --padding-bottom: 85px; --padding-left: 32px; --padding-right: 32px; max-width: 1264px; margin-inline: auto; background: #fff; }
.tour-home.elementor-3327 .elementor-element-5589a93 .elementor-heading-title { font-size: 16px; text-transform: uppercase; letter-spacing: .16em; color: #b8371d; }
.tour-home.elementor-3327 .elementor-element-c6b642b .elementor-heading-title { font-family: var(--tour-display); font-size: clamp(36px, 4vw, 56px); line-height: 1.12; }
.tour-home.elementor-3327 .elementor-element.elementor-element-7e49b3c { background: var(--tour-soft); --padding-top: 80px; --padding-bottom: 80px; }
.tour-home.elementor-3327 .togo-testimonial-item { border-radius: 20px; }
/* Real tour cards keep their price, destination, duration and link markup. */
.tour-home.elementor-3327 .togo-trip-grid, .tour-list-page .trip-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 0; }
.tour-home.elementor-3327 .togo-trip-grid > .togo-column, .tour-list-page .trip-list > .togo-column { width: 100%; max-width: none; padding: 0; min-width: 0; }
.type-trip-grid-04 .trip-inner { border: 0; border-radius: 24px; box-shadow: none; }
.type-trip-grid-04 .trip-thumbnail { border-radius: 24px 24px 0 0; }
.type-trip-grid-04 .trip-thumbnail img { aspect-ratio: 4 / 3; height: auto; }
.type-trip-grid-04 .trip-content { padding: 25px; }
.type-trip.type-trip-grid-04 .trip-inner .trip-content { padding: 25px; justify-content: flex-start; font-family: var(--tour-font); }
.type-trip-grid-04 .trip-title { font: 500 29px/1.15 var(--tour-display); margin-block: 10px 18px; }
.type-trip-grid-04 .trip-inner .trip-title a { font: inherit; color: var(--tour-heading); display: block; -webkit-line-clamp: unset; overflow: visible; }
.type-trip-grid-04 .trip-meta { font-size: 16px; color: var(--tour-copy); }
.type-trip-grid-04 .trip-info { font-size: 16px; }
.type-trip-grid-04 .trip-footer { border-top: 1px dashed #dadddf; padding-top: 18px; align-items: center; }
.type-trip-grid-04 .trip-price .regular-price { color: #b8371d; font: 600 30px/1.2 var(--tour-display); }
.type-trip-grid-04 .trip-price .prefix, .type-trip-grid-04 .trip-price .suffix { font-size: 15px; }
.type-trip-grid-04 .trip-view-detail .togo-button { font-size: 16px; border-radius: 30px; padding: 10px 19px; }
.tour-list-page { background: var(--tour-soft); }
.tour-list-page > .trip-wrapper { max-width: 1264px; padding-block: 64px; }
.tour-list-page .trip-list-header { border: 0; background: transparent; padding: 0 0 26px; border-bottom: 1px solid #dedfdb; border-radius: 0; margin-bottom: 32px; }
.tour-list-page .trip-list-header__count { display: block; font: 500 clamp(28px, 3vw, 40px)/1.2 var(--tour-display); color: var(--tour-heading); }
.tour-list-page .trip-list-header__clear-filter { font-size: 17px; }
/* Contact and booking retain the existing forms, validation and messages. */
.tour-contact-page.elementor-2433 .elementor-element.elementor-element-b4efeea { background: var(--tour-dark); --padding-top: 75px; --padding-bottom: 75px; }
.tour-contact-page.elementor-2433 .elementor-element-ce0f48d .elementor-heading-title { font: 500 clamp(48px, 6vw, 80px)/1.05 var(--tour-display); color: #fff; text-transform: uppercase; }
.tour-contact-page.elementor-2433 .elementor-element-15dda0d .elementor-heading-title { color: #d0d7da; font: 400 19px/1.6 var(--tour-font); }
.tour-contact-page.elementor-2433 .elementor-element.elementor-element-c90a89b { background: var(--tour-soft); --padding-top: 80px; --padding-bottom: 80px; }
.tour-contact-page.elementor-2433 .elementor-element.elementor-element-0790c8f { background: #fff; border-radius: 24px; padding: 36px; }
.tour-contact-page.elementor-2433 .elementor-element-4ea40b7 .elementor-heading-title { font-family: var(--tour-display); font-size: 42px; }
.tour-contact-page.elementor-2433 .elementor-element.elementor-element-bb748b7 { border-radius: 24px; background: #fff; padding: 32px; }
.tour-contact-page.elementor-2433 .elementor-element-0159a2d .elementor-heading-title { font-family: var(--tour-display); font-size: 34px; }
.tour-contact-page .wpcf7-form textarea { height: 180px; }
.wpcf7-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]), .wpcf7-form textarea, .woocommerce-checkout input.input, .woocommerce-checkout select, .woocommerce-checkout textarea { background: #f8f9f9; border: 1px solid #dce1e3; border-radius: 9px; font-family: var(--tour-font); font-size: 18px; }
.togo-button.full-filled, .elementor-button, .wpcf7-submit { border-radius: 30px; font-family: var(--tour-font); }
.togo-st-heading-title { font-family: var(--tour-display); font-size: clamp(36px, 4.5vw, 62px); }
/* A dark footer like the reference, preserving all existing contact links. */
.site-footer { background: var(--tour-dark); border: 0; color: #d0d7da; }
.site-footer .elementor-2555 .e-con { background-color: transparent; }
.site-footer .elementor-2555 .elementor-heading-title { font-family: var(--tour-display); font-size: 29px; color: #fff; }
.site-footer .elementor-widget-text-editor, .site-footer .elementor-icon-list-text, .site-footer .elementor-widget-container p, .site-footer a { color: #d0d7da; }
.site-footer a:hover, .site-footer a:focus-visible { color: #ff947c; }
.site-footer .site-logo { display: inline-block; background: #fff; padding: 12px 16px; border-radius: 12px; }
.site-footer .elementor-icon-list-icon svg { fill: #ff947c; }
html:lang(ar) .tour-hero > .e-con-inner { direction: rtl; }
html:lang(ar) .tour-hero-cta i { transform: scaleX(-1); }
html:lang(ar) .tour-hero .tour-eyebrow { letter-spacing: 0; }
@media (min-width: 1600px) {
  .tour-home.elementor-3327 .tour-hero > .e-con-inner, .tour-hero-gallery { min-height: 800px; height: 800px; }
}
@media (max-width: 1100px) {
  .tour-home.elementor-3327 .tour-hero > .e-con-inner { gap: 32px; grid-template-columns: 1fr 1fr; min-height: 650px; }
  .tour-hero-gallery { height: 650px; gap: 12px; }
  .tour-hero-gallery img { height: 310px; }
  .tour-hero-gallery__column:nth-child(2) img { height: 365px; }
  .tour-home.elementor-3327 .togo-trip-grid, .tour-list-page .trip-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 767px) {
  .site-header .elementor-6095 .elementor-element.elementor-element-43f43d4 { --padding-left: 20px; --padding-right: 20px; --padding-top: 14px; --padding-bottom: 14px; }
  .tour-home.elementor-3327 .tour-hero.elementor-element.elementor-element-4c22cd5:not(.elementor-motion-effects-element-type-background) { padding-inline: 22px; }
  .tour-home.elementor-3327 .tour-hero > .e-con-inner { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .tour-home.elementor-3327 .tour-hero .elementor-element.elementor-element-8943fb0 { padding-block: 48px 35px; }
  .tour-home.elementor-3327 .tour-hero .elementor-element-8943fb0 .elementor-heading-title { font-size: clamp(46px, 10vw, 66px); }
  .tour-home.elementor-3327 .tour-hero-description { font-size: 18px; margin-block: 22px; }
  .tour-home.elementor-3327 .tour-hero .tour-eyebrow { margin-bottom: 20px; }
  .tour-hero-gallery { height: 280px; width: 100%; gap: 14px; }
  .tour-hero-gallery__column { margin-top: -55px; gap: 14px; }
  .tour-hero-gallery__column:nth-child(2) { margin-top: 0; }
  .tour-hero-gallery__column:nth-child(3) { margin-top: -90px; }
  .tour-hero-gallery img, .tour-hero-gallery__column:nth-child(2) img { height: 245px; }
  .tour-home.elementor-3327 .elementor-element.elementor-element-dbb7c33, .tour-home.elementor-3327 .elementor-element.elementor-element-ba2790b, .tour-home.elementor-3327 .elementor-element.elementor-element-c0cc467 { --padding-top: 55px; --padding-bottom: 55px; --padding-left: 20px; --padding-right: 20px; }
  .tour-home.elementor-3327 .elementor-element.elementor-element-889317e { width: 100%; }
  .tour-list-page > .trip-wrapper { padding: 40px 20px; }
  .tour-contact-page.elementor-2433 .elementor-element.elementor-element-b4efeea { --padding-top: 50px; --padding-bottom: 50px; }
  .tour-contact-page.elementor-2433 .elementor-element.elementor-element-c90a89b { --padding-top: 40px; --padding-bottom: 40px; }
  .tour-contact-page.elementor-2433 .elementor-element.elementor-element-0790c8f, .tour-contact-page.elementor-2433 .elementor-element.elementor-element-bb748b7 { padding: 24px; }
  .type-trip-grid-04 .trip-content { padding: 22px; }
}
@media (max-width: 575px) {
  .tour-home.elementor-3327 .togo-trip-grid, .tour-list-page .trip-list { grid-template-columns: minmax(0, 1fr); }
  .tour-list-page .trip-list-header { align-items: flex-start; }
}
