/* TYW trip request form. */
.tyw-form-wrap { max-width: 46rem; }
.tyw-form__title { margin: 0 0 0.5rem; font-size: clamp(1.75rem, 3.2vw, 2.4rem); }
.tyw-form__intro { color: var(--tyw-muted, #4a5566); }
.tyw-form__admin { padding: 0.75rem 1rem; background: #fff4d6; border-left: 3px solid #b58d59; font-size: 0.9rem; }
.tyw-form__context { padding: 0.85rem 1rem; background: var(--tyw-cream-2, #efebe2); }
.tyw-form__group { margin: 0 0 1.25rem; padding: 0; border: 0; }
.tyw-form__group legend { margin-bottom: 0.75rem; padding: 0; font: 500 0.78rem/1.4 var(--tyw-font-body, sans-serif); letter-spacing: 0.18em; text-transform: uppercase; }
.tyw-form__row { display: grid; gap: 0 1rem; }
@media (min-width: 640px) { .tyw-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tyw-form__field { margin-bottom: 1.1rem; }
.tyw-form__field label { display: block; margin-bottom: 0.35rem; font-weight: 500; }
.tyw-form__hint { margin: -0.15rem 0 0.4rem; color: var(--tyw-muted, #4a5566); font-size: 0.9rem; }
.tyw-form input[type="text"],
.tyw-form input[type="email"],
.tyw-form input[type="tel"],
.tyw-form input[type="date"],
.tyw-form select,
.tyw-form textarea {
	width: 100%;
	min-height: 3rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid rgb(14 26 43 / 0.35);
	border-radius: 2px;
	background: #fff;
	color: var(--tyw-ink, #0e1a2b);
	font: inherit;
	font-size: 1rem;
}
.tyw-form textarea { min-height: 9rem; resize: vertical; }
.tyw-form input:focus-visible,
.tyw-form select:focus-visible,
.tyw-form textarea:focus-visible { outline: 2px solid var(--tyw-gold-text, #7f6036); outline-offset: 2px; }
.tyw-form .tyw-form__field [aria-invalid="true"] { border: 2px solid #a12a1e; }
.tyw-form__error { margin: 0.35rem 0 0; color: #a12a1e; font-size: 0.9375rem; font-weight: 500; }
.tyw-form__error[hidden],
.tyw-form__summary[hidden] { display: none; }
.tyw-form__summary { margin: 0 0 1.5rem; padding: 1rem 1.25rem; border: 2px solid #a12a1e; background: #fff; }
.tyw-form__summary:focus { outline: 2px solid var(--tyw-gold-text, #7f6036); outline-offset: 3px; }
.tyw-form__summary-title { margin: 0 0 0.5rem; font-weight: 600; color: #a12a1e; }
.tyw-form__summary-list { margin: 0; padding-left: 1.25rem; }
.tyw-form__summary-list a { color: #a12a1e; }
.tyw-form__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.tyw-form__privacy { color: var(--tyw-muted, #4a5566); font-size: 0.9rem; }
.tyw-form__submit { min-width: 12rem; }
.tyw-form__submit[aria-disabled="true"] { opacity: 0.7; cursor: progress; }
.tyw-form__status { min-height: 1.5rem; margin-top: 0.75rem; font-weight: 500; }
.tyw-form__done { padding: 1rem 1.25rem; background: #e8f3ea; border-left: 3px solid #2e6b3a; }
.tyw-form__fallback { padding: 1.25rem 1.5rem; background: var(--tyw-cream-2, #efebe2); }
.tyw-form__fallback ul { margin: 0; padding-left: 1.25rem; }
.tyw-form__fallback a { display: inline-block; min-height: 2.75rem; padding-block: 0.6rem; }
.tyw-form__done--warn { background: #fff4d6; border-left-color: #b58d59; }
.tyw-form__status.is-success { padding: 0.9rem 1rem; border-left: 3px solid var(--tyw-gold, #b98c4f); background: rgba(185, 140, 79, 0.08); font-weight: 600; }
/* Phone / WhatsApp (owner 2026-10-26): country code list and number on one row. */
.tyw-form__phone { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 0.5rem; }
@media (max-width: 479px) { .tyw-form__phone { grid-template-columns: minmax(0, 1fr); } } /* Phones: stacked, so the country and its +code stay readable. */
.tyw-form__phone select { text-overflow: ellipsis; }
