/* -- SLICE 130t. Travellers popover + place-suggestion restyle (rebuilt 2026-09-12) -------------
   Same primitives as composer-datetime.css: the trigger sits in a .booking-shell__cell like the
   date/time pickers; the popover is a .dtp-popover. Native selects stay in the DOM (.tv-native). */
.tv-native{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}
.tv-field{position:relative;display:block}
.tv-trigger{justify-content:space-between;gap:10px}
.tv-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-chev{flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--corr-faint);border-bottom:2px solid var(--corr-faint);transform:rotate(45deg);margin-top:-4px}
.tv-trigger[aria-expanded="true"] .tv-chev{transform:rotate(225deg);margin-top:4px}
.tv-popover{padding:6px 14px 14px;z-index:90}
.tv-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--corr-hair)}
.tv-row:last-of-type{border-bottom:0}
.tv-row__text{display:grid;gap:2px;min-width:0}
.tv-row__text strong{font-family:var(--corr-sans);font-size:1rem;font-weight:600;color:var(--corr-ink)}
.tv-row__text small{font-size:.8125rem;color:var(--corr-faint)}
.tv-stepper{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.tv-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--corr-hair);background:var(--corr-surface);color:var(--corr-action);font-size:1.375rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.tv-btn:hover:not(:disabled){background:var(--corr-wash,#f2f6f3);border-color:var(--corr-action)}
.tv-btn:disabled{opacity:.35;cursor:default}
.tv-btn:focus-visible,.tv-count:focus-visible{outline:2px solid var(--corr-action);outline-offset:2px}
.tv-count{min-width:36px;text-align:center;font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600;color:var(--corr-ink);border-radius:8px;padding:6px 4px}
.tv-foot{display:flex;justify-content:flex-end;padding-top:12px}
.tv-done{min-height:44px;padding:0 18px;border-radius:999px}
@media (max-width:640px){
  .tv-popover{left:0;right:0;width:auto}
}

/* Place suggestions: one popover surface, an icon per kind (airport / city / hotel / address). */
.place-suggestions{border:1px solid var(--corr-hair);border-radius:var(--corr-r-lg);box-shadow:var(--corr-sh-3);background:var(--corr-surface);padding:6px;overflow:hidden}
.place-suggestions .place-suggestion[role="option"]{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;min-height:52px;padding:8px 10px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer;font-family:var(--corr-sans);color:var(--corr-ink)}
.place-suggestions .place-suggestion[role="option"]::before{content:"";grid-row:1 / span 2;width:36px;height:36px;border-radius:10px;background:var(--corr-wash,#f2f6f3) center/20px 20px no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 0 0-14 0c0 4.8 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
.place-suggestions .place-suggestion[role="option"][data-kind="airport"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230E4C33'%3E%3Cpath d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z'/%3E%3C/svg%3E")}
.place-suggestions .place-suggestion[role="option"][data-kind="city"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V7l7-4 7 4v14M9 21v-4h6v4M9 10h.01M15 10h.01M9 14h.01M15 14h.01'/%3E%3C/svg%3E")}
.place-suggestions .place-suggestion[role="option"][data-kind="hotel"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18V8M3 14h18v4M3 14V9a2 2 0 0 1 2-2h6v7M11 9h6a4 4 0 0 1 4 4v1'/%3E%3C/svg%3E")}
.place-suggestions .place-suggestion[role="option"][data-kind="station"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='14' rx='3'/%3E%3Cpath d='M5 11h14M9 21l1-3M15 21l-1-3M9 15h.01M15 15h.01'/%3E%3C/svg%3E")}
.place-suggestions .place-suggestion[role="option"] strong{font-size:.9375rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.place-suggestions .place-suggestion[role="option"] span{font-size:.8125rem;color:var(--corr-faint);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.place-suggestions .place-suggestion[role="option"]:hover,.place-suggestions .place-suggestion[role="option"][aria-selected="true"]{background:var(--corr-wash,#f2f6f3)}
.place-suggestions .place-suggestion[role="option"]:focus-visible{outline:2px solid var(--corr-action);outline-offset:-2px}
