/* Global responsive fixes for Sudin Travels. Keep this file loaded after main-style.css. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  text-wrap: pretty;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

img,
video {
  height: auto;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.container {
  width: min(100% - 24px, 1320px);
}

.row>* {
  min-width: 0;
}

.swiper,
.swiper-wrapper,
.swiper-slide {
  max-width: 100%;
}

.section-title .title,
.breadcrumbs-area .title,
.hero-caption-three .title,
.header-title,
.header-title-two {
  overflow-wrap: anywhere;
}

.header-area-three .main-header,
.header-area .main-header {
  width: 100%;
}

.header-area-three .logo img,
.header-area .logo img,
.footer-wrapper .logo img,
.sidebar-logo img {
  width: auto;
  max-width: 180px;
  max-height: 80px;
  object-fit: contain;
}

.hamburger-btn,
.close-sidebar {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mobile-sidebar {
  max-width: min(88vw, 340px);
}

.mobile-nav,
.mobile-nav ul {
  padding-left: 0;
}

.mobile-nav a,
.sidebar-contact a {
  overflow-wrap: anywhere;
}

.whatsapp-float {
  z-index: 9998 !important;
}

.hero-padding-for-three {
  min-height: clamp(520px, 70vh, 780px);
  display: flex;
  align-items: center;
}

.hero-bg-video,
.hero-bg-video video,
.hero-slider-video,
.video-cover {
  width: 100%;
  height: 100%;
}

.hero-bg-video {
  position: absolute;
  inset: 0;
}

.hero-bg-video video,
.video-cover {
  object-fit: cover;
}

.hero-caption-three {
  width: min(100%, 900px);
  margin-inline: auto;
  text-align: center;
}

.hero-caption-three .title {
  font-size: clamp(2rem, 6vw, 4.75rem);
  line-height: 1.08;
}

.hero-caption-three .pera {
  max-width: 760px;
  margin-inline: auto;
  font-size: clamp(0.95rem, 2.2vw, 1.15rem);
}

.hero-trip-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.hero-trip-btn {
  margin: 0;
  white-space: nowrap;
}

.hero-search-wrapper .input-group {
  flex-wrap: nowrap;
}

.choose-plan-nav .nav,
.plan-section-three .nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.choose-plan-nav .nav-tabs,
.plan-section-three .nav-tabs {
  border-bottom: 0;
}

.plan-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  white-space: normal;
}

.package-card,
.blog-card,
.news-card,
.contact-card,
.recent-blogs-sidebar,
.single-footer-caption {
  max-width: 100%;
}

.package-card .package-img img,
.blog-card .blog-img,
.blog-detail-banner img,
.offer-banner img,
.recent-blog-img img,
.contact-bg-before img {
  width: 100%;
  object-fit: cover;
}

.package-card .area-name,
.blog-title,
.blog-title-detail,
.recent-blog-title,
.footer-tittle .single-lsit a,
.contact-heading {
  overflow-wrap: anywhere;
}

.packages-person,
.price-review,
.action-buttons-inline,
.blog-meta,
.blog-meta-detail,
.share-section,
.footer-bottom .listing,
.call-us-block,
.call-numbers,
.services-check-grid {
  display: flex;
  flex-wrap: wrap;
}

.action-buttons-inline {
  gap: 8px;
}

.action-btn,
.btn-submit,
.btn-send-enquiry,
.read-more-btn,
.btn-secondary-lg,
.btn-secondary-sm,
.btn-primary-fill {
  min-height: 42px;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.recent-blog-item {
  min-width: 0;
}

.recent-blog-content {
  min-width: 0;
}

.blogs-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
}

.enquiry-modal-content,
.visa-modal,
.compact-modal {
  width: min(100% - 24px, 880px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
}

.enquiry-modal-row,
.row-2cols,
.phone-group {
  min-width: 0;
}

.row-2cols .form-group,
.form-field,
.phone-group input {
  min-width: 0;
}

.form-control,
.form-select,
.form-control-custom,
.tour-dropdown,
.form-field input,
.form-field select,
.form-field textarea {
  min-height: 44px;
}

.modal-dialog {
  max-width: min(100% - 24px, var(--bs-modal-width, 500px));
  margin-inline: auto;
}

.modal-lg {
  --bs-modal-width: 900px;
}

.modal-body {
  overflow-x: hidden;
}

.search-filter-section,
.adv-filters-sidebar,
.search-tour-card,
.booking-card,
.booking-tabs-container,
.privacy-sidebar {
  max-width: 100%;
}

.search-filter-section,
.adv-filters-sidebar {
  position: sticky;
  top: 96px;
}

.filter-buttons,
.package-pills,
.booking-tab-buttons,
.booking-toggle,
.booking-toggle-wrap,
.tabs-buttons,
.meeting-modal-head,
.modal-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.filter-btn,
.package-nav,
.booking-tab-btn,
.booking-toggle-btn,
.clear-filters-sidebar,
.enquiry-btn-header {
  min-height: 42px;
  white-space: normal;
  text-align: center;
}

.package-card-full,
.fleet-gallery,
.services-grid,
.insurance-feature-grid {
  min-width: 0;
}

.package-card-full {
  display: flex;
  gap: 24px;
}

.package-left,
.package-right {
  min-width: 0;
}

.package-img-full img,
.gallery-card-image,
.gallery-img,
.insurance-visual img {
  width: 100%;
  object-fit: cover;
}

.package-title,
.package-duration,
.gallery-caption,
.insurance-card h4,
.insurance-card p {
  overflow-wrap: anywhere;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  max-width: 100%;
}

.modal-body .p-5,
.modal-content .p-5 {
  padding: clamp(1.25rem, 5vw, 3rem) !important;
}

@media (max-width: 1199px) {

  .header-area-three .header-bottom .search-box,
  .header-area .header-bottom .search-box {
    display: none;
  }

  .header-area-three .main-menu .listing,
  .header-area .main-menu .listing {
    gap: 8px;
  }

  .header-area-three .main-menu .listing .single-list:not(:last-child),
  .header-area .main-menu .listing .single-list:not(:last-child) {
    margin-right: 10px;
  }
}

@media (max-width: 991px) {
  .container {
    width: min(100% - 20px, 960px);
  }

  .section-padding,
  .section-padding2,
  .section-padding3,
  .top-bottom-padding2,
  .bottom-padding1,
  .inner-section-padding2 {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .header-area-three .header-top,
  .header-area .header-top {
    padding-block: 8px;
  }

  .top-menu-wrapper {
    gap: 14px;
  }

  .hero-padding-for-three {
    min-height: 560px;
    padding: 120px 0 80px;
  }

  .plan-area-three {
    margin-top: -38px;
    position: relative;
    z-index: 4;
  }

  .plan-section-three {
    padding: 14px;
    border-radius: 20px;
  }

  .choose-plan-nav .nav,
  .plan-section-three .nav {
    justify-content: center;
  }

  .about-count-section .all-count-list,
  .footer-content {
    gap: 18px;
  }

  .footer-content>* {
    width: 100%;
  }

  .footer-bottom .listing {
    justify-content: flex-start;
    gap: 10px 18px;
  }
}

@media (max-width: 767px) {
  .container {
    width: min(100% - 18px, 720px);
  }

  .section-padding,
  .section-padding2,
  .section-padding3,
  .top-bottom-padding2,
  .bottom-padding1,
  .inner-section-padding2 {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  .breadcrumbs-area {
    padding: 80px 0 52px;
  }

  .breadcrumbs-area .title,
  .section-title .title {
    font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
    line-height: 1.15;
  }

  .section-title .pera,
  .blog-content-detail p {
    font-size: 0.98rem;
  }

  .hero-padding-for-three {
    min-height: 540px;
    padding: 104px 0 66px;
  }

  .hero-search-wrapper {
    margin-top: 1.3rem;
  }

  .hero-search-wrapper .input-group {
    flex-direction: column;
    gap: 10px;
  }

  .hero-search-input,
  .hero-search-btn {
    width: 100%;
    border-radius: 50px !important;
  }

  .hero-search-btn {
    justify-content: center;
  }

  .plan-area-three {
    margin-top: 0;
    padding-top: 18px;
  }

  .choose-plan-nav .nav,
  .plan-section-three .nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .choose-plan-nav .nav-item,
  .plan-section-three .nav-item {
    min-width: 0;
  }

  .plan-link {
    width: 100%;
    padding: 10px 12px;
    font-size: 0.9rem;
  }

  .package-card .package-img img,
  .blog-card .blog-img {
    aspect-ratio: 16 / 10;
  }

  .packages-person,
  .price-review {
    gap: 8px;
  }

  .action-buttons-inline,
  .action-btn {
    width: 100%;
  }

  .blog-meta,
  .blog-meta-detail,
  .share-section {
    gap: 8px 12px;
  }

  .recent-blog-item {
    align-items: flex-start;
  }

  .recent-blog-img {
    flex: 0 0 86px;
  }

  .contact-card,
  .recent-blogs-sidebar {
    padding: 20px !important;
  }

  .enquiry-left-col,
  .enquiry-right-col {
    flex: 0 0 100% !important;
    max-width: 100%;
    padding: 22px 18px !important;
  }

  .call-numbers {
    gap: 8px;
  }

  .call-numbers a {
    margin-left: 0 !important;
  }

  .row-2cols {
    gap: 0;
  }

  .row-2cols .form-group,
  .form-row {
    flex-basis: 100%;
    width: 100%;
  }

  .search-filter-section,
  .adv-filters-sidebar,
  .privacy-sidebar {
    position: static;
  }

  .filter-buttons,
  .package-pills,
  .booking-tab-buttons,
  .booking-toggle,
  .booking-toggle-wrap {
    width: 100%;
  }

  .filter-btn,
  .package-nav,
  .booking-tab-btn,
  .booking-toggle-btn,
  .clear-filters-sidebar,
  .enquiry-btn-header,
  .btn-send-enquiry {
    width: 100%;
    justify-content: center;
  }

  .package-card-full {
    flex-direction: column;
    gap: 0;
  }

  .package-left,
  .package-right {
    width: 100%;
  }

  .package-img-full img,
  .gallery-card-image,
  .gallery-img {
    aspect-ratio: 16 / 10;
  }

  .visa-form-container,
  .modal-body,
  .modal-header,
  .modal-footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .footer-area .row>[class*="col-"] {
    width: 50%;
  }
}

@media (max-width: 575px) {
  .container {
    width: min(100% - 16px, 540px);
  }

  .header-area-three .logo img,
  .header-area .logo img,
  .footer-wrapper .logo img,
  .sidebar-logo img {
    max-width: 136px;
    max-height: 54px;
  }

  .hero-padding-for-three {
    min-height: 500px;
    padding: 92px 0 52px;
  }

  .hero-caption-three .title {
    font-size: clamp(1.75rem, 6vw, 2.5rem);
  }

  .hero-trip-options {
    gap: 8px;
  }

  .hero-trip-btn {
    flex: 1 1 140px;
    padding: 0.55rem 0.8rem;
  }

  .choose-plan-nav .nav,
  .plan-section-three .nav {
    grid-template-columns: 1fr;
  }

  .plan-section-three {
    border-radius: 16px;
  }

  .radio-group {
    width: 100%;
    flex-wrap: wrap;
    border-radius: 20px;
  }

  .radio-group label,
  .radio-group span {
    flex: 1 1 100%;
    text-align: center;
  }

  .blog-detail-banner img,
  .offer-banner img {
    min-height: 220px;
  }

  .recent-blog-item {
    flex-direction: column;
  }

  .recent-blog-img {
    width: 100%;
    flex-basis: auto;
  }

  .recent-blog-img img {
    aspect-ratio: 16 / 9;
  }

  .footer-area .row>[class*="col-"] {
    width: 100%;
  }

  .footer-bottom .listing {
    flex-direction: column;
  }

  .footer-bottom-area .d-flex {
    justify-content: center !important;
    text-align: center;
  }

  .whatsapp-float {
    width: 48px !important;
    height: 48px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  .whatsapp-float i {
    font-size: 26px !important;
  }

  .phone-group {
    align-items: stretch;
  }

  .phone-prefix {
    display: inline-flex;
    align-items: center;
  }

  .modal-dialog {
    max-width: calc(100% - 16px);
  }

  .meeting-modal-head,
  .modal-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .modal-footer .btn {
    width: 100%;
  }

  .passenger-row .row>[class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .remove-passenger {
    display: inline-flex;
    min-width: 36px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
  }
}
