/* Hospedaje page. Shared header, footer, dialogs and floating actions remain in tm-global.css. */
#tm-site .tm-stays-page { overflow: clip; background: #fff; }
#tm-site .stay-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 385px; color: #fff; background: #064263 url('/assets/tm-stay-hero.webp') center 54% / cover no-repeat; }
#tm-site .stay-hero::before { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(90deg, rgba(2,30,54,.91), rgba(3,46,72,.64) 43%, rgba(3,42,65,.1) 82%); }
#tm-site .stay-hero-inner { padding-block: 53px 94px; }
#tm-site .stay-hero-copy { max-width: 690px; }
#tm-site .stay-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.48); border-radius: 100px; background: rgba(4,39,68,.3); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .035em; }
#tm-site .stay-eyebrow .tm-icon { width: 17px; height: 17px; font-size: 16px; color: #a5f5e5; }
#tm-site .stay-hero h1 { margin: 0; color: #fff; font-size: clamp(42px,5.2vw,69px); font-weight: 800; letter-spacing: -.055em; line-height: 1.07; }
#tm-site .stay-hero h1 span { color: #8ff1e5; }
#tm-site .stay-hero-copy > p:not(.stay-eyebrow) { max-width: 595px; margin: 15px 0 23px; color: #f1fbfd; font-size: 17px; font-weight: 700; line-height: 1.55; }
#tm-site .stay-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
#tm-site .stay-hero-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 45px; padding: 10px 18px; border-radius: 10px; font-size: 14px; font-weight: 800; }
#tm-site .stay-hero-actions .tm-icon { width: 18px; height: 18px; font-size: 16px; }
#tm-site .stay-hero-primary { background: #05a6bc; color: #fff; box-shadow: 0 9px 23px rgba(0,0,0,.14); }
#tm-site .stay-hero-primary:hover { background: #008eaa; }
#tm-site .stay-hero-secondary { background: #fff; color: #07617d; }
#tm-site .stay-hero-secondary:hover { background: #eafffc; }
#tm-site .stay-finder { position: relative; z-index: 2; margin-top: -50px; padding-bottom: 18px; scroll-margin-top: 96px; }
#tm-site .stay-filter-panel { padding: 23px 27px 25px; border: 1px solid #dbe9ef; border-radius: 18px; background: #f9fcfd; box-shadow: 0 15px 40px rgba(5,52,82,.13); }
#tm-site .stay-filter-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
#tm-site .stay-filter-icon { display: grid; place-items: center; width: 45px; height: 45px; flex: none; border-radius: 12px; background: #e1f5f5; color: #008f9f; }
#tm-site .stay-filter-heading > div { min-width: 0; }
#tm-site .stay-filter-heading h2 { margin: 0; color: #092e50; font-size: 21px; font-weight: 800; line-height: 1.2; }
#tm-site .stay-filter-heading p { margin: 3px 0 0; color: #597186; font-size: 13px; line-height: 1.35; }
#tm-site .stay-clear { margin-left: auto; padding: 8px 10px; border: 1px solid #c8dce5; border-radius: 8px; background: #fff; color: #355970; cursor: pointer; font-size: 13px; font-weight: 800; white-space: nowrap; }
#tm-site .stay-clear:hover { background: #eaf7fb; }
#tm-site .stay-filter-grid { display: grid; grid-template-columns: minmax(250px,1.55fr) repeat(3,minmax(145px,1fr)); gap: 12px; align-items: end; }
#tm-site .stay-field { display: grid; min-width: 0; gap: 6px; color: #36566e; font-size: 13px; font-weight: 800; }
#tm-site .stay-field input, #tm-site .stay-field select { width: 100%; height: 48px; min-width: 0; padding: 0 12px; border: 1px solid #cadce5; border-radius: 9px; background: #fff; color: #173b56; font-size: 14px; font-weight: 700; }
#tm-site .stay-field input:focus, #tm-site .stay-field select:focus { outline: 3px solid rgba(0,168,212,.16); border-color: #008eb6; }
#tm-site .stay-field input::placeholder { color: #7890a1; }
#tm-site .stay-input-wrap { position: relative; display: flex; align-items: center; }
#tm-site .stay-input-wrap > .tm-icon { position: absolute; left: 13px; width: 18px; height: 18px; font-size: 16px; color: #7791a1; pointer-events: none; }
#tm-site .stay-input-wrap input { height: 51px; padding-left: 41px; padding-right: 91px; font-size: 14px; }
#tm-site .stay-search-button { position: absolute; right: 4px; top: 4px; bottom: 4px; min-width: 78px; padding: 0 13px; border: 0; border-radius: 7px; background: #066487; color: #fff; cursor: pointer; font-size: 13px; font-weight: 800; }
#tm-site .stay-search-button:hover { background: #008faf; }
#tm-site .stay-quick { display: flex; align-items: center; gap: 15px; margin-top: 16px; color: #214864; font-size: 14px; }
#tm-site .stay-quick > strong { flex: none; font-weight: 800; }
#tm-site .stay-quick-list { display: flex; flex-wrap: wrap; gap: 7px; }
#tm-site .stay-quick button { display: inline-flex; align-items: center; gap: 5px; min-height: 35px; padding: 6px 11px; border: 1px solid #d5e6ed; border-radius: 99px; background: #fff; color: #224d66; cursor: pointer; font-size: 13px; font-weight: 800; }
#tm-site .stay-quick button:hover, #tm-site .stay-quick button.is-active { border-color: #38b6bf; background: #e4f8f7; color: #006e80; }
#tm-site .stay-quick button .tm-icon { width: 16px; height: 16px; font-size: 15px; }
#tm-site .stay-discover { padding-block: 45px 65px; scroll-margin-top: 95px; }
#tm-site .stay-section-head { display: flex; justify-content: space-between; align-items: end; gap: 22px; margin-bottom: 23px; }
#tm-site .stay-kicker { margin: 0 0 7px; color: #008c9e; font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
#tm-site .stay-section-head h2 { margin: 0; color: #092e50; font-size: clamp(27px,3vw,36px); font-weight: 800; letter-spacing: -.035em; line-height: 1.2; }
#tm-site .stay-section-head p:not(.stay-kicker) { max-width: 680px; margin: 8px 0 0; color: #536b7c; font-size: 17px; line-height: 1.6; }
#tm-site #stay-options .stay-section-head > div,
#tm-site .stay-basic .stay-section-head > div { width: 100%; }
#tm-site #stay-options .stay-section-head p:not(.stay-kicker),
#tm-site .stay-basic .stay-section-head p:not(.stay-kicker) { max-width: none; }

#tm-site .stay-result-count { flex: none; padding: 8px 13px; border-radius: 9px; background: #eaf7f8; color: #087788; font-size: 13px; font-weight: 800; }
#tm-site .stay-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 20px; }
#tm-site .stay-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #deebf0; border-radius: 16px; background: #fff; box-shadow: 0 8px 26px rgba(8,52,79,.07); }
#tm-site .stay-card:hover { box-shadow: 0 14px 31px rgba(8,52,79,.12); }
#tm-site .stay-card-image { position: relative; height: 178px; overflow: hidden; background: #dbedf3; }
#tm-site .stay-card-image img { width: 100%; height: 100%; object-fit: cover; }
#tm-site .stay-featured-badge { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 4px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.45); border-radius: 99px; background: linear-gradient(115deg,#ef7047,#d95538); color: #fff; box-shadow: 0 6px 17px rgba(71,22,8,.27); font-size: 12px; font-weight: 800; line-height: 1; }
#tm-site .stay-featured-badge .tm-icon { width: 14px; height: 14px; font-size: 12px; }
#tm-site .stay-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 18px 20px 20px; }
#tm-site .stay-card-label { display: inline-flex; align-items: center; gap: 5px; min-height: 29px; padding: 4px 9px; border-radius: 7px; font-size: 12px; font-weight: 800; line-height: 1.25; }
#tm-site .stay-card-label .tm-icon { width: 17px; height: 17px; font-size: 14px; }
#tm-site .stay-label-aqua { color: #007d87; background: #e3f7f5; } #tm-site .stay-label-blue { color: #235ba1; background: #e9f2fe; } #tm-site .stay-label-coral { color: #bc503f; background: #fff0ea; } #tm-site .stay-label-orange { color: #a65d10; background: #fff3dd; } #tm-site .stay-label-green { color: #197d66; background: #e9f8ee; } #tm-site .stay-label-violet { color: #74559c; background: #f3ecfb; }
#tm-site .stay-card h3 { margin: 12px 0 6px; color: #102f4a; font-size: 20px; font-weight: 800; letter-spacing: -.02em; line-height: 1.3; }
#tm-site .stay-card p { margin: 0 0 14px; color: #4d6576; font-size: 14px; line-height: 1.55; }
#tm-site .stay-card-facts { display: grid; gap: 4px; margin-top: auto; color: #526c7e; font-size: 13px; font-weight: 800; }
#tm-site .stay-card-facts span { display: inline-flex; align-items: center; gap: 4px; }
#tm-site .stay-card-facts .tm-icon { width: 16px; height: 16px; font-size: 13px; color: #0a91a7; }
#tm-site .stay-card button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 42px; margin-top: 16px; padding: 8px 13px; border: 0; border-radius: 9px; background: #008eb6; color: #fff; cursor: pointer; font-size: 14px; font-weight: 800; }
#tm-site .stay-card button:hover { background: #006f96; }
#tm-site .stay-card button .tm-icon { width: 16px; font-size: 14px; }
#tm-site .stay-empty { padding: 43px 20px; border: 1px dashed #abcbd8; border-radius: 15px; background: #f5fafc; text-align: center; }
#tm-site .stay-empty > .tm-icon { margin: 0 auto; color: #008faf; font-size: 28px; }
#tm-site .stay-empty h3 { margin: 12px 0 5px; font-size: 21px; }
#tm-site .stay-empty p { margin: 0 0 18px; color: #526b7c; }
#tm-site .stay-empty button { padding: 10px 18px; border: 0; border-radius: 9px; background: #008faf; color: #fff; cursor: pointer; font-weight: 800; }
#tm-site .stay-basic { padding-block: 53px 64px; border-block: 1px solid #e1edf2; background: #f2f9fb; }
#tm-site .stay-basic-toolbar { display: grid; grid-template-columns: minmax(220px,1.4fr) repeat(2,minmax(170px,1fr)); gap: 12px; padding: 16px; border: 1px solid #dce9ef; border-radius: 13px; background: #fff; }
#tm-site .stay-basic-toolbar label { display: grid; gap: 5px; min-width: 0; color: #496478; font-size: 13px; font-weight: 800; }
#tm-site .stay-basic-toolbar input, #tm-site .stay-basic-toolbar select { width: 100%; height: 43px; min-width: 0; padding: 0 12px; border: 1px solid #d3e3e9; border-radius: 8px; background: #fff; color: #193a54; font-size: 14px; font-weight: 700; }
#tm-site .stay-basic-toolbar input:focus, #tm-site .stay-basic-toolbar select:focus { outline: 3px solid rgba(0,168,212,.16); border-color: #008eb6; }
#tm-site .stay-basic-summary { margin: 16px 0 11px; color: #526b7c; font-size: 13px; font-weight: 800; }
#tm-site .stay-basic-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
#tm-site .stay-basic-item { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 80px; padding: 13px 16px; border: 1px solid #dbe9ef; border-radius: 12px; background: #fff; }
#tm-site .stay-basic-icon { display: grid; place-items: center; width: 43px; height: 43px; flex: none; border-radius: 10px; background: var(--stay-category-bg,#e4f4fc); color: var(--stay-category-color,#087da7); }
#tm-site .stay-basic-icon .tm-icon { font-size: 17px; }
#tm-site .stay-basic-copy { min-width: 0; }
#tm-site .stay-basic-copy span { color: #568093; font-size: 12px; font-weight: 800; }
#tm-site .stay-basic-copy h3 { margin: 3px 0 0; color: #163a54; font-size: 16px; font-weight: 800; line-height: 1.28; }
#tm-site .stay-basic-copy .stay-basic-zone { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; color: #5a7485; font-size: 12px; font-weight: 700; }
#tm-site .stay-basic-zone .tm-icon { width: 13px; height: 13px; font-size: 11px; }
#tm-site .stay-basic-item a { display: inline-flex; align-items: center; gap: 5px; flex: none; margin-left: auto; padding: 7px 9px; border: 1px solid #d4e8ee; border-radius: 8px; color: #087993; font-size: 12px; font-weight: 800; white-space: nowrap; }
#tm-site .stay-basic-item a:hover { background: #eaf8fb; }
#tm-site .stay-basic-item a .tm-icon { width: 15px; height: 15px; font-size: 13px; }
#tm-site .stay-basic-empty { padding: 20px; border-radius: 10px; background: #fff; color: #526b7c; font-size: 14px; }
#tm-site .stay-basic-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 21px; color: #31536a; font-size: 14px; font-weight: 800; }
#tm-site .stay-basic-pagination button { min-height: 40px; padding: 8px 14px; border: 1px solid #c9dfe8; border-radius: 8px; background: #fff; color: #086e89; cursor: pointer; font-weight: 800; }
#tm-site .stay-basic-pagination button:hover:not(:disabled) { background: #eaf8fb; }
#tm-site .stay-basic-pagination button:disabled { opacity: .47; cursor: default; }
#tm-site .stay-merchant { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 35px; overflow: hidden; margin-block: 62px 0; padding: 35px 42px; border-radius: 21px; background: linear-gradient(112deg,#062d56,#006d8d 85%); color: #fff; }
#tm-site .stay-merchant::after { position: absolute; top: -180px; right: -150px; width: 300px; height: 300px; border: 42px solid rgba(106,230,222,.13); border-radius: 50%; content: ''; pointer-events: none; }
#tm-site .stay-merchant .stay-kicker { color: #82efe5; }
#tm-site .stay-merchant h2 { margin: 0; color: #fff; font-size: clamp(26px,3vw,35px); font-weight: 800; letter-spacing: -.04em; line-height: 1.2; }
#tm-site .stay-merchant p:not(.stay-kicker) { max-width: 740px; margin: 10px 0 0; color: #e3f3f8; font-size: 15px; line-height: 1.55; }
#tm-site .stay-merchant-points { display: flex; flex-wrap: wrap; gap: 6px 17px; margin-top: 16px; color: #dff5f8; font-size: 12px; font-weight: 800; }
#tm-site .stay-merchant-points span { display: inline-flex; align-items: center; gap: 5px; }
#tm-site .stay-merchant-points .tm-icon { width: 14px; height: 14px; color: #86f2df; font-size: 12px; }
#tm-site .stay-merchant-actions { position: relative; z-index: 1; display: grid; gap: 10px; min-width: 235px; }
#tm-site .stay-merchant-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 45px; padding: 8px 16px; border-radius: 9px; text-align: center; font-size: 13px; font-weight: 800; }
#tm-site .stay-merchant-primary { background: #ff692e; color: #fff; }
#tm-site .stay-merchant-primary:hover { background: #e85420; }
#tm-site .stay-merchant-secondary { border: 1px solid #fff; background: #fff; color: #062d56; box-shadow: 0 8px 20px rgba(0,20,40,.15); }
#tm-site .stay-merchant-secondary:hover { background: #e8f7fb; }
#tm-site .stay-merchant-actions .tm-icon { width: 16px; height: 16px; font-size: 14px; }
#tm-site .stay-guides { padding-block: 60px 50px; }
#tm-site .stay-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
#tm-site .stay-guide-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #deebf0; border-radius: 15px; background: #fff; }
#tm-site .stay-guide-card > img { width: 100%; height: 170px; object-fit: cover; }
#tm-site .stay-guide-card > div { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 18px 20px 20px; }
#tm-site .stay-guide-card div > span { display: inline-flex; align-items: center; gap: 6px; color: #0a8998; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
#tm-site .stay-guide-card span .tm-icon { width: 17px; height: 17px; font-size: 15px; }
#tm-site .stay-guide-card h3 { margin: 8px 0 5px; color: #103957; font-size: 19px; font-weight: 800; line-height: 1.32; }
#tm-site .stay-guide-card p { margin: 0 0 14px; color: #536b7c; font-size: 14px; line-height: 1.55; }
#tm-site .stay-guide-card button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; margin-top: auto; padding: 9px 13px; border: 1px solid #b8dce6; border-radius: 9px; background: #eff8fc; color: #086f8b; cursor: pointer; font-size: 14px; font-weight: 800; line-height: 1.25; transition: background .18s ease, border-color .18s ease; }
#tm-site .stay-guide-card button:hover { background: #e0f2f8; border-color: #7fbdcf; }
#tm-site .stay-guide-card button .tm-icon { flex: none; width: 16px; height: 16px; font-size: 14px; }
#tm-site .stay-note { display: flex; align-items: center; gap: 18px; margin-top: 52px; margin-bottom: 0; padding: 22px 28px; border: 1px solid #cfe7f0; border-radius: 15px; background: #f2fbfd; }
#tm-site .stay-note-icon { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: #008ab0; background: #d8f2f8; }
#tm-site .stay-note-icon .tm-icon { font-size: 23px; }
#tm-site .stay-note h2 { margin: 0 0 2px; color: #073656; font-size: 18px; line-height: 1.3; font-weight: 800; }
#tm-site .stay-note p { margin: 0; color: #445a6b; font-size: 14px; line-height: 1.55; }
@media (max-width:560px) {
 #tm-site .stay-note { align-items: flex-start; padding: 18px; }
 #tm-site .stay-note-icon { width: 37px; height: 37px; }
}
#tm-site .stay-dialog { position: fixed; width: min(740px,calc(100% - 30px)); max-height: min(90vh,850px); padding: 0; border: 0; border-radius: 17px; background: #fff; color: #143750; box-shadow: 0 25px 90px rgba(2,32,53,.28); overflow: auto; }
#tm-site .stay-dialog::backdrop { background: rgba(4,27,46,.7); }
#tm-site .stay-dialog-close { position: absolute; z-index: 2; top: 14px; right: 14px; display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: #143750; cursor: pointer; box-shadow: 0 3px 12px rgba(0,0,0,.17); }
#tm-site .stay-dialog-close .tm-icon { font-size: 17px; }
#tm-site .stay-dialog-image { position: relative; }
#tm-site .stay-dialog-image img { width: 100%; height: 220px; object-fit: cover; }
#tm-site .stay-dialog-content { padding: 24px 29px 28px; }
#tm-site .stay-dialog h2 { margin: 0 0 8px; font-size: 30px; font-weight: 800; line-height: 1.2; }
#tm-site .stay-dialog-content > p:not(.stay-kicker) { margin: 0 0 13px; color: #526a7a; font-size: 15px; line-height: 1.55; }
#tm-site .stay-dialog-meta { display: grid; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; color: #355f73; font-size: 13px; font-weight: 800; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 22px 0; }
#tm-site .stay-dialog-meta > span { display: inline-flex; align-items: center; gap: 5px; }
#tm-site .stay-dialog-meta .tm-icon { width: 17px; height: 17px; color: #048ba2; font-size: 15px; }
#tm-site .stay-dialog-dishes { padding: 20px; border: 1px solid #dcebef; border-radius: 13px; background: #f3fafc; }
#tm-site .stay-dialog-dishes h3 { margin: 0 0 9px; font-size: 19px; font-weight: 800; margin-bottom: 13px; }
#tm-site .stay-dialog-dishes ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
#tm-site .stay-dialog-dishes li { padding: 9px 11px; border-radius: 7px; background: #fff; color: #244c65; font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #d8e9ee; }
#tm-site .stay-dialog-address { display: flex; gap: 11px; margin: 15px 0 12px; color: #36576d; font-size: 15px; font-style: normal; line-height: 1.45; align-items: flex-start; padding: 17px; margin-top: 18px; border: 1px solid #dce9ef; border-radius: 12px; background: #fff; }
#tm-site .stay-dialog-address strong { color: #173e56; margin-bottom: 5px; }
#tm-site .stay-dialog-contact { display: flex; flex-wrap: wrap; gap: 8px 17px; margin-bottom: 18px; margin: 14px 0 23px; }
#tm-site .stay-dialog-contact a { display: inline-flex; align-items: center; gap: 5px; color: #076f8a; font-size: 14px; font-weight: 800; padding: 7px 9px; border: 1px solid #dce9ef; border-radius: 8px; background: #f8fcfd; }
#tm-site .stay-dialog-contact a:hover { text-decoration: underline; }
#tm-site .stay-dialog-contact .tm-icon { width: 16px; height: 16px; font-size: 14px; }
#tm-site .stay-dialog-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:10px; }
#tm-site .stay-dialog-actions > :is(a,button) { min-width:0; width:auto; height:auto; min-height:44px; padding:10px 16px; border:1px solid transparent; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; font-size:14px; font-weight:800; line-height:1.25; }
#tm-site .stay-dialog-actions .tm-icon { width:18px; height:18px; font-size:17px; flex:none; }
#tm-site .stay-dialog-content > p.stay-dialog-disclaimer { margin: 14px 0 0; color: #64798a; font-size: 12px; }
#tm-site .stay-dialog.is-guide .stay-featured-badge, #tm-site .stay-dialog.is-guide .stay-dialog-meta, #tm-site .stay-dialog.is-guide .stay-dialog-address, #tm-site .stay-dialog.is-guide .stay-dialog-contact, #tm-site .stay-dialog.is-guide #stay-dialog-whatsapp { display: none; }
#tm-site .stay-dialog.is-guide .stay-dialog-dishes { margin-bottom: 17px; }
#tm-site .stay-dialog.is-guide .stay-dialog-dishes li { width: 100%; background: transparent; padding: 1px 0; font-weight: 700; }
@media (max-width: 1020px) {
  #tm-site .stay-filter-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #tm-site .stay-field-query { grid-column: 1/-1; }
  #tm-site .stay-card-grid { gap: 15px; }
  #tm-site .stay-card-body { padding: 16px; }
}
@media (max-width: 780px) {
  #tm-site .stay-hero { min-height: 370px; background-position: 58% center; }
  #tm-site .stay-hero-inner { padding-block: 45px 80px; }
  #tm-site .stay-card-grid, #tm-site .stay-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #tm-site .stay-basic-grid { grid-template-columns: 1fr; }
  #tm-site .stay-merchant { grid-template-columns: 1fr; gap: 23px; padding: 30px; }
  #tm-site .stay-merchant-actions { display: flex; flex-wrap: wrap; }
}
@media (max-width: 580px) {
  #tm-site .stay-hero { min-height: 405px; background-position: 60% center; }
  #tm-site .stay-hero::before { background: linear-gradient(90deg,rgba(2,30,54,.89),rgba(3,46,72,.49)); }
  #tm-site .stay-hero h1 { font-size: clamp(39px,10vw,54px); }
  #tm-site .stay-hero-copy > p:not(.stay-eyebrow) { font-size: 15px; }
  #tm-site .stay-hero-actions a { width: 100%; }
  #tm-site .stay-finder { margin-top: -39px; }
  #tm-site .stay-filter-panel { padding: 18px; }
  #tm-site .stay-filter-heading { align-items: flex-start; flex-wrap: wrap; }
  #tm-site .stay-filter-heading h2 { font-size: 18px; }
  #tm-site .stay-filter-heading p { font-size: 12px; }
  #tm-site .stay-filter-icon { width: 38px; height: 38px; }
  #tm-site .stay-clear { margin-left: 51px; padding: 5px 7px; font-size: 12px; }
  #tm-site .stay-filter-grid, #tm-site .stay-card-grid, #tm-site .stay-guide-grid, #tm-site .stay-basic-toolbar { grid-template-columns: 1fr; }
  #tm-site .stay-quick { align-items: flex-start; flex-direction: column; gap: 8px; }
  #tm-site .stay-section-head { align-items: flex-start; flex-direction: column; gap: 11px; }
  #tm-site .stay-discover { padding-block: 41px 55px; }
  #tm-site .stay-card-image { height: 190px; }
  #tm-site .stay-basic-item { flex-wrap: wrap; }
  #tm-site .stay-basic-item a { margin-left: 55px; }
  #tm-site .stay-merchant { margin-block: 50px 0; padding: 26px 22px; }
  #tm-site .stay-merchant-actions { display: grid; }
  #tm-site .stay-guides { padding-block: 51px 42px; }
  #tm-site .stay-dialog-image img { height: 180px; }
  #tm-site .stay-dialog-content { padding: 21px; }
  #tm-site .stay-dialog-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  #tm-site .stay-dialog-actions > * { min-width: 0; }
  
}



#tm-site .stay-basic-copy > span { color:var(--stay-category-color,#087da7); }
#tm-site .stay-basic-zone > .tm-icon { color:#0a75cf; }
#tm-site .stay-guide-card .stay-guide-label { padding:5px 8px; border-radius:7px; }
#tm-site .stay-guide-card .stay-guide-label--blue { color:#087ba7; background:#e4f4fc; }
#tm-site .stay-guide-card .stay-guide-label--aqua { color:#008779; background:#e0f7f1; }
#tm-site .stay-guide-card .stay-guide-label--coral { color:#b9513e; background:#ffede7; }


#tm-site .stay-dialog-content > p:not(.stay-kicker):not(.stay-dialog-disclaimer) { font-size:16px; line-height:1.65; }

#tm-site .stay-dialog-meta > div { display:flex; align-items:flex-start; gap:8px; padding:14px 12px; border:1px solid #d8e8ef; border-radius:12px; background:#f5fafc; }
#tm-site .stay-dialog-meta > div > .tm-icon { flex:none; margin-top:3px; color:#087f98; }
#tm-site .stay-dialog-meta small { display:block; margin-bottom:5px; color:#647b8b; font-size:12px; font-weight:700; }
#tm-site .stay-dialog-meta strong { display:block; color:#234d65; font-size:14px; line-height:1.4; }



#tm-site .stay-dialog-dishes li .tm-icon { flex:none; width:16px; height:16px; font-size:14px; color:#008779; }

#tm-site .stay-dialog-address > .tm-icon { margin-top:4px; color:#0a75cf; flex:none; }
#tm-site .stay-dialog-address strong, #tm-site .stay-dialog-address span { display:block; }



#tm-site .stay-dialog.is-guide .stay-dialog-actions { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:stretch; gap:10px; }
#tm-site .stay-dialog.is-guide .stay-dialog-actions #stay-dialog-share { grid-column:auto; }
#tm-site .stay-dialog.is-guide .stay-dialog-actions #stay-dialog-map { width:auto; padding:12px 16px; text-align:center; }
#tm-site .stay-dialog.is-guide .stay-dialog-dishes li { display:flex; align-items:flex-start; border:0; gap:10px; margin-bottom:12px; }
#tm-site .stay-dialog.is-guide .stay-dialog-dishes li .tm-icon { margin-top:4px; }
@media (max-width:620px) {
 #tm-site .stay-dialog-meta { grid-template-columns:1fr; }
 #tm-site .stay-dialog-content { padding:21px; }
 #tm-site .stay-dialog h2 { font-size:25px; }
 #tm-site .stay-dialog.is-guide .stay-dialog-actions { grid-template-columns:1fr; }
 #tm-site .stay-note { margin-top:38px; }
}

/* Lodging-only details. */
#tm-site .tm-stays-page .tm-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#tm-site .stay-card h3 { min-height:26px; margin-top:10px; }
#tm-site .stay-card p { min-height:66px; }
#tm-site .stay-card-facts { gap:7px; }
#tm-site .stay-dialog-contact a { max-width:100%; overflow-wrap:anywhere; }
#tm-site .stay-dialog.is-guide #stay-dialog-done { display:none; }
#tm-site .stay-dialog-image img { object-position:center; }
#tm-site .stay-dialog-meta { grid-template-columns:1fr 1fr 1.3fr; }
#tm-site .stay-basic-grid { scroll-margin-top:100px; }
#tm-site .stay-basic-item { display:grid; grid-template-columns:43px minmax(0,1fr) auto; }
#tm-site .stay-card[hidden], #tm-site .stay-basic-item[hidden] { display:none; }
@media(max-width:620px) {
 #tm-site .stay-dialog-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #tm-site .stay-dialog-meta { grid-template-columns:1fr; }
 #tm-site .stay-dialog-actions > :is(a,button) { padding:10px 9px; font-size:13px; }
 #tm-site .stay-basic-item { grid-template-columns:43px minmax(0,1fr); }
 #tm-site .stay-basic-item a { grid-column:2; justify-self:start; margin-left:0; }
}
