/* TastingKit by Thrane.nu – a visitor's tasting list for a fair (2.5.0) */
.tk-fair { --tk-f-border: var(--bs-border-color, #d9dee4); --tk-f-muted: var(--bs-secondary-color, #5d6670); --tk-f-on: var(--bs-primary, #2a69b8); --tk-f-soft: var(--bs-tertiary-bg, #f4f6f8); }
.tk-fair-when { font-weight: 600; margin: 0 0 .5rem; }
.tk-fair-bar { position: sticky; top: var(--tk-fair-top, 0); z-index: 5; display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: center; margin: 1rem 0; padding: .5rem 0; background: var(--bs-body-bg, #fff); }
.tk-fair-bar input[type=search] { flex: 1 1 14rem; max-width: 24rem; }
.tk-fair-bar select { flex: 0 1 12rem; width: auto; }
.tk-fair-only { display: inline-flex; gap: .4rem; align-items: center; margin: 0; white-space: nowrap; }
.tk-fair-shown { font-size: .875rem; color: var(--tk-f-muted); }
.tk-fair-stand { margin: 0 0 1.25rem; }
.tk-fair-standhead { display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: baseline; margin: 0 0 .5rem; padding: .4rem .75rem; font-size: 1.125rem; border-radius: .375rem; background: var(--tk-f-soft); }
.tk-fair-logo { align-self: center; height: 2rem; width: auto; max-width: 7rem; object-fit: contain; }
.tk-fair-standno { font-weight: 700; white-space: nowrap; }
.tk-fair-exhead { display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: center; margin: .75rem 0 .35rem; padding: 0 .75rem; font-size: 1rem; font-weight: 700; }
.tk-fair-exhead .tk-fair-logo { height: 1.6rem; }
.tk-fair-soon { margin: 0; padding: .55rem .75rem; font-style: italic; color: var(--tk-f-muted); border-bottom: 1px solid var(--tk-f-border); }
.tk-fair-wines { margin: 0; padding: 0; list-style: none; }
.tk-fair-wine { border-bottom: 1px solid var(--tk-f-border); }
.tk-fair-wine label { display: flex; gap: .75rem; align-items: flex-start; margin: 0; padding: .55rem .75rem; cursor: pointer; }
.tk-fair-wine input { flex: none; width: 1.25rem; height: 1.25rem; margin: .1rem 0 0; accent-color: var(--tk-f-on); }
.tk-fair-wine input:disabled + .tk-fair-wtext { cursor: default; }
.tk-fair-wtext { display: flex; flex-direction: column; }
.tk-fair-wname { font-weight: 600; }
.tk-fair-wsub { font-size: .875rem; color: var(--tk-f-muted); }
.tk-fair-wine.is-on { background: color-mix(in srgb, var(--tk-f-on) 8%, transparent); }
.tk-fair-none { color: var(--tk-f-muted); }
.tk-fair-foot { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: flex-end; margin: 1rem 0 0; padding: .75rem 0 calc(.75rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--tk-f-border); background: var(--bs-body-bg, #fff); }
.tk-fair-count { font-weight: 600; margin-inline-end: auto; }
.tk-fair-status { font-size: .875rem; color: var(--tk-f-muted); }
.tk-fair-pdf.disabled { pointer-events: auto; cursor: not-allowed; }
@keyframes tk-fair-flash { 0%, 100% { box-shadow: 0 0 0 0 transparent; } 30% { box-shadow: 0 0 0 .35rem color-mix(in srgb, var(--tk-f-on) 45%, transparent); } }
.tk-fair-login.tk-flash { animation: tk-fair-flash 1.6s ease-out 1; }
.tk-fair-wine input:disabled ~ * , .tk-fair-wine:has(input:disabled) label { cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .tk-fair-login.tk-flash { animation: none; outline: 3px solid var(--tk-f-on); } }
@media print { .tk-fair-bar, .tk-fair-foot, .tk-fair-login { display: none; } }
