/* ── REWA TOUR — Full Mobile & Responsive Overrides ──
   Covers all screen sizes: 1024px → 768px → 640px → 480px → 375px → 320px
   Uses !important sparingly — only to override inline styles in HTML */

/* ═══════════════════════════════════════════
   GLOBAL TOUCH & MOBILE DEFAULTS
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) {
  html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
  }

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

  input, select, textarea, button {
    font-size: 16px !important;
  }
}

/* ═══════════════════════════════════════════
   HEADER & NAVIGATION — 900px and below
   ═══════════════════════════════════════════ */
@media (max-width: 900px) {
  .nav-tools {
    gap: 8px !important;
  }

  .nav-tools button[onclick*="toggleLang"] {
    display: none !important;
  }

  .rewa-header-spacer {
    height: 68px !important;
  }
}

@media (max-width: 640px) {
  .nav-tools a[href="#contact"] {
    font-size: 12.5px !important;
    padding: 8px 12px !important;
  }

  .nav-tools button[onclick*="toggleLang"] {
    font-size: 12.5px !important;
    padding: 6px 10px !important;
  }
}

@media (max-width: 480px) {
  .nav-tools a[href="#contact"] span,
  .nav-tools a[href="#contact"] {
    font-size: 0px !important;
    padding: 9px !important;
    gap: 0 !important;
  }

  .nav-tools a[href="#contact"] i {
    font-size: 20px !important;
  }
}

/* ═══════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #home > div:last-child {
    padding: 40px 20px 56px !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  #home h1 {
    font-size: clamp(28px, 7vw, 40px) !important;
  }

  #home .rv > div[style*="display:flex"][style*="flex-wrap:wrap"][style*="gap:14px"] {
    flex-direction: column !important;
  }

  #home .rv > div[style*="display:flex"][style*="flex-wrap:wrap"][style*="gap:14px"] a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  #home > div:last-child {
    padding: 32px 16px 48px !important;
    gap: 24px !important;
  }

  #home h1 {
    font-size: clamp(24px, 6.5vw, 34px) !important;
  }
}

/* ═══════════════════════════════════════════
   QUOTE FORM (inside hero)
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #quote {
    padding: 24px 20px !important;
    border-radius: 18px !important;
  }

  #quote form div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  #quote {
    padding: 20px 16px !important;
    margin-inline: -4px !important;
  }

  #quote h3 {
    font-size: 19px !important;
  }
}

/* ═══════════════════════════════════════════
   STATS SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  #home + section > div {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    padding: 28px 16px !important;
  }
}

@media (max-width: 375px) {
  #home + section > div {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* ═══════════════════════════════════════════
   WHY EGYPT SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #why {
    padding: 64px 20px !important;
  }

  #why div[style*="grid-template-columns"][style*="minmax(280px"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 480px) {
  #why {
    padding: 48px 16px !important;
  }

  #why h2 {
    font-size: clamp(24px, 6vw, 34px) !important;
  }
}

/* ═══════════════════════════════════════════
   SERVICES SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #services {
    padding: 64px 20px !important;
  }

  #services div[style*="grid-template-columns"][style*="minmax(300px"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 480px) {
  #services {
    padding: 48px 16px !important;
  }
}

/* ═══════════════════════════════════════════
   DESTINATIONS SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #destinations {
    padding: 64px 20px !important;
  }

  #destinations div[style*="grid-template-columns"][style*="minmax(270px"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 480px) {
  #destinations {
    padding: 48px 16px !important;
  }

  #destinations div[style*="grid-template-columns"][style*="minmax(270px"] {
    grid-template-columns: 1fr !important;
  }

  #destinations div[style*="height:210px"] img {
    height: 180px !important;
  }
}

/* Journey: styles in journey.css */

/* ═══════════════════════════════════════════
   TESTIMONIALS SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #journey + section {
    padding: 64px 20px !important;
  }

  #journey + section div[style*="grid-template-columns"][style*="minmax(290px"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 480px) {
  #journey + section {
    padding: 48px 16px !important;
  }
}

/* ═══════════════════════════════════════════
   FAQ SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #faq {
    padding: 64px 20px !important;
  }
}

@media (max-width: 480px) {
  #faq {
    padding: 48px 16px !important;
  }

  #faq div[style*="padding:22px 24px"] {
    padding: 18px 16px !important;
  }

  .rewa-faq-item__trigger {
    font-size: 15px !important;
  }
}

/* ═══════════════════════════════════════════
   CONTACT / FINAL CTA SECTION
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  #contact {
    padding: 0 16px !important;
  }

  #contact > .rv {
    padding: 36px 24px !important;
    border-radius: 20px !important;
    transform: translateY(36px) !important;
  }

  #contact > .rv div[style*="display:flex"][style*="flex-wrap:wrap"] {
    flex-direction: column !important;
    gap: 10px !important;
  }

  #contact > .rv div[style*="display:flex"][style*="flex-wrap:wrap"] a {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  #contact > .rv {
    padding: 28px 18px !important;
    border-radius: 18px !important;
    transform: translateY(28px) !important;
  }

  #contact > .rv h2 {
    font-size: clamp(22px, 5.5vw, 30px) !important;
  }
}

/* ═══════════════════════════════════════════
   FLOATING WHATSAPP BUTTON (legacy inline fallback)
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  a[aria-label="WhatsApp"][style*="position:fixed"] {
    width: 52px !important;
    height: 52px !important;
    inset-inline-end: 16px !important;
    bottom: 16px !important;
  }

  a[aria-label="WhatsApp"][style*="position:fixed"] i {
    font-size: 26px !important;
  }
}

/* ═══════════════════════════════════════════
   BACK TO TOP BUTTON
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .rewa-back-top {
    width: 40px !important;
    height: 40px !important;
    inset-inline-start: 16px !important;
    bottom: 76px !important;
  }
}

/* ═══════════════════════════════════════════
   COOKIE BANNER
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .rewa-cookie {
    inset-inline: 10px !important;
    bottom: 10px !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .rewa-cookie__text {
    min-width: auto !important;
    font-size: 13px !important;
    text-align: center !important;
  }

  .rewa-cookie__actions {
    width: 100% !important;
  }

  .rewa-cookie__accept,
  .rewa-cookie__decline {
    flex: 1 !important;
    text-align: center !important;
  }
}

/* ═══════════════════════════════════════════
   TRUST TICKER
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .rewa-trust-ticker {
    font-size: 12px !important;
  }

  .rewa-trust-ticker__item {
    padding: 9px 18px !important;
  }

  .rewa-trust-ticker__icon {
    font-size: 13px !important;
  }

  .rewa-trust-ticker::before,
  .rewa-trust-ticker::after {
    width: 30px !important;
  }
}

/* ═══════════════════════════════════════════
   SECTION HEADERS — Global responsive
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  [style*="text-align:center"][style*="max-width:680px"],
  [style*="text-align:center"][style*="max-width:720px"] {
    margin-bottom: 36px !important;
  }

  [style*="letter-spacing:1.5px"][style*="text-transform:uppercase"] {
    font-size: 12.5px !important;
  }
}

@media (max-width: 480px) {
  [style*="text-align:center"][style*="max-width:680px"],
  [style*="text-align:center"][style*="max-width:720px"] {
    margin-bottom: 28px !important;
  }
}

/* ═══════════════════════════════════════════
   CARDS — Hover effects removed on touch
   ═══════════════════════════════════════════ */
@media (hover: none) and (pointer: coarse) {
  [style-hover],
  .rewa-packages__card,
  .rewa-partners__card,
  .rewa-doctors__card,
  .rewa-stories__card {
    transform: none !important;
  }

  .rewa-packages__card--flip:hover .rewa-packages__card-inner {
    transform: none !important;
  }
}

/* ═══════════════════════════════════════════
   VERY SMALL SCREENS (320px)
   ═══════════════════════════════════════════ */
@media (max-width: 320px) {
  #home > div:last-child {
    padding: 24px 12px 40px !important;
  }

  #home h1 {
    font-size: 22px !important;
  }

  #quote {
    padding: 16px 12px !important;
  }

  #quote form input,
  #quote form select {
    padding: 11px 12px !important;
    font-size: 14px !important;
  }

  #why, #services, #destinations, #faq {
    padding: 40px 12px !important;
  }


  #contact > .rv {
    padding: 22px 14px !important;
  }

  .rewa-packages__inner,
  .rewa-doctors__inner,
  .rewa-partners__inner,
  .rewa-stories__inner {
    padding: 0 12px;
  }

  .rewa-packages__tabs {
    gap: 6px !important;
    padding: 4px !important;
  }

  .rewa-packages__tab {
    padding: 10px 8px !important;
  }

  .rewa-packages__tab-title {
    font-size: 12px !important;
  }

  .rewa-packages__tab-badge {
    font-size: 9px !important;
    padding: 2px 6px !important;
  }
}

/* ═══════════════════════════════════════════
   LANDSCAPE MOBILE (short viewports)
   ═══════════════════════════════════════════ */
@media (max-height: 500px) and (orientation: landscape) {
  #home > div:last-child {
    padding: 24px 20px 40px !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }

  #home h1 {
    font-size: clamp(22px, 4vw, 32px) !important;
  }

  header > div {
    padding: 10px 20px !important;
  }

  .rewa-pkg-builder__dialog {
    max-height: 98vh;
    border-radius: 16px !important;
  }
}

/* ═══════════════════════════════════════════
   SAFE AREA INSETS (notched phones)
   ═══════════════════════════════════════════ */
@supports (padding: max(0px)) {
  header > div {
    padding-inline-start: max(24px, env(safe-area-inset-left), env(safe-area-inset-right)) !important;
    padding-inline-end: max(24px, env(safe-area-inset-left), env(safe-area-inset-right)) !important;
  }

  a[aria-label="WhatsApp"][style*="position:fixed"] {
    bottom: max(22px, calc(env(safe-area-inset-bottom) + 10px)) !important;
  }

  .rewa-back-top {
    bottom: max(92px, calc(env(safe-area-inset-bottom) + 70px)) !important;
  }

  .rewa-cookie {
    bottom: max(16px, calc(env(safe-area-inset-bottom) + 6px)) !important;
  }
}

/* Packages: mobile refinements are in packages.css */

/* ═══════════════════════════════════════════
   DOCTORS — Extra mobile refinements
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .rewa-doctors__card {
    width: 240px !important;
    padding: 20px 16px 16px !important;
  }

  .rewa-doctors__photo-wrap {
    width: 96px !important;
    height: 96px !important;
  }

  .rewa-doctors__photo {
    width: 88px !important;
    height: 88px !important;
  }

  .rewa-doctors__name {
    font-size: 15px !important;
  }

  .rewa-doctors__specialty {
    font-size: 12px !important;
  }

  .rewa-doctors__chip {
    font-size: 10.5px !important;
  }
}

/* ═══════════════════════════════════════════
   PARTNERS — Extra mobile refinements
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .rewa-partners__card {
    width: 150px !important;
    height: 68px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
  }

  .rewa-partners__card img {
    max-height: 42px !important;
  }
}

/* ═══════════════════════════════════════════
   STORIES — Extra mobile refinements
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .rewa-stories__card {
    width: 280px !important;
    padding: 22px 18px 16px !important;
  }

  .rewa-stories__text {
    font-size: 14.5px !important;
    -webkit-line-clamp: 4;
  }

  .rewa-stories__name {
    font-size: 14px !important;
  }
}

/* ═══════════════════════════════════════════
   PACKAGE BUILDER — Extra small screen
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .rewa-pkg-builder__header {
    padding: 16px 16px 0 !important;
  }

  .rewa-pkg-builder__main {
    padding: 16px !important;
  }

  .rewa-pkg-builder__footer {
    padding: 12px 16px 16px !important;
  }

  .rewa-pkg-builder__btn {
    padding: 10px 16px !important;
    font-size: 14px !important;
  }

  .rewa-pkg-builder__step-title {
    font-size: 16px !important;
  }

  .rewa-pkg-builder__option {
    padding: 12px 10px !important;
  }

  .rewa-pkg-builder__option-icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
  }

  .rewa-pkg-builder__option-label {
    font-size: 12.5px !important;
  }

  .rewa-pkg-builder__title-wrap h2 {
    font-size: 18px !important;
  }
}

/* ═══════════════════════════════════════════
   SCROLL PROGRESS BAR — thinner on mobile
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  .rewa-scroll-progress {
    height: 2px !important;
  }
}

/* ═══════════════════════════════════════════
   GLOBAL TYPOGRAPHY — prevent overflow
   ═══════════════════════════════════════════ */
h1, h2, h3, h4, p, span, a {
  overflow-wrap: break-word;
  word-break: break-word;
}

#main-content {
  overflow-x: hidden !important;
}
