


:root {
  --ttd-navy: #0B1E37;
  --ttd-navy-2: #1B3458;
  --ttd-navy-soft: #2C4A78;
  --ttd-accent: #284878;
  --ttd-accent-dk: #1d3760;
  --ttd-gold: #D4A24C;
  --ttd-gold-2: #B98A3A;
  --ttd-gold-soft: #f5ead4;
  --ttd-gold-dk: #c19c77;
  --ttd-cream: #FAF7F1;
  --ttd-bg: #FAFAFA;
  --ttd-bg-soft: #F8FAFC;
  --ttd-bg-tint: #F1F5F9;
  --ttd-bg-warm: #FDFBF6;
  --ttd-surface: #FFFFFF;
  --ttd-line: #E5E7EB;
  --ttd-line-2: #D9DEE7;
  --ttd-ink: #0F172A;
  --ttd-ink-2: #1E293B;
  --ttd-ink-3: #334155;
  --ttd-text: #0F172A;
  --ttd-muted: #475569;
  --ttd-muted-2: #64748B;
  --ttd-success: #16A34A;
  --ttd-danger: #C0392B;

  --ttd-shadow-sm: 0 1px 2px rgba(11,30,55,.06), 0 1px 3px rgba(11,30,55,.05);
  --ttd-shadow: 0 4px 12px rgba(11,30,55,.08), 0 2px 4px rgba(11,30,55,.06);
  --ttd-shadow-md: 0 8px 24px rgba(11,30,55,.10), 0 3px 8px rgba(11,30,55,.05);
  --ttd-shadow-lg: 0 14px 40px rgba(11,30,55,.13), 0 6px 14px rgba(11,30,55,.06);

  --ttd-radius-xs: 6px;
  --ttd-radius-sm: 8px;
  --ttd-radius: 12px;
  --ttd-radius-lg: 18px;
  --ttd-radius-xl: 24px;

  --ttd-t: .25s cubic-bezier(.4,0,.2,1);
  --ttd-t-fast: .15s cubic-bezier(.4,0,.2,1);

  --ttd-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ttd-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  
  --color-primary: var(--ttd-navy);
  --color-accent: var(--ttd-gold);
  --color-secondary: var(--ttd-accent);
  --color-text: var(--ttd-text);
  --color-muted: var(--ttd-muted);
  --color-bg: var(--ttd-bg);
  --color-surface: var(--ttd-surface);
  --color-line: var(--ttd-line);
  --color-success: var(--ttd-success);
  --color-danger: var(--ttd-danger);
  --color-gold: var(--ttd-gold);
  --color-navy: var(--ttd-navy);
}


body {
  font-family: var(--ttd-font);
  background: var(--ttd-bg);
  color: var(--ttd-text);
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ttd-font);
  color: var(--ttd-navy);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.25;
  margin: 0 0 .65em;
}
h1 { font-size: clamp(1.9rem, 1.4vw + 1.2rem, 2.6rem); letter-spacing: -.015em; }
h2 { font-size: clamp(1.5rem, 1.1vw + 1rem, 2.1rem); letter-spacing: -.012em; }
h3 { font-size: clamp(1.2rem, .6vw + 1rem, 1.45rem); color: var(--ttd-navy); }
h4 { font-size: 1.1rem; color: var(--ttd-navy); font-weight: 600; }
h5 { font-size: 1rem; color: var(--ttd-navy); font-weight: 600; }

p { margin: 0 0 1.05rem; color: var(--ttd-muted); line-height: 1.7; }
p:last-child { margin-bottom: 0; }
strong, b { color: var(--ttd-text); font-weight: 600; }

a { color: var(--ttd-accent); text-decoration: none; transition: color var(--ttd-t); }
a:hover { color: var(--ttd-accent-dk); }
a:focus-visible { outline: 2px solid var(--ttd-gold); outline-offset: 2px; border-radius: 4px; }

img { max-width: 100%; height: auto; display: block; }


.container,
.ttd-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 1.5rem);
  box-sizing: border-box;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -.75rem;
  align-items: stretch;
}
.row > [class*="col-"],
.row > .col {
  padding: 0 .75rem;
  box-sizing: border-box;
  min-width: 0;
}
.col { flex: 1 1 0; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
@media (min-width: 768px) {
  .col-md-3 { flex: 0 0 25%; max-width: 25%; }
  .col-md-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
  .col-md-5 { flex: 0 0 41.667%; max-width: 41.667%; }
  .col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .col-md-7 { flex: 0 0 58.333%; max-width: 58.333%; }
  .col-md-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
  .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 992px) {
  .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
  .col-lg-5 { flex: 0 0 41.667%; max-width: 41.667%; }
  .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
  .col-lg-7 { flex: 0 0 58.333%; max-width: 58.333%; }
  .col-lg-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
  .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}


.grid-2,
.grid-3,
.grid-4,
.grid-auto {
  display: grid;
  gap: clamp(1rem, 2vw, 1.6rem);
  margin: 1.5rem 0;
}
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.grid-auto { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
@media (min-width: 768px) {
  .grid-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(4, 1fr); }
}


.adventure-grid,
.overview-grid,
.tours-grid,
.featured-tours-grid,
.reviews-grid,
.weather-cards,
.menu-grid,
.luxor-activities-grid,
.tips-grid,
.amenities-grid,
.attractions-grid,
.activities-grid,
.excursions-grid,
.feature-grid,
.cards-grid,
.cards-row,
[class$="-cards"]:not(.tour-card):not(.feature-card):not(.attraction-card):not(.activity-card):not(.amenity-card):not(.excursion-card):not(.related-card):not(.benefit-card):not(.tip-card):not(.hieroglyph-card):not(.overview-card):not(.budget-item):not(.dish-item):not(.feature-box):not(.booking-card):not(.do-dont-card),
[class*="-grid"]:not(.grid-2):not(.grid-3):not(.grid-4):not(.grid-auto):not(.gallery-grid):not(.fact-grid) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
  margin: 1.5rem 0;
}
@media (min-width: 768px) {
  .adventure-grid,
  .overview-grid,
  .tours-grid,
  .featured-tours-grid,
  .reviews-grid,
  .weather-cards,
  .luxor-activities-grid,
  .tips-grid,
  .amenities-grid,
  .attractions-grid,
  .activities-grid,
  .excursions-grid,
  .feature-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  }
}
.two-column-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  margin: 1.5rem 0;
  align-items: start;
}
@media (min-width: 768px) {
  .two-column-grid { grid-template-columns: repeat(2, 1fr); }
}


.video-features,
.tour-features:not(.tour-card .tour-features):not(li),
.adventure-features-section,
.section-features,
.stargazing-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
  padding: 0;
  list-style: none;
}
.video-features > *,
.section-features > * {
  text-align: center;
  padding: 1.5rem 1rem;
}


.youtube-channel-promo,
.video-cta,
.video-showcase,
.stargazing-highlight,
.bedouin-highlight,
.feature-highlight {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  padding: 2rem;
  margin: 2rem 0;
  box-shadow: var(--ttd-shadow-sm);
}


.gallery-container,
.tomb-gallery,
.transport-gallery,
.tips-gallery,
.geography-gallery,
.luxor-gallery,
.tawila-gallery,
[class$="-gallery"]:not(.gallery-item):not(.gallery-row) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.gallery-container > *,
.tomb-gallery > *,
[class$="-gallery"] > * {
  border-radius: var(--ttd-radius);
  overflow: hidden;
  box-shadow: var(--ttd-shadow-sm);
  aspect-ratio: 4/3;
  transition: transform var(--ttd-t), box-shadow var(--ttd-t);
}
.gallery-container > *:hover,
.tomb-gallery > *:hover,
[class$="-gallery"] > *:hover {
  transform: scale(1.03);
  box-shadow: var(--ttd-shadow);
}
.gallery-container > * > img,
.tomb-gallery > * > img,
[class$="-gallery"] > * > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}
.gallery-container > *:hover > img,
[class$="-gallery"] > *:hover > img {
  transform: scale(1.06);
}

.gallery-container > [class*="col-"],
.tomb-gallery > [class*="col-"],
[class$="-gallery"] > [class*="col-"] {
  flex: initial !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}


.hg-rb-container,
.faq-container,
.menu-items-container,
.tour-price-container,
.nav-container,
.view-more-container,
.view-all-container,
.image-wrapper,
.tour-image-wrapper,
.village-image-container {
  margin: 1.25rem 0;
}

.menu-container,
.visit-tips-container,
.luxor-container,
section > .menu-container,
section > .visit-tips-container,
section > .tour-content,
section.transportation-section > .menu-grid,
section.transportation-section > .transport-gallery,
section.transportation-section > .transport-card,
section.transportation-section > h2,
section.transportation-section > p {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1rem, 3vw, 1.5rem);
  padding-right: clamp(1rem, 3vw, 1.5rem);
  box-sizing: border-box;
}
.image-wrapper,
.tour-image-wrapper,
.village-image-container {
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
  aspect-ratio: 16/10;
}
.image-wrapper > img,
.tour-image-wrapper > img,
.village-image-container > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.image-wrapper:hover > img,
.tour-image-wrapper:hover > img,
.village-image-container:hover > img {
  transform: scale(1.05);
}


.feature-list,
.etiquette-list,
.dish-list,
.pros-list,
.tips-list,
.fa-list,
.checkmark-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.feature-list > li,
.etiquette-list > li,
.dish-list > li,
.pros-list > li,
.tips-list > li,
.fa-list > li,
.checkmark-list > li {
  position: relative;
  padding: .55rem 0 .55rem 2rem;
  line-height: 1.55;
  color: var(--ttd-text);
}
.feature-list > li::before,
.etiquette-list > li::before,
.dish-list > li::before,
.pros-list > li::before,
.tips-list > li::before,
.fa-list > li::before,
.checkmark-list > li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: .65rem;
  color: var(--ttd-gold-2);
  font-size: .82rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: var(--ttd-gold-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


.category-tab,
.season-tab,
.menu-tab,
.itinerary-tab,
.age-tab {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem 1.25rem;
  background: var(--ttd-bg-soft);
  border: 1px solid var(--ttd-line);
  border-radius: 99px;
  color: var(--ttd-muted);
  font-weight: 500;
  cursor: pointer;
  font-size: .9rem;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
  margin: .25rem;
}
.category-tab:hover,
.season-tab:hover,
.menu-tab:hover,
.itinerary-tab:hover,
.age-tab:hover {
  background: var(--ttd-cream);
  border-color: var(--ttd-gold);
  color: var(--ttd-gold-2);
}
.category-tab.active,
.season-tab.active,
.menu-tab.active,
.itinerary-tab.active,
.age-tab.active,
[role="tab"][aria-selected="true"] {
  background: var(--ttd-navy);
  border-color: var(--ttd-navy);
  color: #fff;
}


.gallery,
.image-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}


.booking-card {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
  margin: 1rem auto;
}
.booking-header {
  background: linear-gradient(135deg, var(--ttd-navy) 0%, var(--ttd-navy-2) 100%);
  color: #fff;
  padding: 2rem 1.6rem;
  text-align: center;
}
.booking-header h2,
.booking-header h3,
.booking-header h4 {
  color: #fff !important;
  margin: 0 0 .5rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -.01em;
}
.booking-header p { color: rgba(255,255,255,.92); margin: 0; font-size: 1.1rem; }
.booking-content { padding: 2rem 1.6rem; }
.booking-features { display: flex; flex-direction: column; gap: .9rem; }
.booking-feature {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .65rem .9rem;
  background: var(--ttd-bg-soft);
  border-radius: var(--ttd-radius-sm);
  line-height: 1.5;
}
.booking-feature-icon {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
.booking-feature strong { color: var(--ttd-navy); }


.cta-section,
section.cta-section {
  background: linear-gradient(135deg, var(--ttd-navy) 0%, var(--ttd-navy-2) 100%);
  color: #fff;
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(212,162,76,.18), transparent 60%);
  pointer-events: none;
}
.cta-section .container,
.cta-content {
  position: relative;
  z-index: 2;
}
.cta-section h2,
.cta-content h2 { color: #fff; margin-bottom: 1rem; }
.cta-section p,
.cta-content p { color: rgba(255,255,255,.92); max-width: 64ch; margin: 0 auto 1.5rem; }
.cta-section .btn-secondary,
.cta-content .btn-secondary {
  background: var(--ttd-gold);
  color: #fff !important;
  border-color: var(--ttd-gold);
}
.cta-section .btn-secondary:hover,
.cta-content .btn-secondary:hover {
  background: var(--ttd-gold-2);
  border-color: var(--ttd-gold-2);
  color: #fff !important;
}


.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2.5rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2.5rem}
.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:1rem;margin-bottom:1rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-5{margin-top:2.5rem;margin-bottom:2.5rem}
.mx-auto{margin-left:auto;margin-right:auto}.ml-auto{margin-left:auto}
.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2.5rem}
.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-5{padding-top:2.5rem;padding-bottom:2.5rem}
.px-3{padding-left:1rem;padding-right:1rem}.px-4{padding-left:1.5rem;padding-right:1.5rem}.px-5{padding-left:2.5rem;padding-right:2.5rem}
.pl-3{padding-left:1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.text-muted{color:var(--ttd-muted)}.text-white{color:#fff}.text-primary{color:var(--ttd-accent)}.text-success{color:var(--ttd-success)}.text-warning{color:var(--ttd-gold)}.text-danger{color:var(--ttd-danger)}.text-gold{color:var(--ttd-gold)}.text-dark{color:var(--ttd-ink)}.text-navy{color:var(--ttd-navy)}
.bg-light{background:var(--ttd-bg-soft)}.bg-white{background:#fff}.bg-dark{background:var(--ttd-navy);color:#fff}.bg-cream{background:var(--ttd-cream)}.bg-warm{background:var(--ttd-bg-warm)}.bg-aqua,.section-aqua{background:linear-gradient(135deg,#f0f7ff 0%,#e8f4fc 100%)}
.d-flex{display:flex}.flex-wrap{flex-wrap:wrap}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.align-items-center{align-items:center}.align-items-stretch{align-items:stretch}
.list-unstyled{list-style:none;padding:0;margin:0}
.shadow-sm{box-shadow:var(--ttd-shadow-sm)}.shadow{box-shadow:var(--ttd-shadow)}.shadow-md{box-shadow:var(--ttd-shadow-md)}.shadow-lg{box-shadow:var(--ttd-shadow-lg)}
.rounded{border-radius:var(--ttd-radius)}.rounded-lg{border-radius:var(--ttd-radius-lg)}.rounded-xl{border-radius:var(--ttd-radius-xl)}.rounded-circle{border-radius:50%}
.img-fluid{max-width:100%;height:auto}
.w-100{width:100%}.h-100{height:100%}
.display-3{font-size:clamp(1.8rem,1.4vw + 1.2rem,2.5rem);font-weight:700;line-height:1.15}.display-4{font-size:clamp(1.6rem,1vw + 1.2rem,2.2rem);font-weight:700}.display-5{font-size:clamp(1.4rem,.8vw + 1rem,1.85rem);font-weight:700}
.lead{font-size:1.1rem;line-height:1.65;color:var(--ttd-muted-2);font-weight:400}
.small{font-size:.875rem}
.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mr-3{margin-right:1rem}.ml-3{margin-left:1rem}
.position-relative{position:relative}
.font-weight-bold{font-weight:700}

.section,
section.section,
section[class*="-section"]:not([class*="ttd-"]):not([class*="cta-"]) {
  padding: clamp(3rem, 5vw, 5rem) 0;
  position: relative;
  scroll-margin-top: 80px;
}
.section-light,
section.bg-light,
.section.section-light {
  background: var(--ttd-bg-soft);
}
.section-aqua,
.section.section-aqua {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}
section.bg-white { background: #fff; }
section.bg-warm,
section.bg-desert,
section.bg-cream { background: var(--ttd-cream); }


.section + .section.section-light::before,
.section + .section.section-aqua::before {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: var(--ttd-gold);
  border-radius: 2px;
  margin: -1rem auto 2.5rem;
}


.section-title,
.section h2:first-of-type:not([class*="ttd-"]),
section[class*="-section"]:not([class*="ttd-"]):not([class*="cta-"]) > .container > .text-center > h2,
section[class*="-section"]:not([class*="ttd-"]):not([class*="cta-"]) > .container > h2:first-of-type,
section[class*="-section"]:not([class*="ttd-"]):not([class*="cta-"]) > .container > article > h2:first-of-type {
  color: var(--ttd-navy);
  font-weight: 700;
  text-align: center;
  margin: 0 auto 1rem;
  position: relative;
  padding-bottom: 1rem;
  max-width: 900px;
}
.section-title::after,
.section > .container > .text-center > h2.section-title::after,
.section h2.section-title::after,
.section h2.display-4::after,
.section h2.display-5::after,
section h2[class*="display-"]:first-of-type::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--ttd-gold);
  border-radius: 2px;
  margin: 1rem auto 0;
}

.section-subtitle,
.section .section-header p,
.section > .container > .text-center > p.lead,
.section h2 + p.lead {
  font-size: 1.1rem;
  max-width: 800px;
  margin: 0 auto 2.5rem;
  text-align: center;
  color: var(--ttd-muted-2);
  font-weight: 400;
}

.section-header {
  margin-bottom: 3rem;
  text-align: center;
}

.section-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.25rem 0 2.5rem;
}
.section-divider span {
  height: 2px;
  width: 50px;
  background: linear-gradient(90deg, transparent, var(--ttd-gold), transparent);
}
.section-divider i {
  color: var(--ttd-gold);
  font-size: 1.2rem;
  margin: 0 1rem;
}


.section h3,
section[class*="-section"]:not([class*="ttd-"]) h3 {
  color: var(--ttd-navy);
  font-weight: 700;
  margin: 0 0 .75em;
  font-size: 1.4rem;
  letter-spacing: -.01em;
}


.btn,
button.btn,
a.btn {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1.6rem;
  border-radius: var(--ttd-radius-sm);
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
  font-family: inherit;
  line-height: 1.2;
  white-space: nowrap;
}

.btn-primary,
.btn-gold,
.hero-cta,
.cta-button,
.nav-cta,
.btn-book {
  background: var(--ttd-gold);
  color: #fff !important;
  border-color: var(--ttd-gold);
  box-shadow: 0 2px 6px rgba(212,162,76,.25);
}
.btn-primary:hover,
.btn-gold:hover,
.hero-cta:hover,
.cta-button:hover,
.nav-cta:hover,
.btn-book:hover {
  background: var(--ttd-gold-2);
  border-color: var(--ttd-gold-2);
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(212,162,76,.35);
  text-decoration: none;
}
.btn-primary:active, .btn-gold:active, .hero-cta:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(212,162,76,.25);
}

.btn-outline-gold {
  background: transparent;
  color: var(--ttd-gold-2);
  border-color: var(--ttd-gold);
}
.btn-outline-gold:hover {
  background: var(--ttd-gold);
  color: #fff !important;
  border-color: var(--ttd-gold);
}

.btn-secondary {
  background: var(--ttd-navy);
  color: #fff !important;
  border-color: var(--ttd-navy);
}
.btn-secondary:hover {
  background: var(--ttd-navy-2);
  border-color: var(--ttd-navy-2);
  color: #fff !important;
}

.btn-link {
  background: transparent;
  color: var(--ttd-navy);
  border: none;
  text-align: left;
  width: 100%;
  padding: 1.1rem 1.4rem;
  font-weight: 600;
  font-size: 1rem;
}
.btn-link:hover {
  color: var(--ttd-accent);
  text-decoration: none;
  background: var(--ttd-bg-soft);
}

.btn-lg { padding: 1.05rem 1.9rem; font-size: 1.05rem; }
.btn-sm { padding: .55rem 1.1rem; font-size: .85rem; }
.btn-block { display: flex; width: 100%; justify-content: center; }




.card,
.tour-card,
.feature-card,
.activity-card,
.attraction-card,
.tip-card,
.hieroglyph-card,
.overview-card,
.budget-item,
.dish-item,
.amenity-card,
.excursion-card,
.related-card,
.adventure-card,
.review-card,
.experience-card,
.attraction-grid-card,
.activity-grid-card,
.tour-grid-card,
.weather-card,
.season-card,
.itinerary-card,
.luxor-tomb-card,
.feature-box {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow-sm);
  transition: transform .35s cubic-bezier(.16,1,.3,1),
              box-shadow .35s cubic-bezier(.16,1,.3,1),
              border-color .25s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  isolation: isolate;
}
.card:hover,
.tour-card:hover,
.feature-card:hover,
.activity-card:hover,
.attraction-card:hover,
.tip-card:hover,
.hieroglyph-card:hover,
.overview-card:hover,
.amenity-card:hover,
.excursion-card:hover,
.related-card:hover,
.adventure-card:hover,
.review-card:hover,
.experience-card:hover,
.weather-card:hover,
.season-card:hover,
.itinerary-card:hover,
.luxor-tomb-card:hover,
.feature-box:hover {
  transform: translateY(-6px);
  box-shadow: var(--ttd-shadow-lg);
  border-color: var(--ttd-gold);
}


.card-body,
.card-content,
.card .content {
  padding: 1.6rem 1.75rem 1.85rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.card-header {
  background: transparent;
  border-bottom: 1px solid var(--ttd-line);
  padding: 1.25rem 1.6rem;
  font-weight: 600;
  color: var(--ttd-navy);
}

.card > .card-header:has(> img:only-child),
.card-header.is-image,
.card-header > img:only-child {
  
}
.card > .card-header:has(> img:only-child) {
  padding: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
.card > .card-header:has(> img:only-child) > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}
.card:hover > .card-header:has(> img:only-child) > img {
  transform: scale(1.06);
}
.card > .card-header:has(> img:only-child)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(11,30,55,.22) 100%);
  pointer-events: none;
  z-index: 1;
}

.card > .card-header > img:only-child {
  width: calc(100% + 3.2rem) !important;
  height: auto;
  margin: -1.25rem -1.6rem 0;
  display: block;
  aspect-ratio: 16/10;
  object-fit: cover;
}
@supports selector(:has(*)) {
  .card > .card-header > img:only-child {
    width: 100% !important;
    margin: 0 !important;
  }
}

.card-footer {
  background: var(--ttd-bg-soft);
  border-top: 1px solid var(--ttd-line);
  padding: 1.1rem 1.6rem;
  margin-top: auto;
}


.feature-card,
.amenity-card,
.benefit-card,
.tip-card {
  text-align: center;
  padding: 2.25rem 1.75rem;
  background: linear-gradient(180deg, #fff 0%, var(--ttd-bg-soft) 100%);
}
.feature-card:hover,
.amenity-card:hover,
.benefit-card:hover,
.tip-card:hover {
  background: linear-gradient(180deg, #fff 0%, var(--ttd-cream) 100%);
}
.feature-card > .feature-icon,
.feature-card > i.fas:first-child,
.feature-card > i.far:first-child,
.feature-card > .icon,
.amenity-card > .feature-icon,
.amenity-card > .icon,
.benefit-card > .icon,
.tip-card > .icon {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--ttd-gold) 0%, var(--ttd-gold-2) 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.85rem;
  margin: 0 auto 1.4rem;
  box-shadow: 0 8px 22px rgba(212,162,76,.32);
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
  flex-shrink: 0;
}
.feature-card:hover > .feature-icon,
.feature-card:hover > i.fas:first-child,
.amenity-card:hover > .feature-icon,
.benefit-card:hover > .icon,
.tip-card:hover > .icon {
  transform: scale(1.1) rotate(-4deg);
  box-shadow: 0 12px 30px rgba(212,162,76,.42);
}


.tour-card,
.activity-card,
.attraction-card,
.excursion-card,
.related-card {
  padding: 0;
}


.tour-image,
.attraction-image,
.activity-image,
.feature-image,
.amenity-image,
.excursion-image {
  position: relative;
  overflow: hidden;
  background: var(--ttd-bg-tint);
  aspect-ratio: 16/10;
}
.card-img-top,
.tour-image > img,
.attraction-image > img,
.activity-image > img,
.feature-image > img,
.excursion-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}
.tour-card .card-img-top,
.activity-card > img:first-child,
.attraction-card > img:first-child,
.excursion-card > img:first-child {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}


.activity-card,
.attraction-card,
.excursion-card,
.tour-card,
.related-card {
  
}
.activity-card > img:first-child,
.attraction-card > img:first-child,
.excursion-card > img:first-child,
.related-card > img:first-child {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  height: auto;
  object-fit: cover;
}


.tour-card:hover .tour-image > img,
.attraction-card:hover .attraction-image > img,
.activity-card:hover .activity-image > img,
.excursion-card:hover .excursion-image > img,
.tour-card:hover > .card-img-top,
.tour-card:hover > img:first-child,
.activity-card:hover > img:first-child,
.attraction-card:hover > img:first-child,
.excursion-card:hover > img:first-child,
.related-card:hover > img:first-child {
  transform: scale(1.06);
}


.tour-image::after,
.attraction-image::after,
.amenity-image::after,
.activity-image::after,
.excursion-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(11,30,55,.22) 100%);
  pointer-events: none;
  z-index: 1;
}


.tour-content,
.attraction-content,
.activity-content,
.feature-content,
.activity-card > div:not(.activity-image):not([class*="image"]):not([class*="img-"]),
.attraction-card > div:not(.attraction-image):not([class*="image"]):not([class*="img-"]),
.excursion-card > div:not(.excursion-image):not([class*="image"]):not([class*="img-"]) {
  padding: 1.5rem 1.75rem 1.85rem;
}


.activity-card > .btn,
.attraction-card > .btn,
.excursion-card > .btn,
.tour-card > .btn {
  margin: 0 1.75rem 1.75rem;
}


.card .card-title,
.tour-card h3,
.tour-card h4,
.attraction-card h3,
.feature-card h3,
.activity-card h3,
.amenity-card h3,
.excursion-card h3,
.benefit-card h3,
.tip-card h3,
.adventure-card h3,
.adventure-card h4,
.review-card h3,
.experience-card h3,
.weather-card h3,
.season-card h3,
.itinerary-card h3,
.luxor-tomb-card h3 {
  color: var(--ttd-navy);
  font-weight: 700;
  margin: 0 0 .55rem;
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: -.005em;
}
.feature-card h3,
.amenity-card h3,
.benefit-card h3 {
  font-size: 1.25rem;
  margin: 0 0 .85rem;
}
.feature-card p,
.amenity-card p,
.benefit-card p,
.tip-card p,
.adventure-card p,
.review-card p,
.experience-card p {
  color: var(--ttd-muted);
  font-size: .96rem;
  line-height: 1.6;
  margin: 0 0 1rem;
}


.tour-card {
  padding: 0;
}
.tour-card .tour-image {
  aspect-ratio: 16/10;
}
.tour-card .tour-content {
  padding: 1.5rem 1.6rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  flex: 1;
}
.tour-card .tour-title {
  color: var(--ttd-navy);
  font-weight: 700;
  font-size: 1.15rem;
  margin: 0 0 .35rem;
  line-height: 1.3;
  letter-spacing: -.01em;
}
.tour-card .tour-rating {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  font-size: .9rem;
  color: var(--ttd-gold);
  margin: .15rem 0 .5rem;
}
.tour-card .tour-rating span,
.tour-card .tour-rating .review-count {
  color: var(--ttd-muted-2);
  margin-left: .35rem;
  font-size: .8rem;
}
.tour-card .tour-description {
  color: var(--ttd-muted);
  font-size: .92rem;
  line-height: 1.55;
  margin: 0 0 .85rem;
}
.tour-card .tour-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin: 0 0 1rem;
  list-style: none;
  padding: 0;
}
.tour-card .tour-highlights > li {
  position: static;
  padding: .25rem .65rem;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  border-radius: 99px;
  font-size: .76rem;
  font-weight: 600;
}
.tour-card .tour-highlights > li::before { display: none; }
.tour-card .tour-details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--ttd-line);
  gap: 1rem;
}
.tour-card .tour-price {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.tour-card .tour-price .price-from {
  font-size: .75rem;
  color: var(--ttd-muted-2);
  font-weight: 500;
  margin-bottom: .15rem;
}
.tour-card .tour-price .price-value {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ttd-gold-2);
  letter-spacing: -.01em;
}
.tour-card .tour-button,
.tour-card .book-link {
  background: var(--ttd-gold);
  color: #fff !important;
  padding: .55rem 1.1rem;
  border-radius: var(--ttd-radius-sm);
  font-weight: 600;
  font-size: .85rem;
  white-space: nowrap;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  text-decoration: none;
}
.tour-card .tour-button:hover,
.tour-card .book-link:hover {
  background: var(--ttd-gold-2);
  transform: translateY(-1px);
  text-decoration: none;
}


.tour-card .tour-meta,
.tour-card .duration {
  font-size: .82rem;
  color: var(--ttd-muted-2);
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: .25rem 0 .5rem;
}
.tour-card .tour-meta i,
.tour-card .duration i {
  color: var(--ttd-gold);
}


.trip-card {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  padding: 0;
  box-shadow: var(--ttd-shadow-sm);
  transition: transform var(--ttd-t), box-shadow var(--ttd-t), border-color var(--ttd-t);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.trip-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--ttd-shadow);
  border-color: var(--ttd-gold);
}
.trip-card .trip-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  height: auto;
  background: var(--ttd-bg-soft);
}
.trip-card .trip-image > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}
.trip-card:hover .trip-image > img {
  transform: scale(1.04);
}
.trip-card .trip-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: var(--ttd-gold);
  color: #fff;
  padding: .35rem .9rem;
  border-radius: 99px;
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .02em;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(212,162,76,.35);
}
.trip-card .trip-content {
  padding: 1.5rem 1.6rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  flex: 1;
}
.trip-card .trip-content > h3,
.trip-card .trip-content > h4,
.trip-card .trip-title {
  color: var(--ttd-navy);
  font-weight: 700;
  font-size: 1.15rem;
  margin: 0 0 .35rem;
  line-height: 1.3;
  letter-spacing: -.01em;
}
.trip-card .trip-content > p {
  color: var(--ttd-muted);
  font-size: .94rem;
  line-height: 1.6;
  margin: 0;
}
.trip-card .trip-features,
.trip-card .trip-highlights {
  list-style: none;
  padding: 0;
  margin: .35rem 0 .5rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.trip-card .trip-features > li,
.trip-card .trip-highlights > li {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--ttd-ink-2);
  font-size: .9rem;
  line-height: 1.5;
}
.trip-card .trip-features > li::before,
.trip-card .trip-highlights > li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
  font-weight: 900;
  color: var(--ttd-gold);
  font-size: .8rem;
  margin-top: .2rem;
  flex-shrink: 0;
}
.trip-card .trip-features > li > i,
.trip-card .trip-highlights > li > i {
  color: var(--ttd-gold);
  width: 18px;
  flex-shrink: 0;
}
.trip-card .trip-features > li > i + *,
.trip-card .trip-highlights > li > i + * {
  
}
.trip-card .trip-price {
  display: flex;
  flex-direction: column;
  margin: .25rem 0;
}
.trip-card .trip-price .price-from,
.trip-card .trip-price small {
  font-size: .78rem;
  color: var(--ttd-muted-2);
  font-weight: 500;
}
.trip-card .trip-price .price-value,
.trip-card .trip-price strong,
.trip-card .trip-price .amount {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ttd-gold-2);
  letter-spacing: -.01em;
  line-height: 1.1;
}
.trip-card .trip-cta,
.trip-card .trip-button,
.trip-card .book-button,
.trip-card a.btn,
.trip-card .trip-content > a:last-child {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .65rem 1.3rem;
  background: var(--ttd-gold);
  color: #fff !important;
  border-radius: var(--ttd-radius-sm);
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
  white-space: nowrap;
}
.trip-card .trip-cta:hover,
.trip-card .trip-button:hover,
.trip-card .book-button:hover,
.trip-card a.btn:hover {
  background: var(--ttd-gold-2);
  transform: translateY(-1px);
  text-decoration: none;
}


.related-trips {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  margin: 2rem 0 0;
}
@media (min-width: 768px) {
  .related-trips {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  }
}


section[id="booking"] .trip-card,
.section .container > div:not(.related-trips) > .trip-card {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  section[id="booking"] .trip-card,
  .section .container > div:not(.related-trips) > .trip-card {
    max-width: 880px;
  }
}


.features {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin: 2rem 0 0;
}
@media (min-width: 768px) {
  .features {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  }
}


.section.section-dark,
section.section-dark {
  background: linear-gradient(180deg, #fdfdfb 0%, #f4efe6 100%);
}


main > nav.nav {
  max-width: 1140px;
  margin: 1.5rem auto;
  padding: 0 clamp(1rem, 3vw, 1.5rem);
  box-sizing: border-box;
}
nav.nav > .nav-links,
nav.nav > ul.nav-links {
  list-style: none;
  margin: 0;
  padding: .65rem .85rem;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .5rem;
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: 999px;
  box-shadow: var(--ttd-shadow-sm);
  justify-content: center;
}
nav.nav > .nav-links > li,
nav.nav > ul.nav-links > li {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav.nav > .nav-links > li::before,
nav.nav > ul.nav-links > li::before {
  display: none !important;
}
nav.nav > .nav-links > li > a,
nav.nav > ul.nav-links > li > a {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem 1rem;
  border-radius: 999px;
  color: var(--ttd-ink-2);
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none;
  transition: background var(--ttd-t), color var(--ttd-t);
  white-space: nowrap;
}
nav.nav > .nav-links > li > a > i,
nav.nav > ul.nav-links > li > a > i {
  color: var(--ttd-gold);
  font-size: .85rem;
}
nav.nav > .nav-links > li > a:hover,
nav.nav > .nav-links > li > a.active {
  background: var(--ttd-gold);
  color: #fff;
}
nav.nav > .nav-links > li > a:hover > i,
nav.nav > .nav-links > li > a.active > i {
  color: #fff;
}
@media (max-width: 767px) {
  nav.nav > .nav-links {
    border-radius: var(--ttd-radius-lg);
    padding: .65rem;
  }
}


.scroll-navigator {
  position: fixed;
  right: clamp(.5rem, 1.5vw, 1rem);
  top: 50%;
  transform: translateY(-50%);
  z-index: 30;
  background: rgba(11,30,55,.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  padding: .5rem .35rem;
  box-shadow: 0 12px 32px rgba(11,30,55,.18);
  height: auto;
  width: auto;
}
.scroll-navigator > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.scroll-navigator > ul > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.scroll-navigator > ul > li::before {
  display: none !important;
}
.scroll-navigator > ul > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  transition: background var(--ttd-t), color var(--ttd-t), transform var(--ttd-t);
  position: relative;
}
.scroll-navigator > ul > li > a > i {
  font-size: .85rem;
}
.scroll-navigator > ul > li > a:hover,
.scroll-navigator > ul > li > a.active,
.scroll-navigator > ul > li.active > a {
  background: var(--ttd-gold);
  color: #fff;
}
.scroll-navigator > ul > li > a::after {
  content: attr(data-title);
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--ttd-navy);
  color: #fff;
  padding: .35rem .75rem;
  border-radius: var(--ttd-radius-sm);
  font-size: .78rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--ttd-t);
  font-family: var(--ttd-sans);
  font-weight: 600;
}
.scroll-navigator > ul > li > a:hover::after {
  opacity: 1;
}
@media (max-width: 991px) {
  .scroll-navigator {
    display: none;
  }
}


.review-card,
.testimonial-card {
  padding: 1.75rem;
  background: var(--ttd-surface);
}
.reviewer-info,
.reviewer-details {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: 1rem;
}
.reviewer-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--ttd-gold-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ttd-gold-2);
  font-weight: 700;
  font-size: 1.15rem;
  flex-shrink: 0;
  overflow: hidden;
}
.reviewer-avatar > img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
}
.reviewer-name {
  font-weight: 700;
  color: var(--ttd-navy);
  margin: 0;
  font-size: 1rem;
}
.review-rating {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  font-size: .9rem;
  color: var(--ttd-gold);
  margin: .25rem 0;
}
.review-tour {
  font-size: .82rem;
  color: var(--ttd-muted-2);
  font-weight: 500;
  font-style: italic;
  margin-top: 1rem;
}


.faq-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  margin-right: .85rem;
}


.tour-card p,
.attraction-card p,
.activity-card p,
.excursion-card p {
  color: var(--ttd-muted);
  font-size: .95rem;
  line-height: 1.6;
  margin: 0 0 .75rem;
}


.attraction-meta,
.tour-meta,
.activity-meta {
  font-size: .82rem;
  color: var(--ttd-muted-2);
  margin-bottom: .85rem;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 500;
}
.attraction-meta i,
.tour-meta i,
.activity-meta i {
  color: var(--ttd-gold);
  margin-right: .35rem;
}


.tour-card .features,
.tour-card .feature-list,
.tour-features,
.tour-highlights,
.attraction-card .feature-tags,
.excursion-card .features {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0 0 1rem;
  list-style: none;
  padding: 0;
}
.tour-card .features li,
.tour-card .feature-list li,
.tour-features li,
.tour-highlights li,
.excursion-card .features li {
  padding: 0;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  border-radius: 99px;
  font-size: .78rem;
  font-weight: 600;
  padding: .25rem .7rem;
  position: static;
}
.tour-card .features li::before,
.tour-features li::before,
.tour-highlights li::before,
.excursion-card .features li::before {
  display: none;
}


.tour-card .btn,
.activity-card .btn,
.attraction-card .btn,
.excursion-card .btn,
.related-card .btn,
.tour-card a.btn,
.activity-card a.btn {
  align-self: flex-start;
  margin-top: auto;
}


.booking-card-actions { padding: 1.5rem; border-top: 1px solid var(--ttd-line); }


.tour-card .price,
.tour-card .price-value,
.tour-price {
  color: var(--ttd-gold-2);
  font-weight: 700;
  font-size: 1.35rem;
  margin: .25rem 0 .5rem;
  letter-spacing: -.01em;
}
.tour-card .price-from,
.tour-price .from {
  color: var(--ttd-muted-2);
  font-size: .8rem;
  font-weight: 500;
  margin-right: .25rem;
}
.tour-card .price-currency { color: var(--ttd-gold-2); }


.card.card--media-hero,
.tour-card.featured,
.attraction-card.featured {
  grid-column: span 2;
}
@media (max-width: 768px) {
  .card.card--media-hero,
  .tour-card.featured,
  .attraction-card.featured {
    grid-column: span 1;
  }
}


.tour-rating,
.rating-stars {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  font-size: .9rem;
  color: var(--ttd-gold);
  margin: .25rem 0;
}
.tour-rating span,
.rating-stars span {
  color: var(--ttd-muted-2);
  margin-left: .35rem;
  font-size: .8rem;
}


.tour-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  background: var(--ttd-navy);
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  padding: .35rem .7rem;
  border-radius: 99px;
  letter-spacing: .02em;
  box-shadow: var(--ttd-shadow-sm);
  text-transform: uppercase;
}
.tour-badge.special {
  background: linear-gradient(135deg, var(--ttd-gold) 0%, var(--ttd-gold-2) 100%);
  color: #fff;
}


.feature-icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--ttd-gold-soft) 0%, #fff5d9 100%);
  color: var(--ttd-gold-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  margin-bottom: 1.1rem;
  box-shadow: 0 4px 12px rgba(212,162,76,.18);
  transition: transform var(--ttd-t);
}
.feature-card:hover .feature-icon,
.activity-card:hover .feature-icon {
  transform: scale(1.08) rotate(-3deg);
}
.feature-icon-circle,
.icon-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}


.feature-card .card-body,
.feature-card,
.benefit-card {
  text-align: center;
}


.feature-tag,
.tour-badge,
.badge,
.tag-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .8rem;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  border-radius: 99px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .01em;
}
.feature-tag.special,
.tour-badge.special,
.badge.special {
  background: var(--ttd-navy);
  color: #fff;
}
.tour-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  background: var(--ttd-navy);
  color: #fff;
  box-shadow: var(--ttd-shadow-sm);
}


.feature-list,
ul.list-unstyled,
.tour-features,
.tour-highlights,
.hg-guide-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}
.feature-list li,
.tour-features li,
.tour-highlights li,
ul.list-unstyled > li,
.hg-guide-list li {
  padding: .5rem 0 .5rem 1.85rem;
  position: relative;
  line-height: 1.55;
  color: var(--ttd-text);
}
.feature-list li::before,
.tour-features li::before,
.tour-highlights li::before,
ul.list-unstyled > li::before,
.hg-guide-list li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: .55rem;
  color: var(--ttd-gold);
  font-size: .85rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: var(--ttd-gold-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


.quick-facts ul.list-unstyled > li::before { display: none; }
.quick-facts ul.list-unstyled > li { padding-left: 0; }


.img-wrap,
.image-wrap {
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
  position: relative;
  aspect-ratio: 4/3;
  background: var(--ttd-bg-tint);
}
.img-wrap > img,
.image-wrap > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4,0,.2,1);
}
.img-wrap:hover > img,
.image-wrap:hover > img {
  transform: scale(1.05);
}


.fade-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: no-preference) {
  .fade-in {
    opacity: 0;
    transform: translateY(28px);
    animation: ttd-fade-up .8s cubic-bezier(.4,0,.2,1) forwards;
    animation-delay: var(--ttd-fade-delay, 0s);
  }
  .fade-in:nth-child(2) { --ttd-fade-delay: .08s; }
  .fade-in:nth-child(3) { --ttd-fade-delay: .16s; }
  .fade-in:nth-child(4) { --ttd-fade-delay: .24s; }
  .fade-in:nth-child(5) { --ttd-fade-delay: .32s; }
  .fade-in:nth-child(6) { --ttd-fade-delay: .40s; }
}
@keyframes ttd-fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: none; }
}


.faq-section {
  background: var(--ttd-bg-soft);
}
.faq-item,
.accordion .card,
.faq-section .card {
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius);
  margin-bottom: .85rem;
  overflow: hidden;
  background: var(--ttd-surface);
  transition: box-shadow var(--ttd-t), border-color var(--ttd-t), transform var(--ttd-t-fast);
}
.faq-item:hover,
.accordion .card:hover {
  box-shadow: var(--ttd-shadow-sm);
  border-color: var(--ttd-line-2);
}
.faq-item.active,
.accordion .card:has(.collapse.show) {
  box-shadow: var(--ttd-shadow);
  border-color: var(--ttd-gold);
}
.faq-question,
.faq-btn,
.accordion .card-header,
.accordion button.btn-link {
  padding: 1.2rem 1.5rem;
  font-weight: 600;
  color: var(--ttd-navy);
  background: transparent;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: none;
  text-align: left;
  font-family: inherit;
  font-size: 1.05rem;
  position: relative;
  line-height: 1.4;
  gap: 1rem;
}
.faq-question:hover,
.accordion button.btn-link:hover {
  background: var(--ttd-bg-soft);
  color: var(--ttd-accent);
  text-decoration: none;
}
.faq-question::after,
.accordion button.btn-link::after,
.faq-arrow {
  content: "\f078";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  color: var(--ttd-gold);
  transition: transform var(--ttd-t);
  font-size: .9rem;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: var(--ttd-gold-soft);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.faq-question.active::after,
.faq-item.active .faq-question::after,
.accordion button.btn-link[aria-expanded="true"]::after,
.faq-item.active .faq-arrow {
  transform: rotate(180deg);
}
.faq-answer,
.faq-section .collapse > .card-body {
  padding: 0 1.5rem 1.4rem;
  background: transparent;
  display: none;
  line-height: 1.75;
  color: var(--ttd-muted);
}
.faq-item.active .faq-answer,
.accordion .collapse.show > .card-body,
.accordion .collapse.show {
  display: block;
}
.faq-section .accordion .card-body {
  padding: 1.2rem 1.5rem;
  border-top: 1px solid var(--ttd-line);
  background: var(--ttd-bg-soft);
}


.highlight-box,
.info-box,
.feature-box.highlight,
.tip-content,
.alert,
.notice {
  background: linear-gradient(135deg, var(--ttd-cream) 0%, #fff 100%);
  border-left: 4px solid var(--ttd-gold);
  border-radius: var(--ttd-radius);
  padding: 1.6rem 1.85rem;
  margin: 1.5rem 0;
  box-shadow: var(--ttd-shadow-sm);
}
.highlight-box h3,
.highlight-box h4,
.info-box h3,
.feature-box.highlight h3 {
  color: var(--ttd-navy);
  margin: 0 0 .85rem;
  font-size: 1.25rem;
}
.highlight-box ul,
.highlight-box ol,
.info-box ul,
.feature-box.highlight ul,
.tip-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.highlight-box ul > li,
.highlight-box ol > li,
.info-box ul > li,
.feature-box.highlight ul > li,
.tip-content ul > li {
  padding: .45rem 0 .45rem 1.85rem;
  position: relative;
  line-height: 1.55;
  color: var(--ttd-text);
}
.highlight-box ul > li::before,
.highlight-box ol > li::before,
.info-box ul > li::before,
.feature-box.highlight ul > li::before,
.tip-content ul > li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: .55rem;
  color: var(--ttd-gold);
  font-size: .85rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: var(--ttd-gold-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.highlight-box.danger,
.notice.warning {
  background: linear-gradient(135deg, #fef0e8 0%, #fff 100%);
  border-left-color: var(--ttd-danger);
}


.timeline-container,
.luxor-timeline,
.history-timeline {
  position: relative;
  margin: 2.5rem 0;
  padding-left: 2.75rem;
  border-left: 3px solid var(--ttd-gold);
}
.timeline-event,
.timeline-item {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 1rem;
}
.timeline-event::before,
.timeline-item::before {
  content: "";
  position: absolute;
  left: -3.85rem;
  top: .35rem;
  width: 16px;
  height: 16px;
  background: var(--ttd-gold);
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 3px var(--ttd-gold), var(--ttd-shadow-sm);
}
.timeline-date,
.timeline-event .timeline-date {
  display: inline-block;
  background: var(--ttd-navy);
  color: #fff;
  padding: .3rem .85rem;
  border-radius: 99px;
  font-size: .82rem;
  font-weight: 600;
  margin-bottom: .5rem;
  letter-spacing: .01em;
}
.timeline-event h4,
.timeline-item h4 {
  margin: .35rem 0 .45rem;
  color: var(--ttd-navy);
  font-size: 1.15rem;
}
.timeline-event p,
.timeline-item p {
  margin: 0;
  color: var(--ttd-muted);
}


.gallery-grid,
.gallery-row,
.image-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  margin: 2rem 0;
}
.gallery-item {
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow-sm);
  transition: transform var(--ttd-t), box-shadow var(--ttd-t);
  aspect-ratio: 4/3;
  position: relative;
}
.gallery-item:hover {
  transform: scale(1.03);
  box-shadow: var(--ttd-shadow-md);
}
.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.gallery-item:hover img {
  transform: scale(1.08);
}


.stats,
.hg-stats,
.feature-stats,
.fact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1.25rem;
  background: linear-gradient(135deg, var(--ttd-cream) 0%, #fff 100%);
  border-radius: var(--ttd-radius);
  padding: 2rem 1.5rem;
  margin: 2rem 0;
  border: 1px solid var(--ttd-line);
  box-shadow: var(--ttd-shadow-sm);
}
.stat,
.hg-stat,
.fact {
  text-align: center;
}
.stat-num,
.hg-stat-num,
.fact-num {
  display: block;
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--ttd-gold-2);
  line-height: 1;
  letter-spacing: -.02em;
}
.stat-label,
.hg-stat-label,
.fact-label {
  display: block;
  font-size: .82rem;
  color: var(--ttd-muted-2);
  margin-top: .5rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 500;
}


.quick-facts {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  padding: 1.6rem;
  box-shadow: var(--ttd-shadow-sm);
}
.quick-facts h3, .quick-facts h4 {
  color: var(--ttd-navy);
  margin: 0 0 1rem;
  padding-bottom: .75rem;
  border-bottom: 2px solid var(--ttd-gold);
}
.quick-facts ul.list-unstyled li {
  padding: .65rem 0;
  border-bottom: 1px solid var(--ttd-line);
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--ttd-text);
}
.quick-facts ul.list-unstyled li:last-child { border-bottom: none; }
.quick-facts ul.list-unstyled li i {
  color: var(--ttd-gold);
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}


.etiquette-item,
.tip-card,
.do-dont-card {
  display: flex;
  gap: 1.1rem;
  padding: 1.4rem;
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius);
  margin-bottom: 1rem;
  box-shadow: var(--ttd-shadow-sm);
  transition: border-color var(--ttd-t), transform var(--ttd-t);
}
.etiquette-item:hover,
.tip-card:hover {
  border-color: var(--ttd-gold);
  transform: translateY(-2px);
}
.etiquette-item .icon,
.tip-card .icon,
.do-dont-card .icon {
  flex-shrink: 0;
  font-size: 1.4rem;
  color: var(--ttd-gold-2);
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--ttd-gold-soft);
}


table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--ttd-surface);
  border-radius: var(--ttd-radius);
  overflow: hidden;
  box-shadow: var(--ttd-shadow-sm);
  border: 1px solid var(--ttd-line);
}
th, td {
  padding: .9rem 1.1rem;
  border-bottom: 1px solid var(--ttd-line);
  text-align: left;
  vertical-align: top;
}
th {
  background: var(--ttd-navy);
  color: #fff;
  font-weight: 600;
  letter-spacing: .01em;
}
tr:nth-child(even) td { background: var(--ttd-bg-soft); }
tr:last-child td { border-bottom: none; }
table.highlights-table th { background: var(--ttd-navy-2); }


iframe {
  width: 100%;
  border: 0;
  border-radius: var(--ttd-radius-lg);
  box-shadow: var(--ttd-shadow);
}

.video-responsive,
.map-wrapper,
.video-wrapper:not(:has(.video-responsive)) {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
}
.video-wrapper:has(.video-responsive) {
  position: relative;
  width: 100%;
  padding-top: 0;
  border-radius: var(--ttd-radius-lg);
  overflow: visible;
  box-shadow: none;
}
.video-wrapper iframe,
.video-responsive iframe,
.map-wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}


header.hero,
header.np-header,
header.site-header,
header.header:not(.ttd-header),
nav.main-nav,
section.hero-section,
section[class~="hero-section"],
.hero-section[role="banner"],
section#home.hero,
header[class="header"][id="header"] {
  display: none !important;
}


section.ttd-hero,
.ttd-hero { display: flex !important; }
header.ttd-header { display: block !important; }


.cta-section {
  background: linear-gradient(135deg, var(--ttd-navy) 0%, var(--ttd-navy-2) 100%);
  color: #fff;
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  text-align: center;
}
.cta-section h2 { color: #fff; }
.cta-section p { color: rgba(255,255,255,.92); max-width: 64ch; margin: 0 auto 1.5rem; }


.image-hover-effect {
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
}
.image-hover-effect img,
.tour-image img,
.attraction-image img,
.feature-image img {
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.image-hover-effect:hover img {
  transform: scale(1.05);
}


.text-truncate-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.scroll-indicator,
.scroll-progress,
.scroll-to-top,
.copyright-alert {
  display: none;
}


.floating-cta {
  z-index: 50;
}




.bedouin-content,
.stargazing-content,
.experience-content,
.feature-section-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
  margin: 1.5rem 0;
}
@media (min-width: 992px) {
  .bedouin-content,
  .stargazing-content,
  .experience-content,
  .feature-section-content {
    grid-template-columns: 1.1fr 1fr;
  }
}


.stargazing-quote,
blockquote.testimonial,
.feature-quote {
  background: linear-gradient(135deg, var(--ttd-cream) 0%, #fff 100%);
  border-left: 4px solid var(--ttd-gold);
  border-radius: var(--ttd-radius);
  padding: 1.5rem 1.75rem;
  margin: 2rem 0;
  font-style: italic;
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--ttd-ink-2);
  box-shadow: var(--ttd-shadow-sm);
  position: relative;
}
.stargazing-quote::before,
blockquote.testimonial::before,
.feature-quote::before {
  content: "\f10d";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  font-size: 1.5rem;
  color: var(--ttd-gold);
  opacity: .35;
}


.bedouin-cta,
.stargazing-cta,
.section-cta,
.experience-cta,
.bedouin-cta-container,
.stargazing-cta-container {
  background: linear-gradient(135deg, var(--ttd-navy) 0%, var(--ttd-navy-2) 100%);
  color: #fff;
  border-radius: var(--ttd-radius-lg);
  padding: 2rem 2.5rem;
  margin: 2.5rem 0 0;
  text-align: center;
  box-shadow: var(--ttd-shadow);
  position: relative;
  overflow: hidden;
}
.bedouin-cta::before,
.stargazing-cta::before,
.section-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 30%, rgba(212,162,76,.18), transparent 60%);
  pointer-events: none;
}
.bedouin-cta > *,
.stargazing-cta > *,
.section-cta > * { position: relative; z-index: 2; }
.bedouin-cta h2,
.bedouin-cta h3,
.bedouin-cta h4,
.stargazing-cta h2,
.stargazing-cta h3,
.stargazing-cta h4,
.section-cta h2,
.section-cta h3,
.section-cta h4,
.experience-cta h3,
.bedouin-cta-container h3,
.stargazing-cta-container h3,
section.cta-section h2,
section.cta-section h3 {
  color: #fff !important;
  font-size: 1.5rem;
  margin: 0 0 .75rem;
  font-weight: 700;
  letter-spacing: -.01em;
}
.bedouin-cta p,
.stargazing-cta p,
.section-cta p,
.bedouin-cta-container p,
.stargazing-cta-container p,
section.cta-section p {
  color: rgba(255,255,255,.92) !important;
  margin: 0 auto 1.5rem;
  max-width: 60ch;
  font-size: 1rem;
  line-height: 1.65;
}
.bedouin-cta-button,
.stargazing-cta-button,
.section-cta-button,
.reviews-cta-button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .9rem 1.75rem;
  background: var(--ttd-gold);
  color: #fff !important;
  border-radius: var(--ttd-radius-sm);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
  border: 1.5px solid var(--ttd-gold);
}
.bedouin-cta-button:hover,
.stargazing-cta-button:hover,
.section-cta-button:hover,
.reviews-cta-button:hover {
  background: var(--ttd-gold-2);
  border-color: var(--ttd-gold-2);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(212,162,76,.35);
  text-decoration: none;
  color: #fff !important;
}


.reviews-overview {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  padding: 2rem;
  margin: 2rem 0;
  box-shadow: var(--ttd-shadow);
  align-items: center;
}
@media (min-width: 768px) {
  .reviews-overview { grid-template-columns: 1fr 1.5fr; }
}

.rating-summary {
  text-align: center;
  padding: 1rem;
  border-right: none;
  border-bottom: 1px solid var(--ttd-line);
  padding-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .rating-summary {
    border-right: 1px solid var(--ttd-line);
    border-bottom: none;
    padding-bottom: 1rem;
    padding-right: 2rem;
  }
}
.rating-number {
  font-size: clamp(2.8rem, 4vw, 3.6rem);
  font-weight: 800;
  color: var(--ttd-gold-2);
  line-height: 1;
  letter-spacing: -.02em;
  display: block;
  margin-bottom: .35rem;
}
.rating-summary .rating-stars {
  font-size: 1.1rem;
  color: var(--ttd-gold);
  margin-bottom: .5rem;
  display: inline-flex;
  gap: .15rem;
}
.rating-count {
  font-size: .88rem;
  color: var(--ttd-muted);
  display: block;
  font-weight: 500;
}

.rating-breakdown {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.breakdown-item {
  display: grid;
  grid-template-columns: 140px 1fr 30px;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 480px) {
  .breakdown-item { grid-template-columns: 1fr 1fr; }
  .breakdown-item .breakdown-bar { grid-column: 1 / -1; }
}
.breakdown-label {
  font-size: .9rem;
  font-weight: 500;
  color: var(--ttd-text);
}
.breakdown-bar {
  height: 8px;
  background: var(--ttd-bg-soft);
  border-radius: 99px;
  overflow: hidden;
  position: relative;
}
.breakdown-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--ttd-gold) 0%, var(--ttd-gold-2) 100%);
  border-radius: 99px;
  transition: width .8s cubic-bezier(.16,1,.3,1);
}
.breakdown-value {
  font-size: .88rem;
  font-weight: 700;
  color: var(--ttd-gold-2);
  text-align: right;
  font-variant-numeric: tabular-nums;
}


.pricing-table {
  width: 100%;
  margin: 0;
}


section#cta,
section.cta-section.section {
  background: linear-gradient(135deg, var(--ttd-navy) 0%, var(--ttd-navy-2) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
section#cta::before,
section.cta-section.section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(212,162,76,.15), transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(212,162,76,.1), transparent 50%);
  pointer-events: none;
}
section#cta .cta-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .12;
  background-size: cover;
  background-position: center;
}
section#cta .container,
section#cta .cta-content,
section.cta-section.section .container {
  position: relative;
  z-index: 2;
  text-align: center;
}
section#cta h2,
section.cta-section.section h2 { color: #fff; }
section#cta p,
section.cta-section.section p {
  color: rgba(255,255,255,.92);
  max-width: 64ch;
  margin: 0 auto 1.5rem;
}
section#cta .cta-features,
.cta-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 2rem;
  margin: 1.5rem 0 2rem;
  list-style: none;
  padding: 0;
}
.cta-feature {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: rgba(255,255,255,.92);
  font-size: .92rem;
  font-weight: 500;
}
.cta-feature::before,
.cta-feature i {
  color: var(--ttd-gold);
}
.cta-feature i + span,
.cta-feature span {
  color: rgba(255,255,255,.92);
}
section#cta .cta-buttons,
.cta-buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .85rem;
  justify-content: center;
  margin-top: 1rem;
}


.reviews-cta,
.view-more-container,
.view-all-container {
  text-align: center;
  margin: 2rem 0;
}
.reviews-cta a,
.view-more-container a,
.view-all-container a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1.6rem;
  background: var(--ttd-gold);
  color: #fff !important;
  border-radius: var(--ttd-radius-sm);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
  border: 1.5px solid var(--ttd-gold);
}
.reviews-cta a:hover,
.view-more-container a:hover,
.view-all-container a:hover {
  background: var(--ttd-gold-2);
  border-color: var(--ttd-gold-2);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(212,162,76,.35);
  text-decoration: none;
  color: #fff !important;
}


.review-header,
.review-content {
  margin-bottom: .85rem;
}
.review-content {
  color: var(--ttd-ink-2);
  line-height: 1.7;
  font-size: .95rem;
}
.review-date {
  font-size: .82rem;
  color: var(--ttd-muted-2);
}




[class$="-card"]:not(.tour-card):not(.feature-card):not(.activity-card):not(.attraction-card):not(.tip-card):not(.hieroglyph-card):not(.overview-card):not(.amenity-card):not(.excursion-card):not(.related-card):not(.adventure-card):not(.review-card):not(.testimonial-card):not(.experience-card):not(.weather-card):not(.season-card):not(.itinerary-card):not(.luxor-tomb-card):not(.benefit-card):not(.do-dont-card):not(.booking-card):not(.gallery-card):not(.budget-card):not(.detail-card):not(.do-card):not(.dont-card):not(.etiquette-card):not(.family-tip-card):not(.hotel-card):not(.feature-box):not(.blog-card):not(.blog-article-card) {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  padding: 1.5rem;
  box-shadow: var(--ttd-shadow-sm);
  transition: transform var(--ttd-t), box-shadow var(--ttd-t), border-color var(--ttd-t);
  display: flex;
  flex-direction: column;
  gap: .35rem;
  height: 100%;
}
[class$="-card"]:not(.tour-card):not(.feature-card):not(.activity-card):not(.attraction-card):not(.tip-card):not(.hieroglyph-card):not(.overview-card):not(.amenity-card):not(.excursion-card):not(.related-card):not(.adventure-card):not(.review-card):not(.testimonial-card):hover {
  transform: translateY(-3px);
  box-shadow: var(--ttd-shadow);
  border-color: var(--ttd-gold);
}


.budget-card,
.detail-card,
.etiquette-card,
.family-tip-card,
.hotel-card,
.blog-card,
.blog-article-card,
.gallery-card,
.do-card,
.dont-card {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius-lg);
  padding: 1.5rem;
  box-shadow: var(--ttd-shadow-sm);
  transition: transform var(--ttd-t), box-shadow var(--ttd-t), border-color var(--ttd-t);
  display: flex;
  flex-direction: column;
  gap: .5rem;
  height: 100%;
}
.budget-card:hover,
.detail-card:hover,
.etiquette-card:hover,
.family-tip-card:hover,
.hotel-card:hover,
.blog-card:hover,
.blog-article-card:hover,
.gallery-card:hover,
.do-card:hover,
.dont-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--ttd-shadow);
  border-color: var(--ttd-gold);
}
.do-card { border-left: 4px solid var(--ttd-success); }
.dont-card { border-left: 4px solid var(--ttd-danger); }


[class$="-grid"]:not(.grid-2):not(.grid-3):not(.grid-4):not(.grid-auto):not(.gallery-grid):not(.fact-grid):not(.hg-toc-list):not(.hero-grid) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
  margin: 1.5rem 0;
}
@media (min-width: 768px) {
  .luxor-stats-grid,
  .hieroglyph-grid,
  .etiquette-grid,
  .do-dont-grid,
  .blog-grid,
  .blog-articles-grid,
  .hotels-grid,
  .family-tips-grid,
  .luxor-grid,
  .experience-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  }
}


[class$="-content"]:not(.card-content):not(.tour-content):not(.activity-content):not(.attraction-content):not(.feature-content):not(.cta-content):not(.bedouin-content):not(.stargazing-content):not(.experience-content):not(.feature-section-content):not(.review-content):not(.hero-content):not(.hero-text-container) {
  
}


.feature-item,
.benefit-item,
.fact-item,
.info-item,
.luxor-highlight-item,
.highlight-item,
.detail-item,
.experience-item,
.east-bank-feature,
.excursion-feature,
.luxor-feature-list > li,
.luxor-feature-box {
  background: var(--ttd-surface);
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius);
  padding: 1.25rem 1.4rem;
  box-shadow: var(--ttd-shadow-sm);
  transition: border-color var(--ttd-t), transform var(--ttd-t);
  margin-bottom: .75rem;
}
.feature-item:hover,
.benefit-item:hover,
.fact-item:hover,
.info-item:hover,
.detail-item:hover,
.experience-item:hover {
  border-color: var(--ttd-gold);
  transform: translateY(-2px);
}


[class$="-badge"]:not(.tour-badge),
.discount-badge,
.attraction-badge,
.excursion-badge,
.age-badge,
.food-badge,
.free-cancel-badge,
.filter-tag {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .3rem .7rem;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  border-radius: 99px;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .01em;
}
.discount-badge,
.free-cancel-badge {
  background: rgba(22,163,74,.12);
  color: var(--ttd-success);
}


[class$="-header"]:not(.card-header):not(.section-header):not(.review-header):not(.booking-header):not(.np-header):not(.ttd-header):not(.cta-header):not(.day-header):not(.menu-bg-pattern):not(.luxor-section-title):not(.section-title):not(.hg-rb-h2):not(.hg-h2):not(.menu-category-header):not(.budget-header):not(.etiquette-header):not(.excursion-header):not(.menu-banner) {
  font-weight: 700;
  color: var(--ttd-navy);
  margin: 0 0 .85rem;
}
.budget-header,
.etiquette-header,
.excursion-header {
  background: var(--ttd-bg-soft);
  border-bottom: 1px solid var(--ttd-line);
  padding: 1.1rem 1.4rem;
  margin: -1.5rem -1.5rem 1.25rem;
  border-radius: var(--ttd-radius-lg) var(--ttd-radius-lg) 0 0;
  font-weight: 700;
  color: var(--ttd-navy);
}


.hero-slider,
.hero-controls,
.hero-arrows,
.hero-dots,
.hero-dot,
.hero-arrow,
.hero-nav,
.hero-slide,
.hero-image,
.hero-text-container,
.hero-title-overlay,
section.hero-section .hero-content {
  
}


.day-header {
  display: flex;
  align-items: center;
  gap: .85rem;
  background: var(--ttd-bg-soft);
  border-bottom: 1px solid var(--ttd-line);
  padding: 1rem 1.4rem;
  margin: -1.5rem -1.5rem 1.25rem;
  border-radius: var(--ttd-radius-lg) var(--ttd-radius-lg) 0 0;
}
.day-number {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ttd-gold);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .9rem;
  flex-shrink: 0;
}
.day-header h3,
.day-header h4 {
  margin: 0;
  color: var(--ttd-navy);
  font-size: 1.15rem;
}


.luxor-stats-grid,
.luxor-stat-box,
.fact-item,
.score {
  
}
.luxor-stat-box {
  text-align: center;
  padding: 1.5rem 1.25rem;
  background: linear-gradient(135deg, var(--ttd-cream) 0%, #fff 100%);
}
.luxor-stat-box .stat-num,
.luxor-stat-box strong:first-child,
.luxor-stat-box [class*="number"] {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--ttd-gold-2);
  line-height: 1;
  margin-bottom: .35rem;
}


.luxor-highlight-box,
.luxor-feature-box {
  background: linear-gradient(135deg, var(--ttd-cream) 0%, #fff 100%);
  border-left: 4px solid var(--ttd-gold);
  border-radius: var(--ttd-radius);
  padding: 1.5rem 1.75rem;
  margin: 1.5rem 0;
  box-shadow: var(--ttd-shadow-sm);
}
.luxor-highlight-item,
.highlight-icon,
.highlight-text {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .65rem 0;
}
.highlight-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--ttd-gold-soft);
  color: var(--ttd-gold-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}


.breadcrumb,
.breadcrumb-nav,
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  color: var(--ttd-muted);
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
.breadcrumb a,
.breadcrumbs a {
  color: var(--ttd-accent);
  text-decoration: none;
}
.breadcrumb a:hover,
.breadcrumbs a:hover { color: var(--ttd-gold-2); }
.breadcrumb-item + .breadcrumb-item::before,
.breadcrumb > li + li::before,
.breadcrumbs > * + *::before {
  content: "›";
  margin-right: .5rem;
  color: var(--ttd-muted-2);
}


.experience-gallery-item,
.geography-gallery-item,
.historical-gallery-item,
.experience-image,
.featured-image,
.featured-image-container,
.gallery-image {
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow-sm);
  position: relative;
  aspect-ratio: 4/3;
  transition: transform var(--ttd-t), box-shadow var(--ttd-t);
}
.experience-gallery-item:hover,
.geography-gallery-item:hover,
.historical-gallery-item:hover,
.experience-image:hover,
.featured-image:hover {
  transform: scale(1.03);
  box-shadow: var(--ttd-shadow);
}
.experience-gallery-item img,
.geography-gallery-item img,
.historical-gallery-item img,
.experience-image img,
.featured-image img,
.gallery-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}
.experience-gallery-item:hover img,
.experience-image:hover img,
.featured-image:hover img {
  transform: scale(1.06);
}


.menu-banner,
.banner-content {
  background: linear-gradient(135deg, var(--ttd-navy) 0%, var(--ttd-navy-2) 100%);
  color: #fff;
  padding: 2rem;
  border-radius: var(--ttd-radius-lg);
  text-align: center;
  margin: 1.5rem 0;
  position: relative;
  overflow: hidden;
}
.menu-banner h2,
.menu-banner h3,
.banner-content h2,
.banner-content h3 { color: #fff; }
.menu-banner p,
.banner-content p { color: rgba(255,255,255,.92); }


.itinerary-tabs,
.age-group-tabs,
.accommodation-filters,
.tabs,
[role="tablist"] {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.25rem 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--ttd-line);
  padding-bottom: 1rem;
}


.accordion-container,
.faqs-container,
.faq-container {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: 1.5rem 0;
}
.accordion-item {
  border: 1px solid var(--ttd-line);
  border-radius: var(--ttd-radius);
  overflow: hidden;
  background: var(--ttd-surface);
  transition: border-color var(--ttd-t);
}
.accordion-item:hover { border-color: var(--ttd-gold); }
.accordion-header {
  padding: 1.1rem 1.4rem;
  font-weight: 600;
  color: var(--ttd-navy);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.accordion-content,
.faq-answer-content {
  padding: 0 1.4rem 1.25rem;
  color: var(--ttd-muted);
  line-height: 1.7;
}


.channel-button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1.5rem;
  background: #ff0000;
  color: #fff !important;
  border-radius: var(--ttd-radius-sm);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
}
.channel-button:hover {
  background: #cc0000;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255,0,0,.3);
  color: #fff !important;
}


.map-container,
.interactive-section {
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
  margin: 1.5rem 0;
}


.cost-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  background: var(--ttd-surface);
  border-radius: var(--ttd-radius);
  overflow: hidden;
  box-shadow: var(--ttd-shadow-sm);
}
.cost-table th,
.cost-table td { padding: .85rem 1.1rem; border-bottom: 1px solid var(--ttd-line); text-align: left; }
.cost-table th { background: var(--ttd-navy); color: #fff; font-weight: 600; }


.cta-airport,
.cta-intercity,
.cta-safety,
.cta-transport,
.cta-weather {
  background: linear-gradient(135deg, var(--ttd-cream) 0%, #fff 100%);
  border: 1px solid var(--ttd-line);
  border-left: 4px solid var(--ttd-gold);
  border-radius: var(--ttd-radius);
  padding: 1.5rem 1.75rem;
  margin: 1.5rem 0;
  box-shadow: var(--ttd-shadow-sm);
}
.cta-actions,
.cta-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  justify-content: center;
  background: transparent;
  border: none;
  padding: 1rem 0;
  box-shadow: none;
  margin: 1rem 0 1.5rem;
  list-style: none;
}

.luxor-footer-cta .benefit-item,
.cta-benefits .benefit-item,
section#cta .benefit-item,
.bedouin-cta .benefit-item,
.stargazing-cta .benefit-item,
.section-cta .benefit-item {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .35rem .85rem;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 99px;
  color: rgba(255,255,255,.95);
  font-size: .92rem;
  font-weight: 500;
  height: auto;
  margin: 0;
  flex-direction: row;
}
.luxor-footer-cta .benefit-item::before,
.cta-benefits .benefit-item::before,
section#cta .benefit-item::before,
.bedouin-cta .benefit-item::before,
.stargazing-cta .benefit-item::before,
.section-cta .benefit-item::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  color: var(--ttd-gold);
  font-size: .8rem;
}
.luxor-footer-cta .benefit-item:hover,
.cta-benefits .benefit-item:hover {
  background: rgba(255,255,255,.18);
  border-color: var(--ttd-gold);
  transform: none;
}


.floating-buttons {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 49;
}


.concern-content,
.contact-content,
.about-content,
.geography-content,
.historical-content,
.intro-content,
.itinerary-content,
.location-content,
.experiences-content,
.food-content,
.info-content,
.app-info {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ttd-ink-3);
}


.about-section,
.location-section,
.best-time-section,
.cairo-tours-section,
.ambiance-section,
.emergency-info,
.luxor-section {
  padding: clamp(2.5rem, 4vw, 4rem) 0;
  margin: 0;
}
.about-container,
.luxor-container,
.about-section > * > .container,
.location-section > .container,
.best-time-section > .container,
.cairo-tours-section > .container,
.ambiance-section > .container,
.emergency-info > .container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 1.5rem);
  box-sizing: border-box;
}
.about-content,
.location-content,
.ambiance-content,
.experience-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
  margin: 1.5rem 0;
}
@media (min-width: 992px) {
  .about-content,
  .location-content,
  .ambiance-content {
    grid-template-columns: 1.1fr 1fr;
  }
}

.about-text-column,
.location-text-column,
.ambiance-text-column,
.experience-text-column {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ttd-ink-3);
}
.about-image-column,
.location-image-column,
.ambiance-image-column,
.experience-image-column {
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
  position: relative;
  aspect-ratio: 4/3;
}
.about-image-column > img,
.location-image-column > img,
.ambiance-image-column > img,
.experience-image-column > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.about-image-column:hover > img,
.location-image-column:hover > img {
  transform: scale(1.05);
}

.about-section,
.location-section,
.best-time-section,
.cairo-tours-section,
.ambiance-section,
.emergency-info {
  background: var(--ttd-bg-soft);
}
.about-section + .about-section,
.about-section + .location-section,
section + .about-section { background: #fff; }
.about-section:nth-of-type(odd) { background: #fff; }


.about-section > .about-container > .highlight-box,
.about-content + .highlight-box,
.about-section .highlight-box {
  max-width: none;
}
.luxor-footer-cta {
  background: linear-gradient(135deg, var(--ttd-navy) 0%, var(--ttd-navy-2) 100%);
  color: #fff;
  border-radius: var(--ttd-radius-lg);
  padding: 2.5rem;
  text-align: center;
  box-shadow: var(--ttd-shadow);
}
.luxor-footer-cta h2,
.luxor-footer-cta h3 { color: #fff; }
.luxor-footer-cta p { color: rgba(255,255,255,.92); }


.hero-content:not(.ttd-hero .hero-content),
.hero-text-container,
.hero-title-overlay {  }


.featured-image-container {
  margin: 1.5rem 0;
  border-radius: var(--ttd-radius-lg);
  overflow: hidden;
  box-shadow: var(--ttd-shadow);
}


.article-content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--ttd-ink-3);
}
.article-content p { margin-bottom: 1.1rem; }
.article-content h2,
.article-content h3 {
  margin-top: 2rem;
  margin-bottom: .85rem;
}


.design-features {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 1rem 0;
}
.contact-button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .9rem 1.6rem;
  background: var(--ttd-navy);
  color: #fff !important;
  border-radius: var(--ttd-radius-sm);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--ttd-t), background-color var(--ttd-t), border-color var(--ttd-t), box-shadow var(--ttd-t), transform var(--ttd-t);
}
.contact-button:hover {
  background: var(--ttd-navy-2);
  transform: translateY(-1px);
  box-shadow: var(--ttd-shadow);
  color: #fff !important;
}


@media (max-width: 992px) {
  .section { padding: 2.5rem 0; }
}
@media (max-width: 768px) {
  body { font-size: 15px; }
  .section { padding: 2.25rem 0; }
  h1 { font-size: clamp(1.6rem, 4vw, 2rem); }
  h2 { font-size: clamp(1.35rem, 3.2vw, 1.7rem); }
  .timeline-container, .luxor-timeline { padding-left: 1.75rem; }
  .timeline-event::before { left: -2.5rem; width: 14px; height: 14px; }
  .stats, .hg-stats { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); padding: 1.25rem 1rem; }
  .stat-num, .hg-stat-num, .fact-num { font-size: 1.6rem; }
  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .75rem; }
  .gallery-item { aspect-ratio: 1/1; }
  .row { margin: 0 -.5rem; }
  .row > [class*="col-"], .row > .col { padding: 0 .5rem; }
  .card-body { padding: 1.2rem; }
  .card-img-top, .tour-image > img, .attraction-image > img { height: 200px; }
  .feature-icon { width: 56px; height: 56px; font-size: 1.4rem; }
  .quick-facts { padding: 1.25rem; }
  .container, .ttd-container { padding: 0 1rem; }
  .btn { padding: .8rem 1.4rem; }
}
@media (max-width: 480px) {
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.3rem; }
  .stats, .hg-stats { grid-template-columns: repeat(2, 1fr); }
}



section.ttd-hero--image[aria-labelledby="ttd-h1"]{position:relative;isolation:isolate}
section.ttd-hero--image[aria-labelledby="ttd-h1"]::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,22,41,.68) 0%,rgba(8,22,41,.46) 46%,rgba(8,22,41,.06) 84%)}
html[dir="rtl"] section.ttd-hero--image[aria-labelledby="ttd-h1"]::before{background:linear-gradient(270deg,rgba(8,22,41,.68) 0%,rgba(8,22,41,.46) 46%,rgba(8,22,41,.06) 84%)}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-eyebrow{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;margin:0 0 .9rem;padding:.34rem .8rem;border-radius:999px;background:rgba(8,22,41,.62);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:12.5px;line-height:1.4;letter-spacing:.07em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-eyebrow i{color:var(--ttd-gold,#D4A24C)}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-lead{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.4)}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-meta li{background:rgba(8,22,41,.56);border-color:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-meta li i{color:var(--ttd-gold,#D4A24C)}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-meta li strong{color:#fff}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-btn--ghost{background:rgba(8,22,41,.34);border-color:rgba(255,255,255,.78)}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-btn--ghost:hover{background:rgba(8,22,41,.55)}
@media (max-width:767px){
  section.ttd-hero--image[aria-labelledby="ttd-h1"]::before,
  html[dir="rtl"] section.ttd-hero--image[aria-labelledby="ttd-h1"]::before{background:linear-gradient(180deg,rgba(8,22,41,.44) 0%,rgba(8,22,41,.52) 55%,rgba(8,22,41,.64) 100%)}
  section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-meta{gap:8px}
  section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-meta li{padding:.42rem .85rem;font-size:.84rem}
}


nav.ttd-bcbar[aria-label] > .ttd-container{padding-top:0;padding-bottom:0;min-height:46px}
nav.ttd-bcbar[aria-label] > .ttd-container > a{display:inline-flex;align-items:center;min-height:44px}
#main-content .hg-toc summary,#main-content .hg-toc li > a{min-height:44px}


#main-content .ovw-intro{max-width:min(100%,40em)}
#main-content .ttd-section-sub{max-width:min(100%,40em) !important}


#main-content .ovw-card--media{align-items:stretch}
#main-content .ovw-card--media > .ovw-card__body{align-self:center}
#main-content .ovw-card--media > .ovw-card__media{position:relative;min-height:300px}
#main-content .ovw-card--media > .ovw-card__media img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
@media (max-width:780px){
  #main-content .ovw-card--media > .ovw-card__media{min-height:0;aspect-ratio:16/10}
}


#main-content .hg-grid{display:grid;gap:1.25rem;margin:1.5rem 0 0;grid-template-columns:repeat(3,minmax(0,1fr))}
#main-content .hg-grid.hg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
#main-content .hg-grid > .ovw-card{display:flex;flex-direction:column;gap:0;height:100%;padding:0;overflow:hidden}
#main-content .hg-grid > .ovw-card:hover{transform:none;border-color:var(--ttd-line,#e2e8f0);box-shadow:var(--ttd-shadow-navy-sm,0 2px 8px rgba(40,72,120,.10))}
#main-content .hg-grid > .ovw-card > .ovw-card__media{order:-1;aspect-ratio:3/2;overflow:hidden;background:var(--ttd-bg-soft,#f8fafc)}
#main-content .hg-grid > .ovw-card > .ovw-card__media img{width:100%;height:100%;min-height:0;object-fit:cover}
#main-content .hg-grid > .ovw-card > .ovw-card__body{flex:1;padding:1.2rem 1.25rem 1.35rem}
#main-content .hg-grid > .ovw-card > .ovw-card__body > :last-child{margin-bottom:0}
#main-content .hg-grid > .ovw-card:has(> .ovw-card__media) > .ovw-card__body > span:first-child{display:none !important}
@media (max-width:980px){#main-content .hg-grid.hg-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  #main-content .hg-grid,#main-content .hg-grid.hg-grid-2,#main-content .hg-grid.hg-grid-3{grid-template-columns:minmax(0,1fr);gap:1rem}
  #main-content .hg-grid > .ovw-card > .ovw-card__media{aspect-ratio:16/10}
  #main-content .hg-grid > .ovw-card > .ovw-card__body{padding:1rem 1.1rem 1.15rem}
}


#main-content .vst-guidelines{border-inline-start:3px solid var(--ttd-gold,#D4A24C)}
#main-content .vst-guidelines li{padding-left:0;padding-inline-start:1.5rem}
#main-content .vst-guidelines li::before{left:auto;inset-inline-start:0}


#main-content #map .ttd-container > div[style*="padding-top"]{padding-top:0 !important;height:clamp(240px,42vw,440px)}


#main-content .ttd-grid--gallery > img:hover{transform:none}
@media (max-width:640px){
  #main-content .ttd-grid--gallery{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:.5rem !important}
  #main-content .ttd-grid--gallery > img{border-radius:8px !important}
  #main-content .ttd-grid--gallery > img:first-child:nth-last-child(odd){grid-column:1/-1;aspect-ratio:16/9 !important}
}


#main-content .rm-card{padding:0;gap:0;height:auto}
#main-content .rm-card__rating .stars,#main-content .rm-card__rating .stars i{color:#B7812A}
#main-content .rm-card__short{font-size:.9rem}
#main-content .rm-card__duration,#main-content .rm-card__badge{font-size:.75rem}
#main-content #souq .sqx-cta{color:#8A6412}


#main-content .rm-review-card{display:block;height:auto;padding:1.25rem}
#main-content .rm-review-card:hover{transform:none;border-color:var(--ttd-line,#e2e8f0);box-shadow:var(--ttd-shadow-navy-sm,0 2px 8px rgba(40,72,120,.10))}
#main-content .rm-review-card__stars{color:#B7812A !important}
#main-content .rm-review-card__comment{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}
#main-content .rm-review-card__meta{font-size:.875rem}
#main-content #reviews .ovw-intro > strong{color:#8A6412 !important}
#main-content #reviews > .ttd-container > p[style*="text-align:center"]{display:none}
#main-content #reviews:not(:has(.rm-review-card)):not(:has(.ovw-intro)){display:none}
#main-content:not(:has(#reviews .rm-review-card)):not(:has(#reviews .ovw-intro)) .hg-toc li:has(> a[href="#reviews"]){display:none}


@media (max-width:640px){
  #main-content .rm-products,#main-content .rm-reviews{display:flex;gap:.75rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(1rem,3vw,1.5rem);padding:.25rem clamp(1rem,3vw,1.5rem) 1rem;margin:1rem calc(-1 * clamp(1rem,3vw,1.5rem)) 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #main-content .rm-products::-webkit-scrollbar,#main-content .rm-reviews::-webkit-scrollbar{display:none}
  #main-content .rm-products > .rm-card{flex:0 0 84%;max-width:340px;scroll-snap-align:start}
  #main-content .rm-reviews > .rm-review-card{flex:0 0 86%;max-width:340px;scroll-snap-align:start}
  #main-content .rm-products > p{flex:1 0 100%}
}


#main-content #faq .ovw-intro{text-align:start !important}
@media (min-width:900px){
  #main-content .faq-with-img{grid-template-columns:minmax(0,300px) minmax(0,1fr) !important;gap:2rem !important;align-items:start}
  #main-content .faq-with-img > .faq-img-side{position:sticky;top:96px}
  #main-content .faq-with-img > .faq-img-side img{aspect-ratio:3/4 !important}
}
@media (max-width:899px){#main-content .faq-with-img > .faq-img-side{display:none}}


#main-content .rm-why-card:hover{transform:none;border-color:var(--ttd-line,#e2e8f0)}


#main-content .hg-related-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)) !important}
#main-content .hg-related-card{display:block;height:auto;padding:0;gap:0}
#main-content .hg-related-card:hover{transform:none;border-color:var(--ttd-gold,#D4A24C)}
#main-content .hg-related-card > a{min-height:56px;height:100%;line-height:1.35}
#main-content .hg-related-card > a::after,#main-content .wil-inbound .wil-grid > a::after{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.72em;color:var(--ttd-mute2,#64748b);margin-inline-start:auto;padding-inline-start:.5rem}
html[dir="rtl"] #main-content .hg-related-card > a::after,html[dir="rtl"] #main-content .wil-inbound .wil-grid > a::after{content:"\f053"}
#main-content .wil-inbound .wil-grid > a{min-height:56px;line-height:1.35}


#rm-sticky-cta .rm-sticky-cta__text strong{color:#fff}
@media (max-width:780px){
  html body #rm-sticky-cta[style*="display:none"],html body #rm-sticky-cta[style*="display: none"]{display:none !important}
  #rm-sticky-cta{bottom:calc(14px + env(safe-area-inset-bottom,0px)) !important}
  body.cc-shown #rm-sticky-cta{bottom:calc(14px + var(--cc-banner-h,0px)) !important}
  body:has(> #rm-sticky-cta){padding-bottom:84px}
}


#main-content a:focus-visible,#main-content summary:focus-visible,#main-content button:focus-visible,section.ttd-hero--image[aria-labelledby="ttd-h1"] a:focus-visible,#rm-sticky-cta a:focus-visible{outline:3px solid #B7812A;outline-offset:3px}



html:has(#ttd-h1){--ttd-bg-soft:#fafaf9;--ttd-bg-tint:#f5f5f4;--ttd-ink:#1c1917;--ttd-muted:#57534e;--ttd-mute2:#78716c;--ttd-accent:#284878;--ttd-accent-dk:#1d3760;--ttd-gold:#a8842a;--ttd-gold-dk:#8a6c22;--ttd-line:#e7e5e4;--ttd-line-soft:#f5f5f4}
html:has(#ttd-h1) body{color:#1c1917}


html:has(#ttd-h1) .ttd-btn--gold{background:#284878;color:#fff !important;border-color:#284878}
html:has(#ttd-h1) .ttd-btn--gold:hover{background:#1d3760;border-color:#1d3760;box-shadow:0 10px 26px rgba(40,72,120,.32)}
html:has(#ttd-h1) section.ttd-hero--image .ttd-btn--gold{border-color:rgba(255,255,255,.35)}
html:has(#ttd-h1) section.ttd-hero--image .ttd-eyebrow,html:has(#ttd-h1) section.ttd-hero--image .ttd-hero-meta li strong{color:#fff}
html:has(#ttd-h1) section.ttd-hero--image .ttd-eyebrow i,html:has(#ttd-h1) section.ttd-hero--image .ttd-hero-meta li i{color:rgba(255,255,255,.85)}
html:has(#ttd-h1) section.ttd-hero--image .ttd-hero-meta li i.fa-star{color:#a8842a}


section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-from{margin:0 0 .25rem}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-from a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .95rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:600;font-size:.95rem;text-decoration:none}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-from a:hover{background:rgba(255,255,255,.22);color:#fff}
section.ttd-hero--image[aria-labelledby="ttd-h1"] .ttd-hero-from i{font-size:.85em;opacity:.9}


#main-content .hg-toc{background:#fafaf9 !important;border-color:#e7e5e4 !important}
#main-content .ttd-lastupdated{color:#78716c !important}
#main-content .rm-why-card i{color:#284878 !important}
#main-content .rm-why-card__num{color:#1c1917 !important}
#main-content .rm-why-card__label,#main-content .rm-why-foot{color:#57534e !important}
#main-content .rm-why-card{border-color:#e7e5e4 !important}
#main-content .hg-related-card{border-color:#e7e5e4 !important}
#main-content .hg-related-card > a{color:#284878 !important}
#main-content .hg-related-card > a > i{color:#78716c !important}
#main-content .rm-card__badge{background:#284878}
#main-content .rm-card__rating .stars,#main-content .rm-card__rating .stars i,#main-content .rm-review-card__stars{color:#a8842a !important}
#main-content #reviews .ovw-intro strong{color:#1c1917 !important}
#main-content .vst-guidelines{border-inline-start-color:#284878}
html:has(#ttd-h1) .rm-trust-strip__list{color:#57534e !important}
html:has(#ttd-h1) .rm-trust-strip__list i{color:#284878 !important}


#main-content .vst-guidelines p a,#main-content .ovw-intro a,#main-content .ttd-faq-list details > div a,#main-content .ovw-card__body p a{text-decoration:underline;text-underline-offset:2px}


#rm-sticky-cta{background:#fff !important;color:#1c1917 !important;border:1px solid #e7e5e4;box-shadow:0 8px 24px rgba(28,25,23,.16) !important}
html:has(#ttd-h1) #rm-sticky-cta .rm-sticky-cta__text strong{color:#1c1917}
#rm-sticky-cta .rm-sticky-cta__text span{color:#57534e;opacity:1 !important}
#rm-sticky-cta .rm-sticky-cta__btn{background:#284878 !important;color:#fff !important}

