/* =========================================================
GOL RESORTS & HOTELS
DESTINATIONS PAGE
========================================================= */

/* =========================================================
HERO
========================================================= */

.destination-hero {


position: relative;

height: 440px;

overflow: hidden;

color: #fff;


}

.destination-hero-image {


position: absolute;

inset: 0;

width: 100%;

height: 100%;

object-fit: cover;

object-position: center 55%;


}

.destination-hero-overlay {


position: absolute;

inset: 0;

background:
    linear-gradient(
        to top,
        rgba(0,0,0,.74) 0%,
        rgba(0,0,0,.34) 48%,
        rgba(0,0,0,.08) 100%
    );


}

.destination-hero-content {


position: absolute;

left: 50px;

bottom: 52px;

max-width: 650px;

z-index: 2;


}

.destination-hero-label {


font-size: 10px;

letter-spacing: 3px;

color: #d4b77a;

margin-bottom: 12px;


}

.destination-hero-content h1 {


font-family: var(--serif);

font-size: clamp(44px, 5vw, 70px);

font-weight: 400;

line-height: .92;

margin: 0 0 17px;


}

.destination-hero-content p {


max-width: 470px;

margin: 0;

font-size: 14px;

line-height: 1.65;

color: rgba(255,255,255,.9);

font-weight: 300;


}

/* =========================================================
INTRO
========================================================= */

.destination-intro {


padding: 110px 0;

background: #fff;


}

.destination-intro .gol-description {


max-width: 550px;


}

/* =========================================================
SEARCH
========================================================= */

.destination-search-section {


padding-bottom: 65px;

background: #fff;


}

.destination-search {


display: flex;

align-items: flex-end;

gap: 25px;

padding: 27px;

background: #f8f7f3;


}

.destination-search-field {


flex: 1;


}

.destination-search-field label {


display: block;

font-size: 9px;

letter-spacing: 2px;

color: #777;

margin-bottom: 9px;


}

.destination-search-input {


display: flex;

align-items: center;

gap: 10px;

padding: 10px 2px;

border-bottom: 1px solid #aaa;


}

.destination-search-input i {


color: #a1834c;


}

.destination-search-input input,
.destination-search-input select {


width: 100%;

border: 0;

outline: 0;

background: transparent;

font-family: var(--sans);

font-size: 13px;

color: #222;


}

.destination-search-button {


height: 48px;

min-width: 150px;

border: 1px solid #111;

background: #111;

color: #fff;

font-size: 9px;

letter-spacing: 2px;

cursor: pointer;

transition: .3s;


}

.destination-search-button i {


margin-left: 10px;


}

.destination-search-button:hover {


background: #a1834c;

border-color: #a1834c;


}

/* =========================================================
FILTERS
========================================================= */

.destination-filters {


padding-bottom: 80px;


}

.destination-filter-scroll {


display: flex;

justify-content: center;

border-top: 1px solid rgba(0,0,0,.1);

border-bottom: 1px solid rgba(0,0,0,.1);


}

.destination-filter {


min-width: 135px;

padding: 20px;

border: 0;

border-right: 1px solid rgba(0,0,0,.08);

background: #fff;

color: #777;

cursor: pointer;

transition: .3s;


}

.destination-filter:first-child {


border-left: 1px solid rgba(0,0,0,.08);


}

.destination-filter i {


display: block;

color: #a1834c;

font-size: 18px;

margin-bottom: 7px;


}

.destination-filter span {


display: block;

font-size: 9px;

letter-spacing: 1.5px;

text-transform: uppercase;


}

.destination-filter:hover,
.destination-filter.active {


background: #f8f7f3;

color: #111;


}

/* =========================================================
FEATURED DESTINATIONS
========================================================= */

.featured-destinations {


padding: 105px 0 115px;

background: #f8f7f3;


}

.destination-heading {


display: flex;

align-items: flex-end;

justify-content: space-between;

margin-bottom: 50px;


}

.featured-destination-card {


position: relative;

height: 540px;

overflow: hidden;

color: #fff;


}

.featured-destination-small {


height: 540px;


}

.featured-destination-image {


position: absolute;

inset: 0;

width: 100%;

height: 100%;

object-fit: cover;

transition: transform 1s ease;


}

.featured-destination-card:hover
.featured-destination-image {


transform: scale(1.06);


}

.featured-destination-overlay {


position: absolute;

inset: 0;

background:
    linear-gradient(
        to top,
        rgba(0,0,0,.82),
        rgba(0,0,0,.04) 68%
    );


}

.featured-destination-content {


position: absolute;

left: 38px;

right: 38px;

bottom: 38px;

z-index: 2;


}

.featured-destination-content > span {


font-size: 9px;

letter-spacing: 2px;


}

.featured-destination-content h3 {


font-family: var(--serif);

font-size: 55px;

font-weight: 400;

line-height: .9;

margin: 10px 0 15px;


}

.featured-destination-small
.featured-destination-content h3 {


font-size: 48px;


}

.featured-destination-content p {


max-width: 430px;

font-size: 13px;

line-height: 1.7;

font-weight: 300;

color: rgba(255,255,255,.85);


}

.light-link {


display: inline-flex;

align-items: center;

gap: 10px;

color: #fff;

font-size: 9px;

letter-spacing: 1.7px;

text-transform: uppercase;

margin-top: 7px;


}

.light-link i {


transition: .3s;


}

.light-link:hover {


color: #d2b474;


}

.light-link:hover i {


transform: translateX(6px);


}

/* =========================================================
DESTINATION GRID
========================================================= */

.destination-grid-section {


padding: 115px 0;

background: #fff;


}

.destination-grid-heading {


display: flex;

align-items: flex-end;

justify-content: space-between;

margin-bottom: 55px;


}

.destination-result-count {


color: #777;

font-size: 10px;

letter-spacing: 1.5px;

text-transform: uppercase;


}

/* =========================================================
DESTINATION CARD
========================================================= */

.destination-card {


height: 100%;


}

.destination-card-image {


position: relative;

height: 350px;

overflow: hidden;


}

.destination-card-image img {


width: 100%;

height: 100%;

object-fit: cover;

transition: transform .8s ease;


}

.destination-card:hover
.destination-card-image img {


transform: scale(1.06);


}

.destination-tag {


position: absolute;

top: 17px;

left: 17px;

padding: 8px 11px;

background: rgba(255,255,255,.94);

color: #222;

font-size: 8px;

letter-spacing: 1.5px;


}

.destination-card-content {


padding: 22px 2px 30px;


}

.destination-country {


font-size: 9px;

letter-spacing: 1.7px;

color: #a1834c;

margin-bottom: 9px;


}

.destination-card-content h3 {


font-family: var(--serif);

font-size: 35px;

font-weight: 400;

line-height: .95;

margin: 0 0 12px;


}

.destination-card-content p {


max-width: 390px;

color: #777;

font-size: 13px;

line-height: 1.7;

margin-bottom: 18px;


}

.destination-card-content > a {


display: inline-flex;

align-items: center;

gap: 8px;

color: #222;

font-size: 9px;

letter-spacing: 1.5px;

text-transform: uppercase;


}

.destination-card-content > a i {


transition: .3s;


}

.destination-card-content > a:hover {


color: #a1834c;


}

.destination-card-content > a:hover i {


transform: translateX(5px);


}

/* =========================================================
NO RESULTS
========================================================= */

.destination-no-results {


display: none;

text-align: center;

padding: 80px 20px;


}

.destination-no-results.show {


display: block;


}

.destination-no-results i {


font-size: 35px;

color: #a1834c;


}

.destination-no-results h3 {


font-family: var(--serif);

font-size: 40px;

font-weight: 400;

margin: 15px 0 5px;


}

.destination-no-results p {


color: #777;


}

/* =========================================================
INSPIRATION
========================================================= */

.destination-inspiration {


padding: 115px 0;

background: #f8f7f3;


}

.inspiration-image {


width: 100%;

height: 570px;

object-fit: cover;


}

.inspiration-content {


padding: 40px 70px;


}

.inspiration-content .gol-title {


max-width: 500px;


}

.inspiration-content .gol-description {


max-width: 480px;

margin-bottom: 30px;


}

/* =========================================================
BUTTON
========================================================= */

.dark-button {


display: inline-flex;

align-items: center;

gap: 12px;

padding: 15px 25px;

background: #111;

color: #fff;

font-size: 9px;

letter-spacing: 1.7px;

text-transform: uppercase;

transition: .3s;


}

.dark-button:hover {


background: #a1834c;

color: #fff;


}

.dark-button i {


transition: .3s;


}

.dark-button:hover i {


transform: translateX(5px);


}

/* =========================================================
CTA
========================================================= */

.destination-cta {


position: relative;

height: 540px;

overflow: hidden;

color: #fff;


}

.destination-cta-image {


position: absolute;

inset: 0;

width: 100%;

height: 100%;

object-fit: cover;


}

.destination-cta-overlay {


position: absolute;

inset: 0;

background: rgba(0,0,0,.5);


}

.destination-cta-content {


position: absolute;

left: 50%;

top: 50%;

transform: translate(-50%,-50%);

width: 90%;

max-width: 750px;

text-align: center;


}

.destination-cta-content .gol-eyebrow {


color: #d0b477;


}

.destination-cta-content h2 {


font-family: var(--serif);

font-size: clamp(52px,6vw,82px);

font-weight: 400;

line-height: .9;

margin: 0 0 22px;


}

.destination-cta-content p {


font-size: 15px;

font-weight: 300;

color: rgba(255,255,255,.9);

margin-bottom: 28px;


}

/* =========================================================
TABLET
========================================================= */

@media (max-width: 991px) {


.destination-hero {

    height: 400px;

}


.destination-hero-content {

    left: 30px;

    bottom: 40px;

    right: 30px;

}


.destination-intro {

    padding: 90px 0;

}


.destination-search {

    flex-direction: column;

    align-items: stretch;

}


.destination-search-button {

    width: 100%;

}


.destination-filter-scroll {

    justify-content: flex-start;

    overflow-x: auto;

}


.destination-filter {

    min-width: 120px;

}


.featured-destination-card,
.featured-destination-small {

    height: 500px;

}


.destination-grid-section {

    padding: 90px 0;

}


.inspiration-content {

    padding: 40px 20px;

}


}

/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {


.destination-hero {

    height: 360px;

}


.destination-hero-content {

    left: 20px;

    right: 20px;

    bottom: 28px;

}


.destination-hero-label {

    font-size: 8px;

    letter-spacing: 2px;

}


.destination-hero-content h1 {

    font-size: 40px;

    line-height: .95;

}


.destination-hero-content p {

    font-size: 12px;

    line-height: 1.5;

}


.destination-intro {

    padding: 70px 0;

}


.destination-search {

    padding: 21px;

}


.destination-filter-scroll {

    scrollbar-width: none;

}


.destination-filter-scroll::-webkit-scrollbar {

    display: none;

}


.destination-filter {

    min-width: 105px;

    padding: 17px 13px;

}


.destination-heading,
.destination-grid-heading {

    display: block;

}


.destination-heading .gol-link {

    display: inline-block;

    margin-top: 18px;

}


.destination-result-count {

    margin-top: 18px;

}


.featured-destination-card,
.featured-destination-small {

    height: 430px;

}


.featured-destination-content {

    left: 24px;

    right: 24px;

    bottom: 24px;

}


.featured-destination-content h3 {

    font-size: 43px;

}


.featured-destination-small
.featured-destination-content h3 {

    font-size: 40px;

}


.destination-grid-section {

    padding: 70px 0;

}


.destination-card-image {

    height: 300px;

}


.destination-card-content h3 {

    font-size: 32px;

}


.destination-inspiration {

    padding: 70px 0;

}


.inspiration-image {

    height: 400px;

}


.inspiration-content {

    padding: 45px 0 0;

}


.destination-cta {

    height: 470px;

}


.destination-cta-content h2 {

    font-size: 48px;

}


}

/* =========================================================
SMALL MOBILE
========================================================= */

@media (max-width: 480px) {


.destination-hero {

    height: 325px;

}


.destination-hero-content h1 {

    font-size: 35px;

}


.featured-destination-card,
.featured-destination-small {

    height: 390px;

}


.destination-card-image {

    height: 280px;

}


.destination-cta {

    height: 440px;

}


.destination-cta-content h2 {

    font-size: 42px;

}


}


/* Destination page: destination-first layout */
.featured-destinations{padding-top:72px}
.destination-grid-section{padding-top:80px}
.destination-card{height:100%;cursor:pointer}
.destination-card-image img{transition:transform .7s ease}
.destination-card:hover .destination-card-image img{transform:scale(1.035)}
.featured-destination-card .light-link{text-decoration:none}


/* =========================================================
   GOL RESORTS & HOTELS — WHITE / SOFT IVORY SECTION PALETTE
   ========================================================= */
.intro-section,
.section-white {
    background: #ffffff !important;
}

.gol-section:nth-of-type(odd),
.section-ivory,
.gol-section-cream {
    background: #f8f7f3 !important;
}

.gol-section:nth-of-type(even) {
    background: #ffffff !important;
}

.newsletter {
    background: #f8f7f3 !important;
}

/* Keep visual separation subtle and luxurious */
.intro-section,
.gol-section,
.newsletter {
    border-bottom: 1px solid rgba(80, 70, 55, 0.06);
}

/* =========================================================
   LUXURY DESTINATION CARDS - 2026 REFRESH
   Keeps destination content intact; visual refinement only.
========================================================= */

.destination-grid-section {
    background: #f7f4ee;
    padding: 120px 0 130px;
}

.destination-grid-heading {
    margin-bottom: 52px;
}

.destination-grid-heading .gol-eyebrow,
.destination-heading .gol-eyebrow {
    color: #a47b35;
}

.destination-item {
    margin-bottom: 8px;
}

.destination-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
    background: #fffdfa;
    border: 1px solid rgba(164,123,53,.18);
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(38,31,20,.08), 0 2px 8px rgba(38,31,20,.035);
    transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
}

.destination-card::after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 12px;
    pointer-events: none;
    z-index: 2;
}

.destination-card:hover {
    transform: translateY(-8px);
    border-color: rgba(164,123,53,.36);
    box-shadow: 0 24px 50px rgba(38,31,20,.14), 0 5px 14px rgba(38,31,20,.06);
}

.destination-card-image {
    position: relative;
    height: 300px;
    flex: 0 0 300px;
    overflow: hidden;
    background: #eee9df;
}

.destination-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.03), transparent 50%, rgba(0,0,0,.18));
    pointer-events: none;
}

.destination-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.2,.65,.2,1), filter .5s ease;
}

.destination-card:hover .destination-card-image img {
    transform: scale(1.07);
    filter: saturate(1.04);
}

.destination-tag {
    top: 18px;
    left: 18px;
    z-index: 3;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    background: rgba(255,252,246,.94);
    color: #806128;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 1.8px;
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
    backdrop-filter: blur(8px);
}

.destination-card-content {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 27px 28px 29px;
    background: linear-gradient(180deg, #fffdfa 0%, #fbf8f1 100%);
}

.destination-card-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 28px;
    width: 44px;
    height: 1px;
    background: #b48a46;
}

.destination-country {
    margin-bottom: 8px;
    color: #a47b35;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2.2px;
}

.destination-card-content h3 {
    margin: 0 0 13px;
    color: #171614;
    font-family: var(--serif);
    font-size: 38px;
    font-weight: 500;
    line-height: 1;
}

.destination-card-content p {
    max-width: none;
    min-height: 65px;
    margin: 0 0 22px;
    color: #74716b;
    font-size: 13px;
    line-height: 1.75;
}

.destination-card-content > a {
    width: fit-content;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid rgba(164,123,53,.18);
    color: #8f6b2f;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.7px;
}

.destination-card-content > a i {
    margin-left: 3px;
}

.destination-card-content > a:hover {
    color: #111;
}

/* Make the featured destinations feel like premium standalone cards too. */
.featured-destination-card {
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 20px;
    box-shadow: 0 18px 45px rgba(31,25,17,.12);
}

.featured-destination-small {
    border-radius: 20px;
}

/* Refined section rhythm */
.featured-destinations {
    background: #f4f0e8;
}

.destination-heading,
.destination-grid-heading {
    position: relative;
}

@media (max-width: 991px) {
    .destination-grid-section {
        padding: 90px 0 100px;
    }

    .destination-card-image {
        height: 280px;
        flex-basis: 280px;
    }

    .destination-card-content {
        padding: 24px;
    }
}

@media (max-width: 767px) {
    .destination-grid-section {
        padding: 72px 0 82px;
    }

    .destination-item {
        margin-bottom: 0;
    }

    .destination-card {
        border-radius: 15px;
    }

    .destination-card::after {
        inset: 6px;
        border-radius: 10px;
    }

    .destination-card-image {
        height: 245px;
        flex-basis: 245px;
    }

    .destination-card-content {
        padding: 23px 22px 25px;
    }

    .destination-card-content::before {
        left: 22px;
    }

    .destination-card-content h3 {
        font-size: 34px;
    }

    .destination-card-content p {
        min-height: auto;
    }
}
