.xs-bg-black { background-color: #061418 !important; }
.xs-sidebar-group.isActive .xs-overlay { opacity: .55 !important; }

.section-title span,
.sub-title,
.hero_content .style-font,
.hero-content .style-font,
.breadcumb-content .sub-title,
.gp-script {
    font-family: "Bebas Neue", sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    font-weight: 400 !important;
}
.section-title span { font-size: 24px !important; }
.breadcumb-content h1::before {
    color: #FFFFFF !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.5) !important;
    font-family: "Bebas Neue", sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-weight: 400 !important;
    font-size: clamp(16px, 1.7vw, 22px) !important;
    opacity: .92 !important;
}
.breadcumb-content .sub-title { font-size: 22px !important; }

.footer-social a,
.xs-sidebar-group ul.social-box a { transition: color .2s ease, background-color .2s ease; }
.footer-social li a .fa-facebook-f, .footer-social li a.fa-facebook-f,
.xs-sidebar-group .social-box li.facebook a { color: #1877F2 !important; }
.footer-social li a .fa-instagram, .footer-social li a.fa-instagram,
.xs-sidebar-group .social-box li.instagram a { color: #E1306C !important; }
.footer-social li a .fa-whatsapp, .footer-social li a.fa-whatsapp,
.xs-sidebar-group .social-box li.whatsapp a { color: #25D366 !important; }
.footer-social li a .fa-tripadvisor, .footer-social li a.fa-tripadvisor,
.xs-sidebar-group .social-box li.tripadvisor a { color: #34E0A1 !important; }
.footer-social li a:hover, .xs-sidebar-group .social-box li a:hover { filter: brightness(1.25); }

.gp-book-form { margin: 22px 0 6px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); }
.gp-book-form-title { margin: 0 0 12px; color: #FFFFFF; font-size: 17px; font-weight: 600; }
.gp-form .gp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gp-form .gp-field { display: block; margin-bottom: 10px; }
.gp-form .gp-field > span { display: block; margin-bottom: 5px; color: #BFD6D8; font-size: 13px; }
.gp-form input, .gp-form textarea {
    width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.06); color: #FFFFFF; font-size: 15px; line-height: 1.4;
}
.gp-form input::placeholder, .gp-form textarea::placeholder { color: #9FB2B5; }
.gp-form input:focus, .gp-form textarea:focus { outline: 2px solid #12A6A0; outline-offset: 1px; background: rgba(255,255,255,.1); }
.gp-form textarea { resize: vertical; min-height: 96px; }
.gp-form .gp-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gp-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 14px; }
.gp-form-btn {
    display: inline-flex; align-items: center; gap: 9px; padding: 13px 24px; border: 0; border-radius: 999px;
    background: #12A6A0; color: #08252B; font-size: 16px; font-weight: 700; cursor: pointer;
}
.gp-form-btn:hover { background: #15C0B9; }
.gp-form .gp-form-wa { color: #25D366; font-size: 14px; font-weight: 600; }

@media (max-width: 480px) {
    .gp-form .gp-form-row { grid-template-columns: 1fr; }
}


.gp-tour-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    margin: 0 0 34px;
}
.gp-tour-gallery a {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    line-height: 0;
    background: #0F3A43;
}
.gp-tour-gallery img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    transition: transform .4s ease;
}
.gp-tour-gallery a:hover img { transform: scale(1.04); }
@media (max-width: 767px) {
    .gp-tour-gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

.populer-single-box.style-classic {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.populer-single-box.style-classic .populer-contnet {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
.populer-single-box.style-classic .popular-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 3.24em !important;
    margin-bottom: 12px !important;
}
.populer-single-box.style-classic .gp-island {
    margin-bottom: 10px !important;
}
.populer-single-box.style-classic .gp-card-meta {
    min-height: 24px !important;
    margin-bottom: 10px !important;
}
.populer-single-box.style-classic .gp-card-summary {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 4.5em !important;
    margin-bottom: 12px !important;
}
.populer-single-box.style-classic .gp-card-flag {
    min-height: 34px !important;
    margin-bottom: 12px !important;
}
.populer-single-box.style-classic .gp-card-cta {
    margin-top: auto !important;
}
.populer-single-box.style-classic .populer-thumb figure img {
    aspect-ratio: 3 / 2 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
}
.popular__slider__active .swiper-slide { height: auto !important; }
.popular__slider__active .swiper-slide > div,
.popular__slider__active .swiper-slide .col-lg-12 { height: 100% !important; }

.gp-subsection,
.gp-tour-gallery,
[id^="tours-"],
[id^="dive-"],
[id^="day-"],
[id^="scz-"],
[id^="cruise-"],
[id^="land-"],
[id^="snorkel-"] {
    scroll-margin-top: 170px;
}

.hero-section-1 { overflow: hidden !important; }
.gp-hero-slides {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.gp-hero-slide {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    will-change: opacity, transform;
    animation: gpHeroFade 32s infinite;
}
.gp-hero-1 { animation-delay: 0s; opacity: 1; }
.gp-hero-2 { animation-delay: 8s; }
.gp-hero-3 { animation-delay: 16s; }
.gp-hero-4 { animation-delay: 24s; }

@keyframes gpHeroFade {
    0%   { opacity: 0; transform: scale(1.02); }
    4%   { opacity: 1; }
    25%  { opacity: 1; }
    30%  { opacity: 0; }
    100% { opacity: 0; transform: scale(1.12); }
}

.hero-section-1::before { z-index: 1 !important; }
.hero-section-1 .container,
.hero-section-1 .auto-container { position: relative; z-index: 2; }

@media (prefers-reduced-motion: reduce) {
    .gp-hero-slide { animation: none !important; transform: none !important; }
    .gp-hero-1 { opacity: 1 !important; }
    .gp-hero-2, .gp-hero-3, .gp-hero-4 { opacity: 0 !important; }
}

.about-section-one .about-thumb > figure > img { width: 460px; max-width: 100%; height: auto; }
.about-section-one .about-thumb .about-img2 > img { width: 453px; }
@media (max-width: 991px) {
    .about-section-one .about-thumb > figure > img { width: 100%; }
}

@media (max-width: 767px) {
    .gp-hero-2, .gp-hero-3, .gp-hero-4 { display: none !important; }
    .gp-hero-1 { animation: none !important; opacity: 1 !important; transform: none !important; }
}

.gp-credits { max-width: 760px; margin: 0 auto; }
.gp-credit { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.gp-credit-what { color: #FFFFFF; font-size: 17px; font-weight: 600; margin: 0 0 4px; }
.gp-credit-who { color: #C9D8DA; font-size: 15px; margin: 0; }
.gp-credit-who a { color: #12A6A0; }
.gp-credit-n { color: #12A6A0; font-size: 13px; font-weight: 500; margin-left: 8px; }
