*{

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}

html {

    scroll-behavior: smooth;

}

body {

    font-family: 'Roboto', Arial, sans-serif;

    background: #fff;

    transition: background-color 0.5s ease;

}

.container{

    width: 1200px;

    max-width: 100%;

    margin: auto;

}

header {

    display: flex;

    gap: 40px;

    padding: 0px 100px;

    height: 72px;

    align-items: center;

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    transition: transform 0.2s ease, background-color 0.2s ease;

    z-index: 1000;

    justify-content: space-between;
    .logo {
        margin-top: 50px;
        img {
            width: 70%;
        }
    }

}



header nav ul {

    list-style: none;

    display: flex;

    justify-content: center;

    padding: 50px 10px 10px;

}



header nav ul li {

    max-width: 100%;

    margin: 0 10px;

    color: #000;

    font-weight: 700;

    letter-spacing: 2px;

    cursor: pointer;

    font-size: 20px;

    display: inline-block;

    padding: 0 10px;

    position: relative;

    transition: color 0.3s ease-in-out;

}



header nav ul li a {

    text-decoration: none;

    color: inherit;

}



header nav ul li::after {

    content: "";

    position: absolute;

    bottom: -5px;

    left: 50%;

    transform: translateX(-50%) scaleX(0);

    width: calc(100% - 20px);

    height: 3px;

    background: #fff;

    transform-origin: center;

    transition: transform 0.3s ease-in-out;

}



header nav ul li:hover {

    color: #dddddd; 

}



header nav ul li:hover::after {

    transform: translateX(-50%) scaleX(1);

}



header nav ul li.active {

    color: #fff;

}



header nav ul li.active::after {

    content: "";

    position: absolute;

    bottom: -5px;

    left: 50%;

    transform: translateX(-50%) scaleX(1);

    width: calc(100% - 20px);

    height: 3px;

    background: #fff;

    transform-origin: center;

}



/* Hamburger Menu */

.menu-toggle {

    display: none;

    flex-direction: column;

    cursor: pointer;

    gap: 5px;

    z-index: 1100;

}

.menu-toggle div {

    width: 30px;

    height: 3px;

    background-color: black;

}



.menu-toggle.close {

    content: "✖";

}

.nav-bar {

    display: flex;

    margin-right: 100px;

}



/* Dropdown Menu */

.dropdown-menu {

    display: none;

    position: absolute;

    top: 100%;

    left: 0;

    background-color: #AAAAAA;

    padding: 10px 0;

    list-style: none;

    min-width: 100%;

    z-index: 1001;

}



.dropdown-menu li {

    margin: 0;

    padding: 5px 10px;

    font-size: 16px;

    color: #000;

    transition: background-color 0.3s ease-in-out;

    box-sizing: border-box; 

    white-space: nowrap;  

    overflow: hidden; 

    text-overflow: ellipsis; 

    max-width: 100%;

    letter-spacing: 2px;

    cursor: pointer;

    display: inline-block;

    position: relative;

}



.dropdown-menu li a {

    color: inherit;

    text-decoration: none;

    display: block;

    width: 100%; 

    overflow: hidden;

    text-overflow: ellipsis;

    text-align: center;

}



.dropdown:hover .dropdown-menu {

    display: block;

}



.dropdown-menu li::after {

    bottom: 0; 

    left: 50%;

    transform: translateX(-50%) scaleX(0);

    width: calc(100% - 20px);

}



.dropdown-menu li:hover::after {

    transform: translateX(-50%) scaleX(1);

}

nav.nav-bar {

    margin-right: 100px;

}

header .logo a{

    text-decoration: none;

}

header .logo p{

    font-size: 40px;

    color: #000;

    font-weight: 700;

}

section.main-banner {

    background-image: url(../img/banner/ps-banner.png);

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    color: white;

    display: flex;

    justify-content: center; 

    text-align: center;

    padding: 20px;

    box-sizing: border-box;

    font-family: Arial, sans-serif;

    font-size: 24px;

    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);

    height: 920px;

    position: relative;

    overflow: hidden;

    cursor: pointer;

}

section.main-banner {

    max-width: 100%;     

}

section.main-banner .content{

    align-items: center;

}

section.main-banner .content p.intro {
    position: absolute;
    font-size: 30px;
    font-weight: 900;
    top: 130px;
    left: 48px;
    line-height: 35px;
    letter-spacing: 0px;
}



/* start introduction */

section.introduction{

    margin-top: 120px;

    display: flex;

    flex-wrap: wrap;

}



section.introduction .container{

    width: 1200px;

    max-width: 100%;

    margin: 0px auto;

    padding: 0px 20px;

}



section.introduction .container .self-introduction{

    display: flex;

    justify-content: center;

    flex-direction: column;

    gap: 10px 0px;

    color: #545454;

}

section.introduction .container .self-introduction .title {

    margin-bottom: 60px;

}

section.introduction .container .self-introduction .title h1{

    font-size: 48px;

    text-align: center;

    font-weight: bold;

}



section.introduction .container .self-introduction .control-info {

    display: flex;

}



section.introduction .container .self-introduction .paragraph .paragraph {

    flex: 0 0 70%; /* 70% width */

}



section.introduction .container .self-introduction .paragraph p{

    font-size: 20px;

    font-weight: 300;

    text-align: left;

    hyphens: auto;

    letter-spacing: 0.2px;

    word-spacing: -1px;

    word-break: break-word;

}



.tripadvisor {

    flex: 0 0 30%; /* 30% width */

}



/* end introduction */



section.discover {

    margin-top: 30px;

    display: flex;

    border-radius: 5px;

    align-items: center;

    justify-content: space-between;

    padding: 20px;

}

.discover .content {

    display: flex;

    width: 100%;

    justify-content: space-between;

}

.discover-wrap {

    padding: 20px;

    position: relative;

    display: flex;

    width: 100%;

    justify-content: space-between;

    background: #D5D5D7;

}

.discover-wrap .title {

    position: relative;

    flex: 1;

    padding-right: 20px;

}

.discover-wrap .title h1 {

    margin-top: 40px;

    font-size: 42px;

    line-height: 1.5;

    font-weight: 300;

    color: #545454;

}

.discover-wrap button.more-detail {

    display: flex;

    position: absolute;

    bottom: 50px;

    left: 140px;

    font-size: 20px;

    padding: 10px 30px;

    background-color: #000;

    color: #fff;

    border: none;

    border-radius: 50px;

    align-items: center;

    letter-spacing: 2px;

    font-weight: 200;
    width: 16%;
}

.discover-wrap .photo {

    display: flex;

    gap: 40px;

}

.discover-wrap .photo ul {

    padding: 0;

    margin: 0;

    list-style: none;

    display: flex;

    gap: 25px;

    justify-content: center;

}

.discover-wrap .photo ul li {

    position: relative;

    list-style: none;

}

.discover-wrap .photo ul li img {

    width: 224px;

    height: 280px;
    max-width: 100%;

    object-fit: cover;

}

.discover-wrap .photo ul li:nth-child(2) img {

    height: 280px;

    margin-bottom: -20px;

}

.discover-wrap .photo ul li:nth-child(1) img,

.discover-wrap .photo ul li:nth-child(3) img {

    margin-top: 50px;

}

section.best-visit.aos-init.aos-animate {

    margin-top: 80px;

}

section.best-visit .content article .title {

    text-align: center;

}

section.best-visit .content article .title h1 {

    font-size: 40px;

}

section.best-visit .content article .title p {

    font-size: 20px;

    font-weight: 300;

}

section.best-visit {

    padding: 50px 0;

}

section.best-visit {

    margin: 0 auto;

    padding: 0 20px;

}

section.best-visit .title {

    margin-bottom: 100px;

}

section.best-visit .title h1 {

    font-size: 2rem;

    font-weight: bold;

    margin-bottom: 10px;

    color: #545454;

}

section.best-visit .title p {

    font-size: 1rem;

    color: #545454;

}

section.best-visit .best-place {

    display: flex;

    gap: 30px;

    justify-content: center;

}

section.best-visit .destination-card {

    text-align: center;

    /* width: 100%; */

    /* max-width: 350px; */

}

section.best-visit .destination-card img {

    width: 100px;

    height: 100px;

    margin-bottom: 15px;

    object-fit: cover;

    border-radius: 8px;

    background-color: #000;

    padding: 10px;

}

section.best-visit .destination-card .card-title {

    font-size: 1.5rem;

    font-weight: bold;

    margin-bottom: 10px;

    color: #545454;

}

section.best-visit .destination-card .description {

    font-size: 1rem;

    color: #545454;

    line-height: 1.4;

}

section.main-place{

    margin-top: 80px;

}

section.main-place article.place-visit .title{

    text-align: center;

}

section.main-place article.place-visit .title h1{

    font-size: 40px;

    color: #545454;

}

section.main-place article.place-visit .title p{

    margin-top: 10px;

    font-size: 20px;

    font-weight: 300;

    color: #545454;

}

section.main-place article .photo-place {

    margin: 0 auto;

    padding: 20px;

    margin-top: 40px;

}

section.main-place article .photo-place ul {

    list-style: none;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    grid-template-rows: repeat(2, 1fr);

    gap: 20px;

    padding: 0;

}

section.main-place article .photo-place ul li:nth-child(1) {

    grid-column: span 2;

    grid-row: span 1;

}

section.main-place article .photo-place ul li:nth-child(2) {

    grid-column: span 1;

    grid-row: span 1;

}

section.main-place article .photo-place ul li:nth-child(3),

section.main-place article .photo-place ul li:nth-child(4),

section.main-place article .photo-place ul li:nth-child(5) {

    grid-column: span 1;

    grid-row: span 1;

}

section.main-place article .photo-place ul li img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 5px;

    transition: transform 0.3s ease-in-out;

    cursor: pointer;

}

section.main-place article .photo-place ul li img:hover {

    transform: scale(1.02);

    opacity: 0.8;

    z-index: 1;

}

section.main-place article .photo-place ul li img:hover {

    transform: scale(1.02);

    opacity: 0.8;

}

section.témoignages{

    margin-top: 40px;

}

section.témoignages .témoignages-wrap {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    height: 100%;

}

section.témoignages .témoignages-wrap .title h1{

    margin-top: 80px;

    color: #545454;

    font-size: 40px;

}

section.témoignages .témoignages-wrap .title p {

    font-size: 20px;

    margin-bottom: 15px;

    color: #545454;

}

.carousel-container {

    position: relative;

    width: 100%;

    overflow: hidden;

    margin-bottom: 80px;

}

.carousel-items {

    display: flex;

    transition: transform 0.5s ease;

    gap: 40px;

    justify-content: center;

}

.item {

    width: 1000px;

    max-width: 100%;

    border-radius: 50px;

}

.item .shadow-cart {

    display: flex;

    gap: 20px;

    flex-wrap: nowrap;

    align-items: center;

    font-family: 'Courier New', Courier, monospace;

    border: 2px solid #ccc;

    border-radius: 14px;

    transition: border-color 0.4s ease-in-out, box-shadow 0.4s ease-in-out;

}

.item .shadow-cart:hover {

    border-color: #888;

    box-shadow: 0 0 10px 2px #888;

}

 .carousel-container .carousel-icon {

    display: flex;

    gap: 20px;

    justify-content: center;

    align-items: center;

    margin: 20px 0 4px 0;

}

.carousel-container .carousel-icon div {

    border-radius: 50%;

    box-shadow: -4px -4px 4px #FFFFFF;

    margin: 0px 20px 0px 0px;

}

.carousel-container .carousel-icon div:last-child {

    margin: 0px 0px 0px 0px;

}

.carousel-container .carousel-icon div button {

    background: #ededed;

    border-bottom: 0px solid #ededed;

    border-left: 0px solid #ededed;

    border-radius: 50%;

    border-right: 0px solid #ededed;

    border-top: 0px solid #ededed;

    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.2);

    width: 40px;

    height: 40px;

    max-width: 100%;

    cursor: pointer;

    transition: all 0.3s ease;

}

.carousel-container .carousel-icon div button:hover {

    background: #E1E1E1;

}



.card-image img {

    width: 440px;

    height: 296px;

    object-fit: cover;

    border-radius: 15px;

}



.card-content {

    width: 440px;

    max-width: 100%;

    height: 296px;

    object-fit: cover;

    display: flex;

    flex-direction: column;

    justify-content: center;

}



.card-content h3 {

    color: #545454;

    font-size: 30px;

    font-weight: 700;

    line-height: 1.2;

    margin: 0px 0px 20px 0px;

    max-width: 100%;

}



.card-content p {

    color: #545454;

    font-size: 20px;

    font-weight: 400;

    line-height: 1.6;

    width: 100%;

    max-width: 100%;

}



.card-content .tag-property {

    display: flex;

    flex-wrap: wrap;

    font-size: 12px;

    align-items: center;

    flex-direction: row;

    flex-wrap: nowrap;

    gap: 10px;

    margin: 20px 0px 0px 0px;

    max-width: 100%;

}



.card-content .tag-property span {

    background: #dfdfdf;

    color: #464646;

    font-size: 12px;

    font-weight: 400;

    height: auto;

    line-height: 1.2;

    padding: 2px 5px 2px 5px;

    width: auto;

    max-width: 100%;

}



section.popular-place {

    margin-top: 40px;

}



section.popular-place {

    padding: 0px 20px;

    margin: auto;

}



.popular-place .all-places .title h1 {

    font-size: 40px;

    color: #545454;

}



.popular-place .all-places h1.title a {

    font-size: 20px;

    color: #545454;

    text-decoration: none;

    text-align: left;

}



.popular-place .pop-places {

    position: relative;

    margin-top: 40px;

    display: flex;

    justify-content: center;

    gap: 20px;

    flex-wrap: wrap;

    align-items: center;

}



.popular-place .place-card {

    width: 280px;

    background-color: #f4f4f4;

    padding: 5px;

    border-radius: 8px;

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

    position: relative;

}



.popular-place .place-card img {

    position: relative;

    width: 260px;

    height: 260px;

    object-fit: cover;

    border-radius: 8px;

    margin-bottom: 5px;

    display: block;

    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

    border: 1px solid #ddd;

    transition: transform 0.3s ease-in-out;

    cursor: pointer;

}



.popular-place .place-card img:hover {

transform: scale(1.05);

z-index: 1;

opacity: 0.5;

}



.popular-place .place-card .title {

    font-size: 20px;

    font-weight: 600;

    margin-bottom: 10px;

}



.popular-place .place-card .content {

    font-size: 16px;

    line-height: 1.5;

    margin-bottom: 8px;

    color: #545454;

}



.popular-place .place-card .option {

    display: flex;

    justify-content: space-between;

    gap: 10px;

    padding-bottom: 8px;

}



.popular-place .place-card .price, .popular-place .place-card .visit-more {

    padding: 7px 25px;

    font-size: 14px;

    background-color: #000;

    color: #fff;

    border: none;

    cursor: pointer;

    border-radius: 5px;

    letter-spacing: 0.2px;

    text-transform: uppercase;

}



.popular-place .place-card .visit-more p a{

    text-decoration: none;

    color: #fff;

}



.popular-place .place-card .price:hover, .popular-place .place-card .visit-more:hover {

    background-color: #0c0c0cc7;

    color: #fff;

}



.popular-place .place-card .ribbon {

    background-color: #000000;

    color: #fff;

    padding: 3px 8px;

    display: inline-block;

    position: absolute;

    top: 15px;

    right: 15px;

    border-radius: 6px;

    text-transform: uppercase;

    font-size: 10px;

}



.popular-place .place-card .location {

    margin-top: 15px;

    position: absolute;

    top: 214px;

    left: 16px;

    display: flex;

}



.popular-place .place-card .location i {

    margin-right: 5px;

    font-size: 20px;

    color: #fff;

    margin-top: 8px;

    z-index: 2;

}



.popular-place .place-card .location p {

    margin-right: 5px;

    font-size: 16px;

    color: #fff;

    line-height: 44px;

    z-index: 2;

}



/* start tour-itinerary */

section.banner-tour-itinerary {

    height: 500px;

    background-image: url(../img/banner/tour-itinerary.jpg);

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    color: white;

    display: flex;

    justify-content: center;

    align-items: center;

    text-align: center;

    padding: 20px;

    box-sizing: border-box;

    font-family: Arial, sans-serif;

    font-size: 24px;

    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);

    position: relative;

    overflow: hidden;

    cursor: pointer;

}



section.banner-tour-itinerary {

    display: flex;

    justify-content: center;

    align-items: center;

    flex-direction: column;

    width: 100%;

}



section.banner-tour-itinerary h1.text-content {

    position: relative;

    z-index: 1;

    margin: 0;

}





section.tour-itinerary .content {

    display: flex;

    gap: 20px;

}



.left-tour-itinerary {

    flex: 0 0 20%;

}



.left-itinerary {

    padding: 20px;

    border-radius: 8px;

    margin-top: 10px;

}



.itinerary-criteria h1 {

    font-size: 20px;

    margin-bottom: 15px;

    text-align: center;

    color: #545454;

}



.itinerary-category, .itinerary-activity, .itinerary-review, .itinerary-search {

    margin-bottom: 20px;

}



.itinerary-category h2, .itinerary-activity h2, .itinerary-review h2, .itinerary-search h2 {

    font-size: 20px;

    margin-bottom: 10px;

    color: #545454;

}



.itinerary-category p, .itinerary-activity p {

    font-size: 15px;

    margin: 5px 0;

    cursor: pointer;

    letter-spacing: 0.5px;

    margin-top: 5px;

    color: #545454;

}



.itinerary-category input, .itinerary-activity [type="checkbox"] {

    margin-right: 10px;

    width: 18px;

    height: 18px;

    accent-color: #0078d4;

    cursor: pointer;

}



.itinerary-category p input[type="checkbox"] + label {

    font-size: 20px;

}



.itinerary-category hr.category, .itinerary-activity hr.activity{

    margin-bottom: 13px;

} 



.itinerary-review ul {

    list-style-type: none;

    padding-left: 0;

}



.itinerary-review li {

    font-size: 16px;

}



.itinerary-review li.one i {

    color: orange;

    font-size: 20px;

    letter-spacing: 10px;

    margin-bottom: 5px;

}



.itinerary-review li.two i {

    color: orange;

    font-size: 20px;

    letter-spacing: 10px;

    margin-bottom: 5px;

}



.itinerary-review li.two span i{

    color: #D1D3D4;

    font-size: 20px;

    letter-spacing: 10px;

}



.itinerary-review li.three i {

    color: orange;

    font-size: 20px;

    letter-spacing: 10px;

    margin-bottom: 5px;

}



.itinerary-review li.three span i{

    color: #D1D3D4;

    font-size: 20px;

    letter-spacing: 10px;

}



.itinerary-review li.four i {

    color: orange;

    font-size: 20px;

    letter-spacing: 10px;

    margin-bottom: 5px;

}



.itinerary-review li.four span i{

    color: #D1D3D4;

    font-size: 20px;

    letter-spacing: 10px;

}



.itinerary-review li.five i {

    color: orange;

    font-size: 20px;

    letter-spacing: 10px;

}

.itinerary-review li.five span i{

    color: #D1D3D4;

    font-size: 20px;

    letter-spacing: 10px;

}





.itinerary-search input {

    width: 100%;

    padding: 8px;

    border: 1px solid #ddd;

    border-radius: 4px;

}



.right-tour-itinerary {

    flex: 0 0 80%;

}



/* General Styling */

.package-sort {

    padding: 20px 0;

    border-radius: 8px;

    margin-top: 10px;

}



/* General Styling */

.package-sort ul {

    list-style-type: none;

    padding-left: 0;

    display: flex;

    justify-content: flex-start;

    cursor: pointer;

    gap: 40px;

    color: #545454;

}

.package-sort li {

    position: relative;

    font-size: 20px;

}





.package-sort li:nth-child(1) { 

    margin-right: 360px;

}



.package-sort li:nth-child(2) { 

    margin-right: 30px;

}



.package-sort li:nth-child(3) {

    margin-right: 15px;

}



.package-sort li:nth-child(4) { 

    margin-right: 20px;

}



.package-sort .drop-down i {

    margin-left: 5px;

}



.package-sort .drop-down ul {

    display: none; 

    position: absolute;

    top: 100%; 

    left: 0;

    background-color: #fff;

    border: 1px solid #ddd;

    border-radius: 4px;

    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);

    padding: 10px 0;

    width: 150px; 

    z-index: 10;

}



.package-sort .drop-down:hover > ul {

    display: block; 

}



.package-sort .drop-down ul li {

    padding: 8px 16px;

    width: 150px;

    font-size: 14px;

    cursor: pointer;

}



.package-sort .drop-down ul li:hover {

    background-color: #f0f0f0; 

}



.package-sort > h2 {

    font-size: 18px;

    font-weight: bold;

    margin-bottom: 10px;

}



.package-wrap {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 15px 10px;

}



.package-wrap-tour {

    background-color: #f9f9f9;

    padding: 5px;

    border-radius: 8px;

    text-align: center;

    position: relative;

    overflow: hidden;

    display: inline-block;



    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1),

                0 6px 20px rgba(0, 0, 0, 0.1);

    transition: box-shadow 0.3s ease, transform 0.3s ease;

}



.package-wrap-tour:hover {

    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15),

                0 12px 40px rgba(0, 0, 0, 0.2);

    transform: translateY(-3px);

}



.package-wrap-tour p.discount {

    display: flex;

    position: absolute;

    font-size: 14px;

    color: #fff;

    font-weight: bold;

    top: 15px;

    right: 15px;

    text-transform: uppercase;

    z-index: 2;

    background: rgb(0 0 0 / 80%);

    padding: 2px 5px;

    border-radius: 4px;

}



.package-wrap-tour img {

    width: 216px;

    height: 236px;

    object-fit: cover;

    border-radius: 8px;

    margin-bottom: 5px;

    display: block;

    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

    border: 1px solid #ddd;

    transition: transform 0.3s ease-in-out;

    cursor: pointer;

}



.package-wrap-tour img:hover {

    transform: scale(1.05);

    z-index: 1;

}



.package-wrap-tour img:hover {

    transform: scale(1.05);

}



.tour-location {

    position: absolute;

    display: flex;

    align-items: center;

    justify-content: left;

    margin-bottom: 15px;

    left: 10px;

    top: 218px;

}



.tour-location i {

    margin-right: 8px;

    font-size: 18px;

    color: #fff;

}



.tour-location p {

    font-size: 16px;

    cursor: pointer;

    color: #fff;

}



.package-wrap-tour h1 {

    display: flex;

    font-size: 18px;

    margin: 0px 0px 5px 5px;

    cursor: pointer;

    color: #545454;

    text-align: left;

}



.package-wrap-tour h1 a{

    text-decoration: none;

    color: #545454;

}



.package-wrap-tour p.tour-description {

    display: inline-block;

    font-size: 16px;

    text-align: justify;

    hyphens: auto;

    color: #545454;

    word-break: break-word;

    word-spacing: -1px;

    margin: 0 0 5px 5px;

    letter-spacing: 0.2px;

    text-align-last: left;

}



.tour-btn {

    margin-top: 10px;

    display: flex;

    justify-content: space-between;

    padding: 0px 4px;
    gap: 15px;

}



.price, .more-detail {

    padding: 10px 20px;

    font-size: 16px;

    border-radius: 4px;

    cursor: pointer;

}



.price {

    background-color: #000;

    color: white;

    border: none;

    padding: 10px;

    font-size: 14px;

}



.more-detail {

    background-color: #000;

    color: #fff;

    border: none;

    font-size: 12px;

    text-transform: uppercase;

}



.more-detail a{

   text-decoration: none;

   color: #fff;

}

.price:hover {

    background-color: #363636;

}



.more-detail:hover {

    background-color: #363636;

}

/* block tour detail */

/* Parent Section */

section.tour-detail {

    width: 100%;

    margin-top: 60px;

}



.tour-detail {

    max-width: 100%;

    height: auto;

    padding: 0px 20px;

}



.tour-detail .content {

    display: flex;

    gap: 2%;

}



/* Left Column */

.tour-detail .content .detail-left {

    width: 70%;

}



.tour-detail .content .detail-left .wrap-detail {

    width: 100%;

}

.tour-detail .content .detail-left .wrap-detail img{
    width: 100%;
    height: 633px;
    object-fit: cover;

}


.tour-detail .content .detail-left .wrap-detail .detail-main-slide img {

    width: 100%;      

    height: 500px;    

    display: block;    

    object-fit: cover; 

    border-radius: 8px; 

    cursor: pointer;

}





.tour-detail .content .detail-left .wrap-detail .detail-sub-slide {

    display: flex;

    gap: 10px;

    margin-top: 10px;

    cursor: pointer;

}



.tour-detail .content .detail-left .wrap-detail .detail-sub-slide img {

    width: calc(20% - 8px);

    display: block;

    object-fit: cover;

    height: 130px;

}



.tour-detail .content .detail-left .wrap-detail .detail-sub-slide img:hover {

    color: #000;

    opacity: 0.7;

}



/* Right Column */

.tour-detail .content .detail-right {

    width: 30%;

    background-color: #f9f9f9;

    padding: 10px 20px 0px 20px;

    border-radius: 10px;

}



.tour-detail .content .detail-right .detail-info {

    margin-bottom: 20px;

}



.tour-detail .content .detail-right .detail-info h1{

    text-transform: uppercase;

    letter-spacing: 1px;

    font-size: 25px;

    color: #545454;

}

.tour-detail .content .detail-right .detail-info h1 + hr{

    margin: 0px 0px 5px 0px;

    opacity: 0.5;

}



.tour-detail .content .detail-right .detail-info .wrap-detail-info p {

    margin: 5px 0;

    font-size: 20px;

    letter-spacing: 1px;

    color: #545454;

}



.tour-detail .content .detail-right form .detail-arrival,

.tour-detail .content .detail-right form .detail-departure {

    margin-bottom: 15px;

}



.tour-detail .content .detail-right form .detail-arrival h1, 

.tour-detail .content .detail-right form .detail-departure h1 {

    text-transform: uppercase;

    letter-spacing: 1px;

    font-size: 20px;

    color: #545454;

}



.tour-detail .content .detail-right form .detail-arrival h1 + hr, 

.tour-detail .content .detail-right form .detail-departure h1 + hr{

    margin: 0px 0px 15px 0px;

    opacity: 0.5;

}



.tour-detail .content .detail-right form input[type="date"] {

    width: 100%;

    padding: 8px;

    border: 1px solid #ccc;

    border-radius: 4px;

    color: #545454;

}



.tour-detail .content .detail-right .detail-location {

    margin-top: 20px;

}



.tour-detail .content .detail-right .detail-location h1{

    text-transform: uppercase;

    letter-spacing: 1px;

    font-size: 20px;

    color: #545454;

}



.tour-detail .content .detail-right .detail-location h1 + hr{

    margin: 0px 0px 8px 0px;

    opacity: 0.5;

}



.tour-detail .content .detail-right .detail-location .wrap-detail-location iframe {

    width: 100%;

    height: 240px;

    display: block;

}



.tour-detail .content .detail-right button {

    display: block;

    margin: 8px 2px 0px 5px;

    padding: 10px 20px;

    font-size: 20px;

    cursor: pointer;

    border: none;

    border-radius: 5px;

    background-color: #000;

    color: #fff;

    text-align: center;

    width: 100%;

}



.tour-detail .content .detail-right button:hover {

    background-color: #414141ec;

}



/* Container Styling */

.tab-collapse {

    max-width: 100%;

    margin: 40px auto;

    border-radius: 5px;

    overflow: hidden;

    /* padding: 0px 20px; */

    width: 1200px;

}



/* Tabs Container */

.tab-collapse .tabs {

    display: flex;

    justify-content: space-around;

}



/* Tab Buttons */

.tab-btn {

    flex: 1;

    padding: 10px;

    outline: none;

    background: none;

    cursor: pointer;

    font-size: 14px;

    text-align: center;

    border: 1px solid transparent;

    transition: all 0.3s ease;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

}



/* Active Tab Button with Specific Borders */

.tab-btn.active {

    background-color: #000;

    color: #fff;

    border-bottom: none;

    font-weight: bold;

}



/* Hover Effect for Tab Buttons */

.tab-btn:hover {

    border-bottom: none;

}



/* Individual Border Customization for Each Tab */

.tab-btn:nth-child(1) { 

    border-top: 2px solid #545454; 

    border-left: 2px solid #545454; 

    opacity: 0.5;

}

.tab-btn:nth-child(2) { 

    border-top: 2px solid #545454; 

    border-right: 2px solid #545454; 

    border-left: 2px solid #545454; 

    opacity: 0.5;

}

.tab-btn:nth-child(3) { 

    border-top: 2px solid #545454; 

    border-right: 2px solid #545454; 

    opacity: 0.5;

}

.tab-btn:nth-child(4) { 

    border-top: 2px solid #545454; 

    border-right: 2px solid #545454; 

    opacity: 0.5;

}

.tab-btn:nth-child(5) { 

    border-top: 2px solid #545454; 

    border-right: 2px solid #545454; 

    opacity: 0.5;

}



/* Tab Content */

.tab-content {

    display: none;

    padding: 20px;

    border: 2px solid #545454;

    background-color: #fff;

    width: 99.99%;

    opacity: 0.5;

    margin-top: -1px;

}

.tab-content.active {

    display: block;

    border-top: none; /* Remove top border to align with active tab */

}



.tab-content p {

    line-height: 25px;

}



/* end block tour dettail */



/* related tour */



section.related-itinerary {

    margin: 0 auto;

    padding: 20px;

}



section.related-itinerary .related-title h1 {

    font-size: 25px;

    text-transform: uppercase;

    color: #545454;

    letter-spacing: 1px;

}



section.related-itinerary .related-title h1 + hr {

    margin: 2px 0px 30px 0px;

    border: none;

    height: 2px;

    background: #ccc;

}



section.related-itinerary .content {

    display: inline-block;

}

section.related-itinerary .content .package-wrap {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 15px 10px;

}



.package-wrap-related {

    background-color: #f9f9f9;

    padding: 5px;

    border-radius: 8px;

    text-align: center;

    position: relative;

    overflow: hidden;

    display: inline-block;
    height: 415px;



    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1),

                0 6px 20px rgba(0, 0, 0, 0.1);

    transition: box-shadow 0.3s ease, transform 0.3s ease;

}



.package-wrap-related:hover {

    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15),

                0 12px 40px rgba(0, 0, 0, 0.2);

    transform: translateY(-3px);

}



.package-wrap-related p.discount {

    display: flex;

    position: absolute;

    font-size: 14px;

    color: #fff;

    font-weight: bold;

    top: 15px;

    right: 15px;

    text-transform: uppercase;

    z-index: 2;

    background: rgb(0 0 0 / 80%);

    padding: 2px 5px;

    border-radius: 4px;

}



.package-wrap-related img {

    width: 100%;

    height: 236px;

    object-fit: cover;

    border-radius: 8px;

    margin-bottom: 5px;

    display: block;

    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

    border: 1px solid #ddd;

    transition: transform 0.3s ease-in-out;

    cursor: pointer;

}



.package-wrap-related img:hover {

    transform: scale(1.05);

    z-index: 1;

}



.package-wrap-related img:hover {

    transform: scale(1.05);

}



.related-location {

    position: absolute;

    display: flex;

    align-items: center;

    justify-content: left;

    margin-bottom: 15px;

    left: 10px;

    top: 218px;

}



.related-location i {

    margin-right: 8px;

    font-size: 18px;

    color: #fff;

}



.related-location p {

    font-size: 16px;

    cursor: pointer;

    color: #fff;

}



.package-wrap-related h1 {
    display: flex;
    font-size: 18px;
    margin: 0px 0px 5px 5px;
    cursor: pointer;
    color: #545454;
    text-align: left;
    
    /* ✅ Force break by character */
    word-break: break-all; /* Break at any character */
    overflow-wrap: break-word; /* Ensure it wraps within the container */
    white-space: normal; /* Allow wrapping */
}


.package-wrap-related h1 a {

 text-decoration: none;

 color: #000;

}

.package-wrap-related p.related-description {

    display: flex;

    font-size: 16px;

    margin: 0 0 5px 5px;

    justify-content: space-between;

    text-align: justify;

    hyphens: auto;

    color: #545454;

}



.package-wrap-related .related-btn {

    margin-top: 15px;

    display: flex;

    justify-content: space-between;

    padding: 0px 4px;

}

.package-wrap-related .related-btn a{

    text-decoration: none;

}

.package-wrap-related .related-btn .price, .more-detail {

    padding: 10px 20px;

    font-size: 16px;

    border-radius: 4px;

    cursor: pointer;

}



.package-wrap-related .related-btn .price {

    background-color: #000;

    color: white;

    border: none;

    padding: 10px;

    font-size: 14px;
    width: 90px;

}



.more-detail {

    background-color: #000;

    color: #fff;

    border: none;

    font-size: 12px;

    text-transform: uppercase;

}



.price:hover {

    background-color: #363636;

}



.more-detail:hover {

    background-color: #363636;

}

/* end related tour */

/* start actvity */

section.activity {

    padding: 0px 20px;

    margin-top: 60px;

}



section.activity .wrap-activity{

    display: inline-block;

}



section.activity .wrap-activity img{

    width: 100%;

    height: 400px;

    object-fit: cover;

    border-radius: 5px;

    margin: 15px 0px 5px 0px;

    cursor: pointer;

}



section.activity .wrap-activity img:hover{

    opacity: 0.8;

}



section.activity .wrap-activity .activity-content h1{

    font-size: 30px;

    letter-spacing: 1px;

    color: #545454;

}



section.activity .wrap-activity .activity-content h1 a{

    text-decoration: none;

    color: #545454;

}



section.activity .wrap-activity .activity-content p{

    font-size: 20px;

    color: #545454;

    letter-spacing: 0.5px;

    line-height: 25px;

}

/* end activity */

/* start actvity detail*/

section.activity-detail{

    padding: 0px 20px;

    margin-top: 120px;

}

section.activity-detail .main-active-detail{

    width: 100%;

    display: flex;

    justify-content: space-between;

    gap: 20px;

    padding: 0px 20px;

}

section.activity-detail .wrap-activity-detail{

    justify-content: start;

    width: 70%;

}

section.activity-detail .active-side{

    justify-content: start;

    width: 30%;

    background-color: #eee;

    padding: 10px;

    border-radius: 5px;

    height: 100%;

}



section.activity-detail .active-side h1{

    margin-bottom: 10px;

    font-size: 25px;

    text-align: center;

    position: relative;

}



section.activity-detail .active-side .wrap-list ul li{

    list-style: none;

    padding: 5px 0px;

}



section.activity-detail .active-side .wrap-list ul li a{

    text-decoration: none;

    color: #000;

}



section.activity-detail .wrap-activity-detail img{

    width: 100%;

    height: 400px;

    object-fit: cover;

    border-radius: 5px;

    cursor: pointer;

}



section.activity-detail .wrap-activity-detail img:hover{

    opacity: 0.8;

}



section.activity-detail .wrap-activity-detail .activity-content-detail h1{

    font-size: 30px;

    letter-spacing: 1px;

    color: #545454;

    margin-top: 10px;

}



section.activity-detail .wrap-activity-detail .activity-content-detail p{

    font-size: 20px;

    color: #545454;

    letter-spacing: 0.5px;

    line-height: 25px;

}





/* end activity detail*/

/* start privacy policy */

/* Start Privacy-Policy */

section .privacy-policy .container{

    max-width: 100%;

    margin: 0px auto;

    width: 1200px;

    padding: 0px 20px;

}



section .privacy-policy .container .wrap-policy h1 {

    margin-top: 120px;

    text-align: center;

    margin-bottom: 40px;

    font-size: 40px;

    color: #545454;

}



section .privacy-policy .container .wrap-policy .card{

    display: flex;

    flex-wrap: wrap;

    gap: 15px;

}



section .privacy-policy .container .wrap-policy .card .collapsible {

    color: #545454;

    cursor: pointer;

    padding: 15px;

    width: 100%;

    border: none;

    text-align: left;

    outline: none;

    font-size: 18px;

    border-radius: 2px;

    margin-bottom: 5px;

    transition: background-color 0.3s ease;

    box-shadow: 0 4px 6px rgba(0,0,0,0.1);

    font-size: 24px;

  }



section .privacy-policy .container .wrap-policy .card button .collapsible.active, 

  .collapsible:hover {

    background-color: #dfdfdf;

  }



section .privacy-policy .container .wrap-policy .card .content {

    padding: 15px;

    display: none;

    overflow: hidden;

    background-color: #fff;

    border-left: 4px solid #54545463;

    border-radius: 0 0 8px 8px;

    box-shadow: 0 4px 6px rgba(0,0,0,0.1);

    margin-bottom: 10px;

    transition: max-height 0.3s ease;

    font-family: 'Roboto', Arial, sans-serif;

    color: #545454;

    font-size: 18px;

  }



  /* First tab is active */

  section .privacy-policy .container .wrap-policy .card button .collapsible.active + .content {

    display: block;

  }

/* End Privacy-Policy */

/* end policy privacy */

/* start contact */

section.contact-us {

    margin-top: 60px;

    padding: 0 20px;

}



section.contact-us form {

    margin: 0 auto;

    margin-top: 40px;

}



.group-username {

    display: flex;

    gap: 20px;

    width: 100%;

    margin-bottom: 20px;

}



.group-username .first, .group-username .last {

    display: flex;

    flex-direction: column;

    flex: 1;

}



section.contact-us form .group-username label {

    margin-bottom: 10px;

}



section.contact-us form input {

    width: 100%;

    padding: 8px;

    box-sizing: border-box;

    border: 1px solid #ccc;

    border-radius: 4px;

    font-size: 16px;

    font-family: Arial, sans-serif;

    color: #333;

}



section.contact-us form input:focus {

    border-color: #000000;

    outline: none;

    background-color: #fff;

}



section.contact-us form textarea {

    width: 100%;

    height: 150px;

    padding: 10px;

    box-sizing: border-box;

    border: 1px solid #ccc;

    border-radius: 4px;

    resize: vertical;

    font-size: 16px;

    font-family: Arial, sans-serif;

}



section.contact-us form textarea:focus, input:focus {

    border-color: #000000;

    outline: none;

    background-color: #fff;

}



section.contact-us form .email label, .message label{

    margin-bottom: 10px;

}

section.contact-us form .email, .message {

    grid-column: span 2;

    display: flex;

    flex-direction: column;

    margin-bottom: 20px;

}



section.contact-us form textarea {

    resize: vertical;

}



section.contact-us form .btn {

    grid-column: span 2;

    display: flex;

    justify-content: center;

}



section.contact-us form button.submit {

    padding: 10px 20px;

    cursor: pointer;

    background-color: #000;

    color: white;

    border: none;

    border-radius: 5px;

    transition: background-color 0.3s;

    width: 200px;

    height: 45px;

}



section.contact-us form button.submit:hover {

    background-color: #000000b2;

}

/* end contact */

/* start info practice */

section.infos-pratique {

    max-width: 1200px; 

    margin: 60px auto 10px auto;

    padding: 0 20px;

}

section.infos-pratique .wrap-infos-pratique {

    position: relative;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

    overflow: visible;

}

section.infos-pratique .wrap-infos-pratique .infos-pratique-card {

    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);

    border-radius: 5px;

    box-sizing: border-box;

}

section.infos-pratique .wrap-infos-pratique .infos-pratique-card img {

    width: 100%;

    height: 300px;

    border-radius: 5px;

    object-fit: cover;

    display: block;

    cursor: pointer;

    transition: all 0.3s ease-in-out;

    padding: 8px;

}

section.infos-pratique .wrap-infos-pratique .infos-pratique-card img:hover {

    filter: brightness(70%);

    transform: scale(1.02);

}

section.infos-pratique .wrap-infos-pratique .infos-pratique-card h1{

    font-size: 20px;

    margin: 10px 10px 0px 10px;

}

section.infos-pratique .wrap-infos-pratique .infos-pratique-card p{

    font-size: 16px;

    margin: 0px 10px;

}

section.infos-pratique .wrap-infos-pratique .infos-pratique-card button {

    display: flex;

    justify-content: center;

    align-items: center;

    margin: 10px auto;

    width: 120px;

    height: 35px;

    font-size: 16px;

    border: none;

    border-radius: 50px;

    background-color: #000;

    color: #fff;

    cursor: pointer;

}

section.infos-pratique .wrap-infos-pratique .infos-pratique-card button:hover{

    background-color: #000000e0; 

}



section.infos-pratique .wrap-infos-pratique .infos-pratique-card button a{

    color: #fff;

    text-decoration: none;

}

/* end info practice */

/* start info practice detail */

section.pratique-detail{

    margin-top: 80px;

}



section.pratique-detail .container{

    width: 1200px;

    margin: 0px auto;

}

section.pratique-detail .container .wrap-infos-pratique-detail{

    width: 100%;

    display: flex;

    justify-content: space-between;

    gap: 20px;

    padding: 0px 20px;

}

section.pratique-detail .container .wrap-infos-pratique-detail .infos-content-detail{

    justify-content: start;

    width: 70%;

}

section.pratique-detail .container .wrap-infos-pratique-detail .infos-content-detail h1{

    margin-bottom: 10px;

    text-align: center;

    font-size: 30px;

}

section.pratique-detail .container .wrap-infos-pratique-detail .info-side{

    justify-content: start;

    width: 30%;

    background-color: #eee;

    padding: 10px;

    border-radius: 5px;

    height: 100%;

}



section.pratique-detail .container .wrap-infos-pratique-detail .info-side h1 {

    margin-bottom: 10px;

    font-size: 25px;

    text-align: center;

    position: relative;

}



section.pratique-detail .container .wrap-infos-pratique-detail .info-side h1::after {

    content: '';

    position: absolute;

    top: 35px;

    left: 50%;

    width: 90%;

    border-bottom: 2px solid #000;

    transform: translateX(-50%);

}





section.pratique-detail .container .wrap-infos-pratique-detail .info-side ul li{

    list-style: none;

    padding: 5px 0px;

}

section.pratique-detail .container .wrap-infos-pratique-detail .info-side ul li a{

    text-decoration: none;

    color: #000;

}

/* end info practice detail */

footer{

    margin-top: 80px;

    background-color: #000;

}



footer .all-social{

    position: relative;

}



footer .all-social ul {

    display: flex;

    flex-direction: row;

    justify-content: center;

    gap: 10px;

}

footer .all-social ul li {

    margin-top: 70px;

    list-style: none;

    position: relative;

    overflow: hidden;

}



footer .all-social ul li img {

    width: 40px;

    transition: 0.3s ease-in-out;

}



footer .all-social ul li img:hover {

    filter: brightness(1.2) saturate(1.5) contrast(1.2) hue-rotate(180deg) invert(0.1) sepia(0.2);

    cursor: pointer;

}



footer .all-social ul li::after {

    content: "";

    position: absolute;

    opacity: 0;

    transition: opacity 0.3s ease-in-out;

    pointer-events: none;

}



footer .all-social ul li:hover::after {

    opacity: 1;

    cursor: pointer;

}





footer nav.men-footer{

    position: relative;

}



footer nav.men-footer ul {

    display: flex;

    justify-content: center;

    gap: 40px;

    margin-top: 20px;

}



footer nav.men-footer ul li {

    list-style: none;

    font-size: 18px;

    color: #fff;

    letter-spacing: 1.5px;

    position: relative;

    cursor: pointer;

    display: inline-block;

    transition: color 0.3s ease-in-out;

}



footer nav.men-footer ul li a{

    text-decoration: none;

    color: #fff;

}



footer nav.men-footer ul li:hover {

    color: rgb(124, 124, 124);

}



footer nav.men-footer ul li::after {

    content: "";

    position: absolute;

    bottom: -5px;

    left: 50%;

    transform: translateX(-50%) scaleX(0); 

    width: 100%;

    height: 3px;

    background: #fff;

    transform-origin: center;

    transition: transform 0.3s ease-in-out;

}



footer nav.men-footer ul li:hover::after {

    transform: translateX(-50%) scaleX(1);

}





footer .copywrite{

    position: relative;

    display: flex;

    justify-content: center;

}



footer .copywrite p {

    font-size: 20px;

    margin: 30px 0px;

    color: #fff;

    letter-spacing: 1px;

    font-weight: 300;

}



footer .copywrite p span{

    font-weight: 600;

    font-size: 23px;

}



 footer .copywrite p span a {

    text-decoration: none;

    color: #fff;

    position: relative;

    background-image: linear-gradient(90deg, #fff, #c7c7c7);

    background-size: 0% 100%; 

    background-repeat: no-repeat;

    background-clip: text;

    -webkit-background-clip: text;

    color: #fff;

    transition: background-size 0.4s ease-in-out, color 0.4s ease-in-out;

}



footer .copywrite p span a:hover {

    background-size: 100% 100%;

    color: transparent;

}





.join {

    display: flex;

    justify-content: center;

    align-items: center;

    margin-top: 48px;

}



.join .container {

    text-align: center;

    max-width: 100%;

    width: 1200px;

    background: #dfdfdf;

    border-radius: 5px;

    padding: 100px 50px;

}



.join .container .join-title h1 {

    margin-bottom: 30px;

    font-size: 24px;

}



.join .container .input-container {

    position: relative;

    width: 100%;

}



.join .container .input-container input {

    width: 100%;

    padding: 12px 100px 12px 15px; 

    border: 1px solid #ccc;

    border-radius: 25px;

    font-size: 16px;

}



.join .container .input-container .abonner {

    position: absolute;

    top: 50%;

    right: 5px;

    transform: translateY(-50%);

    background-color: #000;

    color: white;

    border: none;

    padding: 10px 20px;

    border-radius: 20px;

    cursor: pointer;

    font-size: 14px;

}



    .join .container .input-container .abonner:hover {
    
        background-color: #000000e0; 
    
    }
    
    table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 1rem;
        background-color: #fff;
    }
    
    table, th, td {
        border: 1px solid #dee2e6;
    }
    
    th, td {
        padding: 0.75rem;
        vertical-align: top;
        text-align: center;
    }
    
    thead {
        background-color: #f8f9fa;
        font-weight: bold;
    }


