/*
 * Booking and event adaptation to the verified Joomla template.
 * Reference: template/css/custom.css, especially .mat_table,
 * .compojoom-bootstrap .list-group-item-grey, .btn-primary and #mat_title.
 * The existing forms, stock handling, step navigation and event colours stay intact.
 */

body.hirondelle-design-2026 .hbe-flow-page,
body.hirondelle-design-2026 .fh-custom-single-event {
	font-family: "Myriad Pro Regular", Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.428571429;
	color: #666;
	margin: 20px auto 40px;
}

body.hirondelle-design-2026 .hbe-flow-page { max-width: 100%; }

body.hirondelle-design-2026 .hbe-flow-page h1,
body.hirondelle-design-2026 .fh-custom-single-event .fh-event-title {
	font-family: inherit;
	font-size: 170%;
	font-weight: 400;
	font-style: normal;
	line-height: 1.1;
	text-transform: uppercase;
	color: #3399cc;
	border-bottom: 1px solid #3399cc;
	margin: 30px 0 10px;
	padding: 0 0 7px;
}

body.hirondelle-design-2026 .hbe-flow-back,
body.hirondelle-design-2026 .hbe-flow-date,
body.hirondelle-design-2026 .fh-event-breadcrumbs,
body.hirondelle-design-2026 .fh-event-instruction,
body.hirondelle-design-2026 .fh-event-meta-top {
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	line-height: inherit;
	color: #666;
}

body.hirondelle-design-2026 .hbe-flow-date { margin: 0 0 20px; }
body.hirondelle-design-2026 .hbe-flow-back { margin: 0 0 10px; }
body.hirondelle-design-2026 .fh-event-instruction { margin: 10px 0 20px; }
body.hirondelle-design-2026 .fh-event-meta-top { gap: 10px 20px; margin-bottom: 20px; }

body.hirondelle-design-2026 .hbe-flow-page a,
body.hirondelle-design-2026 .fh-custom-single-event a {
	color: #3399cc;
	text-decoration: none;
}

body.hirondelle-design-2026 .hbe-flow-page a:hover,
body.hirondelle-design-2026 .fh-custom-single-event a:hover { color: #2f88b0; text-decoration: underline; }

body.hirondelle-design-2026 .hbe-booking__price {
	font-family: inherit;
	font-size: 120%;
	font-weight: 400;
	color: #3399cc;
	margin: 0 0 20px;
}

body.hirondelle-design-2026 .hbe-booking-form { margin: 20px 0 0; }

body.hirondelle-design-2026 .hbe-form-panel__heading {
	font-family: inherit;
	font-size: 170%;
	font-style: normal;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	color: #3399cc;
	border-bottom: 1px solid #eee;
	margin: 20px 0;
	padding: 0 0 8px;
}

body.hirondelle-design-2026 .hbe-booking-form fieldset {
	border: 0;
	padding: 0;
	margin: 0 0 20px;
	min-width: 0;
}

body.hirondelle-design-2026 .hbe-booking-form legend {
	font-family: inherit;
	font-size: 120%;
	font-style: normal;
	font-weight: 400;
	line-height: inherit;
	color: #3399cc;
	border-bottom: 1px solid #eee;
	margin: 10px 0 15px;
	padding-bottom: 5px;
	width: 100%;
}

body.hirondelle-design-2026 .hbe-booking-form fieldset > p,
body.hirondelle-design-2026 .hbe-option-group > p { margin: 0 0 10px; }

body.hirondelle-design-2026 .hbe-booking-form label {
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: inherit;
	color: #666;
}

/* Original Matukio uses compact label/field rows and fields at 70% width. */
body.hirondelle-design-2026 .hbe-booking-form p > label[for] {
	display: inline-block;
	width: 28%;
	box-sizing: border-box;
	padding: 5px 10px 0 0;
	margin-bottom: 0;
	vertical-align: top;
}

body.hirondelle-design-2026 .hbe-booking-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.hirondelle-design-2026 .hbe-booking-form textarea,
body.hirondelle-design-2026 .hbe-booking-form select {
	display: inline-block;
	width: 70%;
	max-width: 100%;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 90%;
	font-weight: 400;
	font-style: italic;
	line-height: 1.428571429;
	color: #3498db;
	background: #fff;
	border: 2px solid #ccc;
	border-radius: 2px;
	padding: 5px 10px;
	box-shadow: none;
	vertical-align: middle;
}

body.hirondelle-design-2026 .hbe-booking-form select {
	color: #888;
	background-color: #f5f5f5;
	font-style: normal;
	min-height: 32px;
	cursor: pointer;
	margin: 2px 0 10px;
}

body.hirondelle-design-2026 .hbe-booking-form textarea { min-height: 90px; }

body.hirondelle-design-2026 .hbe-booking-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
body.hirondelle-design-2026 .hbe-booking-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
body.hirondelle-design-2026 .hbe-booking-form textarea:hover,
body.hirondelle-design-2026 .hbe-booking-form textarea:focus,
body.hirondelle-design-2026 .hbe-booking-form select:hover,
body.hirondelle-design-2026 .hbe-booking-form select:focus { background-color: #fff; border-color: #2c87af; }

body.hirondelle-design-2026 .hbe-booking-form input[type="checkbox"],
body.hirondelle-design-2026 .hbe-booking-form input[type="radio"] {
	width: auto;
	accent-color: #3399cc;
	margin: 0 7px 0 0;
	vertical-align: middle;
}

body.hirondelle-design-2026 .hbe-booking-form :is(input, select, textarea, button):focus-visible {
	outline: 2px solid #2c87af;
	outline-offset: 2px;
}

body.hirondelle-design-2026 .hbe-step-nav {
	margin: 0 0 20px;
	padding: 0;
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: none;
}

body.hirondelle-design-2026 .hbe-step-nav__button {
	min-height: 46px;
	padding: 10px 15px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: inherit;
	color: #666;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.hirondelle-design-2026 .hbe-step-nav__button[aria-current="step"] { background: #b0d7e5; color: #666; box-shadow: none; }
body.hirondelle-design-2026 .hbe-step-nav__button:disabled { opacity: .65; cursor: default; }
body.hirondelle-design-2026 .hbe-step-nav__number { width: 22px; min-width: 22px; height: 22px; flex: 0 0 22px; font-size: 12px; background: #ddd; color: #666; }
body.hirondelle-design-2026 .hbe-step-nav__button[aria-current="step"] .hbe-step-nav__number { background: #53a8c7; color: #fff; }

body.hirondelle-design-2026 .hbe-form-controls {
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px 15px;
	margin-top: 20px;
	gap: 10px;
}

body.hirondelle-design-2026 .hbe-form-controls button,
body.hirondelle-design-2026 .hbe-booking-form__submit,
body.hirondelle-design-2026 .fh-custom-single-event .fh-btn-book,
body.hirondelle-design-2026 .fh-custom-single-event .fh-btn-small {
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.428571429;
	text-decoration: none;
	text-transform: none;
	padding: 6px 12px;
	background: #53a8c7;
	border: 1px solid #3189b1;
	border-radius: 4px;
	color: #fff;
	box-shadow: none;
}

body.hirondelle-design-2026 .hbe-form-controls button:hover,
body.hirondelle-design-2026 .hbe-booking-form__submit:hover,
body.hirondelle-design-2026 .fh-custom-single-event .fh-btn-book:hover,
body.hirondelle-design-2026 .fh-custom-single-event .fh-btn-small:hover {
	background: #2f88b0;
	border-color: #3189b1;
	color: #fff;
	text-decoration: none;
}

/* This CTA is an anchor; keep it above the general booking-page link colours. */
body.hirondelle-design-2026 .hbe-account-gate a.hbe-booking-form__submit,
body.hirondelle-design-2026 .hbe-account-gate a.hbe-booking-form__submit:is(:visited, :hover, :focus, :active) {
	color: #fff;
	text-decoration: none;
}

body.hirondelle-design-2026 .hbe-form-controls .hbe-form-controls__back {
	background: #f5f5f5;
	border: 1px solid #2981ab;
	border-radius: 2px;
	color: #6e6e6e;
	text-shadow: 0 1px 0 #fff;
}

body.hirondelle-design-2026 .hbe-form-controls .hbe-form-controls__back:hover { background: rgba(83, 168, 199, .02); }

body.hirondelle-design-2026 .hbe-payment-info,
body.hirondelle-design-2026 .hbe-booking-review {
	font-family: inherit;
	font-size: 14px;
	line-height: inherit;
	color: #666;
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px 15px;
	margin-bottom: 20px;
}

body.hirondelle-design-2026 .hbe-booking-review dl { gap: 6px 15px; margin: 15px 0 0; font-size: 14px; }
body.hirondelle-design-2026 .hbe-booking-review dt { color: #666; font-weight: 400; }
body.hirondelle-design-2026 .hbe-booking-review dd { color: #666; }
body.hirondelle-design-2026 .hbe-option-group { margin: 15px 0; }
body.hirondelle-design-2026 .hbe-option-group strong { font-weight: 400; color: #3399cc; }

body.hirondelle-design-2026 .hbe-notice,
body.hirondelle-design-2026 .hbe-waitlist-info {
	font-family: inherit;
	font-size: 14px;
	line-height: inherit;
	color: #666;
	background: #e5f3f9;
	border: 1px solid #b0d7e5;
	border-radius: 4px;
	padding: 10px 15px;
	margin: 20px 0;
}

body.hirondelle-design-2026 .hbe-notice--error { border-color: #b33829; background: #fff4f1; }
body.hirondelle-design-2026 .hbe-notice--success { border-color: #387344; background: #f1f8f0; }
body.hirondelle-design-2026 .hbe-privacy,
body.hirondelle-design-2026 .hbe-agb { font-size: 14px; line-height: 1.428571429; }
body.hirondelle-design-2026 .hbe-privacy a,
body.hirondelle-design-2026 .hbe-agb a { display: inline; margin-left: 0; }

body.hirondelle-design-2026 .fh-custom-single-event .fh-booking-box,
body.hirondelle-design-2026 .fh-custom-single-event .fh-event-description,
body.hirondelle-design-2026 .fh-custom-single-event .fh-sidebar-box {
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-bottom: 20px;
	box-shadow: none;
}

body.hirondelle-design-2026 .fh-custom-single-event .fh-box-header {
	font-family: inherit;
	font-size: 120%;
	font-weight: 400;
	font-style: normal;
	line-height: 1.428571429;
	text-transform: none;
	background: #b0d7e5;
	color: #666;
	border-bottom: 1px solid #ddd;
	border-radius: 3px 3px 0 0;
	padding: 10px 15px;
	margin: 0;
}

body.hirondelle-design-2026 .fh-custom-single-event .fh-box-content { padding: 10px 15px; background: #fff; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-box-content > p:last-child { margin-bottom: 0; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-tickets-table { margin-bottom: 20px; border-collapse: collapse; font-size: 14px; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-tickets-table th { padding: 8px; color: #666; border-bottom: 2px solid #ddd; font-weight: 400; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-tickets-table td { padding: 8px; color: #666; border-bottom: 1px solid #ededed; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-qty-select { padding: 5px 10px; color: #888; background: #f5f5f5; border: 2px solid #ccc; border-radius: 2px; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-info-row { margin: 0 0 10px; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-related-events li { margin-bottom: 8px; }
body.hirondelle-design-2026 .fh-custom-single-event .fh-related-events a { font-weight: 400; }

@media (max-width: 630px) {
	body.hirondelle-design-2026 .hbe-flow-page,
	body.hirondelle-design-2026 .fh-custom-single-event { margin: 20px auto; }
	body.hirondelle-design-2026 .hbe-booking-form p > label[for] { display: block; width: 100%; padding: 0; margin-bottom: 5px; }
	body.hirondelle-design-2026 .hbe-booking-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
	body.hirondelle-design-2026 .hbe-booking-form textarea,
	body.hirondelle-design-2026 .hbe-booking-form select { width: 100%; }
	body.hirondelle-design-2026 .hbe-step-nav__button { font-size: 12px; padding: 10px 5px; min-height: 62px; }
	body.hirondelle-design-2026 .hbe-step-nav__number { display: flex; margin: 0 auto 5px; }
	body.hirondelle-design-2026 .hbe-form-controls { flex-wrap: wrap; padding: 10px; }
	body.hirondelle-design-2026 .hbe-form-controls button { max-width: 100%; white-space: normal; }
	body.hirondelle-design-2026 .hbe-booking-review dl { grid-template-columns: 1fr; gap: 3px; }
	body.hirondelle-design-2026 .hbe-booking-review dd { margin-bottom: 10px; }
	body.hirondelle-design-2026 .fh-custom-single-event .fh-tickets-table { font-size: 90%; }
	body.hirondelle-design-2026 .fh-custom-single-event .fh-tickets-table th,
	body.hirondelle-design-2026 .fh-custom-single-event .fh-tickets-table td { padding: 5px; }
}
/* Keep mobile booking controls comfortably readable when focused. */
@media (max-width:767px) {
 body.hirondelle-design-2026 .hbe-booking-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
 body.hirondelle-design-2026 .hbe-booking-form select,
 body.hirondelle-design-2026 .hbe-booking-form textarea { font-size:16px !important; min-height:44px; }
}
