/* All Inclusive MX — main.css */
/* Tema premium para agencia de viajes. Mobile-first. */

:root {
    --aim-deep: #0F3B66;
    --aim-deep-dark: #0a2a4d;
    --aim-turquoise: #00B4D8;
    --aim-turquoise-soft: #CFF1F8;
    --aim-coral: #FF6B35;
    --aim-coral-dark: #E5551F;
    --aim-gold: #D4AF37;
    --aim-bg: #FFFFFF;
    --aim-bg-soft: #F7F9FA;
    --aim-text: #0a2235;
    --aim-text-soft: #4a5b6c;
    --aim-border: #e6ebf0;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--aim-text);
    background: var(--aim-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.5;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--aim-deep); text-decoration: none; }
a:hover { color: var(--aim-coral); }

h1, h2, h3, h4, h5 {
    font-family: "Fraunces", "Manrope", serif;
    letter-spacing: -0.02em;
    color: var(--aim-deep);
    margin: 0 0 0.6em;
    line-height: 1.1;
}
h1 { font-size: 2.25rem; }
h2 { font-size: 1.875rem; }
h3 { font-size: 1.25rem; }
@media (min-width: 640px) { h1 { font-size: 3rem; } h2 { font-size: 2.25rem; } }
@media (min-width: 1024px) { h1 { font-size: 3.75rem; } h2 { font-size: 2.5rem; } }

p { margin: 0 0 1rem; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 768px) { .container { padding: 0 2rem; } }

.section-pad { padding: 4rem 0; }
@media (min-width: 768px) { .section-pad { padding: 6rem 0; } }

.bg-soft { background: var(--aim-bg-soft); }
.bg-deep { background: var(--aim-deep); }
.text-deep { color: var(--aim-deep); }
.text-turquoise { color: var(--aim-turquoise); }
.text-coral { color: var(--aim-coral); }
.text-gold { color: var(--aim-gold); }
.text-white { color: #fff; }
.text-white-85 { color: rgba(255, 255, 255, 0.85); }

.text-sm { font-size: 0.875rem; }
.text-xs { font-size: 0.78rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.text-center { text-align: center; }

/* ==== Buttons ==== */
.btn-call {
    background: var(--aim-coral);
    color: #fff;
    font-weight: 700;
    border-radius: 999px;
    padding: 0.85rem 1.4rem;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    box-shadow: 0 10px 25px -10px rgba(255, 107, 53, 0.55);
    transition: transform 0.18s ease, box-shadow 0.2s ease, background 0.2s ease;
    white-space: nowrap;
    font-size: 0.95rem;
    border: 0;
    cursor: pointer;
    text-decoration: none;
}
.btn-call:hover { transform: translateY(-2px) scale(1.02); background: var(--aim-coral-dark); color: #fff; }
.btn-call:active { transform: translateY(0); }
.btn-call svg { flex-shrink: 0; }
.btn-call-sm { font-size: 0.85rem; padding: 0.6rem 1rem; }
.btn-call-md { font-size: 0.95rem; padding: 0.85rem 1.4rem; }
.btn-call-lg { font-size: 1.05rem; padding: 1rem 1.6rem; }

.btn-outline-blue {
    border: 2px solid var(--aim-deep);
    color: var(--aim-deep);
    border-radius: 999px;
    padding: 0.75rem 1.25rem;
    font-weight: 600;
    transition: background 0.2s, color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}
.btn-outline-blue:hover { background: var(--aim-deep); color: #fff; }

/* ==== Chip ==== */
.chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--aim-turquoise-soft);
    color: var(--aim-deep);
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
}
.chip.on-dark { background: rgba(255,255,255,0.15); color: #fff; border: 1px solid rgba(255,255,255,0.2); }
.chip.solid-white { background: rgba(255,255,255,0.95); color: var(--aim-deep); }

/* ==== Card ==== */
.card-soft {
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 8px 32px -10px rgba(15, 59, 102, 0.18);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.25s;
}
.card-soft:hover { transform: translateY(-4px); box-shadow: 0 16px 40px -12px rgba(15, 59, 102, 0.28); }

/* ==== Header ==== */
.aimx-header {
    position: sticky; top: 0; z-index: 40;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid rgba(15, 59, 102, 0.08);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 64px; }
@media (min-width: 768px) { .header-inner { height: 80px; } }
.logo { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; }
.logo-icon { width: 36px; height: 36px; border-radius: 999px; background: var(--aim-deep); color: #fff; display: flex; align-items: center; justify-content: center; }
.logo-text { line-height: 1.1; }
.logo-name { font-weight: 700; color: var(--aim-deep); font-size: 1.05rem; }
.logo-name span { color: var(--aim-turquoise); }
.logo-tag { font-size: 0.6rem; letter-spacing: 0.15em; color: var(--aim-text-soft); text-transform: uppercase; }

.nav-desktop { display: none; gap: 1.6rem; align-items: center; }
@media (min-width: 768px) { .nav-desktop { display: flex; } }
.nav-desktop a { font-size: 0.9rem; font-weight: 600; color: var(--aim-deep); transition: color 0.2s; }
.nav-desktop a:hover, .nav-desktop a.current { color: var(--aim-coral); }

.header-call-desktop { display: none; }
@media (min-width: 768px) { .header-call-desktop { display: inline-flex; } }

.menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: transparent; border: 0; color: var(--aim-deep); cursor: pointer; }
@media (min-width: 768px) { .menu-toggle { display: none; } }

.mobile-menu { display: none; border-top: 1px solid var(--aim-turquoise-soft); background: #fff; }
.mobile-menu.is-open { display: block; }
.mobile-menu-inner { padding: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.mobile-menu a { padding: 0.5rem 0; font-weight: 600; color: var(--aim-deep); }
.mobile-menu a.current { color: var(--aim-coral); }
.mobile-menu .btn-call { justify-content: center; margin-top: 0.5rem; }

/* ==== Hero ==== */
.hero {
    position: relative; min-height: 88vh; display: flex; align-items: center;
    color: #fff; isolation: isolate;
}
.hero .hero-img { position: absolute; inset: 0; z-index: -2; }
.hero .hero-img img { width: 100%; height: 100%; object-fit: cover; }
.hero::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(to top, rgba(10,34,53,0.85), rgba(10,34,53,0.25) 55%, rgba(10,34,53,0.05));
}
.hero h1 { color: #fff; margin-top: 1.25rem; max-width: 800px; }
.hero h1 em { font-style: normal; color: var(--aim-turquoise); }
.hero p.lead { color: rgba(255,255,255,0.92); max-width: 640px; margin-top: 1.25rem; font-size: 1rem; }
@media (min-width: 768px) { .hero p.lead { font-size: 1.125rem; } }
.hero-actions { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 2rem; }
@media (min-width: 640px) { .hero-actions { flex-direction: row; align-items: center; } }
.hero-trust { margin-top: 2.25rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem 1.4rem; color: rgba(255,255,255,0.95); font-size: 0.85rem; }
@media (min-width: 768px) { .hero-trust { display: flex; flex-wrap: wrap; gap: 0.7rem 1.6rem; } }
.hero-trust span { display: inline-flex; align-items: center; gap: 0.4rem; }
.hero-trust svg { color: var(--aim-turquoise); flex-shrink: 0; }

.gradient-overlay { background: linear-gradient(to top, rgba(10,34,53,0.85), rgba(10,34,53,0.25) 55%, rgba(10,34,53,0.05)); }

/* ==== Grids ==== */
.grid { display: grid; gap: 1.25rem; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: 1fr; }
.grid-4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .grid-3 { grid-template-columns: repeat(3, 1fr); } .grid-4 { grid-template-columns: repeat(4, 1fr); } }

/* Benefits bar */
.benefits { padding: 3rem 0; background: var(--aim-bg-soft); }
.benefit { text-align: center; padding: 1.4rem; }
.benefit .ico { width: 48px; height: 48px; border-radius: 999px; background: var(--aim-turquoise-soft); display: flex; align-items: center; justify-content: center; color: var(--aim-deep); margin: 0 auto 0.75rem; }

/* Vuelos / Hotel / Oferta cards */
.card-img { position: relative; height: 200px; overflow: hidden; }
.card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.card-soft:hover .card-img img { transform: scale(1.08); }
.card-img .overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.6), transparent); }
.card-img .badge { position: absolute; top: 0.75rem; left: 0.75rem; }
.card-body { padding: 1.25rem; }
.price-block .label { font-size: 0.7rem; color: var(--aim-text-soft); text-transform: uppercase; letter-spacing: 0.06em; }
.price-block .amount { font-size: 1.35rem; font-weight: 800; color: var(--aim-deep); }
.price-block .mxn-suffix { font-size: 0.75rem; font-weight: 500; }

/* Destino tile (image dominant) */
.destino-tile { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 1rem; overflow: hidden; }
.destino-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.destino-tile:hover img { transform: scale(1.1); }
.destino-tile .info { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; color: #fff; }
.destino-tile h3 { color: #fff; font-size: 1.4rem; }
.destino-tile p { font-size: 0.85rem; opacity: 0.9; margin: 0; }

/* List with checks */
.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li { display: flex; gap: 0.75rem; padding: 0.4rem 0; }
.checklist li svg { color: var(--aim-turquoise); flex-shrink: 0; margin-top: 0.2rem; }

/* Sticky aside */
.aside-sticky { position: relative; }
@media (min-width: 768px) { .aside-sticky { position: sticky; top: 96px; } }

/* Cotizador */
.cotizador { padding: 1.5rem; }
.cotizador label { font-size: 0.78rem; color: var(--aim-text-soft); display: block; margin-bottom: 0.25rem; font-weight: 600; }
.cotizador input, .cotizador select, .cotizador textarea {
    width: 100%; padding: 0.6rem 0.75rem; border: 1px solid var(--aim-border);
    border-radius: 0.6rem; background: #fff; font: inherit; color: inherit;
}
.cotizador input:focus, .cotizador select:focus { outline: 2px solid var(--aim-turquoise); outline-offset: 1px; }
.cotizador .row { display: grid; gap: 0.6rem; }
.cotizador .row.cols-2 { grid-template-columns: 1fr 1fr; }
.cotizador .row.cols-3 { grid-template-columns: 1fr 1fr 1fr; }

/* Filter pills */
.filter-pills { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.5rem; scrollbar-width: none; }
.filter-pills::-webkit-scrollbar { display: none; }
.filter-pill {
    padding: 0.45rem 1rem; border-radius: 999px; font-size: 0.85rem; font-weight: 600;
    white-space: nowrap; background: var(--aim-turquoise-soft); color: var(--aim-deep);
    border: 0; cursor: pointer; transition: background 0.2s;
}
.filter-pill.is-active { background: var(--aim-deep); color: #fff; }
.filter-pill:hover:not(.is-active) { background: rgba(0,180,216,0.3); }

/* Mobile call bar */
.mobile-call-bar {
    display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 50;
    background: rgba(255,255,255,0.95); backdrop-filter: blur(10px);
    border-top: 1px solid var(--aim-turquoise-soft);
    box-shadow: 0 -8px 30px -12px rgba(15,59,102,0.25);
    padding-bottom: max(0.85rem, env(safe-area-inset-bottom));
}
.mobile-call-bar .inner { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 0.85rem; }
.mobile-call-bar .info { flex: 1; line-height: 1.1; }
.mobile-call-bar .info small { display: block; font-size: 0.68rem; font-weight: 600; color: var(--aim-deep); text-transform: uppercase; letter-spacing: 0.06em; }
.mobile-call-bar .info strong { font-size: 0.95rem; font-weight: 800; color: var(--aim-deep); }
@media (min-width: 768px) { .mobile-call-bar { display: none; } }

body.has-mobile-bar { padding-bottom: 88px; }
@media (min-width: 768px) { body.has-mobile-bar { padding-bottom: 0; } }

/* Footer */
.aimx-footer { background: var(--aim-deep); color: #fff; padding: 4rem 0 2rem; }
.aimx-footer h4 { color: #fff; font-size: 0.95rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 1rem; font-family: "Manrope", sans-serif; }
.footer-grid { display: grid; gap: 2.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(3, 1fr); } }
.footer-grid p { color: rgba(255,255,255,0.75); font-size: 0.9rem; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; }
.footer-grid li { margin-bottom: 0.7rem; }
.footer-grid a { color: rgba(255,255,255,0.8); font-size: 0.9rem; transition: color 0.2s; }
.footer-grid a:hover { color: #fff; }
.footer-bottom {
    margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.1);
    display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.75rem; color: rgba(255,255,255,0.6);
}
@media (min-width: 768px) { .footer-bottom { flex-direction: row; align-items: center; justify-content: space-between; } }
.footer-bottom .links { display: flex; gap: 1.25rem; flex-wrap: wrap; }

/* Hotel page hero */
.hotel-hero { position: relative; min-height: 55vh; display: flex; align-items: end; padding: 2rem 0; color: #fff; isolation: isolate; }
.hotel-hero img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hotel-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(10,34,53,0.85), rgba(10,34,53,0.25) 55%, rgba(10,34,53,0.05)); }
.hotel-hero h1 { color: #fff; }

/* Swiper customizations */
.aimx-swiper { padding-bottom: 2.5rem; }
.aimx-swiper .swiper-slide { width: 90%; }
@media (min-width: 768px) { .aimx-swiper .swiper-slide { width: 60%; } }
.aimx-swiper .swiper-slide img { width: 100%; height: 380px; object-fit: cover; border-radius: 1rem; }
@media (max-width: 767px) { .aimx-swiper .swiper-slide img { height: 280px; } }
.aimx-swiper .swiper-pagination-bullet-active { background: var(--aim-coral); }
.swiper-nav { display: flex; gap: 0.5rem; justify-content: end; margin-bottom: 0.75rem; }
.swiper-nav button { width: 40px; height: 40px; border-radius: 999px; border: 1px solid rgba(15,59,102,0.2); background: #fff; color: var(--aim-deep); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.swiper-nav button:hover { background: var(--aim-deep); color: #fff; }

/* Forms */
form.aimx-form .row { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { form.aimx-form .row { grid-template-columns: 1fr 1fr; } }
form.aimx-form .full { grid-column: 1 / -1; }
form.aimx-form input, form.aimx-form textarea {
    width: 100%; padding: 0.7rem 0.85rem; border: 1px solid var(--aim-border);
    border-radius: 0.6rem; background: #fff; font: inherit;
}
form.aimx-form label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--aim-text-soft); margin-bottom: 0.3rem; }

/* FAQ accordion */
.faq-item { border-bottom: 1px solid var(--aim-border); }
.faq-item summary { padding: 1rem 0; font-weight: 700; color: var(--aim-deep); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 1.5rem; transition: transform 0.2s; color: var(--aim-coral); }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item[open] .faq-answer { padding-bottom: 1rem; color: var(--aim-text-soft); }

/* Reviews */
.review { padding: 1.5rem; }
.review .stars { color: var(--aim-gold); font-size: 1rem; letter-spacing: 0.08em; margin-bottom: 0.5rem; }
.review .name { font-weight: 700; color: var(--aim-deep); }
.review .meta { font-size: 0.75rem; color: var(--aim-text-soft); }

/* Final CTA banner */
.cta-banner { padding: 5rem 0; background: var(--aim-deep); color: #fff; position: relative; isolation: isolate; }
.cta-banner img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.25; z-index: -1; }
.cta-banner h2 { color: #fff; font-size: 2rem; }
@media (min-width: 768px) { .cta-banner h2 { font-size: 3rem; } }

/* Misc utilities */
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: 0.5rem; } .gap-3 { gap: 0.75rem; } .gap-4 { gap: 1rem; }
.mt-2 { margin-top: 0.5rem; } .mt-4 { margin-top: 1rem; } .mt-6 { margin-top: 1.5rem; } .mt-8 { margin-top: 2rem; }
.mb-2 { margin-bottom: 0.5rem; } .mb-4 { margin-bottom: 1rem; } .mb-6 { margin-bottom: 1.5rem; } .mb-8 { margin-bottom: 2rem; }
.hide-on-xs { display: none; }
@media (min-width: 640px) { .hide-on-xs { display: inline; } }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Notice strip */
.notice-strip { font-size: 0.75rem; color: var(--aim-text-soft); margin-top: 2rem; }

/* Toast */
.aimx-toast { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 100; padding: 0.85rem 1.25rem; border-radius: 0.75rem; background: #fff; box-shadow: 0 10px 30px -8px rgba(0,0,0,0.25); font-weight: 600; }
.aimx-toast.success { background: #ecfdf5; color: #065f46; }
.aimx-toast.error { background: #fef2f2; color: #991b1b; }

/* ==== Breadcrumbs ==== */
.aimx-breadcrumbs { background: var(--aim-bg-soft); border-bottom: 1px solid var(--aim-border); font-size: 0.82rem; }
.aimx-breadcrumbs ol { list-style: none; padding: 0.75rem 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; color: var(--aim-text-soft); }
.aimx-breadcrumbs li { display: inline-flex; align-items: center; }
.aimx-breadcrumbs li:not(:last-child)::after { content: "›"; margin: 0 0.4rem; color: var(--aim-text-soft); opacity: 0.6; }
.aimx-breadcrumbs a { color: var(--aim-deep); font-weight: 600; }
.aimx-breadcrumbs a:hover { color: var(--aim-coral); }
.aimx-breadcrumbs li[aria-current="page"] { color: var(--aim-text); }
.aimx-breadcrumbs.is-dark { background: transparent; border-bottom: 0; color: rgba(255,255,255,0.85); }
.aimx-breadcrumbs.is-dark a, .aimx-breadcrumbs.is-dark li[aria-current="page"] { color: #fff; }

/* ==== Hotel Finder (filtros en /destinos/) ==== */
.finder-wrap { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 1024px) { .finder-wrap { grid-template-columns: 280px 1fr; gap: 2rem; } }

.finder-toggle { display: flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.25rem; border-radius: 999px; background: var(--aim-deep); color: #fff; border: 0; font-weight: 700; cursor: pointer; width: 100%; justify-content: center; }
.finder-toggle:hover { background: var(--aim-deep-dark); }
@media (min-width: 1024px) { .finder-toggle { display: none; } }

.finder-sidebar { background: #fff; border-radius: 1rem; box-shadow: 0 8px 32px -10px rgba(15,59,102,0.18); padding: 1.25rem; }
@media (max-width: 1023px) { .finder-sidebar { display: none; } .finder-sidebar.is-open { display: block; } }

.finder-group { padding: 0.75rem 0; border-bottom: 1px solid var(--aim-border); }
.finder-group:last-child { border-bottom: 0; }
.finder-group h4 { font-family: "Manrope", sans-serif; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--aim-text-soft); margin: 0 0 0.6rem; }
.finder-option { display: flex; align-items: center; gap: 0.55rem; padding: 0.3rem 0; font-size: 0.9rem; cursor: pointer; user-select: none; }
.finder-option input { width: 16px; height: 16px; accent-color: var(--aim-coral); }
.finder-group select, .finder-group input[type="number"] {
    width: 100%; padding: 0.55rem 0.75rem; border: 1px solid var(--aim-border);
    border-radius: 0.5rem; font: inherit; background: #fff;
}
.finder-actions { display: flex; gap: 0.5rem; margin-top: 0.8rem; }
.finder-clear { flex: 1; background: transparent; border: 1px solid var(--aim-border); color: var(--aim-text); padding: 0.55rem; border-radius: 0.5rem; cursor: pointer; font-weight: 600; }
.finder-clear:hover { border-color: var(--aim-deep); color: var(--aim-deep); }

.finder-results-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.5rem; font-size: 0.9rem; color: var(--aim-text-soft); }
.finder-results-meta strong { color: var(--aim-deep); font-weight: 800; }

.hotel-grid-finder { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .hotel-grid-finder { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .hotel-grid-finder { grid-template-columns: repeat(3, 1fr); } }

.hotel-empty { text-align: center; padding: 3rem 1rem; color: var(--aim-text-soft); background: var(--aim-bg-soft); border-radius: 1rem; }
