/* site palette */
html:root {
    --bg: #F7F7FB;
    --surface: #FFFFFF;
    --surface-alt: #E6E6F2;
    --text: #1E1E2D;
    --text-muted: #5F5E78;
    --border: #D8D8E4;
    --primary: #221DED;
    --primary-hover: #1511D1;
    --on-primary: #FFFFFF;
    --primary-text: #221DED;
    --accent: #4DAFE9;
    --on-accent: #111111;
    --accent-text: #1677B0;
    --dark-band: #0D0C31;
    --on-dark: #FFFFFF;
    --on-dark-muted: #B6B6C3;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #0D0C31;
    --section-alt-bg: #E6E6F2;
    --dark-band-bg: #0D0C31;
    --brand-band-bg: #221DED;
    --hero-bg: #0D0C31;
}

/* /site palette */

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Libre Franklin', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    line-height: 1.65;
    font-weight: 400;
    font-size: 1rem;
}

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

.vgb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background-color: var(--primary);
    color: var(--on-primary);
    font-weight: 700;
    font-size: 0.9375rem;
    padding: 0.875rem 2rem;
    border-radius: 0.5rem;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.vgb-btn:hover {
    background-color: var(--dark-band-bg, #0D0C31);
    color: var(--on-primary);
}

.vgb-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background-color: transparent;
    color: var(--primary-text);
    border: 1px solid var(--primary);
    font-weight: 700;
    font-size: 0.9375rem;
    padding: 0.8125rem 1.875rem;
    border-radius: 0.5rem;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vgb-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.vgb-card {
    background-color: var(--surface);
    color: var(--text);
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px -5px rgba(30, 30, 45, 0.08);
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    border-bottom: 4px solid var(--dark-band-bg, #0D0C31);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vgb-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px -4px rgba(30, 30, 45, 0.12);
}

.vgb-media {
    aspect-ratio: 16 / 10;
    border-radius: 0.5rem;
    overflow: hidden;
    flex-shrink: 0;
    width: 100%;
    background-color: var(--surface-alt);
}

.vgb-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vgb-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: 0.75rem;
}

.vgb-title {
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    line-height: 1.2;
    font-weight: 800;
    color: var(--text);
    margin: 0 0 1rem 0;
}

.vgb-title span {
    color: var(--primary);
}

.vgb-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-radius: 0.25rem;
    background-color: var(--primary);
    color: var(--on-primary);
}

.vgb-icon {
    width: 64px;
    height: 64px;
    border-radius: 9999px;
    background-color: var(--surface-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    flex-shrink: 0;
}

.vgb-section {
    background-color: var(--bg);
    padding: 5rem 1.5rem;
}

.vgb-section-alt {
    background-color: var(--section-alt-bg, var(--surface-alt));
    padding: 5rem 1.5rem;
}

.vgb-section-dark {
    background-color: var(--dark-band-bg, #0D0C31);
    color: var(--on-dark);
    padding: 5rem 1.5rem;
}

.vgb-section-brand {
    background-color: var(--brand-band-bg, #221DED);
    color: var(--on-primary);
    padding: 5rem 1.5rem;
}

.vgb-section-brand .vgb-btn {
    background-color: var(--brand-btn-bg, #FFFFFF);
    color: var(--brand-btn-text, #0D0C31);
}

.vgb-section-brand .vgb-btn:hover {
    background-color: var(--dark-band-bg, #0D0C31);
    color: var(--on-primary);
}

.vgb-section-brand .vgb-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.vgb-on-dark,
.vgb-section-dark {
    color: var(--on-dark);
}

.vgb-on-dark h1,
.vgb-on-dark h2,
.vgb-on-dark h3,
.vgb-section-dark h1,
.vgb-section-dark h2,
.vgb-section-dark h3 {
    color: var(--on-dark);
}

.vgb-on-dark .vgb-eyebrow,
.vgb-section-dark .vgb-eyebrow {
    color: var(--accent);
}

.vgb-on-dark .text-muted,
.vgb-section-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.vgb-section-dark .vgb-card,
.vgb-on-dark .vgb-card {
    background-color: var(--surface);
    color: var(--text);
}

.vgb-section-dark .vgb-card .text-muted,
.vgb-on-dark .vgb-card .text-muted {
    color: var(--text-muted) !important;
}

.vgb-section-dark .vgb-card h3,
.vgb-on-dark .vgb-card h3 {
    color: var(--text);
}

@media (max-width: 768px) {

    .vgb-section,
    .vgb-section-alt,
    .vgb-section-dark,
    .vgb-section-brand {
        padding: 3.5rem 1rem;
    }

    .vgb-card {
        padding: 1.25rem;
    }
}

/* ===== header ===== */
.site-header {
    background-color: #0D0C31;
}

.site-header a {
    text-decoration: none;
}

.site-header .vgb-btn {
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.site-header .vgb-btn:active {
    transform: scale(0.98);
}

/* ===== hero ===== */
.hero-block {
    position: relative;
    width: 100%;
    min-height: 85vh;
    display: flex;
    align-items: center;
}

.hero-block select,
.hero-block input {
    font-family: inherit;
}

.hero-block input::placeholder {
    color: #5F5E78;
    opacity: 0.8;
}

.hero-block select:focus,
.hero-block input:focus {
    box-shadow: 0 0 0 2px rgba(34, 29, 237, 0.2);
}

/* ===== hotels_grid ===== */
.hotels-grid-section .vgb-card {
    box-shadow: 0 10px 30px -5px rgba(30, 30, 45, 0.08);
    border-bottom: 4px solid var(--dark-band);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hotels-grid-section .vgb-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px -4px rgba(30, 30, 45, 0.14);
}

.hotels-grid-section .js-hotel-card.is-hidden {
    display: none !important;
}

@media (max-width: 767px) {
    .hotels-grid-section h2 {
        font-size: 16px !important;
    }

    .hotels-grid-section h3 {
        font-size: 14px !important;
    }
}

/* ===== specialists ===== */
.hotelavora-specialists-section .hotelavora-specialist-card {
    transition: transform 0.25s ease;
}

.hotelavora-specialists-section .hotelavora-specialist-card:hover {
    transform: translateY(-4px);
}

.hotelavora-specialists-section .hotelavora-role-badge {
    transform: translateX(8px);
    margin-bottom: 2px;
}

.hotelavora-specialists-section .hotelavora-name-badge {
    transform: translateX(16px);
}

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

    .hotelavora-specialists-section .hotelavora-role-badge {
        transform: translateX(4px);
    }

    .hotelavora-specialists-section .hotelavora-name-badge {
        transform: translateX(8px);
    }
}

/* ===== inclusions_exclusions ===== */
.inclusions-block {
    background-color: var(--dark-band-bg, #0D0C31);
}

.inclusions-block .js-filter-btn {
    color: #B6B6C3;
    background-color: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.inclusions-block .js-filter-btn:hover {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.2);
}

.inclusions-block .js-filter-btn.active-tab {
    color: #FFFFFF;
    background-color: #221DED;
    border-color: #221DED;
}

.inclusions-block .js-amenity-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.inclusions-block .js-amenity-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.3);
}

@media (max-width: 767px) {
    .inclusions-block .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== common_mistakes ===== */
.mistakes-section .mistakes-card {
    box-shadow: 0 10px 30px -5px rgba(30, 30, 45, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mistakes-section .mistakes-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px -4px rgba(30, 30, 45, 0.12);
}

.mistakes-section h2,
.mistakes-section h3,
.mistakes-section p {
    overflow-wrap: anywhere;
}

/* ===== after_start ===== */
.vgb-section-brand {
    background-color: var(--brand-band-bg, #221DED);
}

#guest-journey .vgb-card {
    border-bottom: 4px solid var(--dark-band, #0D0C31);
}

#guest-journey .vgb-btn {
    background-color: #FFFFFF;
    color: var(--dark-band, #0D0C31);
}

#guest-journey .vgb-btn:hover {
    background-color: var(--dark-band, #0D0C31);
    color: #FFFFFF;
}

@media (max-width: 767px) {
    #guest-journey #timeline-cards-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== footer ===== */
.vgb-footer {
    background-color: var(--dark-band, #0D0C31);
    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.vgb-footer a {
    transition: color 0.2s ease, opacity 0.2s ease;
}

.vgb-footer__disclaimer {
    background-color: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}

#vgb-age-modal.is-active {
    display: flex !important;
}

.site-header {
    background-color: #0D0C31;
}

.site-header a {
    text-decoration: none;
}

.site-header .vgb-btn {
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.site-header .vgb-btn:active {
    transform: scale(0.98);
}

.hero-block {
    position: relative;
    width: 100%;
    min-height: 50vh;
    display: flex;
    align-items: center;
}

.vgb-footer {
    background-color: var(--dark-band, #0D0C31);
    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.vgb-footer a {
    transition: color 0.2s ease, opacity 0.2s ease;
}

.vgb-footer__disclaimer {
    background-color: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}

#vgb-age-modal.is-active {
    display: flex !important;
}

.guides-zigzag-item {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.guides-zigzag-item:hover {
    box-shadow: 0 15px 35px -5px rgba(30, 30, 45, 0.12);
}

.guides-zigzag-item a {
    overflow-wrap: anywhere;
}

.guides-accordion-item {
    box-shadow: 0 4px 12px rgba(30, 30, 45, 0.03);
}

@media (max-width: 767px) {
    .guides-zigzag-item {
        flex-direction: column !important;
    }
}


/* ===== PAGE: privacy ===== */
#privacy-content.policy-content{max-width:880px;margin-left:auto;margin-right:auto;padding-top:2.5rem;padding-bottom:3.5rem;padding-left:1.5rem;padding-right:1.5rem;color:#5F5E78;font-family:'Libre Franklin',sans-serif;line-height:1.7;hyphens:auto;overflow-wrap:anywhere}#privacy-content .policy-effective{font-size:0.875rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#221DED;margin-bottom:1.25rem}#privacy-content .policy-intro{font-size:1.0625rem;line-height:1.75;color:#1E1E2D;margin-bottom:2rem;font-weight:500}#privacy-content .policy-heading{font-size:1rem;line-height:1.3;font-weight:800;color:#1E1E2D;margin-top:2.5rem;margin-bottom:1rem;position:relative;padding-bottom:0.5rem;border-bottom:2px solid #E6E6F2}#privacy-content .policy-text{font-size:0.9375rem;line-height:1.7;color:#5F5E78;margin-bottom:1.25rem}#privacy-content .policy-list{list-style-type:disc;padding-left:1.25rem;margin-top:0.75rem;margin-bottom:1.5rem}#privacy-content .policy-list li{margin-bottom:0.75rem;font-size:0.9375rem;line-height:1.65;color:#5F5E78}#privacy-content .policy-list li strong{color:#1E1E2D;font-weight:700}#privacy-content .policy-link{color:#221DED;text-decoration:underline;text-underline-offset:3px;font-weight:600;transition:color 0.2s ease}#privacy-content .policy-link:hover{color:#0D0C31}@media (min-width:768px){#privacy-content.policy-content{padding-top:4rem;padding-bottom:5rem}#privacy-content .policy-heading{font-size:1.375rem;margin-top:3rem;margin-bottom:1.25rem}#privacy-content .policy-text{font-size:1rem}#privacy-content .policy-list li{font-size:1rem}}

/* ===== PAGE: terms ===== */
#privacy-content { font-family: 'Libre Franklin', sans-serif; color: #1E1E2D; line-height: 1.65; font-size: 0.9375rem; word-break: break-word; overflow-wrap: anywhere; max-width: 860px; margin: 0 auto; padding: 2.5rem 1.5rem; } #privacy-content .policy-meta-block { background-color: #E6E6F2; border-left: 4px solid #221DED; border-radius: 0.5rem; padding: 1rem 1.25rem; margin-bottom: 2rem; } #privacy-content .policy-meta-block p { margin: 0; color: #1E1E2D; font-weight: 700; font-size: 0.875rem; } #privacy-content h2 { font-size: 16px; font-weight: 800; line-height: 1.25; color: #1E1E2D; margin-top: 2.25rem; margin-bottom: 0.75rem; } @media (min-width: 768px) { #privacy-content h2 { font-size: 26px; } } #privacy-content h2 .policy-accent { color: #221DED; } #privacy-content h3 { font-size: 14px; font-weight: 700; line-height: 1.3; color: #1E1E2D; margin-top: 1.5rem; margin-bottom: 0.5rem; } @media (min-width: 768px) { #privacy-content h3 { font-size: 18px; } } #privacy-content p { color: #5F5E78; margin-bottom: 1.25rem; } #privacy-content ul { list-style-type: disc; padding-left: 1.25rem; margin-bottom: 1.5rem; } #privacy-content li { color: #5F5E78; margin-bottom: 0.5rem; line-height: 1.6; } #privacy-content strong { color: #1E1E2D; font-weight: 700; } #privacy-content a { color: #221DED; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s ease; } #privacy-content a:hover { color: #0D0C31; } #privacy-content address { font-style: normal; line-height: 1.75; color: #5F5E78; margin-top: 0.75rem; padding: 1.25rem; background: #FFFFFF; border-radius: 0.5rem; box-shadow: 0 10px 30px -5px rgba(30, 30, 45, 0.08); }

/* ===== PAGE: disclaimer ===== */
#privacy-content.policy-content{max-width:860px;margin-left:auto;margin-right:auto;padding-top:2.5rem;padding-bottom:4rem;padding-left:1.25rem;padding-right:1.25rem;color:var(--text,#1E1E2D);font-family:var(--font_family_primary,'Libre Franklin',sans-serif);line-height:1.65;hyphens:auto;overflow-wrap:anywhere}#privacy-content.policy-content .policy-header-meta{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border,#D8D8E4)}#privacy-content.policy-content .policy-effective-date{font-size:0.875rem;font-weight:700;color:var(--primary,#221DED);margin-bottom:0.75rem;text-transform:uppercase;letter-spacing:0.05em}#privacy-content.policy-content .policy-summary-lead{font-size:1rem;color:var(--text-muted,#5F5E78);line-height:1.7;margin-bottom:0}#privacy-content.policy-content h2{font-size:15px;line-height:1.3;font-weight:800;color:var(--text,#1E1E2D);margin-top:2.25rem;margin-bottom:0.875rem;padding-bottom:0.35rem;border-bottom:2px solid var(--surface-alt,#E6E6F2)}@media(min-width:768px){#privacy-content.policy-content h2{font-size:24px;margin-top:3rem;margin-bottom:1.25rem}}#privacy-content.policy-content p{font-size:0.9375rem;color:var(--text-muted,#5F5E78);margin-bottom:1.25rem;line-height:1.65}@media(min-width:768px){#privacy-content.policy-content p{font-size:1rem}}#privacy-content.policy-content ul{list-style:disc;margin-left:1.25rem;margin-bottom:1.5rem;padding-left:0.5rem;color:var(--text-muted,#5F5E78)}#privacy-content.policy-content ul li{font-size:0.9375rem;line-height:1.6;margin-bottom:0.625rem}@media(min-width:768px){#privacy-content.policy-content ul li{font-size:0.975rem}}#privacy-content.policy-content .policy-contact-box{background-color:var(--surface,#FFFFFF);border-left:4px solid var(--primary,#221DED);padding:1.5rem;margin-top:1.75rem;border-radius:0.5rem;box-shadow:0 10px 30px -5px rgba(30,30,45,0.06)}#privacy-content.policy-content .policy-contact-box p{margin-bottom:0.5rem;font-size:0.9375rem;color:var(--text,#1E1E2D)}#privacy-content.policy-content .policy-contact-box p:last-child{margin-bottom:0}#privacy-content.policy-content .policy-link{color:var(--primary-text,#221DED);text-decoration:none;font-weight:600;transition:color 0.2s ease}#privacy-content.policy-content .policy-link:hover,#privacy-content.policy-content .policy-link:focus{color:var(--primary-hover,#1511D1);text-decoration:underline}

/* ===== PAGE: cookies ===== */
#privacy-content.policy-content{background-color:#F7F7FB;color:#5F5E78;padding:2.5rem 1rem;font-family:'Libre Franklin',sans-serif;font-size:0.9375rem;line-height:1.65;overflow-wrap:anywhere;word-break:break-word;hyphens:auto}@media (min-width:768px){#privacy-content.policy-content{padding:4.5rem 1.5rem;font-size:1rem}}#privacy-content .policy-content__inner{max-width:54rem;margin:0 auto}#privacy-content .policy-content__lead-block{background-color:#FFFFFF;border-radius:0.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 10px 30px -5px rgba(30,30,45,0.06);border-left:4px solid #221DED}@media (min-width:768px){#privacy-content .policy-content__lead-block{padding:2rem;margin-bottom:3rem}}#privacy-content .policy-content__lead{color:#1E1E2D;font-weight:500;font-size:1rem;line-height:1.65;margin:0 0 1.25rem 0}@media (min-width:768px){#privacy-content .policy-content__lead{font-size:1.125rem}}#privacy-content .policy-content__meta{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem}#privacy-content .policy-content__badge{display:inline-flex;align-items:center;padding:0.25rem 0.625rem;border-radius:0.25rem;background-color:#E6E6F2;color:#1E1E2D;font-size:0.75rem;font-weight:700;letter-spacing:0.03em}#privacy-content .policy-content__section{margin-bottom:2.25rem}@media (min-width:768px){#privacy-content .policy-content__section{margin-bottom:3rem}}#privacy-content .policy-content__heading{font-size:1rem;line-height:1.25;font-weight:800;color:#1E1E2D;margin:0 0 1rem 0}@media (min-width:768px){#privacy-content .policy-content__heading{font-size:1.5rem;margin-bottom:1.25rem}}#privacy-content .policy-content__highlight{color:#221DED}#privacy-content .policy-content__subheading{font-size:0.875rem;line-height:1.3;font-weight:700;color:#1E1E2D;margin:0 0 0.5rem 0}@media (min-width:768px){#privacy-content .policy-content__subheading{font-size:1.125rem}}#privacy-content .policy-content__text{color:#5F5E78;margin:0 0 1rem 0;line-height:1.65}#privacy-content .policy-content__text:last-child{margin-bottom:0}#privacy-content .policy-content__card{background-color:#FFFFFF;border-radius:0.75rem;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 6px 20px -4px rgba(30,30,45,0.05);border-bottom:3px solid #0D0C31}@media (min-width:768px){#privacy-content .policy-content__card{padding:1.75rem;margin-bottom:1.5rem}}#privacy-content .policy-content__list{list-style-type:disc;padding-left:1.25rem;margin:0 0 1.25rem 0;color:#5F5E78}#privacy-content .policy-content__list li{margin-bottom:0.625rem;line-height:1.6}#privacy-content .policy-content__list li strong{color:#1E1E2D}#privacy-content .policy-content__contact-card{background-color:#FFFFFF;border-radius:0.75rem;padding:1.25rem;margin-top:1.25rem;box-shadow:0 10px 30px -5px rgba(30,30,45,0.06);border-left:4px solid #0D0C31}@media (min-width:768px){#privacy-content .policy-content__contact-card{padding:1.75rem}}#privacy-content .policy-content__contact-item{color:#5F5E78;margin:0 0 0.75rem 0;line-height:1.6}#privacy-content .policy-content__contact-item:last-child{margin-bottom:0}#privacy-content .policy-content__contact-item strong{color:#1E1E2D;margin-right:0.25rem}#privacy-content .policy-content__link{color:#221DED;font-weight:700;text-decoration:none;transition:color 0.2s ease}#privacy-content .policy-content__link:hover,#privacy-content .policy-content__link:focus{color:#0D0C31;text-decoration:underline}

/* ===== PAGE: about ===== */
.about-page-container { overflow-x: hidden; width: 100%; } .about-page-container h2, .about-page-container h3, .about-page-container p { overflow-wrap: anywhere; } .about-page-container .vgb-card { transition: transform 0.2s ease, box-shadow 0.2s ease; } .about-page-container .vgb-card:hover { transform: translateY(-3px); } @media (max-width: 767px) { .about-page-container .vgb-section, .about-page-container .vgb-section-alt { padding-top: 3rem; padding-bottom: 3rem; } }

/* ===== PAGE: contact ===== */
.contact-block { background-color: var(--bg, #F7F7FB); overflow-wrap: anywhere; }
.contact-block input::placeholder, .contact-block textarea::placeholder { color: var(--text-muted, #5F5E78); opacity: 1; }
.contact-block input:-ms-input-placeholder, .contact-block textarea:-ms-input-placeholder { color: var(--text-muted, #5F5E78); }
.contact-block input::-ms-input-placeholder, .contact-block textarea::-ms-input-placeholder { color: var(--text-muted, #5F5E78); }
@media (max-width: 767px) {
  .contact-block .grid { grid-template-columns: 1fr; }
}

.comment-card {
    background-color: #FFFFFF;
    border: 1px solid #D8D8E4;
}

.comment-avatar {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    min-height: 3rem;
    object-fit: cover;
    border-radius: 9999px;
}

.comment-action-btn:focus-visible {
    outline: 2px solid #221DED;
    outline-offset: 2px;
    border-radius: 0.25rem;
}

.reply-card {
    background-color: #F7F7FB;
    border-left: 4px solid #221DED;
}

.reply-avatar {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
    object-fit: cover;
    border-radius: 9999px;
}

.reply-action-btn:focus-visible {
    outline: 2px solid #221DED;
    outline-offset: 2px;
    border-radius: 0.25rem;
}


/* ===== PAGE TEMPLATE: hotels ===== */
.site-header {
    background-color: #0D0C31;
}

.site-header a {
    text-decoration: none;
}

.site-header .vgb-btn {
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.site-header .vgb-btn:active {
    transform: scale(0.98);
}

.vgb-footer {
    background-color: var(--dark-band, #0D0C31);
    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.vgb-footer a {
    transition: color 0.2s ease, opacity 0.2s ease;
}

.vgb-footer__disclaimer {
    background-color: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}

#vgb-age-modal.is-active {
    display: flex !important;
}

.hotel-prose p {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {

    .hotel-prose h2,
    .hotel-prose h3 {
        overflow-wrap: anywhere;
    }
}

/* ===== PAGE TEMPLATE: history, guides ===== */
.site-header {
    background-color: #0D0C31;
}

.site-header a {
    text-decoration: none;
}

.site-header .vgb-btn {
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.site-header .vgb-btn:active {
    transform: scale(0.98);
}

.article-content-layout {
    overflow-wrap: anywhere;
}

.article-striped-table th,
.article-striped-table td {
    border-bottom: 1px solid #D8D8E4;
}

@media (max-width: 767px) {
    .article-striped-table thead {
        display: none;
    }

    .article-striped-table,
    .article-striped-table tbody,
    .article-striped-table tr,
    .article-striped-table td {
        display: block;
        width: 100%;
    }

    .article-striped-table tr {
        margin-bottom: 0.75rem;
        border: 1px solid #D8D8E4;
        border-radius: 0.5rem;
    }
}

.vgb-footer {
    background-color: #0D0C31;
    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.vgb-footer a {
    transition: color 0.2s ease, opacity 0.2s ease;
}

.vgb-footer__disclaimer {
    background-color: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}

#vgb-age-modal.is-active {
    display: flex !important;
}

/* 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%;
  }
}

/* newsletter field + button */
.article-newsletter-card form input[type="email"]{flex:1 1 auto;width:100%;height:48px;min-height:48px;line-height:48px;padding-top:0;padding-bottom:0;font-size:14px;}
.article-newsletter-card form button[type="submit"]{min-height:48px;}
@media (max-width:639px){.article-newsletter-card form input[type="email"],.article-newsletter-card form button[type="submit"]{flex:none;width:100%;}}
/* comment cards */
.comment-card>.flex.items-start.justify-between{flex-wrap:wrap;align-items:center;row-gap:.75rem;}
.comment-card>.flex.items-start.justify-between>.flex.items-center.gap-4{flex:1 1 260px;min-width:0;align-items:center;}
.comment-card>.flex.items-start.justify-between>.flex.items-center.gap-4>div:last-child{min-width:0;}
.comment-card h4{line-height:1.3;}
.comment-card h4+span{white-space:nowrap;}
@media (max-width:639px){
 .comment-card{padding:1.25rem;}
 .comment-card .comment-avatar{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;font-size:.875rem;}
 .comment-card>.flex.items-start.justify-between>.flex.items-center.gap-4{gap:.75rem;flex-basis:100%;}
 .comment-card>.flex.items-start.justify-between>.flex.items-center.text-sm{order:2;}
 .comment-card .mt-6.pt-4{flex-wrap:wrap;row-gap:.5rem;}
}

/* about: alt button text stays black */
.about-page-container .vgb-btn-alt:hover,.about-page-container .vgb-btn-alt:focus,.about-page-container .vgb-btn-alt:focus-visible,.about-page-container .vgb-btn-alt:active{color:#1E1E2D;background-color:var(--border);}

/* footer bottom gap */
#footer-main.vgb-footer{padding-bottom:0 !important;}
#footer-main .vgb-footer__container{padding-bottom:20px !important;}
