/* ==========================================================
   Travel Desk Contact — page-exclusive rules
   ==========================================================
   Everything reusable (form-card/form-row/input-group/form-control,
   pf-track-legend/pf-track-grid/pf-track-option radio pills, contact
   chips/info card, gdpr-text, privacy-text, site-cta-btn, etc.) already
   lives in common.css and is reused as-is. Only the genuinely new bits
   for this page — the required-field asterisk, the placeholder hotel
   chart table, and the file-upload control — are defined here.
   Namespace: .td-*.
   ========================================================== */

.required-star {
    color: var(--brand-red);
    font-weight: 700;
}

.td-required-note {
    font-size: 0.85rem;
    color: var(--text-light);
    margin: -6px 0 16px;
}

.td-hint {
    font-size: 0.78rem;
    color: var(--text-light);
    margin: 6px 0 0;
}

/* Placeholder hotel chart table */
.td-hotel-chart-wrap {
    width: 100%;
    overflow-x: auto;
    margin-top: 4px;
    border-radius: var(--radius-sm);
    border: 1px solid #e2e2e2;
}

.td-hotel-chart {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    white-space: nowrap;
}

.td-hotel-chart th,
.td-hotel-chart td {
    padding: 10px 14px;
    border-bottom: 1px solid #ececec;
    text-align: left;
}

.td-hotel-chart thead th {
    background: rgba(20, 83, 188, 0.06);
    color: var(--brand-blue);
    font-weight: 700;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.td-hotel-chart tbody tr:last-child td { border-bottom: none; }

/* File upload — "Choose File" button + hidden native input + filename echo */
.td-file-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.td-file-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--brand-blue);
    color: var(--brand-blue);
    background: #ffffff;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background var(--trans-base), color var(--trans-base);
}

.td-file-btn:hover { background: var(--brand-blue); color: #ffffff; }

.td-file-btn svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    flex-shrink: 0;
}

/* Visually-hidden but still keyboard/screen-reader accessible via the
   associated <label for="..."> above, same pattern as ft_file()'s file
   input in founders-townhall-registration.css. */
.td-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.td-file-name {
    font-size: 0.85rem;
    color: var(--text-light);
}

/* Right column (contact chips / venue card / image) was removed from this
   page — the shared .container.contact-layout grid (common.css) still
   reserves a 55/45 split for the two-column pages, so override it here to
   let the form take the full width instead of leaving dead empty space. */
.container.contact-layout {
    grid-template-columns: 1fr;
}

@media (prefers-reduced-motion: reduce) {
    .td-file-btn { transition: none; }
}
