:root {
    --primary-color: #D4AF37;
    --primary-hover: #E5C158;
    --secondary-color: #1F2937;
    --secondary-hover: #374151;
    --accent-color: #C59B27;
    --accent-glow: rgba(212, 175, 55, 0.25);
    --bg-base: #0B0E14;
    --bg-surface-1: #121722;
    --bg-surface-2: #1A202C;
    --bg-surface-3: #242C3D;
    --bg-glass: rgba(18, 23, 34, 0.75);
    --bg-overlay: rgba(11, 14, 20, 0.85);
    --text-primary: #F9FAFB;
    --text-secondary: #9CA3AF;
    --text-muted-color: #6B7280;
    --text-accent: #D4AF37;
    --border-subtle: rgba(255, 255, 255, 0.08);
    --border-medium: rgba(212, 175, 55, 0.2);
    --border-strong: rgba(212, 175, 55, 0.5);
    --border-active: #D4AF37;
    --font-headings: 'Cinzel', 'Playfair Display', serif;
    --font-body: 'Plus Jakarta Sans', sans-serif;
    --font-accent: 'Space Grotesk', sans-serif;
    --transition-smooth: cubic-bezier(0.16, 1, 0.3, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.dark-theme {
    background-color: var(--bg-base);
    color: var(--text-primary);
    font-family: var(--font-body);
    line-height: 1.65;
    letter-spacing: 0.01em;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
.heading-luxury {
    font-family: var(--font-headings);
    letter-spacing: 0.02em;
    line-height: 1.2;
    color: var(--text-primary);
    font-weight: 700;
}

a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 300ms var(--transition-smooth);
}

a:hover {
    color: var(--primary-hover);
}

.text-muted {
    color: var(--text-secondary) !important;
}

.gold-gradient-text {
    background: linear-gradient(135deg, #D4AF37 0%, #F3E5AB 50%, #AA7C11 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gold-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 600;
    border-radius: 100px;
    border: none;
    padding: 0.875rem 2rem;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.35);
    transition: all 400ms var(--transition-smooth);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.gold-btn-primary:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 30px rgba(212, 175, 55, 0.5);
    color: #0B0E14;
}

.gold-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    color: #F9FAFB;
    font-weight: 500;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 0.875rem 1.75rem;
    transition: all 400ms var(--transition-smooth);
}

.gold-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(212, 175, 55, 0.5);
    color: #D4AF37;
}

.header-nav-block {
    background-color: #121722;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    z-index: 1030;
    position: sticky;
    top: 0
}

.header-nav-block .header-nav-block__navbar {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}

.header-nav-block .header-nav-block__brand {
    text-decoration: none;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1)
}

.header-nav-block .header-nav-block__brand:hover {
    transform: translateY(-1px)
}

.header-nav-block .header-nav-block__logo {
    max-width: 46px;
    max-height: 46px;
    object-fit: contain
}

.header-nav-block .header-nav-block__title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #D4AF37;
    text-transform: uppercase
}

.header-nav-block .header-nav-block__toggler {
    border: 1px solid rgba(212, 175, 55, 0.3);
    background-color: #1A202C;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    box-shadow: none
}

.header-nav-block .header-nav-block__toggler:focus {
    box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.4)
}

.header-nav-block .header-nav-block__toggler-icon {
    font-size: 1.6rem;
    color: #D4AF37;
    display: block
}

.header-nav-block .header-nav-block__link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    color: #F9FAFB;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    transition: all 0.3s ease
}

.header-nav-block .header-nav-block__link:hover,
.header-nav-block .header-nav-block__link:focus {
    color: #D4AF37;
    background-color: rgba(212, 175, 55, 0.08)
}

.header-nav-block .header-nav-block__cta-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 600;
    font-size: 0.9rem;
    border-radius: 100px;
    padding: 0.6rem 1.4rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap
}

.header-nav-block .header-nav-block__cta-btn:hover {
    background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%);
    color: #0B0E14;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.45)
}

@media(max-width:991.98px) {
    .header-nav-block .header-nav-block__collapse {
        background-color: #121722;
        padding: 1.25rem 0.5rem;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        margin-top: 0.75rem
    }

    .header-nav-block .header-nav-block__link {
        padding: 0.75rem 1rem;
        font-size: 0.9rem
    }

    .header-nav-block .header-nav-block__cta-btn {
        margin-top: 0.5rem;
        width: 100%;
        padding: 0.75rem 1.5rem
    }
}

.hero-bruzendia {
    min-height: 90vh;
    background-color: #0B0E14;
    color: #F9FAFB;
    padding: 5rem 0;
    position: relative
}

.hero-bruzendia-video-wrap {
    z-index: 1
}

.hero-bruzendia-video {
    object-fit: cover;
    pointer-events: none
}

.hero-bruzendia-overlay {
    background: linear-gradient(180deg, rgba(11, 14, 20, 0.82) 0%, rgba(11, 14, 20, 0.92) 100%), radial-gradient(circle at 50% 30%, rgba(212, 175, 55, 0.12) 0%, transparent 70%)
}

.hero-bruzendia-badge {
    background: rgba(26, 32, 44, 0.85);
    border: 1px solid rgba(212, 175, 55, 0.35);
    color: #D4AF37;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3)
}

.hero-bruzendia-badge i {
    font-size: 1.1rem
}

.hero-bruzendia-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: clamp(2.2rem, 5vw, 4.25rem);
    font-weight: 700;
    line-height: 1.15;
    color: #F9FAFB;
    letter-spacing: 0.02em;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.6)
}

.hero-bruzendia-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    line-height: 1.65;
    color: #9CA3AF;
    max-width: 760px
}

.hero-bruzendia-btn-primary {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 100px;
    padding: 0.9rem 2.25rem;
    border: none;
    text-decoration: none;
    transition: all 400ms cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.35)
}

.hero-bruzendia-btn-primary:hover {
    background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%);
    color: #0B0E14;
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(212, 175, 55, 0.5)
}

.hero-bruzendia-btn-secondary {
    background: rgba(255, 255, 255, 0.06);
    color: #F9FAFB;
    font-weight: 500;
    font-size: 1rem;
    border-radius: 100px;
    padding: 0.9rem 2rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    text-decoration: none;
    transition: all 400ms cubic-bezier(0.16, 1, 0.3, 1);
    backdrop-filter: blur(8px)
}

.hero-bruzendia-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    border-color: rgba(212, 175, 55, 0.6);
    transform: translateY(-2px)
}

.hero-bruzendia-metric {
    background: rgba(18, 23, 34, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    transition: all 400ms cubic-bezier(0.16, 1, 0.3, 1)
}

.hero-bruzendia-metric:hover {
    border-color: rgba(212, 175, 55, 0.4);
    transform: translateY(-4px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5)
}

.hero-bruzendia-metric-icon {
    width: 44px;
    height: 44px;
    background: rgba(212, 175, 55, 0.12);
    color: #D4AF37;
    font-size: 1.35rem;
    border: 1px solid rgba(212, 175, 55, 0.25)
}

.hero-bruzendia-metric-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #F9FAFB;
    line-height: 1.3
}

.hero-bruzendia-metric-subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #9CA3AF;
    line-height: 1.4
}

@media(max-width:767.98px) {
    .hero-bruzendia {
        min-height: auto;
        padding: 3.5rem 0
    }

    .hero-bruzendia-title {
        font-size: 1.85rem;
        hyphens: auto
    }

    .hero-bruzendia-desc {
        font-size: 0.9375rem
    }

    .hero-bruzendia-btn-primary,
    .hero-bruzendia-btn-secondary {
        width: 100%
    }
}

.hotels-rating-section {
    background-color: #0B0E14;
    color: #F9FAFB;
    position: relative;
    overflow: hidden
}

.hotels-rating-section__badge {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.8125rem;
    letter-spacing: 0.15em;
    color: #D4AF37;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid rgba(212, 175, 55, 0.3);
    padding: 0.35rem 1rem;
    border-radius: 100px
}

.hotels-rating-section__title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    letter-spacing: 0.02em;
    line-height: 1.2
}

.hotels-rating-section__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.0625rem;
    color: #9CA3AF;
    line-height: 1.6
}

.hotels-rating-section__card {
    background: rgba(18, 23, 34, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(16px);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, box-shadow 0.4s ease
}

.hotels-rating-section__card:hover {
    transform: translateY(-6px);
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.8), 0 0 20px rgba(212, 175, 55, 0.15)
}

.hotels-rating-section__media {
    height: 240px;
    overflow: hidden;
    background-color: #121722
}

.hotels-rating-section__img {
    height: 240px;
    object-fit: cover;
    transition: transform 0.8s ease
}

.hotels-rating-section__card:hover .hotels-rating-section__img {
    transform: scale(1.05)
}

.hotels-rating-section__rank {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #0B0E14;
    color: #D4AF37;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    border: 1px solid rgba(212, 175, 55, 0.4);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5)
}

.hotels-rating-section__score {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(18, 23, 34, 0.9);
    color: #10B981;
    padding: 0.35rem 0.7rem;
    border-radius: 6px;
    border: 1px solid rgba(16, 185, 129, 0.3);
    font-size: 0.875rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5)
}

.hotels-rating-section__score i {
    color: #D4AF37
}

.hotels-rating-section__card-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3
}

.hotels-rating-section__card-title a {
    color: #F9FAFB;
    transition: color 0.2s ease
}

.hotels-rating-section__card-title a:hover {
    color: #D4AF37
}

.hotels-rating-section__price {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    color: #D4AF37;
    white-space: nowrap;
    margin-left: 1rem
}

.hotels-rating-section__price small {
    color: #9CA3AF;
    font-size: 0.75rem
}

.hotels-rating-section__desc {
    font-size: 0.875rem;
    color: #9CA3AF;
    line-height: 1.5;
    margin-bottom: 0.75rem
}

.hotels-rating-section__tag {
    font-size: 0.75rem;
    color: #D4AF37;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.18);
    padding: 0.25rem 0.6rem;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem
}

.hotels-rating-section__form {
    background: rgba(26, 32, 44, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    padding: 0.875rem;
    border-radius: 10px
}

.hotels-rating-section__label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9CA3AF;
    margin-bottom: 0.2rem;
    display: block
}

.hotels-rating-section__input {
    background-color: #121722;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #F9FAFB;
    font-size: 0.8125rem;
    padding: 0.4rem 0.6rem;
    border-radius: 6px
}

.hotels-rating-section__input:focus {
    background-color: #1A202C;
    border-color: #D4AF37;
    color: #F9FAFB;
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.2)
}

.hotels-rating-section__input::placeholder {
    color: #6B7280;
    opacity: 1
}

.hotels-rating-section__btn-submit {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 700;
    font-size: 0.8125rem;
    border: none;
    border-radius: 6px;
    padding: 0.55rem 1rem;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.25)
}

.hotels-rating-section__btn-submit:hover {
    background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(212, 175, 55, 0.4);
    color: #0B0E14
}

.hotels-rating-section__btn-expedia {
    background: transparent;
    color: #D4AF37;
    border: 1px solid rgba(212, 175, 55, 0.3);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.45rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: all 0.2s ease
}

.hotels-rating-section__btn-expedia:hover {
    background: rgba(212, 175, 55, 0.12);
    border-color: #D4AF37;
    color: #E5C158
}

@media(max-width:767.98px) {
    .hotels-rating-section__title {
        font-size: 1.5rem
    }

    .hotels-rating-section__card-title {
        font-size: 1.1rem
    }

    .hotels-rating-section__media {
        height: 200px
    }

    .hotels-rating-section__img {
        height: 200px
    }
}

.gallery-tours-section {
    background-color: #0B0E14;
    color: #F9FAFB;
    position: relative;
    overflow: hidden
}

.gallery-tours-eyebrow {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #D4AF37;
    letter-spacing: 0.15em;
    text-transform: uppercase
}

.gallery-tours-heading {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 700;
    color: #F9FAFB;
    line-height: 1.2
}

.gallery-tours-description {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #9CA3AF;
    line-height: 1.65;
    max-width: 680px;
    margin: 0 auto
}

.gallery-filter-wrapper {
    padding: 0.375rem;
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px
}

.gallery-filter-btn {
    background: #1A202C;
    color: #9CA3AF;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 0.5rem 1.125rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1)
}

.gallery-filter-btn:hover {
    background: #242C3D;
    color: #F9FAFB;
    border-color: rgba(212, 175, 55, 0.3)
}

.gallery-filter-btn.active {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border-color: #D4AF37;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.25)
}

.gallery-card {
    background: rgba(18, 23, 34, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(16px);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1)
}

.gallery-card:hover {
    transform: translateY(-6px);
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 25px 40px -10px rgba(0, 0, 0, 0.8), 0 0 25px rgba(212, 175, 55, 0.15)
}

.gallery-media-wrapper {
    height: 260px;
    background: #121722;
    overflow: hidden
}

.gallery-media-img {
    height: 260px;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1)
}

.gallery-card:hover .gallery-media-img {
    transform: scale(1.05)
}

.gallery-badge-tour {
    top: 1rem;
    left: 1rem;
    background: rgba(11, 14, 20, 0.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(212, 175, 55, 0.5);
    color: #D4AF37;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.75rem;
    border-radius: 100px;
    letter-spacing: 0.04em;
    display: inline-flex;
    align-items: center
}

.gallery-badge-guest {
    top: 1rem;
    left: 1rem;
    background: rgba(11, 14, 20, 0.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #F9FAFB;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.35rem 0.75rem;
    border-radius: 100px;
    display: inline-flex;
    align-items: center
}

.gallery-badge-rating {
    top: 1rem;
    right: 1rem;
    background: rgba(18, 23, 34, 0.9);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: #D4AF37;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    padding: 0.35rem 0.65rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center
}

.gallery-play-btn {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    border: none;
    color: #0B0E14;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.5);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer
}

.gallery-play-btn:hover {
    transform: translate(-50%, -50%) scale(1.1);
    box-shadow: 0 0 28px rgba(212, 175, 55, 0.8)
}

.gallery-card-tag {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.8125rem;
    color: #D4AF37;
    font-weight: 600
}

.gallery-card-verified {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    color: #10B981;
    font-weight: 600;
    display: inline-flex;
    align-items: center
}

.gallery-card-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 1.1875rem;
    font-weight: 600;
    line-height: 1.3
}

.gallery-title-link {
    color: #F9FAFB;
    text-decoration: none;
    transition: color 0.2s ease
}

.gallery-title-link:hover {
    color: #D4AF37
}

.gallery-card-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #9CA3AF;
    line-height: 1.6
}

.gallery-btn-tour {
    background: rgba(212, 175, 55, 0.12);
    color: #D4AF37;
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 100px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.625rem 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer
}

.gallery-btn-tour:hover {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    border-color: transparent;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3)
}

.gallery-btn-details {
    background: rgba(255, 255, 255, 0.05);
    color: #F9FAFB;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 100px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease
}

.gallery-btn-details:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(212, 175, 55, 0.5);
    color: #F9FAFB
}

.gallery-modal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(11, 14, 20, 0.88);
    backdrop-filter: blur(12px);
    z-index: 1050;
    align-items: center;
    justify-content: center;
    padding: 1rem
}

.gallery-modal-backdrop.is-open {
    display: flex
}

.gallery-modal-container {
    background: #121722;
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 16px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.9), 0 0 30px rgba(212, 175, 55, 0.2);
    width: 100%;
    max-width: 760px;
    overflow: hidden;
    animation: galleryModalFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1)
}

.gallery-modal-header {
    background: #1A202C;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08)
}

.gallery-modal-chip {
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid #D4AF37;
    color: #D4AF37;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.625rem;
    border-radius: 6px;
    text-transform: uppercase
}

.gallery-modal-title {
    font-family: 'Cinzel', serif;
    font-size: 1.125rem;
    color: #F9FAFB;
    font-weight: 600
}

.gallery-modal-close-btn {
    background: transparent;
    border: none;
    color: #9CA3AF;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease
}

.gallery-modal-close-btn:hover {
    color: #D4AF37
}

.gallery-virtual-viewer {
    height: 300px;
    background: linear-gradient(135deg, #1A202C 0%, #0B0E14 100%);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden
}

.gallery-viewer-canvas {
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.15) 0%, transparent 65%), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(0deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 100% 100%, 40px 40px, 40px 40px;
    background-position: 0 0;
    transition: background-position 0.6s ease
}

.gallery-viewer-overlay {
    inset: 0;
    pointer-events: none
}

.gallery-viewer-overlay button {
    pointer-events: auto
}

.gallery-viewer-tag {
    background: rgba(11, 14, 20, 0.75);
    border: 1px solid rgba(212, 175, 55, 0.4);
    color: #D4AF37;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    padding: 0.25rem 0.625rem;
    border-radius: 6px
}

.gallery-viewer-control-btn {
    background: rgba(26, 32, 44, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #F9FAFB;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    cursor: pointer;
    transition: all 0.2s ease
}

.gallery-viewer-control-btn:hover {
    background: #D4AF37;
    color: #0B0E14;
    border-color: #D4AF37
}

.gallery-viewer-hint {
    background: rgba(11, 14, 20, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #9CA3AF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    padding: 0.35rem 0.75rem;
    border-radius: 100px;
    display: inline-flex;
    align-items: center
}

.gallery-modal-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #9CA3AF;
    line-height: 1.6
}

.gallery-btn-modal-close {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    border: none;
    border-radius: 100px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.625rem 1.75rem;
    cursor: pointer;
    transition: all 0.3s ease
}

.gallery-btn-modal-close:hover {
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
    transform: translateY(-1px)
}

@keyframes galleryModalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@media(max-width:767.98px) {
    .gallery-tours-heading {
        font-size: 1.5rem
    }

    .gallery-card-title {
        font-size: 1.0625rem
    }

    .gallery-media-wrapper,
    .gallery-media-img {
        height: 210px
    }

    .gallery-virtual-viewer {
        height: 220px
    }
}

.when-to-go-section {
    background-color: #0B0E14;
    color: #F9FAFB;
    position: relative;
    overflow: hidden;
}

.when-to-go-section__badge {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 50px;
    padding: 0.35rem 1rem;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 600;
}

.when-to-go-section__title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    color: #F9FAFB;
    line-height: 1.2;
    font-weight: 700;
}

.when-to-go-section__subtitle {
    color: #9CA3AF;
    font-size: 1rem;
    line-height: 1.6;
}

.when-to-go-section__filter-btn {
    background: #1A202C;
    color: #9CA3AF;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 0.5rem 1.15rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.when-to-go-section__filter-btn:hover {
    color: #F9FAFB;
    border-color: rgba(212, 175, 55, 0.4);
}

.when-to-go-section__filter-btn.active {
    background: rgba(212, 175, 55, 0.15);
    border-color: #D4AF37;
    color: #D4AF37;
    font-weight: 600;
}

.when-to-go-section__card {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.75rem;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.when-to-go-section__card:hover {
    transform: translateY(-6px);
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.8), 0 0 20px rgba(212, 175, 55, 0.12);
}

.when-to-go-section__season-tag {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.75rem;
    border-radius: 6px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.when-to-go-section__season-tag--value {
    background: rgba(16, 185, 129, 0.15);
    color: #10B981;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.when-to-go-section__season-tag--shoulder {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border: 1px solid rgba(212, 175, 55, 0.3);
}

.when-to-go-section__season-tag--peak {
    background: rgba(139, 92, 246, 0.15);
    color: #A78BFA;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

.when-to-go-section__period {
    color: #9CA3AF;
    font-size: 0.8125rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.when-to-go-section__card-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: 1.25rem;
    line-height: 1.3;
    font-weight: 600;
}

.when-to-go-section__card-desc {
    color: #9CA3AF;
    font-size: 0.875rem;
    line-height: 1.5;
}

.when-to-go-section__metrics {
    background: #1A202C;
    border-radius: 10px;
    padding: 0.5rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.04);
}

.when-to-go-section__metric-row:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.when-to-go-section__metric-label {
    color: #9CA3AF;
    font-size: 0.8125rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.when-to-go-section__metric-val {
    color: #F9FAFB;
    font-size: 0.8125rem;
    font-weight: 600;
}

.when-to-go-section .text-accent {
    color: #D4AF37 !important;
}

.when-to-go-section__card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.05);
    color: #F9FAFB;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 0.75rem 1.5rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.when-to-go-section__card-btn:hover {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    border-color: #D4AF37;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.when-to-go-section__summary-banner {
    background: linear-gradient(145deg, #1A202C, #121722);
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 16px;
}

.when-to-go-section__banner-icon {
    width: 48px;
    height: 48px;
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.when-to-go-section__banner-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: 1.1rem;
    font-weight: 600;
}

.when-to-go-section__banner-text {
    color: #9CA3AF;
    font-size: 0.875rem;
    line-height: 1.5;
}

.when-to-go-section__banner-btn {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 100px;
    padding: 0.75rem 1.5rem;
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.when-to-go-section__banner-btn:hover {
    color: #0B0E14;
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.35);
}

@media (max-width: 767.98px) {
    .when-to-go-section__title {
        font-size: 1.35rem;
        hyphens: auto;
    }

    .when-to-go-section__card-title {
        font-size: 1.1rem;
    }

    .when-to-go-section__banner-title {
        font-size: 1rem;
    }

    .when-to-go-section__card {
        padding: 1.25rem;
    }
}

.gaming-zones-comparison-block {
    background-color: #0B0E14;
    color: #F9FAFB;
    font-family: 'Plus Jakarta Sans', sans-serif;
    position: relative;
    overflow: hidden;
}

.gaming-zones-comparison-block__badge {
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: #D4AF37;
}

.gaming-zones-comparison-block__title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-weight: 700;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.25;
}

.gaming-zones-comparison-block__subtitle {
    color: #9CA3AF;
    font-size: 1rem;
    line-height: 1.6;
}

.gaming-zones-comparison-block__filter-bar {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.gaming-zones-comparison-block__filter-btn {
    background: #1A202C;
    color: #9CA3AF;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 0.55rem 1.15rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.gaming-zones-comparison-block__filter-btn:hover {
    color: #F9FAFB;
    border-color: rgba(212, 175, 55, 0.4);
    background: #242C3D;
}

.gaming-zones-comparison-block__filter-btn.active {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border-color: #D4AF37;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.25);
}

.gaming-zones-comparison-block__card {
    background: rgba(18, 23, 34, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}

.gaming-zones-comparison-block__card:hover {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.8), 0 0 20px rgba(212, 175, 55, 0.15);
}

.gaming-zones-comparison-block__image-wrapper {
    position: relative;
    width: 100%;
    height: 230px;
    overflow: hidden;
    background: #1A202C;
}

.gaming-zones-comparison-block__image {
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
    display: block;
}

.gaming-zones-comparison-block__card:hover .gaming-zones-comparison-block__image {
    transform: scale(1.05);
}

.gaming-zones-comparison-block__tag {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: rgba(11, 14, 20, 0.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    padding: 0.35rem 0.85rem;
    font-size: 0.775rem;
    font-weight: 600;
    color: #F9FAFB;
}

.gaming-zones-comparison-block__area-badge {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    background: rgba(18, 23, 34, 0.9);
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 6px;
    padding: 0.3rem 0.75rem;
    font-size: 0.775rem;
    font-weight: 600;
    color: #D4AF37;
}

.gaming-zones-comparison-block__card-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
}

.gaming-zones-comparison-block__card-link {
    color: #F9FAFB;
    text-decoration: none;
    transition: color 0.3s ease;
}

.gaming-zones-comparison-block__card-link:hover {
    color: #D4AF37;
}

.gaming-zones-comparison-block__location {
    color: #9CA3AF;
    font-size: 0.875rem;
    display: inline-block;
}

.gaming-zones-comparison-block__specs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.gaming-zones-comparison-block__spec-item {
    background: #1A202C;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.gaming-zones-comparison-block__spec-label {
    font-size: 0.75rem;
    color: #9CA3AF;
    display: flex;
    align-items: center;
}

.gaming-zones-comparison-block__spec-val {
    font-size: 0.875rem;
    color: #F9FAFB;
    font-weight: 600;
}

.gaming-zones-comparison-block__card-footer {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.gaming-zones-comparison-block__rate-sub {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.gaming-zones-comparison-block__rate {
    font-size: 1.25rem;
    color: #D4AF37;
}

.gaming-zones-comparison-block__rate small {
    font-size: 0.8rem;
    color: #9CA3AF;
    font-weight: 400;
}

.gaming-zones-comparison-block__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0.65rem 1.4rem;
    border-radius: 100px;
    text-decoration: none;
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.25);
}

.gaming-zones-comparison-block__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
    color: #0B0E14;
}

@media (max-width: 767.98px) {
    .gaming-zones-comparison-block__title {
        font-size: 1.35rem;
    }

    .gaming-zones-comparison-block__card-title {
        font-size: 1.1rem;
    }

    .gaming-zones-comparison-block__specs-grid {
        grid-template-columns: 1fr;
    }

    .gaming-zones-comparison-block__image-wrapper {
        height: 200px;
    }
}

.site-footer {
    background-color: #0B0E14;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    color: #9CA3AF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    padding: 3.5rem 0 2rem;
    position: relative;
    overflow: hidden;
}

.site-footer__disclaimer-card {
    background: linear-gradient(145deg, #1A202C, #121722);
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
}

.site-footer__disclaimer-icon-wrap {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid rgba(212, 175, 55, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-footer__disclaimer-icon {
    font-size: 1.75rem;
    color: #D4AF37;
}

.site-footer__disclaimer-heading {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
    letter-spacing: 0.05em;
}

.site-footer__disclaimer-text {
    font-size: 0.875rem;
    color: #F9FAFB;
    line-height: 1.55;
}

.site-footer__age-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #D4AF37;
    color: #0B0E14;
    font-weight: 800;
    font-size: 1rem;
    border: 2px solid #AA7C11;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.4);
}

.site-footer__partners-block {
    background: rgba(18, 23, 34, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.5rem 1rem;
}

.site-footer__partners-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
}

.site-footer__partners-grid {
    width: 100%;
}

.site-footer__partner-item {
    background: #1A202C;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 0.6rem 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.3s ease, transform 0.3s ease;
    text-decoration: none;
    min-height: 56px;
}

.site-footer__partner-item:hover {
    border-color: rgba(212, 175, 55, 0.5);
    transform: translateY(-2px);
}

.site-footer__partner-img {
    width: 120px;
    max-width: 130px;
    height: auto;
    max-height: 42px;
    object-fit: contain;
    display: block;
}

.site-footer__nav-grid {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__brand-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.site-footer__brand-desc {
    color: #9CA3AF;
    font-size: 0.875rem;
    line-height: 1.6;
    margin-bottom: 0;
}

.site-footer__section-heading {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    letter-spacing: 0.03em;
}

.site-footer__links-list li {
    margin-bottom: 0.6rem;
}

.site-footer__links-list li:last-child {
    margin-bottom: 0;
}

.site-footer__nav-link {
    color: #9CA3AF;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.25s ease, padding-left 0.25s ease;
    display: inline-block;
}

.site-footer__nav-link:hover {
    color: #D4AF37;
    padding-left: 4px;
}

.site-footer__bottom-bar {
    font-size: 0.8125rem;
    color: #6B7280;
}

.site-footer__copyright {
    color: #9CA3AF;
}

.site-footer__editorial {
    color: #6B7280;
}

.site-footer__age-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.site-footer__age-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(11, 14, 20, 0.92);
    backdrop-filter: blur(8px);
}

.site-footer__age-dialog {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 480px;
    margin: auto;
}

.site-footer__age-card {
    background: linear-gradient(145deg, #1A202C, #121722);
    border: 1px solid rgba(212, 175, 55, 0.45);
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.85), 0 0 30px rgba(212, 175, 55, 0.2);
}

.site-footer__age-icon-box {
    width: 64px;
    height: 64px;
    margin: 0 auto;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid #D4AF37;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.3);
}

.site-footer__modal-icon {
    font-size: 2.2rem;
    color: #D4AF37;
}

.site-footer__age-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: 1.5rem;
    font-weight: 700;
}

.site-footer__age-text {
    color: #9CA3AF;
    font-size: 0.95rem;
    line-height: 1.6;
}

.site-footer__btn {
    padding: 0.75rem 1.75rem;
    border-radius: 100px;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    min-width: 150px;
}

.site-footer__btn-primary {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    border: none;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.35);
}

.site-footer__btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
    color: #0B0E14;
}

.site-footer__btn-secondary {
    background: rgba(255, 255, 255, 0.05);
    color: #F9FAFB;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.site-footer__btn-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(212, 175, 55, 0.5);
    color: #FFFFFF;
}

@media (max-width:767.98px) {
    .site-footer {
        padding: 2.5rem 0 1.5rem;
    }

    .site-footer__brand-title {
        font-size: 1.3rem;
    }

    .site-footer__section-heading {
        font-size: 1rem;
        margin-top: 0.5rem;
    }

    .site-footer__partner-img {
        max-width: 105px;
    }

    .site-footer__age-card {
        padding: 1.5rem 1.25rem;
    }

    .site-footer__age-title {
        font-size: 1.25rem;
    }
}

.policy-content {
  max-width: 960px;
  margin: 0 auto;
  padding: 3rem 1.5rem 5rem;
  color: #F9FAFB;
  font-family: 'Plus Jakarta Sans', sans-serif;
  line-height: 1.7;
}

.policy-content .policy-header-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

.policy-content .policy-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(212, 175, 55, 0.12);
  color: #D4AF37;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.4rem 0.85rem;
  border-radius: 6px;
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.policy-content .policy-last-updated {
  margin: 0;
  font-size: 0.875rem;
  color: #9CA3AF;
  font-weight: 500;
}

.policy-content h2 {
  font-family: 'Cinzel', serif;
  color: #F9FAFB;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.3;
  position: relative;
  padding-left: 0.85rem;
  border-left: 3px solid #D4AF37;
}

.policy-content h3 {
  font-family: 'Cinzel', serif;
  color: #D4AF37;
  font-size: 1.2rem;
  font-weight: 600;
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.policy-content p {
  color: #D1D5DB;
  font-size: 0.95rem;
  margin-bottom: 1.25rem;
  line-height: 1.75;
}

.policy-content strong {
  color: #F9FAFB;
  font-weight: 600;
}

.policy-content .policy-list,
.policy-content .policy-numbered-list {
  margin-bottom: 1.5rem;
  padding-left: 1.25rem;
  color: #D1D5DB;
}

.policy-content .policy-list li,
.policy-content .policy-numbered-list li {
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
  line-height: 1.65;
}

.policy-content .policy-list li::marker {
  color: #D4AF37;
}

.policy-content .policy-numbered-list li::marker {
  color: #D4AF37;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .policy-content {
    padding: 2rem 1rem 3.5rem;
    hyphens: auto;
  }

  .policy-content h2 {
    font-size: 1rem;
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
    padding-left: 0.5rem;
  }

  .policy-content h3 {
    font-size: 0.875rem;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
  }

  .policy-content p,
  .policy-content .policy-list li,
  .policy-content .policy-numbered-list li {
    font-size: 0.875rem;
    line-height: 1.6;
  }

  .policy-content .policy-header-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
  }
}

.policy-content { color: #9CA3AF; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1rem; line-height: 1.7; padding: 2rem 0; word-break: break-word; hyphens: auto; } .policy-content .policy-intro-card { background: linear-gradient(180deg, #1A202C 0%, #121722 100%); border: 1px solid rgba(212, 175, 55, 0.25); border-radius: 16px; padding: 2rem; margin-bottom: 2.5rem; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5); } .policy-content .policy-lead-text { color: #F9FAFB; font-size: 1.125rem; line-height: 1.7; margin-bottom: 1.25rem; } .policy-content .policy-meta-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(212, 175, 55, 0.1); border: 1px solid rgba(212, 175, 55, 0.3); border-radius: 100px; padding: 0.35rem 1rem; color: #D4AF37; font-size: 0.85rem; font-weight: 600; } .policy-content .policy-meta-badge i { font-size: 1.1rem; color: #D4AF37; } .policy-content h1, .policy-content h2, .policy-content h3, .policy-content h4 { font-family: 'Cinzel', serif; color: #F9FAFB; line-height: 1.3; margin-top: 2rem; margin-bottom: 1rem; font-weight: 700; letter-spacing: 0.02em; } .policy-content h2.policy-section-title { font-size: 1.5rem; color: #D4AF37; border-bottom: 1px solid rgba(255, 255, 255, 0.08); padding-bottom: 0.5rem; margin-top: 2.25rem; } .policy-content p { color: #9CA3AF; margin-bottom: 1.25rem; } .policy-content .policy-checklist { list-style: none; padding-left: 0; margin-bottom: 1.5rem; } .policy-content .policy-checklist li { position: relative; padding-left: 1.75rem; margin-bottom: 0.85rem; color: #E5E7EB; line-height: 1.6; } .policy-content .policy-checklist li::before { content: '•'; position: absolute; left: 0.5rem; top: 0; color: #D4AF37; font-size: 1.25rem; line-height: 1; } .policy-content a { color: #D4AF37; text-decoration: underline; text-underline-offset: 4px; transition: color 0.3s ease; } .policy-content a:hover { color: #E5C158; } @media (max-width: 767.98px) { .policy-content { padding: 1.25rem 0; } .policy-content .policy-intro-card { padding: 1.25rem; border-radius: 12px; margin-bottom: 1.75rem; } .policy-content .policy-lead-text { font-size: 0.95rem; } .policy-content h1 { font-size: 18px !important; } .policy-content h2, .policy-content h2.policy-section-title { font-size: 16px !important; } .policy-content h3 { font-size: 14px !important; } .policy-content h4 { font-size: 13px !important; } .policy-content p, .policy-content .policy-checklist li { font-size: 0.875rem; } }

.policy-content { color: #F9FAFB; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1rem; line-height: 1.7; padding: 2.5rem 1.5rem; max-width: 1000px; margin: 0 auto; }
.policy-content h2 { font-family: 'Cinzel', serif; font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 700; color: #D4AF37; line-height: 1.3; margin-top: 2.5rem; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(212, 175, 55, 0.2); letter-spacing: 0.02em; }
.policy-content h2:first-of-type { margin-top: 0; }
.policy-content p { color: #9CA3AF; margin-bottom: 1.25rem; font-size: 1rem; line-height: 1.7; }
.policy-content p:last-child { margin-bottom: 0; }
.policy-content ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.5rem; }
.policy-content li { color: #9CA3AF; margin-bottom: 0.65rem; line-height: 1.6; }
.policy-content strong { color: #F9FAFB; font-weight: 600; }
@media (max-width: 767.98px) { .policy-content { padding: 1.5rem 1rem; } .policy-content h2 { font-size: 16px; margin-top: 1.75rem; hyphens: auto; } .policy-content p, .policy-content li { font-size: 0.9rem; line-height: 1.55; hyphens: auto; } }

.policy-content { color: #F9FAFB; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1rem; line-height: 1.65; max-width: 100%; word-break: break-word; } .policy-content h1, .policy-content h2, .policy-content h3, .policy-content h4 { color: #D4AF37; font-family: 'Cinzel', 'Playfair Display', serif; font-weight: 700; line-height: 1.25; margin-top: 2rem; margin-bottom: 1rem; letter-spacing: 0.02em; } .policy-content h1 { font-size: clamp(2rem, 4vw, 3.25rem); } .policy-content h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); border-bottom: 1px solid rgba(212, 175, 55, 0.2); padding-bottom: 0.5rem; margin-top: 2.5rem; } .policy-content h3 { font-size: clamp(1.25rem, 2vw, 1.75rem); color: #F9FAFB; margin-top: 1.75rem; } .policy-content p { color: #9CA3AF; margin-bottom: 1.25rem; font-size: 1rem; line-height: 1.7; } .policy-content ul, .policy-content ol { margin-bottom: 1.5rem; padding-left: 1.5rem; color: #9CA3AF; } .policy-content li { margin-bottom: 0.75rem; line-height: 1.6; } .policy-content li strong { color: #F9FAFB; } .policy-content a { color: #D4AF37; text-decoration: underline; transition: color 0.3s ease; } .policy-content a:hover { color: #E5C158; } @media (max-width: 767.98px) { .policy-content { hyphens: auto; } .policy-content h1 { font-size: 18px !important; } .policy-content h2 { font-size: 16px !important; } .policy-content h3 { font-size: 14px !important; } .policy-content h4 { font-size: 13px !important; } .policy-content p, .policy-content li { font-size: 0.875rem; line-height: 1.5; } }

.policy-content {
  color: #9CA3AF;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  padding: 2.5rem 1.5rem;
  max-width: 1040px;
  margin: 0 auto;
  background: rgba(18, 23, 34, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
}

.policy-content h2 {
  font-family: 'Cinzel', serif;
  color: #D4AF37;
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

.policy-content h2:first-of-type {
  margin-top: 0;
}

.policy-content p {
  margin-bottom: 1.25rem;
  color: #9CA3AF;
}

.policy-content strong {
  color: #F9FAFB;
  font-weight: 600;
}

.policy-content ul {
  list-style-type: square;
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.policy-content ul li {
  margin-bottom: 0.75rem;
  color: #9CA3AF;
  line-height: 1.65;
}

.policy-content ul li strong {
  color: #F9FAFB;
}

.policy-content a {
  color: #D4AF37;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.policy-content a:hover {
  color: #E5C158;
  text-decoration: none;
}

@media (max-width: 767.98px) {
  .policy-content {
    padding: 1.5rem 1rem;
    hyphens: auto;
  }
  .policy-content h2 {
    font-size: 16px;
    margin-top: 1.5rem;
  }
  .policy-content p,
  .policy-content ul li {
    font-size: 0.875rem;
    line-height: 1.55;
  }
  .policy-content ul {
    padding-left: 1.25rem;
  }
}

.lux-hotels-section { background-color: #0B0E14; min-height: 100vh; color: #F9FAFB; font-family: 'Plus Jakarta Sans', sans-serif; }
.lux-hotels-section .lux-category-badge { font-family: 'Space Grotesk', sans-serif; font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; color: #D4AF37; background: rgba(212, 175, 55, 0.12); padding: 0.5rem 1.25rem; border-radius: 50px; border: 1px solid rgba(212, 175, 55, 0.3); }
.lux-hotels-section .lux-page-title { font-family: 'Cinzel', serif; color: #F9FAFB; letter-spacing: 0.02em; line-height: 1.2; text-shadow: 0 4px 18px rgba(0, 0, 0, 0.5); }
.lux-hotels-section .lux-page-subtitle { max-width: 680px; font-size: 1.05rem; line-height: 1.65; color: #9CA3AF; }
.lux-hotels-section .lux-controls-wrapper { background: #121722; border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4); }
.lux-hotels-section .lux-search-icon { left: 1rem; color: #D4AF37; font-size: 1.25rem; z-index: 4; }
.lux-hotels-section .lux-search-box .form-control { background-color: #1A202C; border: 1px solid rgba(255, 255, 255, 0.1); color: #F9FAFB; border-radius: 10px; padding-top: 0.65rem; padding-bottom: 0.65rem; transition: all 0.3s ease; }
.lux-hotels-section .lux-search-box .form-control:focus { background-color: #242C3D; border-color: #D4AF37; box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.25); color: #FFFFFF; }
.lux-hotels-section .lux-search-box .form-control::placeholder { color: #6B7280; opacity: 1; }
.lux-hotels-section .form-select { background-color: #1A202C; border: 1px solid rgba(255, 255, 255, 0.1); color: #F9FAFB; border-radius: 10px; padding-top: 0.65rem; padding-bottom: 0.65rem; transition: all 0.3s ease; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23D4AF37' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
.lux-hotels-section .form-select:focus { background-color: #242C3D; border-color: #D4AF37; box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.25); color: #FFFFFF; }
.lux-hotels-section .form-select option { background-color: #121722; color: #F9FAFB; }
.lux-hotels-section .lux-results-counter { font-family: 'Space Grotesk', sans-serif; letter-spacing: 0.05em; font-weight: 500; }
.lux-hotels-section .lux-hotel-card { background: rgba(18, 23, 34, 0.85); border: 1px solid rgba(255, 255, 255, 0.08); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease; backdrop-filter: blur(12px); }
.lux-hotels-section .lux-hotel-card:hover { transform: translateY(-6px); border-color: rgba(212, 175, 55, 0.45); box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.8), 0 0 20px rgba(212, 175, 55, 0.15); }
.lux-hotels-section .lux-card-media { overflow: hidden; height: 260px; }
.lux-hotels-section .lux-card-img-link { height: 100%; }
.lux-hotels-section .lux-hotel-img { height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.lux-hotels-section .lux-hotel-card:hover .lux-hotel-img { transform: scale(1.06); }
.lux-hotels-section .lux-rating-pill { background: rgba(11, 14, 20, 0.85); color: #FFFFFF; font-weight: 700; font-size: 0.85rem; padding: 0.35rem 0.75rem; border-radius: 50px; border: 1px solid rgba(255, 255, 255, 0.15); backdrop-filter: blur(8px); }
.lux-hotels-section .lux-luxury-tag { background: rgba(139, 92, 246, 0.85); color: #FFFFFF; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.35rem 0.75rem; border-radius: 50px; backdrop-filter: blur(8px); }
.lux-hotels-section .lux-price-badge { background: rgba(11, 14, 20, 0.88); border: 1px solid rgba(212, 175, 55, 0.35); font-size: 0.875rem; color: #9CA3AF; backdrop-filter: blur(8px); }
.lux-hotels-section .lux-card-title { font-family: 'Cinzel', serif; font-weight: 700; line-height: 1.35; }
.lux-hotels-section .lux-title-link { color: #F9FAFB; transition: color 0.3s ease; }
.lux-hotels-section .lux-title-link:hover { color: #D4AF37; }
.lux-hotels-section .lux-card-location { font-family: 'Plus Jakarta Sans', sans-serif; }
.lux-hotels-section .lux-form-label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.lux-hotels-section .lux-input { background-color: #1A202C; border: 1px solid rgba(255, 255, 255, 0.1); color: #F9FAFB; border-radius: 6px; font-size: 0.8125rem; padding: 0.4rem 0.65rem; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.lux-hotels-section .lux-input:focus { background-color: #242C3D; border-color: #D4AF37; box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.25); color: #FFFFFF; }
.lux-hotels-section .lux-input::placeholder { color: #6B7280; opacity: 1; }
.lux-hotels-section .lux-btn-gold { background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%); color: #0B0E14; font-weight: 700; font-size: 0.875rem; border: none; border-radius: 8px; padding: 0.65rem 1.25rem; box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3); transition: all 0.3s ease; }
.lux-hotels-section .lux-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(212, 175, 55, 0.45); color: #000000; background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%); }
.lux-hotels-section .lux-btn-expedia { background: rgba(255, 255, 255, 0.06); color: #F9FAFB; font-weight: 600; font-size: 0.875rem; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 8px; padding: 0.65rem 1.15rem; text-decoration: none; transition: all 0.3s ease; }
.lux-hotels-section .lux-btn-expedia:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(212, 175, 55, 0.5); color: #D4AF37; }
@media (max-width: 767.98px) {
  .lux-hotels-section .lux-page-title { font-size: 1.65rem; hyphens: auto; }
  .lux-hotels-section .lux-page-subtitle { font-size: 0.9375rem; }
  .lux-hotels-section .lux-card-media { height: 210px; }
  .lux-hotels-section .lux-card-body { padding: 1.25rem; }
  .lux-hotels-section .lux-card-title { font-size: 1.1rem; }
}

.blog-section {
  background-color: #0B0E14;
  color: #F9FAFB;
}

.blog-section .blog-section__badge {
  background: rgba(212, 175, 55, 0.12);
  color: #D4AF37;
  border: 1px solid rgba(212, 175, 55, 0.3);
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  padding: 0.35rem 1rem;
  border-radius: 50px;
}

.blog-section .blog-section__title {
  font-family: 'Cinzel', serif;
  color: #F9FAFB;
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.blog-section .blog-section__subtitle {
  color: #9CA3AF;
  font-size: 1.0625rem;
  max-width: 680px;
  line-height: 1.6;
}

.blog-section .blog-section__search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #D4AF37;
  font-size: 1.25rem;
  pointer-events: none;
}

.blog-section .blog-section__search-input {
  background-color: #121722;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #F9FAFB;
  padding-left: 2.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  border-radius: 12px;
  font-size: 0.9375rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.blog-section .blog-section__search-input::placeholder {
  color: #6B7280;
  opacity: 1;
}

.blog-section .blog-section__search-input:focus {
  background-color: #1A202C;
  border-color: #D4AF37;
  color: #F9FAFB;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

.blog-section .blog-section__filter-btn {
  background: #1A202C;
  color: #9CA3AF;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.6rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.blog-section .blog-section__filter-btn:hover {
  background: #242C3D;
  color: #F9FAFB;
  border-color: rgba(212, 175, 55, 0.4);
}

.blog-section .blog-section__filter-btn.active {
  background: rgba(212, 175, 55, 0.15);
  color: #D4AF37;
  border-color: #D4AF37;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.25);
}

.blog-section .blog-card {
  background: rgba(18, 23, 34, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(16px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.blog-section .blog-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.45);
  box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.8), 0 0 20px rgba(212, 175, 55, 0.15);
}

.blog-section .blog-card__image-wrapper {
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.blog-section .blog-card__img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.blog-section .blog-card:hover .blog-card__img {
  transform: scale(1.06);
}

.blog-section .blog-card__tag {
  top: 1rem;
  right: 1rem;
  background: rgba(11, 14, 20, 0.85);
  color: #D4AF37;
  border: 1px solid rgba(212, 175, 55, 0.3);
  backdrop-filter: blur(8px);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.3rem 0.75rem;
  border-radius: 6px;
}

.blog-section .blog-card__meta {
  font-size: 0.8125rem;
  color: #9CA3AF;
  flex-wrap: wrap;
}

.blog-section .blog-card__meta-item i {
  color: #D4AF37;
  font-size: 1rem;
}

.blog-section .blog-card__title {
  font-family: 'Cinzel', serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
}

.blog-section .blog-card__title-link {
  color: #F9FAFB;
  text-decoration: none;
  transition: color 0.3s ease;
}

.blog-section .blog-card__title-link:hover {
  color: #D4AF37;
}

.blog-section .blog-card__excerpt {
  color: #9CA3AF;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.blog-section .blog-card__footer {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.blog-section .blog-card__read-btn {
  background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
  color: #0B0E14;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0.6rem 1.25rem;
  border-radius: 100px;
  border: none;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-section .blog-card__read-btn:hover {
  color: #0B0E14;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
}

.blog-section .blog-section__empty-icon {
  font-size: 3rem;
  color: #D4AF37;
}

.blog-section .blog-section__empty-title {
  font-family: 'Cinzel', serif;
  color: #F9FAFB;
  font-size: 1.5rem;
}

.blog-section .blog-section__empty-text {
  color: #9CA3AF;
  font-size: 1rem;
}

@media (max-width: 767.98px) {
  .blog-section .blog-section__title {
    font-size: 1.125rem;
    hyphens: auto;
  }
  .blog-section .blog-card__title {
    font-size: 0.875rem;
    hyphens: auto;
  }
  .blog-section .blog-section__empty-title {
    font-size: 1rem;
  }
}

.about-project-page { background-color: #0B0E14; color: #F9FAFB; font-family: 'Plus Jakarta Sans', sans-serif; } .about-project-page__main-title { font-family: 'Cinzel', serif; font-weight: 700; color: #F9FAFB; font-size: clamp(1.75rem, 3.5vw, 2.75rem); line-height: 1.2; } .about-project-page__section-title { font-family: 'Cinzel', serif; font-weight: 600; color: #F9FAFB; font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.25; } .about-project-page__badge { display: inline-flex; align-items: center; background: rgba(212, 175, 55, 0.12); color: #D4AF37; border: 1px solid rgba(212, 175, 55, 0.3); padding: 0.35rem 0.85rem; border-radius: 50px; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; } .about-project-page__lead { font-size: 1.15rem; line-height: 1.6; } .about-project-page__description { font-size: 0.975rem; line-height: 1.7; } .about-project-page__btn-primary { background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%); color: #0B0E14; font-weight: 600; border-radius: 100px; padding: 0.8rem 1.8rem; border: none; transition: transform 0.3s ease, box-shadow 0.3s ease; text-decoration: none; display: inline-flex; align-items: center; } .about-project-page__btn-primary:hover { background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%); color: #0B0E14; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(212, 175, 55, 0.35); } .about-project-page__btn-secondary { background: rgba(255, 255, 255, 0.05); color: #F9FAFB; font-weight: 500; border-radius: 100px; padding: 0.8rem 1.6rem; border: 1px solid rgba(255, 255, 255, 0.15); transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; text-decoration: none; display: inline-flex; align-items: center; } .about-project-page__btn-secondary:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(212, 175, 55, 0.5); color: #D4AF37; transform: translateY(-2px); } .about-project-page__media-card { border-radius: 16px; overflow: hidden; border: 1px solid rgba(212, 175, 55, 0.3); background: #121722; box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7); } .about-project-page__img-main { width: 100%; height: 380px; object-fit: cover; display: block; } .about-project-page__media-overlay { position: absolute; bottom: 15px; left: 15px; right: 15px; background: rgba(18, 23, 34, 0.85); backdrop-filter: blur(12px); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); } .about-project-page__stat-icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(212, 175, 55, 0.15); color: #D4AF37; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; } .about-project-page__stat-num { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.25rem; color: #D4AF37; } .about-project-page__stat-label { font-size: 0.75rem; color: #9CA3AF; text-transform: uppercase; letter-spacing: 0.05em; } .about-project-page__pillar-card { background: rgba(18, 23, 34, 0.85); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 16px; transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; } .about-project-page__pillar-card:hover { transform: translateY(-5px); border-color: rgba(212, 175, 55, 0.4); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6), 0 0 15px rgba(212, 175, 55, 0.1); } .about-project-page__icon-box { width: 50px; height: 50px; border-radius: 12px; background: linear-gradient(135deg, rgba(212, 175, 55, 0.2) 0%, rgba(212, 175, 55, 0.05) 100%); color: #D4AF37; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; border: 1px solid rgba(212, 175, 55, 0.2); } .about-project-page__pillar-title { font-family: 'Cinzel', serif; color: #F9FAFB; font-weight: 600; font-size: 1.15rem; } .about-project-page__pillar-text { font-size: 0.875rem; line-height: 1.6; } .about-project-page__methodology { background: linear-gradient(145deg, #1A202C 0%, #121722 100%); border: 1px solid rgba(212, 175, 55, 0.25); border-radius: 20px; box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.6); } .about-project-page__tab-btn { background: #121722; color: #9CA3AF; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; font-size: 0.875rem; padding: 0.5rem 1rem; transition: all 0.3s ease; } .about-project-page__tab-btn:hover { color: #F9FAFB; border-color: rgba(212, 175, 55, 0.4); } .about-project-page__tab-btn.active { background: rgba(212, 175, 55, 0.15); color: #D4AF37; border-color: #D4AF37; font-weight: 600; } .text-gold { color: #D4AF37 !important; } .about-project-page__check-list li { color: #D1D5DB; font-size: 0.9rem; } .about-project-page__metric-box { background: rgba(11, 14, 20, 0.7); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; } .about-project-page__progress { height: 8px; background-color: #242C3D; border-radius: 6px; overflow: hidden; } .about-project-page__progress .progress-bar { background: linear-gradient(90deg, #AA7C11 0%, #D4AF37 100%); border-radius: 6px; } .about-project-page__editorial-promise { background: rgba(18, 23, 34, 0.8); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 20px; } .about-project-page__img-promise { border-radius: 14px; width: 100%; height: 320px; object-fit: cover; border: 1px solid rgba(255, 255, 255, 0.1); } .about-project-page__mini-feature { background: #121722; border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 10px; } .about-project-page__accordion-item { background: #121722; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px !important; overflow: hidden; } .about-project-page__accordion-btn { background: #121722; color: #F9FAFB; font-weight: 600; font-size: 1rem; border: none; padding: 1.1rem 1.4rem; box-shadow: none !important; } .about-project-page__accordion-btn:not(.collapsed) { background: rgba(212, 175, 55, 0.08); color: #D4AF37; } .about-project-page__accordion-btn::after { filter: invert(1) grayscale(100%); } .about-project-page__accordion-body { background: #121722; padding: 1.25rem 1.4rem; line-height: 1.65; font-size: 0.95rem; border-top: 1px solid rgba(255, 255, 255, 0.05); }

.contact-section { background-color: #0B0E14; min-height: 70vh; color: #F9FAFB; font-family: 'Plus Jakarta Sans', sans-serif; }
.contact-section .contact-card { background: linear-gradient(180deg, #1A202C 0%, #121722 100%); border: 1px solid rgba(212, 175, 55, 0.3); border-radius: 16px; padding: 2.5rem; box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7), 0 0 30px -10px rgba(212, 175, 55, 0.15); }
.contact-section .contact-badge { background: rgba(212, 175, 55, 0.12); color: #D4AF37; border: 1px solid rgba(212, 175, 55, 0.35); font-family: 'Space Grotesk', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; padding: 0.35rem 1rem; border-radius: 50px; }
.contact-section .contact-title { font-family: 'Cinzel', serif; font-size: clamp(1.75rem, 3vw, 2.35rem); font-weight: 700; color: #F9FAFB; line-height: 1.25; }
.contact-section .contact-lead { font-size: 1rem; color: #9CA3AF; line-height: 1.6; max-width: 620px; margin-left: auto; margin-right: auto; }
.contact-section .form-label { font-size: 0.875rem; font-weight: 600; color: #E5E7EB; margin-bottom: 0.5rem; display: block; }
.contact-section .required-mark { color: #D4AF37; margin-left: 2px; }
.contact-section .input-wrapper { position: relative; }
.contact-section .input-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #D4AF37; font-size: 1.25rem; pointer-events: none; z-index: 2; }
.contact-section .textarea-icon { top: 1.15rem; transform: none; }
.contact-section .custom-input { background-color: #121722; color: #F9FAFB; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 10px; padding: 0.8rem 1rem 0.8rem 2.75rem; font-size: 0.95rem; line-height: 1.5; transition: border-color 0.25s ease, box-shadow 0.25s ease; }
.contact-section select.custom-input { cursor: pointer; color: #F9FAFB; background-color: #121722; }
.contact-section select.custom-input option { background-color: #1A202C; color: #F9FAFB; }
.contact-section .custom-input:focus { background-color: #121722; color: #FFFFFF; border-color: #D4AF37; box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2); outline: none; }
.contact-section .custom-input::placeholder { color: #6B7280; opacity: 1; }
.contact-section .custom-textarea { resize: vertical; min-height: 130px; }
.contact-section .form-consent-box { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); padding: 0.75rem 1rem; border-radius: 8px; }
.contact-section .form-check-input { background-color: #121722; border-color: rgba(212, 175, 55, 0.4); cursor: pointer; }
.contact-section .form-check-input:checked { background-color: #D4AF37; border-color: #D4AF37; }
.contact-section .form-check-input:focus { border-color: #D4AF37; box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.2); }
.contact-section .consent-label { font-size: 0.8125rem; color: #9CA3AF; line-height: 1.45; cursor: pointer; margin-bottom: 0; }
.contact-section .btn-contact-submit { background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%); color: #0B0E14; font-weight: 700; font-size: 1rem; letter-spacing: 0.02em; padding: 0.9rem 2.5rem; border-radius: 100px; border: none; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(212, 175, 55, 0.35); transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.contact-section .btn-contact-submit:hover { transform: translateY(-2px); color: #0B0E14; box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5); }
.contact-section .btn-contact-submit:active { transform: translateY(0); }
.contact-section .contact-footer-note { border-top: 1px solid rgba(255, 255, 255, 0.08); }
.contact-section .note-feature { display: flex; align-items: flex-start; gap: 0.75rem; text-align: left; background: rgba(18, 23, 34, 0.6); padding: 1rem; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.04); height: 100%; }
.contact-section .feature-icon { font-size: 1.6rem; color: #D4AF37; line-height: 1; flex-shrink: 0; margin-top: 0.15rem; }
.contact-section .note-heading { font-family: 'Space Grotesk', sans-serif; font-size: 0.95rem; font-weight: 700; color: #F9FAFB; margin-bottom: 0.25rem; line-height: 1.3; }
.contact-section .note-desc { font-size: 0.8125rem; color: #9CA3AF; line-height: 1.45; }
@media (max-width: 767.98px) { .contact-section .contact-card { padding: 1.5rem 1.15rem; } .contact-section .contact-title { font-size: 1.35rem; } .contact-section .btn-contact-submit { width: 100%; } .contact-section .note-feature { padding: 0.85rem; } }

.review-card--main {
    background: #121722;
    background: linear-gradient(180deg, #1A202C 0%, #121722 100%);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 16px;
    padding: 1.75rem;
    color: #F9FAFB;
    position: relative;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
    transition: border-color 400ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.review-card--main:hover {
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.7), 0 0 20px rgba(212, 175, 55, 0.12);
}

.review-card__avatar-wrapper {
    position: relative;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
}

.review-card__avatar {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #D4AF37;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.3);
}

.review-card__vip-indicator {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 20px;
    height: 20px;
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #121722;
}

.review-card__author-name {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #F9FAFB;
    letter-spacing: 0.02em;
}

.review-card__author-badge {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #D4AF37;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid rgba(212, 175, 55, 0.3);
    padding: 0.2rem 0.6rem;
    border-radius: 100px;
}

.review-card__meta-time {
    font-size: 0.8125rem;
    color: #9CA3AF;
}

.review-card__dot-separator {
    color: #6B7280;
}

.review-card__rating-box {
    background: #0B0E14;
    border: 1px solid rgba(212, 175, 55, 0.25);
    padding: 0.4rem 0.85rem;
    border-radius: 8px;
}

.review-card__stars {
    color: #D4AF37;
    font-size: 1rem;
    gap: 2px;
}

.review-card__rating-value {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    font-size: 0.9375rem;
    color: #F9FAFB;
}

.review-card__headline {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: #F9FAFB;
    margin-bottom: 0.6rem;
}

.review-card__text {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #D1D5DB;
    margin-bottom: 0.75rem;
}

.review-chip {
    display: inline-flex;
    align-items: center;
    font-size: 0.8125rem;
    color: #9CA3AF;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
}

.review-chip i {
    color: #D4AF37;
}

.review-card__footer {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.review-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #9CA3AF;
    font-size: 0.8125rem;
    font-weight: 500;
    padding: 0.4rem 0.85rem;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    transition: all 300ms ease;
}

.review-btn:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: #D4AF37;
    color: #D4AF37;
}

.review-btn__count {
    color: #6B7280;
}

.review-btn--report {
    padding: 0.4rem 0.6rem;
}

.review-btn--report:hover {
    color: #EF4444;
    border-color: rgba(239, 68, 68, 0.4);
    background: rgba(239, 68, 68, 0.08);
}

.review-thread-container {
    border-left: 2px solid rgba(212, 175, 55, 0.25) !important;
    position: relative;
}

.review-thread-container::before {
    content: '';
    position: absolute;
    top: 24px;
    left: -2px;
    width: 14px;
    height: 2px;
    background: rgba(212, 175, 55, 0.35);
}

.review-card--reply {
    background: #1A202C;
    background: linear-gradient(135deg, rgba(26, 32, 44, 0.95) 0%, rgba(18, 23, 34, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    color: #F9FAFB;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.35);
    transition: border-color 300ms ease, background 300ms ease;
}

.review-card--reply:hover {
    border-color: rgba(212, 175, 55, 0.35);
    background: linear-gradient(135deg, rgba(36, 44, 61, 0.95) 0%, rgba(18, 23, 34, 0.95) 100%);
}

.review-card__avatar-wrapper--reply {
    width: 40px;
    height: 40px;
}

.review-card__avatar--reply {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;
    border: 1.5px solid #D4AF37;
}

.review-card__author-name--reply {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 0.975rem;
    font-weight: 700;
    color: #F9FAFB;
}

.review-card__official-badge {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #10B981;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 0.15rem 0.5rem;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
}

.review-btn--compact {
    font-size: 0.75rem;
    padding: 0.25rem 0.65rem;
}

@media (max-width: 576px) {
    .review-thread-container {
        margin-left: 0.75rem !important;
        padding-left: 0.75rem !important;
    }

    .review-card--main,
    .review-card--reply {
        padding: 1rem;
    }
}

.header-nav-block {
    background-color: #121722;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    z-index: 1030;
    position: sticky;
    top: 0;
}

.header-nav-block .header-nav-block__navbar {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.header-nav-block .header-nav-block__brand {
    text-decoration: none;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-nav-block .header-nav-block__brand:hover {
    transform: translateY(-1px);
}

.header-nav-block .header-nav-block__logo {
    max-width: 46px;
    max-height: 46px;
    object-fit: contain;
}

.header-nav-block .header-nav-block__title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #D4AF37;
    text-transform: uppercase;
}

.header-nav-block .header-nav-block__toggler {
    border: 1px solid rgba(212, 175, 55, 0.3);
    background-color: #1A202C;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    box-shadow: none;
}

.header-nav-block .header-nav-block__toggler:focus {
    box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.4);
}

.header-nav-block .header-nav-block__toggler-icon {
    font-size: 1.6rem;
    color: #D4AF37;
    display: block;
}

.header-nav-block .header-nav-block__link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    color: #F9FAFB;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.header-nav-block .header-nav-block__link:hover,
.header-nav-block .header-nav-block__link:focus {
    color: #D4AF37;
    background-color: rgba(212, 175, 55, 0.08);
}

.header-nav-block .header-nav-block__cta-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 600;
    font-size: 0.9rem;
    border-radius: 100px;
    padding: 0.6rem 1.4rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap;
}

.header-nav-block .header-nav-block__cta-btn:hover {
    background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%);
    color: #0B0E14;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.45);
}

@media(max-width:991.98px) {
    .header-nav-block .header-nav-block__collapse {
        background-color: #121722;
        padding: 1.25rem 0.5rem;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        margin-top: 0.75rem;
    }

    .header-nav-block .header-nav-block__link {
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
    }

    .header-nav-block .header-nav-block__cta-btn {
        margin-top: 0.5rem;
        width: 100%;
        padding: 0.75rem 1.5rem;
    }
}

.site-footer {
    background-color: #0B0E14;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    color: #9CA3AF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    padding: 3.5rem 0 2rem;
    position: relative;
    overflow: hidden;
}

.site-footer__disclaimer-card {
    background: linear-gradient(145deg, #1A202C, #121722);
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
}

.site-footer__disclaimer-icon-wrap {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid rgba(212, 175, 55, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-footer__disclaimer-icon {
    font-size: 1.75rem;
    color: #D4AF37;
}

.site-footer__disclaimer-heading {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
    letter-spacing: 0.05em;
}

.site-footer__disclaimer-text {
    font-size: 0.875rem;
    color: #F9FAFB;
    line-height: 1.55;
}

.site-footer__age-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #D4AF37;
    color: #0B0E14;
    font-weight: 800;
    font-size: 1rem;
    border: 2px solid #AA7C11;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.4);
}

.site-footer__partners-block {
    background: rgba(18, 23, 34, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.5rem 1rem;
}

.site-footer__partners-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
}

.site-footer__partners-grid {
    width: 100%;
}

.site-footer__partner-item {
    background: #1A202C;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 0.6rem 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.3s ease, transform 0.3s ease;
    text-decoration: none;
    min-height: 56px;
}

.site-footer__partner-item:hover {
    border-color: rgba(212, 175, 55, 0.5);
    transform: translateY(-2px);
}

.site-footer__partner-img {
    width: 120px;
    max-width: 130px;
    height: auto;
    max-height: 42px;
    object-fit: contain;
    display: block;
}

.site-footer__nav-grid {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__brand-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.site-footer__brand-desc {
    color: #9CA3AF;
    font-size: 0.875rem;
    line-height: 1.6;
    margin-bottom: 0;
}

.site-footer__section-heading {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    letter-spacing: 0.03em;
}

.site-footer__links-list li {
    margin-bottom: 0.6rem;
}

.site-footer__links-list li:last-child {
    margin-bottom: 0;
}

.site-footer__nav-link {
    color: #9CA3AF;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.25s ease, padding-left 0.25s ease;
    display: inline-block;
}

.site-footer__nav-link:hover {
    color: #D4AF37;
    padding-left: 4px;
}

.site-footer__bottom-bar {
    font-size: 0.8125rem;
    color: #6B7280;
}

.site-footer__copyright {
    color: #9CA3AF;
}

.site-footer__editorial {
    color: #6B7280;
}

.site-footer__age-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.site-footer__age-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(11, 14, 20, 0.92);
    backdrop-filter: blur(8px);
}

.site-footer__age-dialog {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 480px;
    margin: auto;
}

.site-footer__age-card {
    background: linear-gradient(145deg, #1A202C, #121722);
    border: 1px solid rgba(212, 175, 55, 0.45);
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.85), 0 0 30px rgba(212, 175, 55, 0.2);
}

.site-footer__age-icon-box {
    width: 64px;
    height: 64px;
    margin: 0 auto;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid #D4AF37;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.3);
}

.site-footer__modal-icon {
    font-size: 2.2rem;
    color: #D4AF37;
}

.site-footer__age-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: 1.5rem;
    font-weight: 700;
}

.site-footer__age-text {
    color: #9CA3AF;
    font-size: 0.95rem;
    line-height: 1.6;
}

.site-footer__btn {
    padding: 0.75rem 1.75rem;
    border-radius: 100px;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    min-width: 150px;
}

.site-footer__btn-primary {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    border: none;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.35);
}

.site-footer__btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
    color: #0B0E14;
}

.site-footer__btn-secondary {
    background: rgba(255, 255, 255, 0.05);
    color: #F9FAFB;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.site-footer__btn-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(212, 175, 55, 0.5);
    color: #FFFFFF;
}

.hotel-detail-page {
    background-color: #0B0E14;
    color: #F9FAFB;
    font-family: 'Plus Jakarta Sans', sans-serif;
    min-height: 100vh;
}

.hotel-detail-page .hotel-detail-page__crumb-link {
    color: #D4AF37;
    text-decoration: none;
    transition: color 0.2s ease;
}

.hotel-detail-page .hotel-detail-page__crumb-link:hover {
    color: #E5C158;
    text-decoration: underline;
}

.hotel-detail-page .breadcrumb-item+.breadcrumb-item::before {
    color: #6B7280;
}

.hotel-detail-page .hotel-detail-page__hero-card {
    background: linear-gradient(145deg, #1A202C, #121722);
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 16px;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7), 0 0 30px -10px rgba(212, 175, 55, 0.15);
}

.hotel-detail-page .hotel-detail-page__badge {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border: 1px solid rgba(212, 175, 55, 0.4);
    padding: 0.35rem 0.8rem;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.hotel-detail-page .hotel-detail-page__rating-pill {
    background: #10B981;
    color: #0B0E14;
    font-weight: 700;
    font-size: 0.85rem;
    padding: 0.35rem 0.75rem;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
}

.hotel-detail-page .hotel-detail-page__city-badge {
    background: #242C3D;
    color: #9CA3AF;
    font-size: 0.85rem;
    padding: 0.35rem 0.75rem;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.hotel-detail-page .hotel-detail-page__title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: clamp(1.6rem, 3.5vw, 2.5rem);
    font-weight: 700;
    line-height: 1.25;
    hyphens: auto;
}

.hotel-detail-page .hotel-detail-page__subtitle {
    color: #9CA3AF;
    font-size: 1rem;
    line-height: 1.6;
}

.hotel-detail-page .hotel-detail-page__price-box {
    background: #121722;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 12px;
}

.hotel-detail-page .hotel-detail-page__price-caption {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #9CA3AF;
}

.hotel-detail-page .hotel-detail-page__price-tag {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    color: #D4AF37;
    line-height: 1.1;
}

.hotel-detail-page .hotel-detail-page__currency {
    font-size: 1.4rem;
    vertical-align: top;
}

.hotel-detail-page .hotel-detail-page__price-period {
    font-size: 0.9rem;
    color: #9CA3AF;
    font-weight: 400;
}

.hotel-detail-page .hotel-detail-page__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    border: none;
}

.hotel-detail-page .hotel-detail-page__btn--gold {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.hotel-detail-page .hotel-detail-page__btn--gold:hover {
    background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%);
    color: #0B0E14;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.45);
}

.hotel-detail-page .hotel-detail-page__btn--outline {
    background: rgba(255, 255, 255, 0.05);
    color: #F9FAFB;
    border: 1px solid rgba(212, 175, 55, 0.3);
}

.hotel-detail-page .hotel-detail-page__btn--outline:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: #D4AF37;
    color: #D4AF37;
}

.hotel-detail-page .hotel-detail-page__slider-card {
    background: rgba(18, 23, 34, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
}

.hotel-detail-page .hotel-detail-page__slider-wrapper {
    overflow: hidden;
    border-radius: 12px;
}

.hotel-detail-page .hotel-detail-page__slides {
    position: relative;
    width: 100%;
    height: 380px;
}

@media (min-width: 768px) {
    .hotel-detail-page .hotel-detail-page__slides {
        height: 480px;
    }
}

.hotel-detail-page .hotel-detail-page__slide {
    position: absolute;
    inset: 0;
    display: none;
    width: 100%;
    height: 100%;
}

.hotel-detail-page .hotel-detail-page__slide.active {
    display: block;
}

.hotel-detail-page .hotel-detail-page__gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hotel-detail-page .hotel-detail-page__slide-caption {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    background: rgba(11, 14, 20, 0.85);
    padding: 0.5rem 1rem;
    border-radius: 8px;
    border: 1px solid rgba(212, 175, 55, 0.3);
    font-size: 0.85rem;
    color: #F9FAFB;
}

.hotel-detail-page .hotel-detail-page__slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(11, 14, 20, 0.8);
    border: 1px solid rgba(212, 175, 55, 0.4);
    color: #D4AF37;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 5;
}

.hotel-detail-page .hotel-detail-page__slider-nav:hover {
    background: #D4AF37;
    color: #0B0E14;
}

.hotel-detail-page .hotel-detail-page__slider-nav--prev {
    left: 1rem;
}

.hotel-detail-page .hotel-detail-page__slider-nav--next {
    right: 1rem;
}

.hotel-detail-page .hotel-detail-page__slider-dots {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    display: flex;
    gap: 0.5rem;
    z-index: 5;
}

.hotel-detail-page .hotel-detail-page__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    border: none;
    padding: 0;
    transition: all 0.3s ease;
}

.hotel-detail-page .hotel-detail-page__dot.active {
    background: #D4AF37;
    transform: scale(1.3);
}

.hotel-detail-page .hotel-detail-page__tabs-card,
.hotel-detail-page .hotel-detail-page__faq-card,
.hotel-detail-page .hotel-detail-page__reviews-wrapper,
.hotel-detail-page .hotel-detail-page__booking-card,
.hotel-detail-page .hotel-detail-page__side-info-card {
    background: rgba(18, 23, 34, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
}

.hotel-detail-page .hotel-detail-page__tab-btn {
    background: #1A202C;
    color: #9CA3AF;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 0.55rem 1.1rem;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
}

.hotel-detail-page .hotel-detail-page__tab-btn:hover,
.hotel-detail-page .hotel-detail-page__tab-btn.active {
    border-color: #D4AF37;
    color: #D4AF37;
    background: rgba(212, 175, 55, 0.12);
}

.hotel-detail-page .hotel-detail-page__tab-pane {
    display: none;
}

.hotel-detail-page .hotel-detail-page__tab-pane.active {
    display: block;
}

.hotel-detail-page .hotel-detail-page__rich-text h2 {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    margin-bottom: 1rem;
}

.hotel-detail-page .hotel-detail-page__rich-text h3 {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.hotel-detail-page .hotel-detail-page__rich-text p {
    color: #9CA3AF;
    line-height: 1.65;
    font-size: 0.95rem;
    margin-bottom: 1rem;
}

.hotel-detail-page .hotel-detail-page__rich-text ul,
.hotel-detail-page .hotel-detail-page__rich-text ol {
    color: #9CA3AF;
    padding-left: 1.25rem;
    margin-bottom: 1.25rem;
}

.hotel-detail-page .hotel-detail-page__rich-text li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

.hotel-detail-page .hotel-detail-page__spec-box {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
}

.hotel-detail-page .hotel-detail-page__spec-icon {
    font-size: 1.8rem;
    color: #D4AF37;
}

.hotel-detail-page .hotel-detail-page__spec-title {
    font-size: 0.95rem;
    color: #F9FAFB;
    font-weight: 600;
}

.hotel-detail-page .hotel-detail-page__spec-desc {
    font-size: 0.8rem;
    color: #9CA3AF;
}

.hotel-detail-page .hotel-detail-page__section-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 1.3rem;
    font-weight: 700;
}

.hotel-detail-page .hotel-detail-page__acc-item {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.hotel-detail-page .hotel-detail-page__acc-header {
    width: 100%;
    background: transparent;
    border: none;
    padding: 1rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #F9FAFB;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: left;
    cursor: pointer;
    transition: color 0.2s ease;
}

.hotel-detail-page .hotel-detail-page__acc-header:hover {
    color: #D4AF37;
}

.hotel-detail-page .hotel-detail-page__acc-arrow {
    font-size: 1.3rem;
    transition: transform 0.3s ease;
    color: #D4AF37;
}

.hotel-detail-page .hotel-detail-page__acc-item.active .hotel-detail-page__acc-arrow {
    transform: rotate(180deg);
}

.hotel-detail-page .hotel-detail-page__acc-content {
    padding: 0 1.25rem 1rem;
    color: #9CA3AF;
    font-size: 0.9rem;
    line-height: 1.6;
}

.hotel-detail-page .review-card {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.25rem;
}

.hotel-detail-page .review-card__avatar-wrapper {
    position: relative;
}

.hotel-detail-page .review-card__avatar {
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #D4AF37;
}

.hotel-detail-page .review-card__vip-indicator {
    position: absolute;
    bottom: -2px;
    right: -2px;
    background: #D4AF37;
    color: #0B0E14;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
}

.hotel-detail-page .review-card__author-name {
    color: #F9FAFB;
    font-size: 1rem;
    font-weight: 600;
}

.hotel-detail-page .review-card__author-badge {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-weight: 600;
}

.hotel-detail-page .review-card__meta-time {
    font-size: 0.8rem;
    color: #9CA3AF;
}

.hotel-detail-page .review-card__stars {
    color: #D4AF37;
    font-size: 1rem;
}

.hotel-detail-page .review-card__rating-value {
    color: #10B981;
    font-weight: 700;
    font-size: 0.9rem;
}

.hotel-detail-page .review-card__headline {
    color: #F9FAFB;
    font-size: 1.05rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.hotel-detail-page .review-card__text {
    color: #9CA3AF;
    font-size: 0.9rem;
    line-height: 1.6;
}

.hotel-detail-page .review-chip {
    background: #1A202C;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #D4AF37;
    font-size: 0.75rem;
    padding: 0.3rem 0.65rem;
    border-radius: 6px;
}

.hotel-detail-page .review-btn {
    background: #1A202C;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #9CA3AF;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    font-size: 0.8rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.2s ease;
}

.hotel-detail-page .review-btn:hover,
.hotel-detail-page .review-btn.active {
    border-color: #D4AF37;
    color: #D4AF37;
    background: rgba(212, 175, 55, 0.15);
}

.hotel-detail-page .review-thread-container {
    border-left-color: rgba(212, 175, 55, 0.3) !important;
}

.hotel-detail-page .review-card--reply {
    background: #161D2A;
}

.hotel-detail-page .review-card__official-badge {
    background: rgba(16, 185, 129, 0.2);
    color: #10B981;
    font-size: 0.75rem;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
}

.hotel-detail-page .hotel-detail-page__form-label {
    color: #F9FAFB;
    font-size: 0.85rem;
    font-weight: 500;
}

.hotel-detail-page .hotel-detail-page__input,
.hotel-detail-page .hotel-detail-page__select,
.hotel-detail-page .hotel-detail-page__textarea {
    background-color: #121722;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #F9FAFB;
    border-radius: 8px;
    padding: 0.65rem 0.9rem;
    font-size: 0.9rem;
}

.hotel-detail-page .hotel-detail-page__input::placeholder,
.hotel-detail-page .hotel-detail-page__textarea::placeholder {
    color: #6B7280;
    opacity: 1;
}

.hotel-detail-page .hotel-detail-page__input:focus,
.hotel-detail-page .hotel-detail-page__select:focus,
.hotel-detail-page .hotel-detail-page__textarea:focus {
    background-color: #161D2A;
    border-color: #D4AF37;
    color: #F9FAFB;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

.hotel-detail-page .hotel-detail-page__star-btn {
    background: transparent;
    border: none;
    color: #6B7280;
    font-size: 1.4rem;
    padding: 0;
    cursor: pointer;
    transition: color 0.2s ease;
}

.hotel-detail-page .hotel-detail-page__star-btn.active,
.hotel-detail-page .hotel-detail-page__star-btn:hover {
    color: #D4AF37;
}

.hotel-detail-page .hotel-detail-page__rating-selected-value {
    color: #D4AF37;
    font-weight: 600;
    font-size: 0.9rem;
}

.hotel-detail-page .hotel-detail-page__feedback-msg {
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.4);
    color: #10B981;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-size: 0.85rem;
}

.hotel-detail-page .hotel-detail-page__booking-title,
.hotel-detail-page .hotel-detail-page__side-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: 1.25rem;
    font-weight: 700;
}

.hotel-detail-page .hotel-detail-page__booking-desc {
    color: #9CA3AF;
    font-size: 0.85rem;
}

.hotel-detail-page .hotel-detail-page__check-icon {
    color: #10B981;
    font-size: 1.2rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.hotel-detail-page .hotel-detail-page__guarantee-list span {
    color: #9CA3AF;
    font-size: 0.85rem;
    line-height: 1.5;
}

@media (max-width: 767.98px) {
    .hotel-detail-page .hotel-detail-page__title {
        font-size: 1.4rem;
    }

    .hotel-detail-page .hotel-detail-page__rich-text h2 {
        font-size: 1rem;
    }

    .hotel-detail-page .hotel-detail-page__rich-text h3 {
        font-size: 0.875rem;
    }

    .hotel-detail-page .review-thread-container {
        margin-left: 0.5rem !important;
        padding-left: 0.5rem !important;
    }
}

.blog-detail-page {
    background-color: #0B0E14;
    color: #F9FAFB;
    font-family: 'Plus Jakarta Sans', sans-serif;
    min-height: 80vh;
}

.blog-detail-page .text-gold {
    color: #D4AF37;
}

.blog-detail-page__hero {
    background: linear-gradient(180deg, #121722 0%, #0B0E14 100%);
    border-bottom: 1px solid rgba(212, 175, 55, 0.15);
}

.blog-detail-page__breadcrumb .breadcrumb-item a {
    color: #9CA3AF;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
}

.blog-detail-page__breadcrumb .breadcrumb-item a:hover {
    color: #D4AF37;
}

.blog-detail-page__breadcrumb .breadcrumb-item.active {
    color: #D4AF37;
    font-size: 0.875rem;
}

.blog-detail-page__breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    color: #6B7280;
}

.blog-detail-page__badge {
    display: inline-flex;
    align-items: center;
    background: rgba(212, 175, 55, 0.12);
    color: #D4AF37;
    border: 1px solid rgba(212, 175, 55, 0.3);
    padding: 0.35rem 0.85rem;
    border-radius: 50px;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.blog-detail-page__title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    font-weight: 700;
    line-height: 1.25;
}

.blog-detail-page__subtitle {
    color: #9CA3AF;
    font-size: 1.125rem;
    line-height: 1.6;
    max-width: 820px;
}

.blog-detail-page__meta-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.875rem;
    color: #9CA3AF;
}

.blog-detail-page__featured-img-wrap {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, 0.2);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6);
    max-height: 480px;
}

.blog-detail-page__featured-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 16/9;
    display: block;
}

.blog-detail-page__lead-paragraph {
    font-size: 1.15rem;
    line-height: 1.75;
    color: #F9FAFB;
    font-weight: 400;
}

.blog-detail-page__section-title {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #D4AF37;
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 700;
}

.blog-detail-page__subheading {
    font-family: 'Cinzel', 'Playfair Display', serif;
    color: #F9FAFB;
    font-size: 1.25rem;
    font-weight: 600;
}

.blog-detail-page__text {
    color: #9CA3AF;
    font-size: 1rem;
    line-height: 1.7;
}

.blog-detail-page__callout-card {
    background: linear-gradient(145deg, #1A202C, #121722);
    border-left: 4px solid #D4AF37;
    border-radius: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-right: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.blog-detail-page__callout-icon {
    font-size: 2.2rem;
    color: #D4AF37;
    flex-shrink: 0;
    line-height: 1;
}

.blog-detail-page__callout-title {
    font-family: 'Cinzel', serif;
    font-size: 1.1rem;
    color: #D4AF37;
    font-weight: 700;
}

.blog-detail-page__callout-text {
    color: #F9FAFB;
    font-style: italic;
    font-size: 0.95rem;
    line-height: 1.6;
}

.blog-detail-page__accordion-item {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px !important;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.blog-detail-page__accordion-btn {
    background: #121722;
    color: #F9FAFB;
    font-weight: 600;
    font-size: 0.95rem;
    box-shadow: none !important;
    padding: 1rem 1.25rem;
}

.blog-detail-page__accordion-btn:not(.collapsed) {
    background: #1A202C;
    color: #D4AF37;
}

.blog-detail-page__accordion-body {
    background: #121722;
    color: #9CA3AF;
    font-size: 0.9rem;
    line-height: 1.6;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.blog-detail-page__author-card {
    background: #121722;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 14px;
}

.blog-detail-page__author-placeholder {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #1A202C;
    border: 2px solid #D4AF37;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #D4AF37;
}

.blog-detail-page__author-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #D4AF37;
    font-weight: 600;
}

.blog-detail-page__author-name {
    font-family: 'Cinzel', serif;
    font-size: 1.25rem;
    color: #F9FAFB;
    font-weight: 700;
}

.blog-detail-page__author-bio {
    font-size: 0.875rem;
    color: #9CA3AF;
    line-height: 1.55;
}

.blog-detail-page__comments-title {
    font-family: 'Cinzel', serif;
    font-size: 1.5rem;
    color: #F9FAFB;
    font-weight: 700;
}

.blog-detail-page__comments-badge {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 50px;
    font-size: 0.8rem;
    padding: 0.3rem 0.75rem;
    font-weight: 600;
}

.review-card {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.5rem;
}

.review-card--reply {
    background: #1A202C;
    border-color: rgba(212, 175, 55, 0.15);
}

.review-card__avatar-wrapper {
    position: relative;
    width: 52px;
    height: 52px;
}

.review-card__avatar-wrapper--reply {
    width: 40px;
    height: 40px;
}

.review-card__avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #D4AF37;
}

.review-card__vip-indicator {
    position: absolute;
    bottom: -4px;
    right: -4px;
    background: #D4AF37;
    color: #0B0E14;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
}

.review-card__author-name {
    font-family: 'Cinzel', serif;
    font-size: 1.05rem;
    color: #F9FAFB;
    font-weight: 700;
}

.review-card__author-name--reply {
    font-size: 0.95rem;
}

.review-card__author-badge {
    background: rgba(212, 175, 55, 0.15);
    color: #D4AF37;
    border-radius: 4px;
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
}

.review-card__official-badge {
    background: rgba(16, 185, 129, 0.15);
    color: #10B981;
    border-radius: 4px;
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
}

.review-card__meta-time {
    font-size: 0.8rem;
    color: #6B7280;
}

.review-card__stars {
    color: #D4AF37;
    font-size: 0.95rem;
}

.review-card__rating-value {
    font-weight: 700;
    color: #D4AF37;
    font-size: 0.95rem;
}

.review-card__headline {
    font-family: 'Cinzel', serif;
    font-size: 1rem;
    color: #F9FAFB;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.review-card__text {
    color: #9CA3AF;
    font-size: 0.9rem;
    line-height: 1.6;
}

.review-chip {
    background: #1A202C;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #9CA3AF;
    padding: 0.3rem 0.65rem;
    border-radius: 6px;
    font-size: 0.75rem;
}

.review-chip i {
    color: #10B981;
}

.review-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #9CA3AF;
    border-radius: 6px;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.review-btn:hover,
.review-btn.active {
    background: rgba(212, 175, 55, 0.15);
    border-color: #D4AF37;
    color: #D4AF37;
}

.review-thread-container {
    border-color: rgba(212, 175, 55, 0.3) !important;
}

.blog-detail-page__form-box {
    background: #121722;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.blog-detail-page__form-title {
    font-family: 'Cinzel', serif;
    color: #F9FAFB;
    font-size: 1.25rem;
    font-weight: 700;
}

.blog-detail-page__form-desc {
    color: #9CA3AF;
    font-size: 0.875rem;
}

.blog-detail-page__label {
    color: #F9FAFB;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.blog-detail-page__input,
.blog-detail-page__textarea {
    background-color: #1A202C !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #F9FAFB !important;
    border-radius: 8px;
    font-size: 0.9rem;
    padding: 0.65rem 0.9rem;
}

.blog-detail-page__input:focus,
.blog-detail-page__textarea:focus {
    border-color: #D4AF37 !important;
    box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.25) !important;
}

.blog-detail-page__input::placeholder,
.blog-detail-page__textarea::placeholder {
    color: #6B7280 !important;
}

.blog-detail-page__submit-btn {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    border: none;
    font-weight: 600;
    font-size: 0.95rem;
    border-radius: 100px;
    padding: 0.75rem 2rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.blog-detail-page__submit-btn:hover {
    background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.45);
}

.blog-detail-page__alert {
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid #10B981;
    color: #10B981;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.blog-detail-page__widget {
    background: #121722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
}

.blog-detail-page__widget-title {
    font-family: 'Cinzel', serif;
    color: #F9FAFB;
    font-size: 1.15rem;
    font-weight: 700;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 0.75rem;
}

.blog-detail-page__recent-link {
    color: #9CA3AF;
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1.45;
    transition: color 0.2s ease, transform 0.2s ease;
}

.blog-detail-page__recent-link:hover {
    color: #D4AF37;
    transform: translateX(3px);
}

.blog-detail-page__advisory-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid #D4AF37;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog-detail-page__advisory-icon {
    font-size: 2rem;
    color: #D4AF37;
}

.blog-detail-page__widget-text {
    color: #9CA3AF;
    font-size: 0.875rem;
    line-height: 1.55;
}

.blog-detail-page__sidebar-btn {
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 100px;
    padding: 0.65rem 1.4rem;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.blog-detail-page__sidebar-btn:hover {
    background: linear-gradient(135deg, #E5C158 0%, #C59B27 100%);
    transform: translateY(-2px);
    color: #0B0E14;
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.45);
}

@media (max-width: 767.98px) {
    .blog-detail-page__hero {
        padding-top: 1.5rem;
    }

    .blog-detail-page__title {
        font-size: 1.35rem;
    }

    .blog-detail-page__subtitle {
        font-size: 0.95rem;
    }

    .blog-detail-page__meta-bar {
        font-size: 0.8rem;
    }

    .review-card {
        padding: 1rem;
    }

    .review-thread-container {
        margin-left: 0.5rem !important;
        padding-left: 0.5rem !important;
    }
}

.hotels-rating-section__all-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    background: linear-gradient(135deg, #D4AF37 0%, #AA7C11 100%);
    color: #0B0E14;
    border-radius: 100px;
    padding: 0.85rem 1.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 18px rgba(212, 175, 55, 0.32);
}

.hotels-rating-section__all-link:hover {
    color: #0B0E14;
    transform: translateY(-2px);
    box-shadow: 0 7px 24px rgba(212, 175, 55, 0.45);
}

.thx-content-section__card .thx-content-section__icon-wrap,
.thx-content-section__card .thx-content-section__badge {
    margin-left: auto;
    margin-right: auto;
}

.hotel-detail-page .breadcrumb-item.active,
.hotel-detail-page .hotel-detail-page__title,
.lux-hotels-section .lux-title-link {
    color: #FFFFFF !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.65);
}

.lux-hotels-section .lux-title-link:hover {
    color: #E5C158 !important;
}

@media (max-width: 768px) {
    .cookieConsentSystem-wrapper {
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        border-radius: 14px 14px 0 0 !important;
        padding: 0.75rem 0.85rem !important;
        max-height: 42vh !important;
        overflow-y: auto !important;
    }

    .cookieConsentSystem-dialog {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.65rem !important;
    }

    .cookieConsentSystem-content {
        flex: 0 1 auto !important;
        gap: 0.65rem !important;
    }

    .cookieConsentSystem-icon-wrap {
        display: none !important;
    }

    .cookieConsentSystem-title {
        font-size: 0.95rem !important;
        margin-bottom: 0.2rem !important;
    }

    .cookieConsentSystem-desc {
        font-size: 0.75rem !important;
        line-height: 1.35 !important;
    }

    .cookieConsentSystem-actions {
        flex-direction: row !important;
        width: 100% !important;
        gap: 0.5rem !important;
    }

    .cookieConsentSystem-btn {
        width: auto !important;
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding: 0.55rem 0.5rem !important;
        font-size: 0.72rem !important;
        white-space: normal !important;
        line-height: 1.2 !important;
    }
}
