:root {
    color-scheme: dark;
    --bg-primary: #12161E;
    --bg-secondary: #1A202C;
    --bg-tertiary: #262E3D;
    --surface-card: #1E2633;
    --primary: #C4A054;
    --primary-light: #2B2416;
    --primary-dark: #AD8B46;
    --primary-hover: #AD8B46;
    --secondary: #C59A6F;
    --secondary-light: #232B3A;
    --secondary-dark: #C9A87A;
    --accent-terracotta: #C4A054;
    --accent-amber: #C59A6F;
    --text-primary: #EFE8DC;
    --text-secondary: #B2A99B;
    --text-muted: #9C9489;
    --border-subtle: rgba(201, 160, 91, 0.12);
    --border-medium: rgba(197, 154, 111, 0.22);
    --shadow-soft: 0 10px 30px -10px rgba(201, 160, 91, 0.08), 0 4px 12px rgba(45, 38, 34, 0.03);
    --shadow-floating: 0 16px 40px -12px rgba(197, 154, 111, 0.12), 0 2px 6px rgba(0, 0, 0, 0.02);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

.text-muted {
    color: #9C9489 !important;
}

.cookie-modal-open {
    overflow: hidden;
}

/* ===== header ===== */
.site-header .site-header-nav-link {
    position: relative;
}

.site-header .site-header-nav-link: :after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background-color: #C59A6F;
    transition: width 0.25s ease-in-out;
}

.site-header .site-header-nav-link: hover {
    color: #C59A6F;
}

.site-header .site-header-nav-link: hover::after {
    width: 100%;
}

.site-header .site-header-cta-btn: hover {
    color: #12161E;
}

@media (max-width: 767px) {
    .site-header #mobile-navigation-menu nav a {
        font-size: 13px;
    }
}

/* ===== premium_casino_hotels ===== */
.lux-hero-section {
    font-family: 'Inter', sans-serif;
}

.lux-hero-section .lux-hero-section__title {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.lux-hero-section .lux-hero-section__desc {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.lux-hero-section .lux-hero-section__btn-primary: hover {
    background-color: #AD8B46;
    color: #12161E;
}

.lux-hero-section .lux-hero-section__btn-secondary: hover {
    background-color: rgba(255, 255, 255, 0.25);
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .lux-hero-section .lux-hero-section__stats-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== top_casino_hotel_ratings ===== */
.rating-grid-section .rating-card {
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.rating-grid-section .rating-card: hover {
    border-color: rgba(201, 160, 91, 0.35);
    box-shadow: 0 16px 40px -10px rgba(197, 154, 111, 0.2);
}

.rating-grid-section .rating-image-link img {
    transition: transform 0.3s ease;
}

.rating-grid-section .rating-card: hover .rating-image-link img {
    transform: scale(1.03);
}

.rating-grid-section .rating-action-btn {
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.rating-grid-section .rating-action-btn: hover {
    background-color: #AD8B46;
    color: #12161E;
}

.rating-grid-section .rating-action-btn: active {
    background-color: #95773A;
    color: #12161E;
}

@media (max-width: 767px) {
    .rating-grid-section .rating-card {
        flex-direction: column;
    }
}

/* ===== casino_resort_security ===== */
.security-reputation-section {
    font-family: 'Inter', sans-serif;
}

.security-reputation-section h2,
.security-reputation-section h3,
.security-reputation-section h4 {
    font-family: 'Inter', sans-serif;
    overflow-wrap: anywhere;
}

.security-reputation-section p,
.security-reputation-section span {
    overflow-wrap: anywhere;
}

.security-reputation-section .js-filter-btn.active-filter {
    background-color: #C4A054 !important;
    color: #12161E !important;
    border-color: #C4A054 !important;
}

@media (max-width: 767px) {
    .security-reputation-section .js-security-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== casino_room_prices ===== */
.price-comparison-section {
    font-family: 'Inter', sans-serif;
}

.price-comparison-section .js-price-card {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.price-comparison-section .js-price-card: hover {
    border-color: rgba(201, 160, 91, 0.35);
    box-shadow: 0 16px 40px -12px rgba(197, 154, 111, 0.18);
}

.price-comparison-section select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2rem;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http: //www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23B2A99B'%3e%3cpath d='M12 16L6 10H18L12 16Z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
}

@media (max-width: 767px) {
    .price-comparison-section .js-pricing-container {
        grid-template-columns: 1fr;
    }
}

/* ===== casino_suite_types ===== */
.suite-types-section {
    font-family: 'Inter', sans-serif;
}

.suite-types-section .suite-tab-btn.active {
    background-color: #C4A054;
    color: #12161E;
    border-color: #C4A054;
}

.suite-types-section .js-suite-card.is-hidden {
    display: none;
}

@media (max-width: 767px) {

    .suite-types-section table,
    .suite-types-section thead,
    .suite-types-section tbody,
    .suite-types-section th,
    .suite-types-section td,
    .suite-types-section tr {
        display: block;
    }

    .suite-types-section thead {
        display: none;
    }

    .suite-types-section tr {
        margin-bottom: 1rem;
        border: 1px solid #333D50;
        border-radius: 0.75rem;
        padding: 0.75rem;
        background-color: #1E2633;
    }

    .suite-types-section td {
        padding: 0.4rem 0;
        border: none;
        text-align: left;
    }

    .suite-types-section td: :before {
        content: attr(data-label);
        font-weight: 600;
        color: #EFE8DC;
        display: inline-block;
        width: 110px;
    }
}

/* ===== footer ===== */
.lx-site-footer {
    font-family: 'Inter', sans-serif;
    overflow-wrap: anywhere;
}

.lx-site-footer a,
.lx-site-footer button {
    transition: all 0.2s ease-in-out;
}

.lx-partner-item img {
    max-height: 42px;
    width: auto;
    object-fit: contain;
}

@media (max-width: 767px) {
    .lx-site-footer .grid-cols-1 {
        grid-template-columns: 1fr;
    }

    .lx-partner-logos-strip .flex {
        gap: 1rem;
    }
}

/* ===== page: privacy ===== */
.policy-content { width: 100%; max-width: 960px; margin: 0 auto; padding: 2.5rem 1.5rem; color: #EFE8DC; font-family: 'Inter', sans-serif; line-height: 1.7; overflow-wrap: anywhere; }
.policy-content__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding-bottom: 1.5rem; margin-bottom: 2rem; border-bottom: 1px solid rgba(201, 160, 91, 0.15); }
.policy-content__badge { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.85rem; border-radius: 9999px; background-color: #2B2416; color: #D9BC82; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }
.policy-content__date { font-size: 0.875rem; color: #918B81; margin: 0; font-weight: 400; }
.policy-content__section { margin-bottom: 2.5rem; }
.policy-content h2 { color: #D9BC82; font-size: 16px; font-weight: 600; line-height: 1.3; margin-top: 0; margin-bottom: 1rem; hyphens: auto; }
@media (min-width: 768px) { .policy-content h2 { font-size: 26px; } }
.policy-content p { color: #EFE8DC; font-size: 0.95rem; line-height: 1.7; margin-top: 0; margin-bottom: 1rem; }
.policy-content ul { list-style-type: disc; padding-left: 1.5rem; margin-top: 0; margin-bottom: 1.25rem; color: #EFE8DC; }
.policy-content li { margin-bottom: 0.6rem; font-size: 0.95rem; line-height: 1.6; color: #EFE8DC; }
.policy-content li strong { color: #EFE8DC; font-weight: 600; }
.policy-content__contact-card { background: #1E2633; border: 1px solid rgba(197, 154, 111, 0.25); border-radius: 1.25rem; padding: 1.5rem; margin: 1.5rem 0; box-shadow: 0 10px 30px -10px rgba(201, 160, 91, 0.08); }
.policy-content__contact-line { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; font-size: 0.95rem; color: #EFE8DC; }
.policy-content__contact-line: last-child { margin-bottom: 0; }
.policy-content__contact-line i { color: #C4A054; font-size: 1.1rem; }
.policy-content a { color: #C4A054; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; transition: color 0.2s ease; }
.policy-content a: hover, .policy-content a:focus { color: #D9BC82; text-decoration: none; }
.policy-content__closing { font-size: 0.875rem; color: #B2A99B; margin-top: 1rem; }

/* ===== page: terms ===== */
.policy-content{color: #EFE8DC;background-color: #1E2633;padding: 2rem 1.25rem;border-radius: 1.5rem;box-shadow:0 10px 30px -10px rgba(201,160,91,0.08),0 4px 12px rgba(45,38,34,0.03);border: 1px solid rgba(201,160,91,0.12);overflow-wrap: anywhere;word-break: break-word}.policy-content__section{margin-bottom: 2rem}.policy-content__section: last-child{margin-bottom: 0}.policy-content h2{color: #D9BC82;font-family: 'Inter',sans-serif;font-weight: 600;font-size: 16px;line-height: 1.3;margin-top: 0;margin-bottom: 0.75rem;padding-bottom: 0.35rem;border-bottom: 1px solid rgba(197,154,111,0.22)}.policy-content h3{color: #EFE8DC;font-family: 'Inter',sans-serif;font-weight: 600;font-size: 14px;line-height: 1.35;margin-top: 1.25rem;margin-bottom: 0.5rem}.policy-content p{color: #B2A99B;font-family: 'Inter',sans-serif;font-size: 0.95rem;line-height: 1.65;margin-top: 0;margin-bottom: 0.875rem}.policy-content p: last-child{margin-bottom: 0}.policy-content ul{list-style-type: disc;padding-left: 1.5rem;margin-top: 0.5rem;margin-bottom: 1rem;color: #B2A99B}.policy-content li{margin-bottom: 0.5rem;line-height: 1.6;font-size: 0.95rem}.policy-content li strong{color: #EFE8DC}.policy-content a{color: #C4A054;text-decoration: underline;text-underline-offset: 3px;transition: color 0.2s ease}.policy-content a: hover{color: #95773A}.policy-content .policy-content__contact-list{list-style-type: none;padding-left: 0;margin-top: 0.75rem}.policy-content .policy-content__contact-list li{position: relative;padding-left: 1.25rem;margin-bottom: 0.5rem}.policy-content .policy-content__contact-list li: :before{content: '•';position: absolute;left: 0;color: #C4A054;font-weight: bold}@media(min-width: 768px){.policy-content{padding: 3.5rem 3rem;border-radius: 1.75rem}.policy-content h2{font-size: 24px;margin-bottom: 1rem}.policy-content h3{font-size: 18px}.policy-content p{font-size: 1rem;line-height: 1.7;margin-bottom: 1rem}.policy-content li{font-size: 1rem}}

/* ===== page: disclaimer ===== */
.policy-content { width: 100%; max-width: 860px; margin: 0 auto; padding: 2.5rem 1.25rem 4rem 1.25rem; font-family: 'Inter', sans-serif; color: #EFE8DC; line-height: 1.7; overflow-wrap: anywhere; word-break: break-word; } .policy-content .policy-intro-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; padding: 1rem 1.25rem; margin-bottom: 2.25rem; background-color: #1A202C; border: 1px solid rgba(197, 154, 111, 0.22); border-radius: 1rem; } .policy-content .policy-pill { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.35rem 0.85rem; background-color: #2B2416; border: 1px solid rgba(201, 160, 91, 0.2); border-radius: 9999px; color: #D9BC82; font-size: 0.8125rem; font-weight: 600; } .policy-content .policy-effective-date { margin: 0; font-size: 0.875rem; color: #B2A99B; } .policy-content h2 { font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.3; color: #EFE8DC; margin-top: 2rem; margin-bottom: 0.875rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(201, 160, 91, 0.12); } @media (min-width: 768px) { .policy-content { padding: 3.5rem 1.5rem 5rem 1.5rem; } .policy-content h2 { font-size: 1.375rem; margin-top: 2.5rem; margin-bottom: 1rem; } } .policy-content p { font-size: 0.9375rem; color: #B2A99B; margin-bottom: 1.125rem; line-height: 1.7; } @media (min-width: 768px) { .policy-content p { font-size: 1rem; } } .policy-content strong { color: #EFE8DC; font-weight: 600; } .policy-content ul { list-style-type: disc; margin: 0.5rem 0 1.5rem 1.25rem; padding-left: 0.5rem; color: #B2A99B; } .policy-content li { font-size: 0.9375rem; margin-bottom: 0.5rem; line-height: 1.65; } @media (min-width: 768px) { .policy-content li { font-size: 1rem; } } .policy-content a { color: #C4A054; text-decoration: none; border-bottom: 1px dotted rgba(201, 160, 91, 0.5); transition: color 0.2s ease, border-color 0.2s ease; } .policy-content a: hover, .policy-content a:focus { color: #D9BC82; border-bottom-color: #C4A054; text-decoration: none; }

/* ===== page: cookies ===== */
.policy-content{max-width: 860px;margin: 0 auto;padding: 2.5rem 1.25rem;color: #EFE8DC;font-family: 'Inter',sans-serif;overflow-wrap: anywhere;line-height: 1.7}.policy-content h2{color: #EFE8DC;font-size: 16px;line-height: 1.3;font-weight: 600;margin-top: 2.25rem;margin-bottom: 0.875rem;letter-spacing: -0.01em;padding-bottom: 0.5rem;border-bottom: 1px solid rgba(197,154,111,0.22)}.policy-content h3{color: #EFE8DC;font-size: 14px;line-height: 1.3;font-weight: 600;margin-top: 1.5rem;margin-bottom: 0.5rem}.policy-content p{color: #B2A99B;font-size: 0.9375rem;line-height: 1.7;margin-bottom: 1.125rem}.policy-content ul,.policy-content ol{margin-top: 0.5rem;margin-bottom: 1.25rem;padding-left: 1.5rem;color: #B2A99B;font-size: 0.9375rem;line-height: 1.7}.policy-content ul{list-style-type: disc}.policy-content ol{list-style-type: decimal}.policy-content li{margin-bottom: 0.625rem}.policy-content strong{color: #EFE8DC;font-weight: 600}.policy-content a{color: #C4A054;text-decoration: underline;text-underline-offset: 3px;font-weight: 500;transition: color 0.2s ease}.policy-content a: hover{color: #D9BC82}.policy-content table{width: 100%;border-collapse: collapse;margin: 1.5rem 0 2rem;font-size: 0.875rem;line-height: 1.5;background: #1E2633;border-radius: 1rem;overflow: hidden;border: 1px solid rgba(197,154,111,0.22)}.policy-content th,.policy-content td{padding: 0.875rem 1rem;text-align: left;border-bottom: 1px solid rgba(197,154,111,0.15)}.policy-content th{background: #1A202C;color: #EFE8DC;font-weight: 600;font-size: 0.8125rem;text-transform: uppercase;letter-spacing: 0.04em}.policy-content tr: last-child td{border-bottom: none}.policy-content td{color: #B2A99B}@media(min-width: 768px){.policy-content{padding: 4rem 2rem}.policy-content h2{font-size: 26px;margin-top: 3rem;margin-bottom: 1.125rem}.policy-content h3{font-size: 20px;margin-top: 2rem;margin-bottom: 0.75rem}.policy-content p,.policy-content ul,.policy-content ol{font-size: 1rem}.policy-content th,.policy-content td{padding: 1rem 1.25rem;font-size: 0.9375rem}}@media(max-width: 767px){.policy-content table thead{display: none}.policy-content table,.policy-content table tbody,.policy-content table tr,.policy-content table td{display: block;width: 100%}.policy-content table tr{border-bottom: 1px solid rgba(197,154,111,0.2);padding: 0.75rem 0}.policy-content table td{padding: 0.375rem 0.75rem;border-bottom: none}}

/* ===== page: about ===== */
.about-section { overflow-wrap: anywhere; }
.about-section .active-tab { background-color: #C4A054 !important; color: #12161E !important; border-color: #C4A054 !important; }
.about-section .js-methodology-pane { min-height: 220px; }

/* ===== page: rating ===== */
.lux-rating-block {
  overflow-wrap: anywhere;
}
.lux-rating-block .lux-card {
  min-height: 100%;
}
.lux-rating-block input: :placeholder,
.lux-rating-block textarea::placeholder {
  color: #9C9489;
  opacity: 1;
}
.lux-rating-block .js-sort-btn.active {
  background-color: #C4A054 !important;
  color: #12161E !important;
  border-color: #C4A054 !important;
}
@media (max-width: 767px) {
  .lux-rating-block .lux-card {
    flex-direction: column !important;
  }
}

/* ===== page: regions ===== */
.regions-section article {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.regions-section article: hover {
  box-shadow: 0 16px 40px -12px rgba(197, 154, 111, 0.18);
}

/* ===== page: guide ===== */
.guide-articles-section input::placeholder {
  color: #9C9489;
  opacity: 1;
}
.guide-articles-section .js-guide-card {
  min-width: 0;
  overflow-wrap: anywhere;
}
.guide-articles-section h2, .guide-articles-section h3 {
  overflow-wrap: anywhere;
  hyphens: auto;
}
@media (max-width: 767px) {
  .guide-articles-section .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ===== page: contacts ===== */
.contact-form-section {
  box-sizing: border-box;
}
.contact-form-section * {
  box-sizing: border-box;
}
.contact-form-section .contact-form-section__input: :placeholder,
.contact-form-section .contact-form-section__textarea::placeholder {
  color: #9C9489;
  opacity: 1;
}
.contact-form-section .contact-form-section__select {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http: //www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23B2A99B'%3e%3cpath d='M12 16L6 10H18L12 16Z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1rem;
}
@media (max-width: 767px) {
  .contact-form-section h2 {
    font-size: 16px;
  }
  .contact-form-section h3 {
    font-size: 14px;
  }
}

.comment-item {
    position: relative;
    font-family: 'Inter', sans-serif;
}

.comment-avatar {
    width: 3rem;
    height: 3rem;
    object-fit: cover;
    user-select: none;
}

.comment-like-btn,
.comment-reply-btn {
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
}

.comment-like-btn: hover,
.comment-reply-btn:hover {
    border-color: rgba(201, 160, 91, 0.2);
}

.reply-item {
    position: relative;
    font-family: 'Inter', sans-serif;
}

.reply-avatar {
    width: 2.5rem;
    height: 2.5rem;
    object-fit: cover;
    user-select: none;
}

.reply-like-btn {
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
}

.reply-like-btn: hover {
    border-color: rgba(201, 160, 91, 0.2);
}


/* ===== PAGE template: rating ===== */
.site-header .site-header-nav-link {
    position: relative;
}

.site-header .site-header-nav-link: :after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background-color: #C59A6F;
    transition: width 0.25s ease-in-out;
}

.site-header .site-header-nav-link: hover {
    color: #C59A6F;
}

.site-header .site-header-nav-link: hover::after {
    width: 100%;
}

.site-header .site-header-cta-btn: hover {
    color: #12161E;
}

.hotel-detail-hero .hotel-detail-title,
.hotel-detail-hero .hotel-detail-subtitle {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.hotel-mosaic-block img {
    transition: transform 0.3s ease;
}

.hotel-mosaic-block .overflow-hidden: hover img {
    transform: scale(1.03);
}

.hotel-booking-form-card input: :placeholder,
.hotel-booking-form-card textarea::placeholder {
    color: #9C9489;
    opacity: 1;
}

.hotel-booking-form-card input: focus,
.hotel-booking-form-card select:focus,
.hotel-booking-form-card textarea:focus {
    outline: none;
    border-color: #C4A054;
    box-shadow: 0 0 0 1px #C4A054;
}

.comment-item .comment-like-btn.is-active,
.reply-item .reply-like-btn.is-active {
    color: #C4A054;
    background-color: #2B2416;
}

.lx-site-footer {
    font-family: 'Inter', sans-serif;
    overflow-wrap: anywhere;
}

.lx-site-footer a,
.lx-site-footer button {
    transition: all 0.2s ease-in-out;
}

.lx-partner-item img {
    max-height: 42px;
    width: auto;
    object-fit: contain;
}

@media (max-width: 767px) {
    .site-header #mobile-navigation-menu nav a {
        font-size: 13px;
    }

    .hotel-dl-grid {
        grid-template-columns: 1fr;
    }

    .lx-site-footer .grid-cols-1 {
        grid-template-columns: 1fr;
    }

    .lx-partner-logos-strip .flex {
        gap: 1rem;
    }
}

/* ===== PAGE template: regions ===== */
body {
    font-family: 'Inter', sans-serif;
}

.site-header .site-header-nav-link {
    position: relative;
}

.site-header .site-header-nav-link: :after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background-color: #C59A6F;
    transition: width 0.25s ease-in-out;
}

.site-header .site-header-nav-link: hover {
    color: #C59A6F;
}

.site-header .site-header-nav-link: hover::after {
    width: 100%;
}

.site-header .site-header-cta-btn: hover {
    color: #12161E;
}

.lux-hero-section .lux-hero-section__title {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.lux-hero-section .lux-hero-section__desc {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.region-detail-wrapper h2,
.region-detail-wrapper h3,
.region-detail-wrapper h4,
.region-detail-wrapper h5 {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.region-detail-wrapper .js-input-name: :placeholder,
.region-detail-wrapper .js-input-message::placeholder {
    color: #9C9489;
    opacity: 1;
}

.comment-like-btn.is-active,
.reply-like-btn.is-active {
    background-color: #2B2416;
    color: #C4A054;
}

.comment-like-btn.is-active i,
.reply-like-btn.is-active i {
    font-weight: bold;
}

.lx-site-footer {
    overflow-wrap: anywhere;
}

.lx-site-footer a,
.lx-site-footer button {
    transition: all 0.2s ease-in-out;
}

.lx-partner-item img {
    max-height: 42px;
    width: auto;
    object-fit: contain;
}

@media (max-width: 767px) {
    .site-header #mobile-navigation-menu nav a {
        font-size: 13px;
    }

    .region-key-facts thead {
        display: none;
    }

    .region-key-facts table,
    .region-key-facts tbody,
    .region-key-facts tr,
    .region-key-facts td {
        display: block;
        width: 100%;
    }

    .region-key-facts td {
        padding: 0.75rem 1rem;
    }

    .lx-site-footer .grid-cols-1 {
        grid-template-columns: 1fr;
    }

    .lx-partner-logos-strip .flex {
        gap: 1rem;
    }
}

/* ===== PAGE template: guide ===== */
body {
    font-family: 'Inter', sans-serif;
    overflow-wrap: anywhere;
}

.site-header .site-header-nav-link {
    position: relative;
}

.site-header .site-header-nav-link: :after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background-color: #C59A6F;
    transition: width 0.25s ease-in-out;
}

.site-header .site-header-nav-link: hover {
    color: #C59A6F;
}

.site-header .site-header-nav-link: hover::after {
    width: 100%;
}

.site-header .site-header-cta-btn: hover {
    color: #12161E;
}

.lux-hero-section {
    font-family: 'Inter', sans-serif;
}

.lux-hero-section .lux-hero-section__title {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.lux-hero-section .lux-hero-section__desc {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.section-accent-line {
    width: 48px;
    height: 3px;
    background-color: #C4A054;
    border-radius: 9999px;
}

.guide-detail-block input: :placeholder,
.guide-detail-block textarea::placeholder {
    color: #9C9489;
    opacity: 1;
}

.guide-detail-block .article-prose strong {
    color: #EFE8DC;
}

.guide-detail-block .comment-like-btn.is-active,
.guide-detail-block .reply-like-btn.is-active {
    color: #C4A054;
    background-color: rgba(251, 234, 226, 0.8);
}

.guide-detail-block .comment-like-btn.is-active i,
.guide-detail-block .reply-like-btn.is-active i {
    font-weight: 700;
}

.lx-site-footer {
    font-family: 'Inter', sans-serif;
    overflow-wrap: anywhere;
}

.lx-site-footer a,
.lx-site-footer button {
    transition: all 0.2s ease-in-out;
}

.lx-partner-item img {
    max-height: 42px;
    width: auto;
    object-fit: contain;
}

@media (max-width: 767px) {
    .site-header #mobile-navigation-menu nav a {
        font-size: 13px;
    }

    .lux-hero-section .lux-hero-section__stats-grid {
        grid-template-columns: 1fr;
    }

    .lx-site-footer .grid-cols-1 {
        grid-template-columns: 1fr;
    }

    .lx-partner-logos-strip .flex {
        gap: 1rem;
    }

    .guide-detail-block .grid-cols-1 {
        grid-template-columns: 1fr;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}

/* policy pages: breathing room between header hero and footer */
.policy-content { margin-top: 3rem; margin-bottom: 3rem; }
@media (min-width: 768px) {
  .policy-content { margin-top: 4.5rem; margin-bottom: 5rem; }
}

/* ===== typography: headings serif / body grotesque ===== */
h1, h2, h3, h4, h5, h6, .font-serif { font-family: 'Playfair Display', serif; }
body { font-family: 'Inter', sans-serif; }

/* ===== scroll fade-in ===== */
.lx-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.7s ease, transform 0.7s ease; }
.lx-reveal-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .lx-reveal { opacity: 1; transform: none; transition: none; } }
