/*
 Theme Name:   2026 BCD Brand Evolution Theme
 Theme URI:    https://www.bcdtravel.com
 Description:  Default BCD Travel theme
 Author:       Sven Dietrich, Jeremy Bos
 Author URI:   https://www.bcdtravel.com
 Template:     generatepress
 Version:      0.1
*/

/* round corners in main nav hover */
.main-navigation ul li.menu-item.sfHover a,
.main-navigation .main-nav ul li:hover a {
	border-radius: 50px;
}

.main-navigation ul ul {
	box-shadow: none;
}

.main-navigation .menu-toggle {
	background-color: #fff;
	border-style: none;
}

.wp-block-buttons > .wp-block-button {
	margin-bottom: 20px;
}

.blog_post_type {
	max-width: 60ch;
}

/* Gravity Forms: generic BCD styling for all front-end forms on white/light backgrounds */

.gform_wrapper {
	--bcd-gf-brand: var(--vivid-violet, #542DFF);
	--bcd-gf-brand-hover: #2A1780;
	--bcd-gf-red: var(--radiant-red, #CE112D);
	--bcd-gf-text: var(--contrast, #000000);
	--bcd-gf-muted: var(--grounded-gray, #2A3744);
	--bcd-gf-border: rgba(42, 55, 68, 0.22);
	--bcd-gf-border-focus: var(--vivid-violet, #542DFF);
	--bcd-gf-bg: #ffffff;
	margin: 0;
}

.gform_wrapper form,
.gform_wrapper .gform_body,
.gform_wrapper .gform-body {
	margin: 0;
	padding: 0;
}

/* Field spacing */
.gform_wrapper .gform_fields {
	row-gap: 18px;
}

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
	color: var(--bcd-gf-text);
	font-weight: 700;
	line-height: 1.25;
}

/* Required hint */
.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required_text {
	color: var(--bcd-gf-red);
	font-weight: 400;
}

/* Rounded form fields: 30px */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="time"],
.gform_wrapper select,
.gform_wrapper textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 10px 18px;
	color: var(--bcd-gf-text);
	background-color: var(--bcd-gf-bg);
	border: 1px solid var(--bcd-gf-border);
	border-radius: 30px;
	box-shadow: none;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
}

/* Textareas also keep 30px */
.gform_wrapper textarea {
	min-height: 140px;
	padding-top: 16px;
	padding-bottom: 16px;
	border-radius: 30px;
}

/* Focus state */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper input[type="search"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper input[type="time"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
	border-color: var(--bcd-gf-border-focus);
	outline: 3px solid rgba(84, 45, 255, 0.16);
	outline-offset: 2px;
}

/* Consent / checkbox alignment */
.gform_wrapper .gchoice,
.gform_wrapper .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.gform_wrapper .gchoice input.gfield-choice-input,
.gform_wrapper .ginput_container_consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 4px;
	accent-color: var(--bcd-gf-brand);
}

/* Consent text */
.gform_wrapper .gchoice label,
.gform_wrapper .ginput_container_consent label,
.gform_wrapper .gfield_consent_label {
	margin: 0;
	color: var(--bcd-gf-muted);
	font-size: 14px;
	line-height: 1.45;
	font-weight: 400;
}

/* Consent / legal links */
.gform_wrapper .gchoice a,
.gform_wrapper .ginput_container_consent a {
	color: var(--bcd-gf-brand);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Submit footer: center submit button for all Gravity Forms */
.gform_wrapper .gform_footer,
.gform_wrapper .gform-footer {
	display: flex;
	justify-content: center;
	margin-top: 22px;
	padding: 0;
}

/* Submit button: 50px radius */
.gform_wrapper input[type="submit"].gform_button,
.gform_wrapper .gform_button,
.gform_wrapper .gform-button,
.gform_wrapper button[type="submit"] {
	min-height: 48px;
	padding: 10px 20px;
	color: #ffffff;
	background-color: var(--bcd-gf-brand);
	border: 2px solid var(--bcd-gf-brand);
	border-radius: 50px;
	box-shadow: none;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.gform_wrapper input[type="submit"].gform_button:hover,
.gform_wrapper input[type="submit"].gform_button:focus,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_wrapper .gform-button:hover,
.gform_wrapper .gform-button:focus,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper button[type="submit"]:focus {
	color: #ffffff;
	background-color: var(--bcd-gf-brand-hover);
	border-color: var(--bcd-gf-brand-hover);
}

/* Validation: summary box */
.gform_wrapper .gform_validation_errors,
.gform_wrapper.gravity-theme .gform_validation_errors {
	color: var(--bcd-gf-red);
	background: #ffffff;
	border: 2px solid var(--bcd-gf-red) !important;
	border-radius: 30px !important;
	box-shadow: 0 10px 28px rgba(206, 17, 45, 0.12);
	padding: 20px 24px;
	margin: 0 0 26px 0;
}

/* Validation summary: align icon and text */
.gform_wrapper .gform_validation_errors h2,
.gform_wrapper .gform_validation_errors .gform_submission_error,
.gform_wrapper.gravity-theme .gform_validation_errors h2,
.gform_wrapper.gravity-theme .gform_validation_errors .gform_submission_error,
.gform_wrapper.gravity-theme .gform_validation_errors > h2.hide_summary {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	color: var(--bcd-gf-red);
	font-size: 18px;
	line-height: 1.45;
	font-weight: 400;
	margin: 0;
	padding: 0;
	max-width: 100%;
}

/* Validation summary icon */
.gform_wrapper .gform_validation_errors .gform-icon,
.gform_wrapper .gform_validation_errors .gform-icon--circle-error,
.gform_wrapper.gravity-theme .gform_validation_errors .gform-icon,
.gform_wrapper.gravity-theme .gform_validation_errors .gform-icon--circle-error {
	position: static !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 34px !important;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	color: #ffffff !important;
	background: var(--bcd-gf-red) !important;
	border-radius: 50% !important;
	font-size: 18px !important;
	line-height: 1 !important;
	transform: none !important;
}

/* Validation: field-level messages */
.gform_wrapper .validation_message,
.gform_wrapper .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message,
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper [id^="validation_message_"] {
	color: var(--bcd-gf-red);
	background: #ffffff;
	border: 2px solid var(--bcd-gf-red) !important;
	border-radius: 30px !important;
	box-shadow: 0 8px 22px rgba(206, 17, 45, 0.10);
	padding: 16px 20px;
	margin-top: 12px;
	font-size: 16px;
	line-height: 1.45;
	font-weight: 400;
}

/* Validation: error fields */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: var(--bcd-gf-red);
	border-width: 2px;
}

/* Honeypot should never show */
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield--type-honeypot {
	display: none;
}

/* Special case: forms on dark/orange backgrounds
   Add .gf_whiteform_wrapper around the Gravity Form block/shortcode.
   Legacy .gf_whiteform support is kept for existing forms.
*/

.gf_whiteform_wrapper .gform_wrapper,
.gform_wrapper.gf_whiteform_wrapper,
.gf_whiteform .gform_wrapper,
.gform_wrapper.gf_whiteform {
	--bcd-gf-text: #ffffff;
	--bcd-gf-muted: #ffffff;
	--bcd-gf-border: rgba(255, 255, 255, 0.72);
	--bcd-gf-bg: #ffffff;
}

/* White labels, legends, required text and consent text on dark/orange backgrounds */
.gf_whiteform_wrapper .gform_wrapper .gfield_label,
.gf_whiteform_wrapper .gform_wrapper .gform-field-label,
.gf_whiteform_wrapper .gform_wrapper legend,
.gf_whiteform_wrapper .gform_wrapper label,
.gf_whiteform_wrapper .gform_wrapper .gfield_required,
.gf_whiteform_wrapper .gform_wrapper .gfield_required_text,
.gf_whiteform_wrapper .gform_wrapper .gfield_consent_label,
.gform_wrapper.gf_whiteform_wrapper .gfield_label,
.gform_wrapper.gf_whiteform_wrapper .gform-field-label,
.gform_wrapper.gf_whiteform_wrapper legend,
.gform_wrapper.gf_whiteform_wrapper label,
.gform_wrapper.gf_whiteform_wrapper .gfield_required,
.gform_wrapper.gf_whiteform_wrapper .gfield_required_text,
.gform_wrapper.gf_whiteform_wrapper .gfield_consent_label,
.gf_whiteform .gform_wrapper .gfield_label,
.gf_whiteform .gform_wrapper .gform-field-label,
.gf_whiteform .gform_wrapper legend,
.gf_whiteform .gform_wrapper label,
.gf_whiteform .gform_wrapper .gfield_required,
.gf_whiteform .gform_wrapper .gfield_required_text,
.gf_whiteform .gform_wrapper .gfield_consent_label,
.gform_wrapper.gf_whiteform .gfield_label,
.gform_wrapper.gf_whiteform .gform-field-label,
.gform_wrapper.gf_whiteform legend,
.gform_wrapper.gf_whiteform label,
.gform_wrapper.gf_whiteform .gfield_required,
.gform_wrapper.gf_whiteform .gfield_required_text,
.gform_wrapper.gf_whiteform .gfield_consent_label {
	color: #ffffff !important;
}

/* On dark/orange backgrounds, keep error labels white too */
.gf_whiteform_wrapper .gform_wrapper .gfield_error .gfield_label,
.gf_whiteform_wrapper .gform_wrapper .gfield_error .gform-field-label,
.gf_whiteform_wrapper .gform_wrapper .gfield_error legend,
.gf_whiteform_wrapper .gform_wrapper .gfield_error label,
.gf_whiteform_wrapper .gform_wrapper .gfield_error .gfield_required,
.gf_whiteform_wrapper .gform_wrapper .gfield_error .gfield_required_text,
.gf_whiteform_wrapper .gform_wrapper .gfield_error .gfield_consent_label,
.gform_wrapper.gf_whiteform_wrapper .gfield_error .gfield_label,
.gform_wrapper.gf_whiteform_wrapper .gfield_error .gform-field-label,
.gform_wrapper.gf_whiteform_wrapper .gfield_error legend,
.gform_wrapper.gf_whiteform_wrapper .gfield_error label,
.gform_wrapper.gf_whiteform_wrapper .gfield_error .gfield_required,
.gform_wrapper.gf_whiteform_wrapper .gfield_error .gfield_required_text,
.gform_wrapper.gf_whiteform_wrapper .gfield_error .gfield_consent_label,
.gf_whiteform .gform_wrapper .gfield_error .gfield_label,
.gf_whiteform .gform_wrapper .gfield_error .gform-field-label,
.gf_whiteform .gform_wrapper .gfield_error legend,
.gf_whiteform .gform_wrapper .gfield_error label,
.gf_whiteform .gform_wrapper .gfield_error .gfield_required,
.gf_whiteform .gform_wrapper .gfield_error .gfield_required_text,
.gf_whiteform .gform_wrapper .gfield_error .gfield_consent_label,
.gform_wrapper.gf_whiteform .gfield_error .gfield_label,
.gform_wrapper.gf_whiteform .gfield_error .gform-field-label,
.gform_wrapper.gf_whiteform .gfield_error legend,
.gform_wrapper.gf_whiteform .gfield_error label,
.gform_wrapper.gf_whiteform .gfield_error .gfield_required,
.gform_wrapper.gf_whiteform .gfield_error .gfield_required_text,
.gform_wrapper.gf_whiteform .gfield_error .gfield_consent_label {
	color: #ffffff !important;
}

/* Keep typed input text black inside white fields on dark/orange backgrounds */
.gf_whiteform_wrapper .gform_wrapper input[type="text"],
.gf_whiteform_wrapper .gform_wrapper input[type="email"],
.gf_whiteform_wrapper .gform_wrapper input[type="tel"],
.gf_whiteform_wrapper .gform_wrapper input[type="url"],
.gf_whiteform_wrapper .gform_wrapper input[type="number"],
.gf_whiteform_wrapper .gform_wrapper input[type="password"],
.gf_whiteform_wrapper .gform_wrapper input[type="search"],
.gf_whiteform_wrapper .gform_wrapper input[type="date"],
.gf_whiteform_wrapper .gform_wrapper input[type="time"],
.gf_whiteform_wrapper .gform_wrapper select,
.gf_whiteform_wrapper .gform_wrapper textarea,
.gform_wrapper.gf_whiteform_wrapper input[type="text"],
.gform_wrapper.gf_whiteform_wrapper input[type="email"],
.gform_wrapper.gf_whiteform_wrapper input[type="tel"],
.gform_wrapper.gf_whiteform_wrapper input[type="url"],
.gform_wrapper.gf_whiteform_wrapper input[type="number"],
.gform_wrapper.gf_whiteform_wrapper input[type="password"],
.gform_wrapper.gf_whiteform_wrapper input[type="search"],
.gform_wrapper.gf_whiteform_wrapper input[type="date"],
.gform_wrapper.gf_whiteform_wrapper input[type="time"],
.gform_wrapper.gf_whiteform_wrapper select,
.gform_wrapper.gf_whiteform_wrapper textarea,
.gf_whiteform .gform_wrapper input[type="text"],
.gf_whiteform .gform_wrapper input[type="email"],
.gf_whiteform .gform_wrapper input[type="tel"],
.gf_whiteform .gform_wrapper input[type="url"],
.gf_whiteform .gform_wrapper input[type="number"],
.gf_whiteform .gform_wrapper input[type="password"],
.gf_whiteform .gform_wrapper input[type="search"],
.gf_whiteform .gform_wrapper input[type="date"],
.gf_whiteform .gform_wrapper input[type="time"],
.gf_whiteform .gform_wrapper select,
.gf_whiteform .gform_wrapper textarea,
.gform_wrapper.gf_whiteform input[type="text"],
.gform_wrapper.gf_whiteform input[type="email"],
.gform_wrapper.gf_whiteform input[type="tel"],
.gform_wrapper.gf_whiteform input[type="url"],
.gform_wrapper.gf_whiteform input[type="number"],
.gform_wrapper.gf_whiteform input[type="password"],
.gform_wrapper.gf_whiteform input[type="search"],
.gform_wrapper.gf_whiteform input[type="date"],
.gform_wrapper.gf_whiteform input[type="time"],
.gform_wrapper.gf_whiteform select,
.gform_wrapper.gf_whiteform textarea {
	color: #000000;
	background-color: #ffffff;
}

/* White legal links on dark/orange backgrounds */
.gf_whiteform_wrapper .gform_wrapper .gchoice a,
.gf_whiteform_wrapper .gform_wrapper .ginput_container_consent a,
.gform_wrapper.gf_whiteform_wrapper .gchoice a,
.gform_wrapper.gf_whiteform_wrapper .ginput_container_consent a,
.gf_whiteform .gform_wrapper .gchoice a,
.gf_whiteform .gform_wrapper .ginput_container_consent a,
.gform_wrapper.gf_whiteform .gchoice a,
.gform_wrapper.gf_whiteform .ginput_container_consent a {
	color: #ffffff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Dark/orange background validation summary */
.gf_whiteform_wrapper .gform_wrapper .gform_validation_errors,
.gform_wrapper.gf_whiteform_wrapper .gform_validation_errors,
.gf_whiteform .gform_wrapper .gform_validation_errors,
.gform_wrapper.gf_whiteform .gform_validation_errors {
	color: var(--bcd-gf-red);
	background: #ffffff;
	border: 2px solid var(--bcd-gf-red) !important;
	border-radius: 30px !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
	padding: 20px 24px;
	margin: 0 0 26px 0;
}

/* Dark/orange background validation summary text */
.gf_whiteform_wrapper .gform_wrapper .gform_validation_errors h2,
.gf_whiteform_wrapper .gform_wrapper .gform_validation_errors .gform_submission_error,
.gform_wrapper.gf_whiteform_wrapper .gform_validation_errors h2,
.gform_wrapper.gf_whiteform_wrapper .gform_validation_errors .gform_submission_error,
.gf_whiteform .gform_wrapper .gform_validation_errors h2,
.gf_whiteform .gform_wrapper .gform_validation_errors .gform_submission_error,
.gform_wrapper.gf_whiteform .gform_validation_errors h2,
.gform_wrapper.gf_whiteform .gform_validation_errors .gform_submission_error {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	color: var(--bcd-gf-red);
	font-size: 18px;
	line-height: 1.45;
	font-weight: 400;
	margin: 0;
	padding: 0;
}

/* Dark/orange background field-level validation messages */
.gf_whiteform_wrapper .gform_wrapper .validation_message,
.gf_whiteform_wrapper .gform_wrapper .gfield_validation_message,
.gf_whiteform_wrapper .gform_wrapper [id^="validation_message_"],
.gform_wrapper.gf_whiteform_wrapper .validation_message,
.gform_wrapper.gf_whiteform_wrapper .gfield_validation_message,
.gform_wrapper.gf_whiteform_wrapper [id^="validation_message_"],
.gf_whiteform .gform_wrapper .validation_message,
.gf_whiteform .gform_wrapper .gfield_validation_message,
.gf_whiteform .gform_wrapper [id^="validation_message_"],
.gform_wrapper.gf_whiteform .validation_message,
.gform_wrapper.gf_whiteform .gfield_validation_message,
.gform_wrapper.gf_whiteform [id^="validation_message_"] {
	color: var(--bcd-gf-red);
	background: #ffffff;
	border: 2px solid var(--bcd-gf-red) !important;
	border-radius: 30px !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
	padding: 16px 20px;
	margin-top: 12px;
	font-size: 16px;
	line-height: 1.45;
}

/* Mobile */
@media (max-width: 768px) {
	.gform_wrapper input[type="text"],
	.gform_wrapper input[type="email"],
	.gform_wrapper input[type="tel"],
	.gform_wrapper input[type="url"],
	.gform_wrapper input[type="number"],
	.gform_wrapper input[type="password"],
	.gform_wrapper input[type="search"],
	.gform_wrapper input[type="date"],
	.gform_wrapper input[type="time"],
	.gform_wrapper select,
	.gform_wrapper textarea,
	.gform_wrapper .gform_validation_errors,
	.gform_wrapper .validation_message,
	.gform_wrapper .gfield_validation_message,
	.gform_wrapper [id^="validation_message_"] {
		border-radius: 30px !important;
	}

	.gform_wrapper input[type="text"],
	.gform_wrapper input[type="email"],
	.gform_wrapper input[type="tel"],
	.gform_wrapper input[type="url"],
	.gform_wrapper input[type="number"],
	.gform_wrapper input[type="password"],
	.gform_wrapper input[type="search"],
	.gform_wrapper input[type="date"],
	.gform_wrapper input[type="time"],
	.gform_wrapper select,
	.gform_wrapper textarea {
		min-height: 46px;
	}
}