/* Utility classes the search cart drawer needs outside the tour search page.
   The search page builds them at runtime with the Tailwind CDN (prefix `ts-`); the
   rest of the admin only loads this snapshot. Regenerate when the drawer markup in
   templates/components/search_cart.html starts using a `ts-` utility not listed here. */

.ts-flex { display: flex; }
.ts-flex-1 { flex: 1 1 0%; }
.ts-flex-col { flex-direction: column; }
.ts-shrink-0 { flex-shrink: 0; }
.ts-items-start { align-items: flex-start; }
.ts-items-end { align-items: flex-end; }
.ts-items-center { align-items: center; }
.ts-justify-center { justify-content: center; }
.ts-justify-between { justify-content: space-between; }
.ts-gap-0\.5 { gap: 0.09375rem; }
.ts-gap-1 { gap: 0.1875rem; }
.ts-gap-2 { gap: 0.375rem; }
.ts-gap-3 { gap: 0.5625rem; }

.ts-min-h-0 { min-height: 0px; }
.ts-min-w-0 { min-width: 0px; }
.ts-h-\[26px\] { height: 26px; }
.ts-overflow-hidden { overflow: hidden; }
.ts-overflow-y-auto { overflow-y: auto; }
.ts-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-cursor-pointer { cursor: pointer; }

.ts-mb-3 { margin-bottom: 0.5625rem; }
.ts-mt-0\.5 { margin-top: 0.09375rem; }
.ts-p-5 { padding: 0.9375rem; }
.ts-px-2 { padding-left: 0.375rem; padding-right: 0.375rem; }
.ts-px-3 { padding-left: 0.5625rem; padding-right: 0.5625rem; }
.ts-py-0\.5 { padding-top: 0.09375rem; padding-bottom: 0.09375rem; }
.ts-py-3 { padding-top: 0.5625rem; padding-bottom: 0.5625rem; }
.ts-py-12 { padding-top: 2.25rem; padding-bottom: 2.25rem; }
.ts-pb-3 { padding-bottom: 0.5625rem; }

.ts-rounded { border-radius: 0.25rem; }
.ts-rounded-2xl { border-radius: 1rem; }
.ts-border { border-width: 1px; }
.ts-border-t { border-top-width: 1px; }
.ts-border-b { border-bottom-width: 1px; }
.ts-border-\[\#e5e7eb\] { --tw-border-opacity: 1; border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); }
.ts-border-red-300 { --tw-border-opacity: 1; border-color: rgb(252 165 165 / var(--tw-border-opacity, 1)); }

.ts-bg-input { --tw-bg-opacity: 1; background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)); }
.ts-bg-navy { --tw-bg-opacity: 1; background-color: rgb(30 48 84 / var(--tw-bg-opacity, 1)); }
.ts-bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); }
.ts-bg-\[\#f0f7ff\] { --tw-bg-opacity: 1; background-color: rgb(240 247 255 / var(--tw-bg-opacity, 1)); }

.ts-text-xs { font-size: 0.625rem; line-height: 0.875rem; }
.ts-text-sm { font-size: 0.6875rem; line-height: 1rem; }
.ts-text-base { font-size: 0.75rem; line-height: 1.125rem; }
.ts-text-lg { font-size: 0.84375rem; line-height: 1.25rem; }
.ts-text-xl { font-size: 0.9375rem; line-height: 1.3125rem; }
.ts-font-medium { font-weight: 500; }
.ts-font-semibold { font-weight: 600; }
.ts-font-bold { font-weight: 700; }
.ts-text-navy { --tw-text-opacity: 1; color: rgb(30 48 84 / var(--tw-text-opacity, 1)); }
.ts-text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); }
.ts-text-red-500 { --tw-text-opacity: 1; color: rgb(239 68 68 / var(--tw-text-opacity, 1)); }
.ts-text-amber-500 { --tw-text-opacity: 1; color: rgb(245 158 11 / var(--tw-text-opacity, 1)); }

.ts-opacity-20 { opacity: 0.2; }
.ts-opacity-30 { opacity: 0.3; }
.ts-opacity-40 { opacity: 0.4; }
.ts-opacity-50 { opacity: 0.5; }
.ts-opacity-100 { opacity: 1; }

.ts-transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ts-transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ts-transition-opacity { transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ts-duration-200 { transition-duration: 200ms; }
.ts-duration-300 { transition-duration: 300ms; }
.ts-ease-in { transition-timing-function: cubic-bezier(0.4, 0, 1, 1); }
.ts-ease-out { transition-timing-function: cubic-bezier(0, 0, 0.2, 1); }

.hover\:ts-bg-navy:hover { --tw-bg-opacity: 1; background-color: rgb(30 48 84 / var(--tw-bg-opacity, 1)); }
.hover\:ts-border-navy:hover { --tw-border-opacity: 1; border-color: rgb(30 48 84 / var(--tw-border-opacity, 1)); }
.hover\:ts-border-red-500:hover { --tw-border-opacity: 1; border-color: rgb(239 68 68 / var(--tw-border-opacity, 1)); }
.hover\:ts-text-white:hover { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); }
.hover\:ts-text-red-700:hover { --tw-text-opacity: 1; color: rgb(185 28 28 / var(--tw-text-opacity, 1)); }
.hover\:ts-opacity-100:hover { opacity: 1; }
