/* ============================================================
   TRAVEXA THEME - RESPONSIVE STYLESHEET
   Author      : Akshar Webtech
   Version     : 1.0.0

   TABLE OF CONTENTS (STRICTLY GROUPED BY BREAKPOINT SIZE):
   ------------------------------------------------------------
   01. DESKTOP & LARGE DISPLAY         (min-width: 992px & 576px)
   02. LARGE TABLET / LAPTOP           (max-width: 1199px)
   03. TABLET & MEDIUM SCREENS         (max-width: 991px)
   04. MOBILE / TABLET                 (max-width: 767px)
   05. MOBILE PORTRAIT & SMALL DEVICE  (max-width: 575px)
   06. EXTRA SMALL MOBILE              (max-width: 400px)
   ============================================================ */

/* ============================================================
   01. DESKTOP & LARGE DISPLAY (MIN-WIDTH BREAKPOINTS)
   ============================================================ */
@media (min-width: 992px) {
  .process-card-stagger {
    margin-top: 60px !important;
  }
}

@media (min-width: 576px) {
  .stat-card-stagger {
    transform: translateY(30px);
  }

  .stat-card-stagger:hover {
    transform: translateY(20px);
  }
}

/* ============================================================
   02. LARGE TABLET / LAPTOP (max-width: 1199px)
   ============================================================ */
@media (max-width: 1199px) {

  .footer-contact-wrap {
    justify-content: flex-start;
  }
}

/* ============================================================
   03. TABLET & MEDIUM SCREENS (max-width: 991px)
   ============================================================ */
@media (max-width: 991px) {

  /* General Layout & Headers */
  body {
    width: 100%;
  }

  .main-header,
  .main-header.is-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1080 !important;
    background-color: var(--bg-white) !important;
    box-shadow: 0 4px 20px rgba(0, 24, 83, 0.1) !important;
  }

  .top-header {
    display: none !important;
  }

  /* Hero & Search Widget */
  .hero-section {
    padding: 130px 0 65px !important;
    min-height: auto;
  }

  .main-header.header-glass {
    top: 0 !important;
    position: fixed !important;
    background: rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
  }

  /* Fullscreen Search Modal Mobile Tweaks */
  
  .search-modal .modal-header .btn-close {
    top: 1.25rem !important;
    right: 1.25rem !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
  }

  .hero-video-wrap {
    height: 100%;
  }

  .hero-bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .hero-main-heading {
    font-size: 42px;
    line-height: 1.1;
  }

  .hero-brush-highlight {
    font-size: 54px;
    margin: -6px 0;
  }

  .hero-script-tag {
    font-size: 24px;
  }

  .hero-desc {
    font-size: 15px;
    max-width: 100%;
  }

  .hero-floating-badge {
    animation: none !important;
    transform: none !important;
  }

  .hero-script-text {
    font-size: 20px !important;
  }

  
  .hero-flight-trail-svg,
  .hero-glow-orb {
    display: none !important;
  }

  .hero-quick-tags {
    margin-top: 1.25rem !important;
  }

  .hero-tag-chip {
    font-size: 11.5px !important;
    padding: 5px 12px !important;
  }

  .destination-grid-section {
    padding-top: 60px !important;
  }

  .tb-destination-hero {
    padding: 150px 0 60px;
    min-height: 300px;
  }

  /* Components & Cards */
  .travexa-marquee-section {
    padding: 50px 0 60px !important;
  }

  .why-choose-us {
    padding: 3.5rem 0 !important;
  }

  .advantage-card {
    padding: 2rem 1.5rem !important;
    border-radius: 20px !important;
  }

  .advantage-number {
    font-size: 75px !important;
  }

  .our-mission-img {
    height: 480px;
  }

  .mission-floating-badge {
    right: 0;
    margin-right: 0 !important;
  }

  /* Index-3 Adventure Homepage Overrides */

  /* Inner Pages & Specialized Elements */

  /* Index-2 Hero & Reservation Card Tablet Enhancements */

  /* Footer */
  .footer-area.ft-bg {
    background-size: 100% 100%, cover, auto, auto;
  }

  .footer-widget-wrap {
    padding-top: 55px;
    padding-bottom: 25px;
  }

  .footer-social-box {
    margin-top: 25px !important;
    margin-bottom: 20px;
  }

  .footer-contact {
    margin-bottom: 25px;
  }

  .footer-contact-wrap {
    gap: 12px;
  }

  /* Get In Touch Newsletter Widget Spacing */
  .footer-widget-box:not(.list):not(.about-us),
  .footer-contact + .row > .col-lg-4:last-child,
  .footer-contact + .row > [class*="col-"]:last-child {
    margin-top: 35px;
  }
}

/* ============================================================
   04. MOBILE / TABLET (max-width: 767px)
   ============================================================ */
@media (max-width: 767px) {
  .travexa-marquee-section {
    padding: 50px 0 60px !important;
  }

  .marquee-card {
    padding: 6px 14px 6px 6px;
    gap: 10px;
  }

  .card-icon {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .card-title {
    font-size: 14px;
  }

  .hero-main-heading {
    font-size: 38px !important;
    line-height: 1.15;
  }

  .hero-brush-highlight {
    font-size: 48px !important;
    margin: -2px 0;
  }

  .hero-script-tag {
    font-size: 26px !important;
  }

  .hero-desc {
    font-size: 15px !important;
    line-height: 1.6;
    margin-bottom: 1.5rem;
  }

  /* Footer */
  .footer-contact-item {
    width: 100%;
    border-radius: 12px;
  }
}

/* ============================================================
   05. MOBILE PORTRAIT & SMALL DEVICE (max-width: 575px)
   ============================================================ */
@media (max-width: 575px) {
  .travexa-marquee-section {
    padding: 38px 0 45px !important;
  }

  .marquee-container-wrap {
    gap: 14px !important;
    mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%) !important;
  }

  .marquee-track {
    gap: 12px !important;
  }

  .hero-main-heading {
    font-size: clamp(24px, 7.2vw, 32px) !important;
    line-height: 1.2;
    word-break: normal;
    overflow-wrap: break-word;
  }

  .hero-brush-highlight {
    font-size: clamp(30px, 9.5vw, 42px) !important;
    margin: -2px 0;
  }

  .hero-script-tag {
    font-size: 20px !important;
  }

  .hero-desc {
    font-size: 14px !important;
    line-height: 1.55;
    margin-bottom: 1.25rem;
  }

  /* Index-3 Search & Category Section Mobile Overrides */

  /* Index-3 Bento Grid Mobile Overrides */

  /* Index-3 Why Choose Us V2 Mobile Overrides */

  /* Hero & Header Elements */

  .hero-shape-bottom img,
  .footer-shape-top img {
    height: 24px;
    object-fit: cover !important;
    object-position: center bottom !important;
  }

  /* Why Travel With Travexa (Mobile) */

  .tb-destination-hero {
    padding: 150px 0 50px;
    min-height: 280px;
  }

  .tb-dest-header-card {
    padding: 1.5rem 0.85rem !important;
    border-radius: 18px !important;
  }

  .tb-dest-header-card h1 {
    font-size: 26px !important;
    margin-bottom: 0.5rem !important;
  }

  .tb-dest-header-card p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 1rem !important;
  }

  .tb-flight-breadcrumb {
    padding: 0.4rem 0.65rem !important;
    gap: 0.35rem !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    border-radius: 24px !important;
  }

  .tb-bc-item {
    gap: 0.25rem !important;
    white-space: nowrap !important;
  }

  .tb-bc-icon {
    width: 22px !important;
    height: 22px !important;
    font-size: 9.5px !important;
    flex-shrink: 0 !important;
  }

  .tb-bc-item span {
    font-size: 11.5px !important;
    white-space: nowrap !important;
  }

  .tb-bc-divider {
    width: 18px !important;
    flex-shrink: 0 !important;
  }

  .tb-bc-plane {
    font-size: 10px !important;
  }

  .dest-info-icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 16px !important;
  }

  .dest-details-section {
    padding: 45px 0 !important;
  }

  .dest-sidebar-card {
    padding: 1.25rem !important;
    border-radius: 18px !important;
  }

  /* Tour Cards & Package Grid */
  .tour-listing-section {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }

  .tour-card-img-wrap {
    height: 185px !important;
  }

  .tour-card-body {
    padding: 1.15rem 0.85rem !important;
  }

  .tour-card-body h3 {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .tour-card-body p {
    font-size: 12px !important;
    margin-bottom: 0.75rem !important;
  }

  .tour-card-body .btn-primary {
    padding: 0.45rem 1rem !important;
    font-size: 12px !important;
    height: auto !important;
    white-space: nowrap !important;
  }

  .offcanvas-mobile {
    width: 100% !important;
  }

  .hero-main-heading {
    font-size: 32px !important;
    line-height: 1.15;
  }

  .hero-brush-highlight {
    font-size: 42px !important;
  }

  .hero-script-tag {
    font-size: 22px !important;
  }

  /* Datepicker & Dropdowns */
  .travexa-datepicker-pop,
  .tb-reservation-field .travexa-datepicker-pop,
  .dest-sidebar-card .travexa-datepicker-pop,
  .position-relative .travexa-datepicker-pop {
    width: 270px !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    padding: 0.85rem 0.65rem !important;
    border-radius: 16px !important;
    box-shadow: 0 15px 40px rgba(0, 24, 83, 0.25) !important;
    z-index: 100000 !important;
  }

  .col-6:last-child .travexa-datepicker-pop,
  .col-md-6:last-child .travexa-datepicker-pop,
  .travexa-datepicker-pop.pop-right {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
  }

  .datepicker-header {
    margin-bottom: 0.5rem !important;
  }

  .datepicker-header .current-month-year {
    font-size: 14px !important;
  }

  .datepicker-day-name,
  .datepicker-day {
    font-size: 11px !important;
    height: 28px !important;
    line-height: 28px !important;
  }

  .datepicker-footer {
    padding-top: 0.5rem !important;
    margin-top: 0.5rem !important;
  }

  .datepicker-btn-clear,
  .datepicker-btn-today {
    font-size: 11px !important;
  }

  .scroll-to-top {
    bottom: 20px !important;
    right: 15px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 14px !important;
    z-index: 99 !important;
  }

  /* Floating Exploration Icons Mobile */

  /* Inner Pages Media Overrides */

  .contact-action-pill {
    padding: 0.75rem 0.85rem !important;
    font-size: 13px !important;
    border-radius: 14px !important;
  }

  .contact-overlap-row {
    margin-top: -60px;
  }

  .contact-main-section {
    margin-top: -20px;
    padding-top: 60px !important;
  }

  .contact-info-card {
    padding: 2rem 1.5rem !important;
  }

  .dest-info-icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
  }

  /* Tour Packages Mobile Cards */

  /* Footer Mobile */
  .footer-area.ft-bg {
    background-size: 100% 100%, 750px auto, auto, auto;
    background-position: center top, bottom right, center center, center center;
  }

  .footer-widget-box.about-us p {
    max-width: 100%;
  }
}

@media (max-width: 400px) {

  .dest-info-icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
  }
}