/* Lilly Tours Stays: search, property pages and the owners' account (with booking.css for forms) */

.lt-field input[type="number"],
.lt-field input[type="password"],
.lt-field input[type="time"],
.lt-field input[type="file"] { width: 100%; border: 1px solid #ddd3b9; border-radius: 10px; padding: 11px 14px; font-size: 15px; color: #2b2b2b; background: #fffdf8; }
.lt-field input[type="file"] { padding: 9px 10px; }
.lt-field input:disabled { background: #f3efe4; color: #5e5a52; }
.lt-field small { display: inline; }
.lt-field > small { display: block; margin-top: 5px; font-size: 12px; }
.lt-btn-sm { padding: 9px 18px; font-size: 14px; }
.lt-check { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; font-size: 14px; line-height: 1.45; color: #2b2b2b; cursor: pointer; }
.lt-check input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; accent-color: #294d81; }
.lt-stays-link { border: 0; background: none; padding: 0; color: #294d81; font-weight: 600; text-decoration: none; }
.lt-stays-link:hover { color: #b4502f; text-decoration: underline; }
.lt-stays-link-danger { color: #96401f; font-weight: 500; font-size: 14px; }

/* Panels */
.lt-stays-panel { background: #fff; border: 1px solid #e7dec6; border-radius: 16px; padding: 22px 24px; margin-bottom: 20px; box-shadow: 0 6px 20px rgba(13, 71, 97, .05); }
.lt-stays-panel h2 { font-family: var(--lt-serif); font-size: 22px; font-weight: 600; color: #0d4761; margin: 0 0 14px; }
.lt-stays-panel h3 { font-size: 16px; font-weight: 700; color: #0d4761; margin: 0 0 10px; }
.lt-stays-panel-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.lt-stays-panel-alert { background: #fdf3ec; border-color: #efc9b4; }
.lt-stays-panel-alert h2 i, .lt-stays-panel h2 i { color: #b4502f; }
.lt-stays-note { padding: 10px 14px; border-radius: 10px; background: #f4eed8; font-size: 14px; color: #434343; margin: 10px 0 0; }

/* Owner account band and tabs */
.lt-stays-band { background: #0d4761; padding: 34px 0 0; color: #fff; }
.lt-stays-band-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.lt-stays-band h1 { font-family: var(--lt-serif); font-size: 32px; font-weight: 600; margin: 0; color: #fff; }
.lt-stays-band .lt-eyebrow { margin-bottom: 6px; }
.lt-stays-signout { border: 1px solid rgba(255, 255, 255, .35); border-radius: 8px; background: transparent; color: #fff; padding: 8px 14px; font-size: 14px; }
.lt-stays-signout:hover { background: rgba(255, 255, 255, .1); }
.lt-stays-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.lt-stays-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 12px 16px; border-radius: 10px 10px 0 0; color: #e9e2cc; text-decoration: none; font-weight: 600; font-size: 15px; white-space: nowrap; }
.lt-stays-tabs a:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.lt-stays-tabs a.active { background: #faf7ee; color: #0d4761; }
.lt-stays-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #b4502f; color: #fff; font-size: 12px; }
.lt-stays-account { background: #faf7ee; padding-top: 30px; }

/* Lists in the account */
.lt-stays-row { display: grid; grid-template-columns: 76px 1fr auto; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid #efe8d4; color: inherit; text-decoration: none; }
.lt-stays-row:hover strong { color: #b4502f; }
.lt-stays-row img { width: 76px; height: 56px; object-fit: cover; border-radius: 8px; }
.lt-stays-row strong, .lt-stays-mini strong { display: block; color: #0d4761; }
.lt-stays-row span, .lt-stays-mini span { font-size: 14px; color: #5e5a52; }
.lt-stays-mini { padding: 10px 0; border-top: 1px solid #efe8d4; }
.lt-stays-due { font-size: 26px; font-weight: 700; color: #0d4761; margin: 0 0 4px; }
.lt-stays-status { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; background: #eee; color: #434343; }
.lt-stays-status-pending { background: #fbecd0; color: #7a5310; }
.lt-stays-status-approved, .lt-stays-status-confirmed, .lt-stays-status-stayed { background: #dcefe9; color: #0d565d; }
.lt-stays-status-rejected, .lt-stays-status-declined, .lt-stays-status-no_show { background: #f8e2d8; color: #96401f; }
.lt-stays-status-hidden, .lt-stays-status-cancelled { background: #ebe8e1; color: #5e5a52; }
.lt-stays-state { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.lt-stays-state p { margin: 0; flex: 1 1 300px; }
.lt-stays-state .lt-stays-note { flex-basis: 100%; }

/* Property form */
.lt-stays-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.lt-stays-checks .lt-choice > span { justify-content: flex-start; padding: 0 12px; height: 44px; }
.lt-stays-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.lt-stays-photos figure { margin: 0; border: 1px solid #e7dec6; border-radius: 10px; overflow: hidden; background: #faf7ee; }
.lt-stays-photos img { width: 100%; height: 110px; object-fit: cover; display: block; }
.lt-stays-photos figcaption { display: flex; justify-content: space-between; padding: 6px 8px; font-size: 13px; }
.lt-stays-photos label { display: flex; align-items: center; gap: 4px; margin: 0; cursor: pointer; }
.lt-stays-photos input { width: auto; height: auto; margin: 0; }
.lt-stays-save { max-width: 320px; }
.lt-stays-room { border: 1px solid #e7dec6; border-radius: 12px; margin-bottom: 12px; background: #fffdf8; }
.lt-stays-room > summary { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding: 14px 18px; cursor: pointer; list-style: none; }
.lt-stays-room > summary::-webkit-details-marker { display: none; }
.lt-stays-room > summary::after { content: '\F282'; font-family: 'bootstrap-icons'; margin-left: auto; color: #294d81; transition: transform .2s; }
.lt-stays-room[open] > summary::after { transform: rotate(180deg); }
.lt-stays-room > summary strong { color: #0d4761; }
.lt-stays-room > summary span { font-size: 14px; color: #5e5a52; }
.lt-stays-room-form, .lt-stays-blocks { padding: 4px 18px 16px; }
.lt-stays-room > form:last-child { padding: 0 18px 14px; }
.lt-stays-room-new > summary strong { color: #b4502f; }
.lt-stays-blocks { border-top: 1px dashed #e7dec6; padding-top: 14px; }
.lt-stays-block { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 14px; }
.lt-stays-block-form { display: grid; grid-template-columns: 1fr 1fr 1.3fr auto; gap: 10px; align-items: end; }
.lt-stays-block-form .lt-field { margin-bottom: 0; }
.lt-stays-block-form .lt-field label { font-size: 13px; }

.lt-stays-photos-small { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
.lt-stays-photos-small img { height: 80px; }
.lt-stays-map-box, .lt-stays-pay-box { padding: 16px 18px 4px; border: 1px solid #e7dec6; border-radius: 12px; background: #fffdf8; margin-bottom: 16px; }
.lt-stays-map-box h3, .lt-stays-pay-box h3 { font-size: 16px; font-weight: 700; color: #0d4761; margin: 0 0 6px; }
.lt-stays-map-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.lt-stays-map-preview { height: 220px; border-radius: 10px; overflow: hidden; border: 1px solid #e7dec6; }
.lt-stays-map-preview iframe { width: 100%; height: 100%; border: 0; }

/* Bookings */
.lt-stays-filter { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.lt-stays-filter a { padding: 7px 14px; border-radius: 999px; border: 1px solid #e7dec6; background: #fff; color: #434343; text-decoration: none; font-size: 14px; }
.lt-stays-filter a.active { background: #294d81; border-color: #294d81; color: #fff; }
.lt-stays-booking-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 12px; }
.lt-stays-booking-head strong { display: block; font-size: 18px; color: #0d4761; }
.lt-stays-booking-head span:not(.lt-stays-status) { font-size: 14px; color: #5e5a52; }
.lt-stays-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 20px; margin: 0; }
.lt-stays-facts dt { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8a6526; }
.lt-stays-facts dd { margin: 2px 0 0; font-size: 15px; color: #2b2b2b; }
.lt-stays-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #efe8d4; }
.lt-stays-actions input { flex: 1 1 240px; border: 1px solid #ddd3b9; border-radius: 8px; padding: 8px 12px; font-size: 14px; background: #fffdf8; }

/* Sign-in and sign-up */
.lt-stays-auth { background: #faf7ee; }
.lt-stays-auth-card { max-width: 760px; margin: 0 auto; }
.lt-stays-auth-narrow { max-width: 460px; }
.lt-stays-auth-foot { margin: 16px 0 0; text-align: center; font-size: 14px; color: #5e5a52; }

/* "List your property" page */
.lt-partner-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: 28px 30px; border-radius: 18px; background: #f4eed8; margin-bottom: 36px; }
.lt-partner-cta > div:first-child { flex: 1 1 420px; }
.lt-partner-cta-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.lt-partner-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.lt-partner-card { padding: 24px; border: 1px solid #e7dec6; border-radius: 16px; background: #fff; }
.lt-partner-card i { font-size: 28px; color: #b4502f; }
.lt-partner-card h3 { font-size: 18px; font-weight: 700; color: #0d4761; margin: 12px 0 8px; }
.lt-partner-card p { margin: 0; font-size: 15px; line-height: 1.6; color: #5e5a52; }
.lt-partner-steps { counter-reset: step; list-style: none; padding: 0; margin: 0 auto; max-width: 760px; }
.lt-partner-steps li { counter-increment: step; position: relative; padding: 0 0 22px 58px; }
.lt-partner-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%; background: #0d4761; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.lt-partner-steps strong { display: block; font-size: 17px; color: #0d4761; }
.lt-partner-steps span { color: #5e5a52; }

/* Search */
.lt-stays-search-wrap { position: relative; z-index: 2; margin-top: -46px; }
.lt-stays-search { display: grid; grid-template-columns: 1.5fr 1fr 1fr .6fr auto; gap: 12px; align-items: end; padding: 18px 20px; border-radius: 16px; background: #fff; box-shadow: 0 14px 40px rgba(8, 52, 74, .16); }
.lt-stays-search .lt-field { margin: 0; }
.lt-stays-search .lt-book-submit { height: 46px; padding: 0 24px; white-space: nowrap; }
.lt-stays-hint { margin: 12px 4px 0; font-size: 14px; color: #5e5a52; }
.lt-stays-filters { position: sticky; top: 100px; padding: 20px; border: 1px solid #e7dec6; border-radius: 16px; background: #fff; }
.lt-stays-filters-fold > summary { display: none; }
.lt-stays-filters h2 { font-size: 15px; font-weight: 700; color: #0d4761; margin: 18px 0 10px; }
.lt-stays-filters h2:first-of-type { margin-top: 0; }
.lt-stays-results-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.lt-stays-results-head p { margin: 0; font-weight: 600; color: #0d4761; }
.lt-stays-sort { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; white-space: nowrap; }
.lt-stays-sort select { border: 1px solid #ddd3b9; border-radius: 8px; padding: 7px 10px; background: #fffdf8; }

.lt-stay-card { display: grid; grid-template-columns: 260px 1fr 190px; border: 1px solid #e7dec6; border-radius: 16px; overflow: hidden; background: #fff; margin-bottom: 18px; transition: box-shadow .2s; }
.lt-stay-card:hover { box-shadow: 0 10px 28px rgba(13, 71, 97, .1); }
.lt-stay-card-photo { position: relative; display: block; min-height: 200px; }
.lt-stay-card-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lt-stay-type { position: absolute; left: 12px; top: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(13, 71, 97, .9); color: #fff; font-size: 12px; font-weight: 700; }
.lt-stay-type-inline { position: static; display: inline-block; margin-right: 6px; }
.lt-stay-card-body { padding: 18px 20px; }
.lt-stay-card-body h3 { font-size: 20px; font-weight: 700; margin: 0 0 4px; }
.lt-stay-card-body h3 a { color: #0d4761; text-decoration: none; }
.lt-stay-card-body h3 a:hover { color: #b4502f; }
.lt-stay-stars { color: #bf9445; font-size: 15px; letter-spacing: 1px; }
.lt-stay-place { font-size: 14px; color: #5e5a52; margin: 0 0 10px; }
.lt-stay-summary { font-size: 14px; line-height: 1.6; color: #434343; margin: 0 0 10px; }
.lt-stay-facilities { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: #0d565d; }
.lt-stay-card-price { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 2px; padding: 18px 20px; border-left: 1px solid #efe8d4; text-align: right; background: #fffdf8; }
.lt-stay-card-price span { font-size: 13px; color: #5e5a52; }
.lt-stay-card-price strong { font-size: 24px; color: #0d4761; line-height: 1.2; }
.lt-stay-card-price .lt-btn { margin-top: 10px; }
.lt-stay-card-price small { margin-top: 8px; font-size: 12px; color: #0d565d; }
.lt-stays-owner-cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 40px; padding: 26px 30px; border-radius: 18px; background: #0d4761; color: #fff; }
.lt-stays-owner-cta h2 { font-family: var(--lt-serif); font-size: 24px; margin: 0 0 6px; color: #fff; }
.lt-stays-owner-cta p { margin: 0; color: #e9e2cc; }

/* Property page */
.lt-stays-preview { padding: 10px 16px; background: #fbecd0; color: #7a5310; text-align: center; font-size: 14px; }
.lt-stays-preview a { margin-left: 8px; font-weight: 600; }
.lt-stay-head { padding: 30px 0 0; background: #faf7ee; }
.lt-crumbs-dark, .lt-crumbs-dark a { color: #5e5a52; }
.lt-crumbs-dark { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; margin-bottom: 14px; }
.lt-stay-title { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 18px; }
.lt-stay-title h1 { font-family: var(--lt-serif); font-size: 36px; font-weight: 600; color: #0d4761; margin: 8px 0 6px; }
.lt-stay-from { display: flex; flex-direction: column; align-items: flex-end; text-decoration: none; color: #5e5a52; font-size: 13px; }
.lt-stay-from strong { font-size: 28px; color: #b4502f; line-height: 1.1; }
.lt-stay-gallery { display: grid; gap: 8px; height: 440px; border-radius: 18px; overflow: hidden; }
.lt-stay-gallery-item { position: relative; display: block; overflow: hidden; }
.lt-stay-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.lt-stay-gallery-item:hover img { transform: scale(1.03); }
.lt-stay-gallery-1 { grid-template-columns: 1fr; }
.lt-stay-gallery-2 { grid-template-columns: 2fr 1fr; }
.lt-stay-gallery-3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.lt-stay-gallery-3 .lt-stay-gallery-item:first-child { grid-row: span 2; }
.lt-stay-gallery-4 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.lt-stay-gallery-4 .lt-stay-gallery-item:first-child { grid-row: span 2; }
.lt-stay-gallery-4 .lt-stay-gallery-item:last-child { grid-column: span 2; }
.lt-stay-gallery-5 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.lt-stay-gallery-5 .lt-stay-gallery-item:first-child { grid-row: span 2; }
.lt-stay-more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(8, 52, 74, .55); color: #fff; font-weight: 700; font-size: 18px; }
.lt-stay-h2 { font-family: var(--lt-serif); font-size: 26px; font-weight: 600; color: #0d4761; margin: 34px 0 14px; }
.lt-stay-h2:first-child { margin-top: 0; }
.lt-stay-text { font-size: 16px; line-height: 1.75; color: #434343; }
.lt-stay-facilities-full { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 18px; font-size: 15px; }
.lt-stay-facilities-full i { margin-right: 4px; }
.lt-stay-room { display: flex; justify-content: space-between; gap: 18px; padding: 18px 20px; border: 1px solid #e7dec6; border-radius: 14px; margin-bottom: 12px; background: #fff; }
.lt-stay-room.is-full { opacity: .65; }
.lt-stay-room h3 { font-size: 18px; font-weight: 700; color: #0d4761; margin: 0 0 6px; }
.lt-stay-room-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; font-size: 14px; color: #5e5a52; }
.lt-stay-room-text { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #434343; }
.lt-stay-room-price { display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 2px; flex: 0 0 auto; }
.lt-stay-room-price strong { font-size: 20px; color: #0d4761; }
.lt-stay-room-price span { font-size: 13px; color: #5e5a52; }
.lt-stay-room-price em { font-style: normal; font-size: 13px; font-weight: 600; color: #0d565d; }
.lt-stay-room-price em.lt-stay-full { color: #96401f; }
.lt-stay-room-price em.lt-stay-left { color: #b4502f; }
.lt-stay-room-price .lt-stays-link { margin-top: 6px; }
.lt-stay-map { border-radius: 16px; overflow: hidden; height: 320px; border: 1px solid #e7dec6; }
.lt-stay-map iframe { width: 100%; height: 100%; border: 0; }
.lt-stay-book { position: sticky; top: 100px; }

@media (max-width: 991px) {
    .lt-stays-search { grid-template-columns: 1fr 1fr; }
    .lt-stays-search .lt-field:first-child { grid-column: span 2; }
    .lt-stays-search .lt-book-submit { grid-column: span 2; }
    .lt-stays-filters { position: static; border-radius: 0 0 16px 16px; border-top: 0; }
    .lt-stays-filters-fold > summary { display: flex; align-items: center; gap: 8px; padding: 12px 18px; border: 1px solid #e7dec6; border-radius: 12px; background: #fff; font-weight: 700; color: #0d4761; cursor: pointer; list-style: none; }
    .lt-stays-filters-fold > summary::-webkit-details-marker { display: none; }
    .lt-stays-filters-fold[open] > summary { border-radius: 12px 12px 0 0; }
    .lt-stays-search-wrap { margin-top: -30px; }
    .lt-stay-card { grid-template-columns: 220px 1fr; }
    .lt-stay-card-price { grid-column: span 2; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 6px 10px; border-left: 0; border-top: 1px solid #efe8d4; }
    .lt-stay-card-price .lt-btn, .lt-stay-card-price small { margin-top: 0; }
    .lt-stay-book { position: static; }
    .lt-stay-gallery { height: 340px; }
}
@media (max-width: 767px) {
    .lt-stays-band h1 { font-size: 26px; }
    .lt-stays-panel { padding: 18px 16px; }
    .lt-stays-block-form { grid-template-columns: 1fr 1fr; }
    .lt-stays-block-form .lt-btn { grid-column: span 2; }
    .lt-stay-card { grid-template-columns: 1fr; }
    .lt-stay-card-photo { min-height: 200px; }
    .lt-stay-card-price { grid-column: auto; }
    .lt-stay-title h1 { font-size: 28px; }
    .lt-stay-gallery { height: 260px; grid-template-columns: 1fr !important; grid-template-rows: 1fr !important; }
    .lt-stay-gallery .lt-stay-gallery-item:not(:first-child) { display: none; }
    .lt-stay-gallery .lt-stay-gallery-item:first-child { grid-row: auto; }
    .lt-stay-room { flex-direction: column; }
    .lt-stay-room-price { align-items: flex-start; text-align: left; }
    .lt-stays-row { grid-template-columns: 60px 1fr; }
    .lt-stays-row img { width: 60px; height: 48px; }
    .lt-stays-row .lt-stays-status { grid-column: 2; justify-self: start; }
}
@media (max-width: 480px) {
    .lt-stays-search { grid-template-columns: 1fr; }
    .lt-stays-search .lt-field:first-child, .lt-stays-search .lt-book-submit { grid-column: auto; }
}

/* Room photos, payment choice and reviews on the property page */
.lt-stay-room-photo { flex: 0 0 150px; position: relative; }
.lt-stay-room-photo img { width: 150px; height: 110px; object-fit: cover; border-radius: 10px; display: block; }
.lt-stay-room-photo span { position: absolute; right: 6px; bottom: 6px; padding: 2px 8px; border-radius: 999px; background: rgba(8, 52, 74, .8); color: #fff; font-size: 12px; font-weight: 700; }
.lt-stay-room-info { flex: 1 1 auto; }
.lt-stay-rating { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 14px; color: #434343; text-decoration: none; }
.lt-stay-rating strong { padding: 2px 8px; border-radius: 6px; background: #0d4761; color: #fff; }
.lt-stay-pay-split { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: #0d565d; }
.lt-stay-review { padding: 16px 0; border-top: 1px solid #efe8d4; }
.lt-stay-review-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-bottom: 6px; }
.lt-stay-review-head strong { color: #0d4761; }
.lt-stay-review-head span { font-size: 14px; color: #5e5a52; }
.lt-stay-review-head time { margin-left: auto; font-size: 13px; color: #5e5a52; }
.lt-stay-review p { margin: 0; font-size: 15px; line-height: 1.65; color: #434343; }
.lt-stay-review .lt-stays-note { margin-top: 8px; }
.lt-stay-card-rating { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: #5e5a52; margin-bottom: 8px; }
.lt-stay-card-rating strong { padding: 1px 7px; border-radius: 6px; background: #0d4761; color: #fff; font-size: 13px; }
@media (max-width: 767px) {
    .lt-stay-room-photo, .lt-stay-room-photo img { width: 100%; flex-basis: auto; height: 180px; }
}
.lt-stars-input { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.lt-stars-input input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.lt-stars-input label { font-size: 34px; line-height: 1; color: #ddd3b9; cursor: pointer; transition: color .15s; }
.lt-stars-input label:hover, .lt-stars-input label:hover ~ label, .lt-stars-input input:checked ~ label { color: #bf9445; }
.lt-stars-input input:focus-visible + label { outline: 2px solid #294d81; border-radius: 4px; }

/* Owner reports: toolbar, key figures, calendar, bars, notifications */
.lt-stays-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px; }
.lt-stays-toolbar select { border: 1px solid #ddd3b9; border-radius: 8px; padding: 8px 12px; background: #fff; max-width: 100%; }
.lt-stays-month { font-size: 18px; color: #0d4761; min-width: 150px; text-align: center; }
.lt-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 20px; }
.lt-kpi { padding: 16px 18px; border: 1px solid #e7dec6; border-radius: 14px; background: #fff; }
.lt-kpi span { display: block; font-size: 13px; font-weight: 600; color: #5e5a52; }
.lt-kpi strong { display: block; font-size: 24px; color: #0d4761; line-height: 1.3; margin: 4px 0; }
.lt-kpi small { font-size: 12px; color: #5e5a52; }
.lt-kpi-main { background: #0d4761; border-color: #0d4761; }
.lt-kpi-main span, .lt-kpi-main small, .lt-kpi-main strong { color: #fff; }
.lt-stays-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #8a6526; border-bottom-color: #efe8d4; white-space: nowrap; }
.lt-stays-table td { font-size: 14px; vertical-align: middle; border-color: #efe8d4; }
.lt-cal-wrap { overflow-x: auto; }
.lt-cal { border-collapse: separate; border-spacing: 2px; font-size: 12px; min-width: 100%; }
.lt-cal th { padding: 6px 2px; text-align: center; color: #5e5a52; font-weight: 600; min-width: 30px; }
.lt-cal th span { display: block; font-size: 10px; font-weight: 500; text-transform: uppercase; }
.lt-cal th.is-weekend { color: #b4502f; }
.lt-cal th.is-today { background: #0d4761; color: #fff; border-radius: 6px; }
.lt-cal th.is-today span { color: #e9e2cc; }
.lt-cal .lt-cal-room { position: sticky; left: 0; z-index: 1; background: #fff; text-align: left; min-width: 160px; max-width: 200px; padding: 8px 10px; color: #0d4761; font-size: 13px; }
.lt-cal .lt-cal-room small { display: block; font-weight: 400; color: #5e5a52; }
.lt-cal td { height: 34px; text-align: center; border-radius: 6px; font-weight: 700; }
.lt-cal-free { background: #f3f7f1; }
.lt-cal-some { background: #cfe5df; color: #0d565d; }
.lt-cal-full { background: #0d565d; color: #fff; }
.lt-cal-closed { background: repeating-linear-gradient(45deg, #ebe8e1, #ebe8e1 4px, #f6f3ec 4px, #f6f3ec 8px); color: #5e5a52; }
.lt-cal td.is-pending, .lt-cal-key .is-pending { box-shadow: inset 0 0 0 2px #e0a33a; }
.lt-cal td.is-today { outline: 2px solid #0d4761; }
.lt-cal-key { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; margin: 0; padding: 12px 16px; border-top: 1px solid #efe8d4; font-size: 13px; color: #5e5a52; }
.lt-cal-key span { display: inline-block; width: 16px; height: 16px; border-radius: 4px; vertical-align: -3px; margin-right: 4px; }
.lt-bars { display: flex; align-items: flex-end; gap: 6px; height: 200px; padding-top: 18px; margin-bottom: 26px; }
.lt-bar { position: relative; flex: 1 1 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.lt-bar-fill { width: 100%; max-width: 34px; min-height: 2px; border-radius: 6px 6px 0 0; background: #294d81; }
.lt-bars-teal .lt-bar-fill { background: #0d565d; }
.lt-bars-gold .lt-bar-fill { background: #bf9445; }
.lt-bar-value { font-size: 11px; font-weight: 700; color: #0d4761; margin-bottom: 3px; white-space: nowrap; }
.lt-bar-label { position: absolute; bottom: -22px; font-size: 11px; color: #5e5a52; white-space: nowrap; }
.lt-rank { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid #efe8d4; font-size: 14px; }
.lt-rank strong { color: #0d4761; }
.lt-notice { display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: start; padding: 12px 0; border-top: 1px solid #efe8d4; color: inherit; text-decoration: none; }
.lt-notice:first-child { border-top: 0; }
.lt-notice i { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #f4eed8; color: #8a6526; }
.lt-notice strong { display: block; color: #0d4761; }
.lt-notice span { font-size: 14px; color: #5e5a52; }
.lt-notice time { font-size: 12px; color: #5e5a52; white-space: nowrap; }
.lt-notice.is-new strong::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #b4502f; margin-right: 6px; vertical-align: 2px; }
.lt-notice:hover strong { color: #b4502f; }
@media (max-width: 767px) {
    .lt-bar-label { transform: rotate(-50deg); transform-origin: top right; bottom: -26px; }
    .lt-bar-value { font-size: 9px; }
    .lt-notice { grid-template-columns: 36px 1fr; }
    .lt-notice time { grid-column: 2; }
}
.lt-stays-pending { margin: 0 0 14px; padding: 10px 14px; border-radius: 10px; background: #fbecd0; color: #7a5310; font-size: 14px; }

/* Partner trips */
.lt-trip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; margin-bottom: 20px; }
.lt-trip-card { display: flex; flex-direction: column; border: 1px solid #e7dec6; border-radius: 16px; overflow: hidden; background: #fff; color: inherit; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.lt-trip-card:hover { box-shadow: 0 10px 28px rgba(13, 71, 97, .12); transform: translateY(-2px); }
.lt-trip-card-photo { display: block; height: 180px; }
.lt-trip-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.lt-trip-card-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; }
.lt-trip-card-body strong { font-size: 17px; color: #0d4761; }
.lt-trip-card-body > span { font-size: 13px; color: #5e5a52; }
.lt-trip-card-price { margin-top: 4px; font-size: 14px !important; }
.lt-trip-card-price b { font-size: 20px; color: #b4502f; }
.lt-trip-steps { padding-left: 22px; margin: 0; }
.lt-trip-steps li { padding: 6px 0; font-size: 15px; color: #434343; border-bottom: 1px dashed #efe8d4; }
.lt-trip-list { list-style: none; padding: 0; margin: 0; }
.lt-trip-list li { position: relative; padding: 5px 0 5px 26px; font-size: 15px; color: #434343; }
.lt-trip-list li::before { position: absolute; left: 0; font-family: 'bootstrap-icons'; }
.lt-trip-list-yes li::before { content: '\F26E'; color: #0d565d; }
.lt-trip-list-no li::before { content: '\F62A'; color: #96401f; }

/* Owner's properties */
.lt-property-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.lt-property-card { display: flex; flex-direction: column; border: 1px solid #e7dec6; border-radius: 16px; overflow: hidden; background: #fff; }
.lt-property-card-photo { position: relative; display: block; height: 170px; }
.lt-property-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.lt-property-card-photo .lt-stays-status { position: absolute; left: 12px; top: 12px; }
.lt-property-card-body { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.lt-property-card-body h2 { font-size: 18px; font-weight: 700; margin: 0 0 2px; }
.lt-property-card-body h2 a { color: #0d4761; text-decoration: none; }
.lt-property-card-body p { margin: 0; font-size: 14px; color: #5e5a52; }
.lt-property-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; }
.lt-property-add { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 260px; border: 2px dashed #ddd3b9; border-radius: 16px; color: #294d81; text-decoration: none; background: #fffdf8; }
.lt-property-add i { font-size: 34px; }
.lt-property-add:hover { border-color: #294d81; background: #fff; color: #b4502f; }
