/* AZB shared UI: chips, specs, fares, form fields, breadcrumbs, editor notes. Tokens only. */
.azb-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.azb-icon { width: 20px; height: 20px; flex: none; }
.azb-flip { transform: scaleX(-1); }

.azb-editor-note { padding: var(--s-4); border: 1px dashed var(--azb-accent); border-radius: var(--radius-input); color: var(--azb-accent); font: 500 var(--fs-small)/1.4 var(--font-mono); }
.azb-ph { display: inline-block; margin-top: var(--s-2); padding: var(--s-1) var(--s-2); background: var(--azb-accent-soft); color: var(--azb-accent-hi); border: 1px dashed var(--azb-accent); border-radius: var(--radius-input); font: 500 0.75rem/1.4 var(--font-mono); }

.azb-ctas { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }

.azb-chipset { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0; padding: 0; }
.azb-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0; padding: 0; }
.azb-chip {
	display: inline-flex; align-items: center; min-height: 32px; padding: 0 var(--s-3);
	border-radius: var(--radius-pill); background: var(--azb-accent-soft); color: var(--azb-ink);
	font-size: var(--fs-small); line-height: 1; white-space: nowrap;
}
.azb-chip--mono { font-family: var(--font-mono); letter-spacing: 0.04em; }
.azb-chip--link, .azb-chip--btn {
	min-height: var(--tap); padding: 0 var(--s-4); background: transparent; color: var(--azb-ink) !important;
	box-shadow: inset 0 0 0 1px var(--azb-line); text-decoration: none; border: 0; cursor: pointer; font: inherit; font-size: var(--fs-small);
}
.azb-chip--btn[aria-pressed="true"] { background: var(--azb-accent-soft); box-shadow: inset 0 0 0 1px var(--azb-accent); color: var(--azb-accent-hi) !important; }
@media (hover: hover) and (pointer: fine) {
	.azb-chip--link:hover, .azb-chip--btn:hover { box-shadow: inset 0 0 0 1px var(--azb-ink); }
}

.azb-specs { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); list-style: none; margin: 0; padding: 0; color: var(--azb-ink); font-size: var(--fs-small); }
.azb-specs li { display: inline-flex; align-items: center; gap: var(--s-2); }
.azb-specs .azb-icon { color: var(--azb-accent); }
.azb-specs b { font-family: var(--font-mono); font-weight: 500; font-variant-numeric: tabular-nums; }

.azb-fare { margin: 0; font-family: var(--font-mono); font-size: var(--fs-body); color: var(--azb-accent-hi); font-variant-numeric: tabular-nums; }
.azb-fare--lg { font-size: var(--fs-fare); }

/* Form fields shared by quick book, wizard and enquiry forms. Labels above inputs, errors below. */
.azb-label { display: block; margin-bottom: var(--s-2); font-size: var(--fs-small); font-weight: 500; color: var(--azb-ink); }
.azb-input, .azb-select, .azb-textarea {
	width: 100%; min-height: 48px; padding: 0 var(--s-4);
	background: var(--azb-raised); color: var(--azb-ink); border: 1px solid var(--azb-line); border-radius: var(--radius-input);
	font: 400 1rem/1.4 var(--font-body); transition: border-color var(--dur-ui) var(--ease-out);
	appearance: none; -webkit-appearance: none;
}
.azb-textarea { min-height: 112px; padding: var(--s-3) var(--s-4); resize: vertical; }
.azb-input::placeholder, .azb-textarea::placeholder { color: var(--azb-muted); opacity: 1; }
.azb-input:focus-visible, .azb-select:focus-visible, .azb-textarea:focus-visible { outline: 2px solid var(--azb-accent); outline-offset: 1px; border-color: var(--azb-accent); }
.azb-select {
	padding-right: 2.5rem;
	background-image: linear-gradient(45deg, transparent 50%, var(--azb-muted) 50%), linear-gradient(135deg, var(--azb-muted) 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat;
}
.azb-input[aria-invalid="true"], .azb-select[aria-invalid="true"], .azb-textarea[aria-invalid="true"] { border-color: var(--azb-error); }
.azb-error { margin: var(--s-2) 0 0; color: var(--azb-error); font-size: var(--fs-small); }
.azb-help { margin: var(--s-2) 0 0; color: var(--azb-muted); font-size: var(--fs-small); }

.azb-crumbs ol { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0 0 var(--s-5); padding: 0; font-size: var(--fs-small); color: var(--azb-muted); }
.azb-crumbs li:not(:last-child)::after { content: "/"; margin-left: var(--s-2); opacity: 0.5; }
.azb-crumbs a { color: var(--azb-muted); text-decoration: none; }
.azb-crumbs a:hover { color: var(--azb-ink); }
.azb-crumbs [aria-current] { color: var(--azb-ink); }

.azb-search__row { display: flex; gap: var(--s-2); }
.azb-search .azb-input { flex: 1; }
