/* Contact page: balance the location card and booking form instead of leaving
   a short address tile beside a long, narrow form. */
body:has(.pony-location-card) #content > .section.pony-board {
	padding: 16px 0 8px !important;
}

body:has(.pony-location-card) .pony-contact-grid { gap: 12px; }
body:has(.pony-location-card) .pony-contact-card {
	min-height: 112px;
	align-items: center;
	gap: 14px;
	padding: 18px 16px;
	border: 1px solid #ecdfcc;
	background: linear-gradient(145deg,#fbf5ea,#f3e8d7);
}
body:has(.pony-location-card) .pony-contact-card h3 { margin: 0 0 5px; }
body:has(.pony-location-card) .pony-contact-card p { margin: 4px 0 0; line-height: 1.45; }

/* Equal 50/50 columns give the address photo and form a shared visual rhythm. */
body:has(.pony-location-card) .row:has(> .col .pony-location-card) {
	display: flex;
	align-items: stretch;
}
body:has(.pony-location-card) .row:has(> .col .pony-location-card) > .col {
	flex: 0 0 50%;
	width: 50%;
	max-width: 50%;
}
body:has(.pony-location-card) .row:has(> .col .pony-location-card) > .col:first-child > .col-inner {
	display: flex;
	flex-direction: column;
}
body:has(.pony-location-card) .row:has(> .col .pony-location-card) > .col:first-child > .col-inner > .text { flex: 0 0 auto; }
body:has(.pony-location-card) .pony-location-card {
	flex: 1 0 340px;
	min-height: 340px;
	box-sizing: border-box;
	margin-top: 14px;
}
body:has(.pony-location-card) #content .pony-booking-form {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	column-gap: 14px;
	row-gap: 2px;
	padding: 20px;
	border: 1px solid #ecdfcc;
	border-radius: 14px;
	background: #fffdf9;
	box-shadow: 0 8px 24px rgba(53,35,18,.045);
}
body:has(.pony-location-card) #content .pony-booking-form > label { min-width: 0; }
body:has(.pony-location-card) #content .pony-booking-form > label:nth-of-type(7),
body:has(.pony-location-card) #content .pony-booking-form .pony-booking-availability,
body:has(.pony-location-card) #content .pony-booking-form .pony-consent,
body:has(.pony-location-card) #content .pony-booking-form > button { grid-column: 1 / -1; }
body:has(.pony-location-card) #content .pony-booking-form input,
body:has(.pony-location-card) #content .pony-booking-form select,
body:has(.pony-location-card) #content .pony-booking-form textarea { width: 100%; min-width: 0; box-sizing: border-box; }
body:has(.pony-location-card) #content .pony-booking-form textarea { height: auto; min-height: 72px; }
body:has(.pony-location-card) #content .pony-booking-availability { margin: 2px 0 10px; padding: 9px 12px; border-radius: 8px; background: #f8f1e6; color: #6d5941; font-size: 11px; line-height: 1.5; }
body:has(.pony-location-card) #content .pony-booking-form .pony-consent { margin: 4px 0 10px; line-height: 1.5; }
body:has(.pony-location-card) #content .pony-booking-form > button { min-height: 46px; }

@media (max-width: 849px) {
	body:has(.pony-location-card) #content > .section.pony-board { padding: 12px 0 6px !important; }
	body:has(.pony-location-card) .pony-contact-grid { gap: 9px; }
	body:has(.pony-location-card) .pony-contact-card { min-height: 104px; padding: 14px 12px; }
	body:has(.pony-location-card) .row:has(> .col .pony-location-card) { display: block; }
	body:has(.pony-location-card) .row:has(> .col .pony-location-card) > .col { width: 100%; max-width: 100%; }
	body:has(.pony-location-card) .pony-location-card { height: auto; min-height: 290px; margin-top: 10px; }
	body:has(.pony-location-card) #content .pony-booking-form { padding: 16px; }
}

@media (max-width: 549px) {
	body:has(.pony-location-card) .pony-contact-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
	body:has(.pony-location-card) .pony-contact-card { min-height: 96px; padding: 12px 10px; }
	body:has(.pony-location-card) .pony-contact-card .pony-line-icon { margin-bottom: 7px; }
	body:has(.pony-location-card) .pony-location-card { min-height: 250px; padding: 22px; }
	body:has(.pony-location-card) #content .pony-booking-form { grid-template-columns: minmax(0,1fr); gap: 0; padding: 14px; }
	body:has(.pony-location-card) #content .pony-booking-form > label,
	body:has(.pony-location-card) #content .pony-booking-form > label:nth-of-type(7),
	body:has(.pony-location-card) #content .pony-booking-form .pony-booking-availability,
	body:has(.pony-location-card) #content .pony-booking-form .pony-consent,
	body:has(.pony-location-card) #content .pony-booking-form > button { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
	body:has(.pony-location-card) .pony-contact-card { transition: none; }
}
