/* VIP booking details (preview). Loaded on every page of the --preview-weather build (pinned VIP cards can appear on Home). */
.vipd { margin: 26px 0 8px; }
.vipd h2 { display: flex; align-items: center; gap: 8px; }
.vipd h2 .ic { color: var(--gold); }
.vipd-wrap { overflow-x: auto; }
.vipd-table { min-width: 880px; table-layout: fixed; }
.vipd-table thead th:first-child { width: 150px; }
.vipd-table th, .vipd-table td { vertical-align: top; font-size: .86rem; line-height: 1.45; }
.vipd-table tbody th[scope="row"] { font-weight: 650; color: var(--ink); background: var(--surface-2); }
.vipd-table td.vdc-np { background: color-mix(in srgb, var(--warn) 7%, transparent); }
.vd-np { font-style: italic; color: var(--ink-2); }
.vd-x { display: block; margin-top: 3px; color: var(--muted); font-size: .8rem; }
.vipd-table .badge, .vipd-facts .badge { vertical-align: 1px; }
.vd-src { font-size: .78rem; color: var(--muted); }
.vd-src a { color: var(--gold-ink); text-decoration: none; border-bottom: 1px dotted currentColor; overflow-wrap: anywhere; }
.vd-src .ic { width: 12px; height: 12px; margin-left: 2px; vertical-align: -1px; }
.vd-srcrow td, .vd-srcrow th { background: var(--surface-2); }
.vd-count { margin-top: 8px; }
.vipd-table td:nth-child(2), .vipd-table th:nth-child(2) { display: table-cell; } /* base style hides column 2 of .mtable on small screens */
.vipd-card { border-top: 1px dashed var(--line-2); padding-top: 8px; margin-top: 2px; }
.vipd-h { margin: 0 0 6px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--gold-ink); }
.vipd-facts > div { grid-template-columns: 118px 1fr; }
.vipd-src { margin: 6px 0 0; }
[data-theme="dark"] .vipd-table td.vdc-np { background: rgba(229, 166, 92, .07); }
@media (max-width: 680px) {
  .vipd-table { min-width: 0; table-layout: auto; }
  .vipd-table tr { padding: 12px 14px; }
  .vipd-table tbody th[scope="row"] { background: none; font-size: 1rem; margin-bottom: 4px; }
  .vipd-table tbody th[scope="row"]::before { content: none !important; }
  .vipd-table td, .vipd-table td:nth-child(2) { display: block; }
  .vipd-table td { padding: 5px 0 !important; border-top: 1px dotted var(--line) !important; }
  .vipd-table td.vdc-np { background: none; }
  .vipd-table td[data-l]::before { display: block; font-weight: 700; }
  .vipd-facts > div { grid-template-columns: 1fr; }
}
@media print {
  .vipd { break-before: auto; margin: 6pt 0; }
  .vipd h2 { font-size: 12pt; } .vipd h2 .ic { display: none; }
  .vipd-wrap { overflow: visible; }
  .vipd-table { min-width: 0; table-layout: fixed; width: 100%; }
  .vipd-table thead { display: table-header-group !important; }
  .vipd-table, .vipd-table tbody { display: table !important; width: 100%; } .vipd-table tbody { display: table-row-group !important; }
  .vipd-table tr { display: table-row !important; break-inside: avoid; }
  .vipd-table th, .vipd-table td { display: table-cell !important; font-size: 7.4pt; line-height: 1.3; padding: 2pt 3pt !important; border: .5pt solid #999 !important; background: none !important; }
  .vipd-table td[data-l]::before { content: none !important; }
  .vd-src a { border: 0; color: #000; } .vd-src a::after { content: " (" attr(href) ")"; font-size: 6.4pt; overflow-wrap: anywhere; } .vd-src .ic { display: none; }
  .vd-x, .vd-src, .vd-count { font-size: 6.8pt !important; } .vipd .muted.small { font-size: 8pt; }
  .vipd-card { display: none; } /* the table above carries the same details on paper */
}
