/* =========================================================
 * TablePress Route Finder • Square-edge Layout  v5
 * ========================================================= */

/* ---------- Layout wrapper ------------------------------------------------ */
.tprf-finder-wrap{
	margin:24px 0;
	padding:24px;
	border:1px solid #e4e4e4;
	border-radius:0;                       /* square corners */
	background:#fff;
	box-shadow:0 2px 8px rgba(0,0,0,.04);
	max-width:100%;
	font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- Form: mobile-first stack, flex row ≥640 px -------------------- */
.tprf-form{display:grid;grid-template-columns:1fr;gap:20px}

.tprf-form-field{display:flex;flex-direction:column}

.tprf-form-field label{
	margin-bottom:6px;
	font-size:.95rem;
	font-weight:600;
	color:#222;
}

.tprf-form-field select,
.tprf-form-field button{
	width:100%;
	padding:12px 14px;
	border:1px solid #d1d1d1;
	border-radius:0;                       /* square corners */
	background:#fafafa;
	font-size:1rem;
	box-sizing:border-box;
	transition:border .2s ease,box-shadow .2s ease;
}

/* Focus ring for SELECT fields */
.tprf-form-field select:focus{
	border-color:#05A651;
	box-shadow:0 0 0 3px rgba(5,166,81,.25);
	outline:none;
}

/* ---------- Submit button -------------------------------------------------- */
.tprf-submit-button{
	cursor:pointer;
	background:#05A651 !important;
	color:#fff       !important;
	border:none;
	border-radius:0;                       /* square corners */
	font-weight:600;
	transition:background .2s ease,transform .12s ease;
	outline:none;
}

.tprf-submit-button:hover:not(:disabled),
.tprf-submit-button:focus:not(:disabled){
	background:#048A46 !important;
	color:#fff       !important;
	transform:translateY(-1px);
	box-shadow:none;
	outline:none;
}

.tprf-submit-button:active:not(:disabled){
	transform:translateY(0);
	box-shadow:none;
}

.tprf-submit-button:disabled{
	background:#a0a5aa !important;
	color:#fff       !important;
	cursor:not-allowed
}

/* ---------- Landscape breakpoint ------------------------------------------ */
@media (min-width:640px){
	.tprf-form{
		display:flex;
		flex-wrap:wrap;
		align-items:flex-end;
		gap:22px;
	}
	.tprf-form-field{flex:1 1 220px;min-width:220px}
	.tprf-submit-button{flex:0 0 auto;padding:13px 28px}
}

/* ---------- Results & messages -------------------------------------------- */
.tprf-results-container{
	margin-top:28px;
	padding-top:18px;
	border-top:1px dashed #dcdcdc
}

.tprf-loading,
.tprf-error,
.tprf-no-results{
	padding:14px 16px;
	border-left:4px solid #ffba00;
	background:#fffbe8;
	border-radius:0;                       /* square corners */
	font-size:.95rem;
}

.tprf-error{
	border-left-color:#d63638;
	background:#fde9eb
}

/* ---------- Route block ---------------------------------------------------- */
.tprf-route{
	margin-bottom:32px;
	padding-bottom:20px;
	border-bottom:1px solid #f0f0f0
}
.tprf-route:last-child{
	border:none;
	margin-bottom:0;
	padding-bottom:0
}
.tprf-route h3{
	margin:0 0 12px;
	font-size:1.1rem;
	color:#111
}
.tprf-route-description{
	margin:4px 0 20px;
	font-size:.9rem;
	font-style:italic;
	color:#555
}

/* ---------- Table ---------------------------------------------------------- */
.tprf-table-wrapper{
	overflow-x:auto;
	margin-bottom:20px
}

.tprf-results-table{
	width:100%;
	border-collapse:collapse;
	font-size:.93rem;
	min-width:540px
}
.tprf-results-table thead th{
	background:#f2f4f6;
	border:1px solid #e5e7ea;
	padding:10px 12px;
	text-align:left;
	font-weight:600
}
.tprf-results-table tbody td{
	border:1px solid #e5e7ea;
	padding:10px 12px;
	vertical-align:top
}
.tprf-results-table tbody tr:nth-child(even){background:#fafbfc}
.tprf-results-table tbody tr:hover      {background:#f4f6f8}
.tprf-results-table td:first-child{font-weight:500}
