.why-us {padding: 4rem 0; text-align: center; }
.features-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.feature-item {padding: 20px; text-align: center; }
.feature-item .feature-icon{margin-bottom: 8px}
.feature-item h4,
.feature-item h5 {font-size: 20px; margin-bottom: 10px; font-weight: 600; }
.feature-item p {font-size: 18px; color: #374151;}


.choose-cruises {padding: 4rem 0; } 
.choose-grid {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; } 
.choose-grid-item {position: relative; grid-column: span 2; min-width: 0; height: 260px; overflow: hidden; background: #e8e8e8; }
.choose-grid-item:nth-child(4), 
.choose-grid-item:nth-child(5) {grid-column: span 3; height: 320px; } 
.choose-grid-item img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.6s ease, filter 0.4s ease; } 
.choose-grid-overlay {position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.32) ); transition: background 0.35s ease; } 
.choose-grid-title {position: absolute; top: 50%; left: 50%; z-index: 2; width: calc(100% - 30px); margin: 0; color: #ffffff; font-size: 23px; font-weight: 600; text-align: center; text-transform: uppercase; transform: translate(-50%, -50%); } 
.choose-grid-item:hover img {transform: scale(1.05); } 
.choose-grid-item:hover .choose-grid-overlay {background: rgba(0, 0, 0, 0.2); }


.cruises-archive-card{background-color: #F9FAFB;display: grid;grid-template-columns: 380px 1fr;margin-bottom: 30px;}
.cruises-archive-card .cruises-archive-content{padding: 20px;}
.cruises-archive-card .cruises-archive-content .cruises-archive-title{font-size: 26px;}
.cruises-archive-card .cruises-archive-content .cruises-archive-meta{display: flex; align-items: center;  margin-bottom: 8px;}
.cruises-archive-card .cruises-archive-content .cruises-archive-meta > span:not(:last-child){padding-right: 20px; margin-right:20px; border-right: 1px solid #D1D5DB}
.cruises-archive-card .cruises-archive-content .cruises-archive-meta > span.cruises-archive-rating i{color: #dfb477}
.cruises-archive-card .cruises-archive-content .cruises-archive-meta > span.cruises-archive-location i{color: #46AD66}
.cruises-archive-card .cruises-archive-content .cruises-archive-excerpt{margin-bottom: 8px}
.cruises-archive-card .cruises-archive-content .cruises-archive-footer{display: flex; align-items: center; justify-content: space-between;}
.cruises-archive-card .cruises-archive-content .cruises-archive-footer .cruises-archive-price strong{font-size: 20px;color: #dfb477;}
.cruises-archive-card .cruises-archive-content .cruises-archive-footer .btn-primary{padding: 8px 18px;font-size: 14px;}


.cruises-packages {padding: 4rem 0;}
.packages-flex {display: grid; grid-template-columns: 300px 1fr; gap: 40px; margin-top: 24px;}
.filter-sidebar {position: sticky; top: 70px; height: fit-content; }
.search-filter {position: relative; margin-bottom: 30px; }
.search-filter i {position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #667085; font-size: 16px; }
.search-filter input {width: 100%; padding: 10px 15px 10px 40px; border: 1px solid #e2e8f0; border-radius: 4px; font-size: 16px; color: #1e293b; height: 46px; }
.filter-group {margin-bottom: 40px; }
.filter-group h4 {margin-bottom: 20px; font-size: 20px; }
.filter-group ul {list-style: none; padding-left: 0;}
.filter-group li {margin-bottom: 10px; font-size: 0.85rem; color: #333; display: flex; align-items: center; gap: 10px; }
.custom-checkbox label {display: flex; align-items: center; gap: 12px; font-size: 18px; color: #475569; cursor: pointer; transition: var(--transition); }
.custom-checkbox input[type="checkbox"] {width: 18px; height: 18px; border: 1px solid #cbd5e1; cursor: pointer; accent-color: var(--primary-color); }
.custom-checkbox input[type="checkbox"]:checked {background: var(--primary-color); border-color: var(--primary-color); }
.custom-checkbox input[type="checkbox"]:checked::after {content: '\f00c'; font-family: 'Font Awesome 5 Pro'; font-weight: 900; color: #fff; font-size: 0.85rem; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.custom-checkbox label .star-label{color: #dfb477}


.travel-contact-inner {display: grid; grid-template-columns: 155px minmax(0, 1fr) auto; align-items: center; gap: 28px; min-height: 215px; padding: 38px 88px; background: #FCFAF8; margin-bottom: 40px;} 
.travel-contact-avatar {width: 145px; height: 145px; overflow: hidden; border-radius: 50%;} 
.travel-contact-avatar img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.travel-contact-content {min-width: 0; } 
.travel-contact-content h3 {margin: 0 0 8px; color: #050505; font-size: 32px; font-weight: 700; } 
.travel-contact-description {margin: 0 0 20px; color: #222; font-weight: 400;}
.travel-contact-phone {display: flex; flex-direction: column; align-items: flex-start; gap: 7px; } 
.travel-contact-phone-label {display: flex; align-items: center; gap: 8px; color: #111; font-size: 17px; font-weight: 700;} 
.travel-contact-whatsapp {display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 28px; height: 28px; } 
.travel-contact-whatsapp svg {display: block; width: 100%; height: 100%; fill: #5ec345; } 
.travel-contact-phone-number {color: #111; font-size: 22px; font-weight: 700; text-decoration: none; transition: color 0.25s ease; } 
.travel-contact-phone-number:hover {color: #b99a6b; }
.travel-contact-action {display: flex; align-items: center; justify-content: flex-end; } 
.travel-contact-button {display: inline-flex; align-items: center; justify-content: center; min-width: 187px; min-height: 37px; padding: 10px 22px; border: 1px solid #bea176; background: #bea176; color: #fff; font-size: 18px; font-weight: 500; text-align: center; text-decoration: none; text-transform: uppercase; transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease; } 
.travel-contact-button:hover {border-color: #9e8057; background: #9e8057; color: #fff; }


.travel-tips {background: #F8F8F8 !important; padding: 4rem 0; }
.tips-accordion {border-top: 1px solid #E5E7EB; }
.tips-accordion .accordion-item {padding: 0;border-bottom: 1px dotted rgba(0, 0, 0, 0.15) !important; }
.tips-accordion .accordion-header {padding: 24px 0; display: flex;justify-content: space-between;align-items: center;cursor: pointer;gap: 20px;transition: var(--transition);}
.tips-accordion .accordion-header h3 {font-size: 20px;letter-spacing: 0; margin-bottom: 0;}
.tips-accordion .accordion-content {max-height: 0; overflow: hidden; transition: all 0.5s cubic-bezier(0, 1, 0, 1); }
.tips-accordion .accordion-content p {color: #333; } 
.tips-accordion .accordion-item.active .accordion-content {max-height: 800px; padding: 20px; transition: all 0.5s cubic-bezier(1, 0, 1, 0); }
.tips-accordion .accordion-item.active .icon-circle {background: var(--primary-color); color: #fff; transform: rotate(180deg); }


.blog-vguide-section {padding: 4rem 0;} 
.blog-vguide-card {background: transparent; border-radius: 0; overflow: visible; transition: var(--transition); } 
.blog-vguide-thumb {position: relative; overflow: hidden;} 
.blog-vguide-thumb img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } 
.blog-vguide-card:hover .blog-vguide-thumb img {transform: scale(1.05); } 
.blog-vguide-play {position: absolute; bottom: 0; right: 0; transform: translate(-50%, -50%); width: 45px; height: 45px; background: transparent; border: 2px solid #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 0.9rem; transition: var(--transition); z-index: 9;}
.blog-vguide-play i {margin-left: 3px; } 
.blog-vguide-card:hover .blog-vguide-play {background: var(--primary-color); border-color: var(--primary-color); } 
.blog-vguide-info {position: absolute; bottom: 0; left: 0; width: 100%; background: rgba(0, 0, 0, 0.5); color: #fff; padding: 15px 80px 15px 15px;box-sizing: border-box;} 
.blog-vguide-title {font-size: 18px; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 
.blog-vguide-more {color: var(--primary-color); text-decoration: none; font-size: 16px; font-weight: 500; display: flex; align-items: center;gap: 0.8rem; transition: var(--transition); } 
.blog-vguide-more:hover {gap: 12px; } 
.blog-vguide-view-more {margin-top: 30px; text-align: center; } 
.blog-vguide-view-more .btn-black {display: inline-block; background: #000; color: #fff; padding: 12px 32px;font-size: 16px; font-weight: 500; text-decoration: none; letter-spacing: 1px; transition: all 0.3s ease; } 
.blog-vguide-view-more .btn-black:hover {background: var(--primary-color); color: #fff; transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }


.tour-moments-v3 {padding: 4rem 0;}
.momentsSwiperV3 .swiper-slide {position: relative;width: 45% !important; height: 550px; opacity: 0.5; filter: brightness(0.4) grayscale(50%); transform: scale(0.85); transition: all 0.7s cubic-bezier(0.2, 1, 0.3, 1); }
.momentsSwiperV3 .swiper-slide-prev {transform: scale(0.85) translateX(15%) !important; }
.momentsSwiperV3 .swiper-slide-next {transform: scale(0.85) translateX(-15%) !important; }
.momentsSwiperV3 .swiper-slide-active {opacity: 1; filter: brightness(1) grayscale(0%); transform: scale(1) !important; z-index: 10; }
.momentsSwiperV3 .swiper-slide img {width: 100%; height: 100%; object-fit: cover; }
.momentsSwiperV3 .swiper-slide p {position: absolute; bottom: 0; left: 0; width: 100%; background: rgba(0, 0, 0, 0.5); color: #fff; padding: 15px 20px; box-sizing: border-box; }
.momentsSwiperV3 .swiper-button-next,
.momentsSwiperV3 .swiper-button-prev {width: 35px; height: 35px; background: #fff; color: #000; border: 1px solid #e2e8f0; border-radius: 0; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); top: 50%; transform: translateY(-50%); }
.momentsSwiperV3 .swiper-button-next {right: 23%; }
.momentsSwiperV3 .swiper-button-prev {left: 23%; }


/* Reviews on Our Service Design */
.tour-reviews {background: #f8fafc; padding: 4rem 0; } 
.reviews-wrapper {display: grid; grid-template-columns: 1fr 1.5fr; gap: 80px; align-items: center; position: relative; } 
.reviews-wrapper::after {content: ''; position: absolute; top: 10%; left: 40%; width: 1px; height: 80%; background: #e2e8f0; } 
.mt-32 {margin-top: 30px; } 
.reviews-summary {padding-right: 40px; } 
.reviews-summary h3 {font-size: 32px; margin-bottom: 24px; color: #000000; } 
.reviews-summary .accent-line {width: 8.8rem; height: 1px; margin: unset; background: var(--primary-color); margin-bottom: 30px; text-align: left; position: relative; } 
.rating-label {font-size: 20px; font-weight: 400; color: #1e293b; margin-bottom: 1rem; } 
.rating-box {margin-bottom: 1rem; } .rating-box .point-max {font-size: 18px; color: #aaa2a2; font-weight: 400; } 
.rating-num {font-size: 32px; font-weight: 600; color: #1e293b; } 
.reviews-summary .stars {display: flex; gap: 5px; font-size: 18px; color: #f39c12; } 
.review-count {font-weight: 400; color: #474B57; } 
.reviews-form-side {padding-left: 40px; } 
.form-header-inline {display: flex; align-items: center; margin-bottom: 35px; } 
.form-header-inline h4 {font-size: 20px; font-weight: 700; margin-right: 24px; margin-bottom: 0;} 
.stars-outline {display: flex; gap: 5px; font-size: 28px; color: #f1c40f; }
.tour-reviews .precision-form label {position: absolute; top: 0;left: 0; padding: 0 8px; font-size: 18px; color: #374151; font-weight: 400; z-index: 1; background: #f8fafc; margin-bottom: 0;}
.tour-reviews .precision-form input, 
.tour-reviews .precision-form select, 
.tour-reviews .precision-form textarea {width: 100%; padding: 20px 15px; border: 1px solid #e2e8f0; font-size: 18px; color: #6B7280; background: transparent; transition: var(--transition); height: 60px; }
.tour-reviews .precision-form textarea {height: 120px; resize: none; }
.tour-reviews .precision-form .form-field {position: relative;}
.tour-reviews .precision-form .form-field.full {margin-bottom: 30px; }
.tour-reviews .precision-form .form-field label {top: -15px; left: 15px; }
.precision-form label {position: absolute; top: 0; left: 0; padding: 0 8px; font-size: 18px; color: #374151; font-weight: 400; z-index: 1; background: #f8fafc; margin-bottom: 0; }
.precision-form label .required {color: #ef4444; margin-left: 2px; }
.tour-reviews .precision-form input, 
.tour-reviews .precision-form select, 
.tour-reviews .precision-form textarea {width: 100%; padding: 20px 15px; border: 1px solid #e2e8f0; font-size: 18px; color: #6B7280; background: transparent; transition: var(--transition); height: 60px; }
.tour-reviews .precision-form textarea {height: 120px; resize: none; }
.toggle-container {display: flex; align-items: center; gap: 15px; position: relative; margin-bottom: 40px; }
.toggle-text {font-size: 18px; color: #1e293b; font-weight: 500; margin-left: 60px; }
.switch {position: relative; display: inline-block; width: 44px; height: 24px; } 
.switch input {opacity: 0; width: 0; height: 0; }
.slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #cbd5e1; transition: .4s; }
.slider::before {position: absolute; content: ''; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; transition: .4s; }
.slider.round {border-radius: 2.4rem; }
.slider.round::before {border-radius: 50%; }
input:checked + .slider {background-color: #1e293b; }
input:checked + .slider::before {transform: translateX(20px); }
.btn-shop {background: #000; color: #fff; border: none; padding: 12px 32px; font-weight: 500; font-size: 18px; letter-spacing: 1px; cursor: pointer; transition: var(--transition); }
.btn-shop:hover{background-color: #dfb477;}



@media (max-width: 1024px) {
    .why-us,
    .choose-cruises,
    .travel-tips,
    .blog-vguide-section,
    .tour-moments-v3,
    .tour-reviews,
    .cruises-packages{padding: 3rem 0;}
    .features-grid{grid-template-columns: repeat(2, 1fr);gap: 30px;}

    .choose-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; } 
    .choose-grid-item, 
    .choose-grid-item:nth-child(4), 
    .choose-grid-item:nth-child(5) {grid-column: span 1; height: 260px; } 
    .choose-grid-title {font-size: 20px; }

    .travel-contact-inner{grid-template-columns: 140px minmax(0, 1fr) auto;padding: 30px 40px;}
    .travel-contact-content h3{font-size: 28px;}

    .tips-accordion .accordion-header{padding: 15px 0;}
    .tips-accordion .accordion-header h3 {font-size: 18px;}
    .icon-circle{width: 21px;height: 21px;font-size: 0.7rem;}

    .momentsSwiperV3 .swiper-slide {width: 500px !important; height: 400px; }
    .momentsSwiperV3 .swiper-slide-active {transform: scale(1.02) !important;filter: brightness(1) grayscale(0%);}

    .precision-form label{font-size: 16px;}
    .precision-form input, 
    .precision-form select, 
    .precision-form textarea{height: 50px;font-size: 16px}
    .precision-form textarea {height: 80px;}
    .precision-form .form-row-2{gap: 15px;}
    .precision-form .form-field label{top: -15px;font-size: 18px;}
    .reviews-wrapper {gap: 30px;}
    .reviews-summary,
    .reviews-form-side {padding-right: 30px;}

    .packages-flex {grid-template-columns: 1fr;gap: 30px;margin-top: 20px;}
    .filter-sidebar {position: relative;top: 0;}
    .search-filter, 
    .filter-group {margin-bottom: 20px;}
    .filter-group h4 {font-size: 18px;}
    .filter-group li {margin-bottom: 5px;}
    .custom-checkbox label {gap: 10px;font-size: 16px;}



}

@media (max-width: 576px) {
    .features-grid {grid-template-columns: 1fr; gap: 20px;margin-top: 20px;}
    .feature-item {padding: 0;}
    .feature-item h4,
    .feature-item h5{font-size: 18px;}
    .feature-item p {font-size: 16px;}

    .choose-grid {grid-template-columns: minmax(0, 1fr); gap: 12px; } 
    .choose-grid-item, .choose-grid-item:nth-child(4), 
    .choose-grid-item:nth-child(5) {grid-column: span 1; height: 230px; }

    .travel-contact-inner{grid-template-columns: 1fr;gap: 20px;padding: 30px 20px;}
    .travel-contact-avatar{margin: 0 auto;}
    .travel-contact-button{font-size: 16px;}
    .travel-contact-action{justify-content: flex-start;}

    .tips-accordion .accordion-header h3 {font-size: 16px;}

    .momentsSwiperV3 .swiper-slide {height: 220px;width: 95% !important;}
    .momentsSwiperV3 .swiper-slide p{font-size: 13px;}
    .tour-moments-v3 .swiper-button-next {right: 5px;}
    .tour-moments-v3 .swiper-button-prev {left: 5px;}

    .precision-form label,
    .toggle-text {font-size: 16px;}
    .precision-form input, 
    .precision-form select, 
    .precision-form textarea{padding: 15px;font-size: 16px;height: 50px;}
    .form-header-inline h4{font-size: 16px;margin-bottom: 0;}
    .stars-outline{font-size: 23px;}
    .reviews-wrapper {grid-template-columns: 1fr;}
    .reviews-summary, 
    .reviews-form-side {padding: 0;}
    .reviews-summary h3 {font-size: 26px;}
    .reviews-wrapper::after{content: unset;}

    .custom-checkbox input[type="checkbox"] {width: 16px;height: 16px;}
    .filter-group h4 {font-size: 16px;}
    .custom-checkbox label {font-size: 14px;}

    .cruises-archive-card{grid-template-columns: 1fr;}
    .cruises-archive-card .cruises-archive-content{padding: 20px 15px}
    .cruises-archive-card .cruises-archive-content .cruises-archive-meta > span:not(:last-child) {padding-right: 15px;margin-right: 15px;font-size: 15px;}
    .cruises-archive-card .cruises-archive-content .cruises-archive-title {font-size: 22px;}
    .cruises-archive-card .cruises-archive-content .cruises-archive-footer{display: block}
    .cruises-archive-card .cruises-archive-content .cruises-archive-footer .cruises-archive-price{margin-bottom: 12px;}
}




