.text-content {
  text-align: left;
}

/* Global body font color override */
body {
  font-family: "Alice", Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.70em;
  color: #30737f !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Alice", Georgia, "Times New Roman", serif;
  color: #031d22 !important;
}

h1 { font-size: 81px; }
h2 { font-size: 61px; }
h3 { font-size: 34px; }
h4 { font-size: 27px; }
h5 { font-size: 22px; }
h6 { font-size: 18px; }

button,
input,
select,
textarea,
.theme-btn {
  font-family: "Alice", Georgia, "Times New Roman", serif;
  font-size: 18px;
}
.text-content ul {
  list-style: disc;
  margin-left: 22px;
  padding-left: 0;
  color: inherit;
}
.text-content ul li {
  margin-bottom: 6px;
}

/* Add spacing above team member content so items are not too close */
.bio-block .inner-box {
  padding-top: 18px;
}

/* Equal-height event cards */
.popular-section .row > .trek-block-one {
  display: flex;
}

.popular-carousel .owl-stage {
  display: flex;
}

.popular-carousel .owl-item {
  display: flex;
  height: auto;
}

.popular-carousel .trek-block-one {
  display: flex;
  width: 100%;
}

.trek-block-one .inner-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.trek-block-one .lower-content {
  flex: 1 1 auto;
}

/* Single-line date/endurance strip with shared event meta icons */
.trek-block-one .info,
.trek-block-one .info.event-card-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px 10px;
  min-height: 0;
  height: auto;
  padding: 6px 14px;
  line-height: 1.3;
  text-align: center;
  overflow: hidden;
  background: #1DC5CE;
  color: #ffffff;
}

.trek-block-one .info .event-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 46%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: inherit;
}

.trek-block-one .info .event-meta-separator {
  flex-shrink: 0;
  opacity: 0.85;
}

.trek-block-one .info .event-meta-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  filter: brightness(0) invert(1);
}

.archive-list-card-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.archive-list-card-meta .event-meta-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
/* Clamp event card descriptions to keep equal card heights */
.event-desc-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 72px;
}

/* Keep event title on a single line with ellipsis */
.event-title-clamp {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Keep event card actions aligned like template (left detail, right register icon) */
.trek-block-one .bottom-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
}

.trek-block-one .bottom-box .more-link {
  margin-right: auto;
}

.trek-block-one .bottom-box .fav-link {
  margin-left: auto;
}

/* Structured event details section styling */
.event-details-content h5 i {
  color: #3b7a87;
}

/* Fee excludes list: use X icon */
.package-detail-section .content-column .feature-list.exclude-list li:before {
  background: url(../images/icons/banned.svg) no-repeat center center;
  background-size: 16px 16px;
}

.event-section-list {
  margin: 0;
  padding-left: 18px;
}

.event-section-list li {
  margin-bottom: 8px;
}

.event-section-list.itinerary-list {
  list-style: none;
  padding-left: 0;
}

.event-section-list.itinerary-list li {
  border-bottom: 1px dashed #d8d8d8;
  padding: 8px 0;
}

.event-section-list.itinerary-list .time {
  font-weight: 600;
  margin-right: 8px;
}

/* Standard heading style for event description sections */
.standard-heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  color: #000000;
  font-size: 20px;
  margin-bottom: 16px;
  padding-bottom: 0;
  border-bottom: none;
}

.event-detail-section {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #CBCBCB;
}

.event-detail-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.standard-heading .icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.standard-heading .icon img {
  max-width: 100%;
  display: block;
}

/* itinerary arrow shown before the icon */
.event-details-content h5.has-arrow::before {
  content: "â€º";
  margin-right: 6px;
  color: #1DC5CE;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
}



/* Using the template's .feature-list styles for fee includes/excludes */

/* Arrow on itinerary section header only */
.event-details-content h5.has-arrow {
  position: relative;
  padding-left: 26px;
}
.event-details-content h5.has-arrow:before {
  content: "â€º";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #1DC5CE;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
}

/* Sidebar pickup points list styling */
.sidebar-feature-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.sidebar-feature-list li {
  position: relative;
  padding-left: 24px;
  color: #2e2e2e;
  font-size: 17px;
  line-height: 1.45;
  margin-bottom: 8px;
}

.sidebar-feature-list li::before {
  content: "â€¢";
  position: absolute;
  left: 0;
  top: 0;
  color: #3b7a87;
  font-size: 20px;
  line-height: 1;
}

/* Gallery thumbnails */
.thumb-carousel {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}
.thumb-carousel .thumb-item {
  width: 80px;
  height: 60px;
  overflow: hidden;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
}
.thumb-carousel .thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.thumb-carousel .thumb-item.active {
  border-color: #3b7a87;
  box-shadow: 0 4px 10px rgba(59,122,135,0.18);
}

/* Hide main carousel on details page - show only thumbnails */
.gallery-box .single-item-carousel {
  display: none !important;
}

/* Remove inner-banner gradient overlay */
.inner-banner .image-layer:before {
  background: none !important;
}

/* Keep banner cloud/pattern static (no sliding animation) */
.inner-banner .image-layer:after {
  animation: none !important;
}

/* Sticky header: hide while scrolling down, show on scroll up */
.fixed-header .header-upper {
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.fixed-header.header-hidden .header-upper {
  transform: translateY(-110%);
  box-shadow: none;
}

/* Ensure top header is readable over banner images */
.main-header .header-upper {
  background: #ffffff;
}

/* Align Explore submenu closer to main nav */
.main-menu .navigation > li > ul {
  top: 100% !important;
  margin-top: 0 !important;
  padding-top: 6px;
  padding-bottom: 6px;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}

.main-menu .navigation > li.dropdown:hover > ul {
  top: 100% !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}

/* Banner heading color */
.inner-banner .content-box h1,
.inner-banner .content-box h2,
.inner-banner .content-box h3,
.inner-banner .content-box .bread-crumb,
.inner-banner .content-box .bread-crumb a,
.inner-banner .content-box .bread-crumb .current {
  color: #ffffff !important;
}

/* Trek details banner image alignment */
.trekking-details-banner .image-layer {
  background-position: top center !important;
  background-size: cover !important;
}

.trekking-details-banner {
  margin-top: 0 !important;
  padding: 0 !important;
  min-height: 430px;
  display: flex;
  align-items: center;
}

.trekking-details-banner .auto-container {
  width: 100%;
  position: relative;
  z-index: 2;
}

.trekking-details-banner .content-box {
  padding-top: 130px;
}

/* Prominent CTA style for event details register button */
.register-now-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #3b7a87 !important;
  border: 2px solid #3b7a87 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(59, 122, 135, 0.28);
}

.register-now-btn:hover,
.register-now-btn:focus {
  background: #2f646f !important;
  border-color: #2f646f !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Final global heading override (kept at end for precedence) */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body h1 a,
body h2 a,
body h3 a,
body h4 a,
body h5 a,
body h6 a {
  color: #031d22 !important;
}

/* Team avatar styles */
.team-avatar {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* smaller variant for inline use */
.team-avatar.small {
  width: 64px;
  height: 64px;
}

/* Ensure event listing card images have a consistent height and crop */
.trek-block-one .image-box,
.popular-carousel .trek-block-one .image-box {
  overflow: hidden;
}
.trek-block-one .image-box .image,
.trek-block-one .image img,
.popular-carousel .trek-block-one .image img {
  width: 100%;
  height: 240px; /* fixed card image height */
  object-fit: cover;
  display: block;
}

/* Adjust testimonials section padding */
.testimonials-one {
  padding: 50px 0 !important;
}

/* Popular section spacing */
.popular-section {
  position: relative;
  padding: 50px 0px !important;
}

/* Title box centered adjustments */
.title-box.centered {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 0px !important;
}

/* Event listing spacing between header and cards */
.event-listing-title {
  margin-bottom: 36px !important;
}

.event-listing-title + .row {
  margin-top: 24px;
}

/* About team group headings */
.team-group-title {
  margin: 20px 0 24px;
  font-size: 22px;
  font-weight: 700;
  color: #031d22;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #e0e6e9;
  padding-bottom: 10px;
}

/* Home popular events header spacing */
.home-popular-title {
  margin-bottom: 0 !important;
  padding-bottom: 40px !important;
}

.home-popular-title + .carousel-box {
  margin-top: 12px;
}

/* Contact page: match form width to info cards */
.contact-form-narrow {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}

.contact-section .form-box.site-form .contact-form {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}

/* Reviews page: full-width stacked reviews */
.reviews-page .testi-block {
  width: 100%;
  margin-bottom: 24px;
  scroll-margin-top: 120px;
}

.reviews-page .testi-block .inner-box {
  min-height: 0;
  height: auto;
  margin-top: 0;
}

.reviews-page .testi-block .text {
  white-space: normal;
  word-break: break-word;
}

/* Floating WhatsApp button */
.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 90px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #25D366;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25);
  color: #ffffff;
}

.whatsapp-float i {
  font-size: 28px;
}

/* Home banner: keep images static (no float/jump) */
.banner-section .slide-item .banner-image,
.banner-section .slide-item .banner-image .image,
.banner-section .slide-item .banner-image .image img,
.banner-section .slide-item .bg-image {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}

/* About "Who we are" image: keep static */
.about-us .image-col .bg-image,
.about-us .image-col .bg-image img,
.about-us .image-col .image-box,
.about-us .image-col .image-box img,
.about-us .image-col .inner,
.about-us .image-col * {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}

/* Hide decorative heading vector effect site-wide */
.title-box h2 .bg-vector {
  display: none !important;
}

/* Header logo sizing override */
.main-header .main-box .logo-box .logo img {
  position: relative !important;
  display: block !important;
  height: 60px !important;
  max-height: 60px !important;
  width: auto !important;
  z-index: 1 !important;
}

/* Reduce header strip height */
.main-header .main-box .logo-box {
  padding: 16px 0 !important;
}

.main-header .header-upper {
  padding: 0 !important;
}

.main-header .main-box {
  padding: 0 !important;
  min-height: 72px;
}

.main-header .nav-outer {
  padding: 0 !important;
}

.main-header .navigation > li > a {
  padding: 18px 0 !important;
}

/* Improve banner behavior on large screens so main image isn't cut off */
@media (min-width: 1200px) {
  /* Increase trekking details banner height on large screens */
  .trekking-details-banner {
    min-height: 520px !important;
    padding-top: 0 !important; /* allow content to sit inside without pushing image up */
    display: flex;
    align-items: center;
  }
  /* Make sure the banner image is centered and covers without moving up */
  .trekking-details-banner .image-layer,
  .inner-banner .image-layer {
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }
}

/* For medium screens, keep a comfortable height so image shows */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .trekking-details-banner {
    min-height: 460px !important;
    padding-top: 0 !important;
    display: flex;
    align-items: center;
  }
  .trekking-details-banner .image-layer,
  .inner-banner .image-layer {
    background-position: center center !important;
    background-size: cover !important;
  }
}

/* Package price styling override */
.package-detail-section .upper-box .price {
  position: relative;
  color: #31a9ce !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

/* Override about-us section spacing */
.about-us {
  position: relative;
  padding: 50px 0 45px !important;
}

/* Registration page */
.registration-page-section {
  padding-top: 50px;
}

.registration-page-section .form-box.site-form,
.registration-page-section .contact-form {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.registration-summary-card,
.registration-panel {
  background: #ffffff;
  border: 1px solid #e7ecef;
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 10px 24px rgba(3, 29, 34, 0.06);
}

.registration-summary-card-full .registration-summary-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0 18px;
}

.registration-summary-card h4,
.registration-panel h4 {
  margin-bottom: 18px;
}

.registration-summary-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.registration-summary-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  border-bottom: 1px dashed #d8d8d8;
  padding: 10px 0;
}

.registration-summary-list li strong {
  color: #031d22;
}

.registration-summary-list li span {
  text-align: left;
}

.registration-summary-block + .registration-summary-block {
  margin-top: 24px;
}

.registration-total-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  font-size: 18px;
}

.registration-total-line strong {
  color: #031d22;
}

.registration-panel-header {
  margin-bottom: 16px;
}

.registration-panel-header-inline {
  display: flex;
  align-items: center;
  gap: 10px;
}

.registration-panel-header-inline h4 {
  margin-bottom: 0;
}

.registration-panel-header p {
  margin-bottom: 0;
}

.registration-mode-choice {
  margin-top: 8px;
}

.registration-mode-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.registration-mode-option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  text-align: left;
  padding: 22px 20px;
  border: 1px solid #d9e2e6;
  border-radius: 12px;
  background: #ffffff;
  color: #031d22;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.registration-mode-option:hover {
  border-color: #1DC5CE;
  box-shadow: 0 10px 22px rgba(3, 29, 34, 0.08);
  transform: translateY(-1px);
}

.registration-mode-option strong {
  font-size: 18px;
  font-weight: 600;
  color: #031d22;
}

.registration-mode-option span {
  font-size: 16px;
  line-height: 1.45;
  color: #5a6f75;
}

.registration-mode-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin-bottom: 18px;
}

.registration-mode-label {
  font-size: 17px;
  font-weight: 600;
  color: #031d22;
}

.registration-change-type-btn {
  border: 0;
  background: transparent;
  color: #3b7a87;
  font-size: 16px;
  font-weight: 600;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.registration-change-type-btn:hover {
  color: #1DC5CE;
}

.registration-inline-edit {
  width: 32px;
  height: 32px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9e2e6;
  background: #ffffff;
  color: #3b7a87;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
  box-shadow: none;
}

.registration-inline-edit i {
  font-size: 18px;
  line-height: 1;
  color: inherit;
}

.registration-inline-edit,
.registration-icon-button {
  z-index: 9999;
  visibility: visible !important;
  opacity: 1 !important;
}

.registration-common-inline {
  margin-top: 0;
  padding-top: 0;
}

.registration-page-section .registration-common-inline .f-label {
  position: relative;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  margin-bottom: 15px;
}

.registration-page-section .site-form form .form-group .field-inner input[type="text"],
.registration-page-section .site-form form .form-group .field-inner input[type="email"],
.registration-page-section .site-form form .form-group .field-inner textarea,
.registration-page-section .registration-common-inline .field-inner input[type="text"],
.registration-page-section .registration-common-inline .field-inner input[type="email"],
.registration-page-section .registration-common-inline .field-inner textarea {
  width: 100%;
  line-height: 26px;
  padding: 15px 20px;
  border: 1px solid #c8d1d6;
  color: #10221B;
  font-weight: 500;
  background: #ffffff;
}

.registration-page-section .site-form form .form-group input[type="date"] {
  width: 100%;
  height: 58px;
  line-height: 26px;
  padding: 15px 20px;
  border: 1px solid #c8d1d6;
  color: #10221B;
  font-weight: 500;
  background: #ffffff;
}

.registration-page-section .site-form form .form-group textarea {
  height: auto !important;
  min-height: 58px;
}

.registration-page-section .registration-common-inline .field-inner textarea {
  height: auto !important;
  min-height: 58px;
}

.registration-page-section .site-form form .form-group .field-inner input[type="text"]:focus,
.registration-page-section .site-form form .form-group .field-inner input[type="email"]:focus,
.registration-page-section .site-form form .form-group .field-inner textarea:focus,
.registration-page-section .registration-common-inline .field-inner input[type="text"]:focus,
.registration-page-section .registration-common-inline .field-inner input[type="email"]:focus,
.registration-page-section .registration-common-inline .field-inner textarea:focus {
  border-color: #1DC5CE;
}

.registration-page-section .site-form form .form-group input[type="date"]:focus {
  border-color: #1DC5CE;
}

.registration-pickup-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px 16px;
}

.registration-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
  font-size: 17px;
  color: #2f4f56;
}

.registration-checkbox input {
  margin-top: 0;
}

.registration-inline-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 8px;
}

.registration-secondary-btn {
  margin-left: 12px;
}

.registration-icon-button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #d9e2e6;
  background: #ffffff;
  color: #3b7a87;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 4px;
  transition: all 0.2s ease;
}

.registration-icon-button:hover {
  background: #eef6f7;
  border-color: #3b7a87;
}

.registration-icon-button.delete {
  color: #c44747;
}

.registration-icon-button.delete:hover {
  background: #fff2f2;
  border-color: #c44747;
}

.registration-table th,
.registration-table td {
  vertical-align: middle;
}

.registration-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.is-invalid {
  border-color: #c44747 !important;
  box-shadow: 0 0 0 3px rgba(196, 71, 71, 0.06);
}
.field-error-message {
  color: #c44747;
  font-size: 0.9rem;
  margin-top: 6px;
  display: block;
}

.trekker-search-results {
  margin-top: 10px;
  display: grid;
  gap: 8px;
  position: absolute;
  z-index: 2200;
  width: 100%;
  left: 0;
}

.trekker-search-item {
  width: 100%;
  text-align: left;
  border: 1px solid #d9e2e6;
  background: #f7fafb;
  color: #031d22;
  border-radius: 10px;
  padding: 10px 14px;
  transition: all 0.2s ease;
}

.trekker-search-item:hover {
  border-color: #3b7a87;
  background: #eef6f7;
}

/* Footer logo centered above its descriptive text */
.main-footer .footer-column .footer-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.main-footer .footer-column .footer-logo .logo img {
  display: block;
  max-width: 100%;
  height: auto;
}
.main-footer .footer-column .footer-text {
  text-align: center;
  margin-top: 12px;
}


/* Plain theme-btn links (e.g. event card View Details) */
a.theme-btn:not(.btn-style-one):not(.btn-style-two) {
  color: #30737f;
}

.trek-block-one .bottom-box .more-link a.theme-btn {
  color: #30737f;
}

.trek-block-one .bottom-box .more-link a.theme-btn:hover {
  color: #1DC5CE;
}

/* Home reviews carousel link styling */
.testimonials-one .more-link {
  margin-top: 12px;
}
/* Alice serif reads smaller than Poppins — keep previous visual text scale */
.page-wrapper {
  font-size: 18px;
}

body .main-menu .navigation > li > a,
body .nav-outer,
body p,
body li,
body .form-group,
body .field-inner,
body .f-label,
body .registration-panel,
body .registration-summary-stat,
body .alert,
body .bread-crumb,
body .text,
body .contact-form,
body .registration-total-line,
body .registration-field-error,
body .registration-info-note {
  font-size: 18px;
}

body .main-menu .navigation > li > ul > li > a {
  font-size: 16px;
}