/* taucaotoc booking v1 — ULTRA COMPACT (1.1.0) */
.tct { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.card { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:10px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap:12px; row-gap:8px; }
.col { display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin:0; padding:0; }
.col-inline { align-items:center; gap:8px; flex-direction:row; }
.col-2 { grid-column: span 2 / span 2; }
.lbl { font-weight:600; margin-bottom:4px; font-size:14px; }

.ctrl { width:100%; border:1px solid #d1d5db; border-radius:10px; padding:8px 12px; font-size:14px; height:40px; line-height:1.25; background:#fff; }
.ctrl:focus { outline: 2px solid #2563eb22; border-color:#2563eb; }

select.ctrl{ -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 8l4 4 4-4' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; padding-right:38px; }

.hint { font-size:12px; color:#6b7280; margin-top:2px; }
.btn { background:#dc2626; color:#fff; border:none; border-radius:9999px; padding:10px 18px; font-weight:700; cursor:pointer; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.msg { margin-top:8px; font-weight:600; }
.summary { border:1px dashed #d1d5db; border-radius:12px; padding:6px 8px; width:100%; background:#f9fafb; }

.pax-list { display:flex; flex-direction:column; gap:10px; width:100%; }
.pax-box { border:1px solid #e5e7eb; border-radius:12px; padding:8px; }
.cd-seat-row { margin-top:6px; }
.row-price { margin-top:4px; font-size:14px; color:#111827; display:flex; flex-direction:column; gap:4px; }

@media (max-width: 640px){
  .grid { grid-template-columns: 1fr; row-gap:6px; }
  .col-2 { grid-column: span 1 / span 1; }
  .col-inline { flex-direction:row; }
  .ctrl{ height:38px; padding:7px 10px; }
}
