/* "All rates" tooltip on stay / home cards (home/price-tip.php, js/lus-price-tip.js). Loaded with the homepage + Stays assets and on property pages (similar listings). */
/* ==============================================================   "All rates" tooltip on listing cards (home/price-tip.php, js/lus-price-tip.js)
   The (i) sits on the price line; the panel opens inside the bottom of the card.
   ===================================================================== */
.lus-ptip {
    display: inline-grid; place-items: center; width: 22px; height: 22px; margin-left: 6px; vertical-align: -5px;
    border-radius: 50%; color: var(--lus-muted); cursor: pointer; transition: color var(--lus-dur) var(--lus-ease), background var(--lus-dur) var(--lus-ease);
}
.lus-ptip:hover, .lus-ptip[aria-expanded="true"] { color: var(--lus-ink); background: var(--lus-tint); }
.lus-ptip:focus-visible { outline: 2px solid var(--lus-ink); outline-offset: 1px; }
.lus-card, .lus-stay__card { position: relative; }
.lus-ptip__pop {
    position: absolute; z-index: 8; left: 0; right: 0; bottom: 0; max-height: 82%; overflow: auto;
    padding: 18px 18px 16px; background: var(--lus-surface, #fff); color: var(--lus-ink);
    border-radius: 16px 16px var(--lus-radius, 20px) var(--lus-radius, 20px);
    box-shadow: 0 -10px 34px rgba(28, 25, 23, .18), 0 0 0 1px var(--lus-line);
    font-size: 14px; line-height: 1.4; text-align: left;
    animation: lus-ptip-in 160ms var(--lus-ease);
}
.lus-ptip__pop[hidden] { display: none; }
@keyframes lus-ptip-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.lus-ptip__x { position: absolute; top: 8px; right: 10px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; color: var(--lus-muted); font-size: 22px; line-height: 1; cursor: pointer; padding: 0; }
.lus-ptip__x:hover { background: var(--lus-tint); color: var(--lus-ink); }
.lus-ptip__title { margin: 0 0 8px; padding-right: 26px; font-weight: 600; font-size: 15px; }
.lus-ptip__rates { list-style: none; margin: 0; padding: 0; }
.lus-ptip__rates li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--lus-line); }
.lus-ptip__rates li:first-child { border-top: 0; }
.lus-ptip__rates li > span { white-space: nowrap; }
.lus-ptip__rates small { display: block; font-size: 12px; color: var(--lus-muted); white-space: normal; }
.lus-ptip__rates b { font-weight: 600; text-align: right; }

/* "See detailed rates" link at the foot of the All rates panel: goes to the Rates section of the listing page */
.lus-ptip__more { display: block; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--lus-line); font-size: 14px; font-weight: 600; color: var(--lus-ink) !important; text-decoration: underline; text-underline-offset: 3px; }
.lus-ptip__more:hover { color: var(--lus-accent) !important; }

/* The property page's mobile / tablet booking bar (templates/mobile_booking.php): the same "From $X / night (i)" line; the panel opens upward over the page. */
.lus-ppbar-price {
    --lus-surface: #fff; --lus-ink: #1c1917; --lus-muted: #78716c; --lus-line: #e7e0d8; --lus-tint: #f4efe9; --lus-accent: #d4363c; --lus-radius: 20px; --lus-dur: 200ms; --lus-ease: cubic-bezier(.22, .61, .36, 1);
    position: relative; display: inline-block; white-space: nowrap;
}
.lus-ppbar-price .lus-ppbar-from { font-size: 12px; color: var(--lus-muted); }
.lus-ppbar-price strong { font-size: 15px; font-weight: 600; }
.lus-ppbar-price .lus-ptip__pop {
    left: 0; right: auto; bottom: calc(100% + 18px); width: min(340px, calc(100vw - 32px)); max-height: 70vh; border-radius: 16px;
    box-shadow: 0 10px 34px rgba(28, 25, 23, .22), 0 0 0 1px var(--lus-line); white-space: normal;
}
