/* ==========================================================================
   Ara — booking page, BookingPress form and Fluent Forms enquiry form.
   Loaded after ara.css. Plugin overrides are scoped to .ara-bp / .ara-ff so
   they never leak into the WordPress admin.
   ========================================================================== */

/* ---------- Short hero ---------- */
.e-con.ara-hero.ara-hero--short { min-height: min(78vh, 720px); }

/* ---------- Shared bits ---------- */
.ara-price {
	font-family: var(--ara-sans);
	font-size: 13px !important;
	letter-spacing: .08em;
	color: var(--ara-olive) !important;
	font-weight: 500 !important;
	margin-top: 14px !important;
}
.ara-offer .ara-price { margin-top: 10px !important; }

.e-con.ara-cta-actions { --flex-direction: row; --align-items: center; --justify-content: center; --column-gap: 32px; width: auto; }
.e-con.ara-cta-actions .elementor-widget { width: auto; }
.e-con.ara-s .ara-link--light .elementor-button { color: var(--ara-cream); }
.e-con.ara-s .ara-link--light .elementor-button:hover { color: var(--ara-gold); }

/* ---------- Choose your experience ---------- */
.e-con.ara-choices { --padding-top: 110px; --padding-bottom: 40px; }
.e-con.ara-choice {
	flex: 1 1 0;
	background: var(--ara-card);
	border: 1px solid var(--ara-line);
	--padding-bottom: 32px;
	transition: transform .7s cubic-bezier(.2, .7, .2, 1), box-shadow .7s cubic-bezier(.2, .7, .2, 1);
}
.e-con.ara-choice:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -26px rgba(40, 30, 15, .35); }
.e-con.ara-choice .elementor-widget-image { --ara-mb: 28px; overflow: hidden; }
.e-con.ara-choice img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform 1.4s cubic-bezier(.2, .7, .2, 1); }
.e-con.ara-choice:hover img { transform: scale(1.04); }
.e-con.ara-choice > .elementor-widget:not(.elementor-widget-image) { padding-left: 28px; padding-right: 28px; }
.e-con.ara-choice .ara-eyebrow { --ara-mb: 10px; }
.e-con.ara-choice .ara-card-title .elementor-heading-title { font-family: var(--ara-display); font-size: 36px; line-height: 1.1; color: var(--ara-brown); }
.e-con.ara-choice .ara-card-title { --ara-mb: 16px; }
.e-con.ara-choice .ara-choice-btn { margin-top: auto; width: auto; }
.e-con.ara-choice .ara-price { --ara-mb: 22px; }

.ara-ticks { list-style: none; margin: 0; padding: 0; }
.ara-ticks li {
	position: relative;
	padding: 7px 0 7px 22px;
	border-bottom: 1px solid rgba(58, 29, 26, .08);
	font-size: 14.5px;
	line-height: 1.5;
}
.ara-ticks li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 15px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ara-gold);
}

/* ---------- Booking: steps + form ---------- */
.e-con.ara-booking {
	--flex-direction: row;
	--align-items: flex-start;
	--column-gap: 72px;
	--padding-top: 90px;
	--padding-bottom: 130px;
}
.e-con.ara-booking-aside { flex: 0 0 340px; position: sticky; top: 100px; }
.e-con.ara-booking-aside .ara-h2 { --ara-mb: 36px; }
.e-con.ara-booking-aside .ara-h2 .elementor-heading-title { font-size: clamp(36px, 3.2vw, 48px); }
.e-con.ara-booking-form { flex: 1 1 0; min-width: 0; }

.e-con.ara-step {
	--flex-direction: row;
	--column-gap: 18px;
	padding: 18px 0;
	border-top: 1px solid var(--ara-line);
}
.e-con.ara-step .ara-step-num { width: 44px !important; flex: 0 0 44px; }
.ara-step__n {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(75, 90, 31, .45);
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--ara-olive);
}
.ara-step-title .elementor-heading-title { font-family: var(--ara-sans); font-size: 17px; font-weight: 500 !important; color: var(--ara-brown); }
.ara-step-title { --ara-mb: 4px; }
.e-con.ara-step .ara-text, .e-con.ara-step .ara-text p,
.e-con.ara-enq-item .ara-text, .e-con.ara-enq-item .ara-text p { font-size: 14.5px; line-height: 1.6; }

/* ---------- BookingPress form ---------- */
.ara-bp .bpa-frontend-main-container {
	--bpa-font: var(--ara-sans);
	font-family: var(--ara-sans) !important;
	background: #fffdf7;
	border: 1px solid var(--ara-line);
	border-radius: 4px;
	box-shadow: 0 30px 60px -40px rgba(40, 30, 15, .35);
	padding: 8px;
}
.ara-bp .bpa-frontend-main-container *:not(i):not([class*="icon"]) { font-family: var(--ara-sans) !important; }
.ara-bp .bpa-front-tabs,
.ara-bp .bpa-front-default-card,
.ara-bp .bpa-front-tab-menu { background: transparent !important; box-shadow: none !important; border-color: var(--ara-line) !important; }
.ara-bp .bpa-front-tab-menu { border-radius: 0 !important; }
.ara-bp .bpa-front-tab-menu--item { border-radius: 2px !important; }
.ara-bp .bpa-front-tm--item-label { letter-spacing: .06em; }
.ara-bp .bpa-front-module-heading {
	font-family: var(--ara-display) !important;
	font-size: 28px !important;
	font-weight: 400 !important;
	color: var(--ara-brown) !important;
	letter-spacing: -0.01em;
}
.ara-bp .bpa-front-si-card {
	border-radius: 2px !important;
	border-color: var(--ara-line) !important;
	background: var(--ara-card) !important;
	transition: border-color .3s, transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s;
}
.ara-bp .bpa-front-si-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -20px rgba(40, 30, 15, .4); border-color: #d6c7a8 !important; }
.ara-bp .bpa-front-si__card-body--heading { font-size: 16px !important; font-weight: 500 !important; color: var(--ara-brown) !important; }
/* Duration ("10 h", "6 h") is internal scheduling only — times are explained in the copy. */
.ara-bp .bpa-front-si-cb__specs-item:first-child { display: none !important; }
.ara-bp .bpa-front-btn { border-radius: 999px !important; letter-spacing: .14em; text-transform: uppercase; font-size: 11.5px !important; }
.ara-bp .bpa-front-btn--primary { box-shadow: none !important; }
.ara-bp .el-input__inner,
.ara-bp .el-textarea__inner,
.ara-bp input[type="text"],
.ara-bp input[type="email"],
.ara-bp input[type="tel"] { border-radius: 2px !important; border-color: var(--ara-line) !important; background: #fff !important; }

/* ---------- Enquiry ---------- */
.e-con.ara-enquire {
	background: var(--ara-sage);
	--flex-direction: row;
	--align-items: flex-start;
	--column-gap: 80px;
	--padding-top: 120px;
	--padding-bottom: 140px;
}
.e-con.ara-enquire-copy { flex: 0 0 400px; }
.e-con.ara-enquire-copy .ara-h2 { --ara-mb: 24px; }
.e-con.ara-enquire-copy > .ara-text { --ara-mb: 28px; }
.e-con.ara-enq-item { padding: 18px 0; border-top: 1px solid rgba(58, 29, 26, .15); }
.e-con.ara-enq-item .ara-price { margin-top: 6px !important; }
.e-con.ara-enquire-form {
	flex: 1 1 0;
	min-width: 0;
	background: #fffdf7;
	border: 1px solid var(--ara-line);
	padding: 44px !important;
	box-shadow: 0 30px 60px -40px rgba(40, 30, 15, .35);
}
.e-con.ara-enquire-form:target, #enquire:target .ara-enquire-form { outline: 2px solid var(--ara-gold); }

/* ---------- Fluent Forms ---------- */
.ara-ff .fluentform,
.ara-ff .fluentform * { font-family: var(--ara-sans) !important; }
.ara-ff .ff-el-group { margin-bottom: 22px !important; }
.ara-ff .ff-el-input--label label {
	font-size: 11px !important;
	letter-spacing: .22em !important;
	text-transform: uppercase;
	font-weight: 500 !important;
	color: var(--ara-brown) !important;
}
.ara-ff .ff-el-form-control {
	border: 0 !important;
	border-bottom: 1px solid rgba(58, 29, 26, .3) !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 10px 2px !important;
	font-size: 16px !important;
	font-weight: 300 !important;
	color: var(--ara-brown) !important;
	box-shadow: none !important;
	transition: border-color .3s;
}
.ara-ff .ff-el-form-control:focus { border-bottom-color: var(--ara-olive) !important; }
.ara-ff .ff-el-form-control::placeholder { color: #a79a90 !important; }
.ara-ff select.ff-el-form-control { appearance: auto; }
.ara-ff .ff-btn-submit {
	background: var(--ara-olive) !important;
	border: 1px solid var(--ara-olive) !important;
	color: var(--ara-cream) !important;
	border-radius: 999px !important;
	padding: 17px 38px !important;
	font-size: 11px !important;
	letter-spacing: .3em !important;
	text-transform: uppercase;
	font-weight: 400 !important;
	transition: background-color .3s, color .3s !important;
}
.ara-ff .ff-btn-submit:hover { background: var(--ara-green) !important; }
.ara-ff .ff-message-success {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	font-size: 18px;
	color: var(--ara-brown);
}
.ara-ff .ff-message-success strong { font-family: var(--ara-display); font-weight: 400; font-size: 28px; display: block; margin-bottom: 6px; }

/* ---------- Thank-you page ---------- */
.e-con.ara-thanks-wrap { --align-items: center; --padding-top: 90px; --padding-bottom: 120px; }
.e-con.ara-thanks-wrap .ara-thanks-body { max-width: 720px; --ara-mb: 40px; }
.ara-thanks {
	background: #fffdf7;
	border: 1px solid var(--ara-line);
	padding: 48px;
	box-shadow: 0 30px 60px -40px rgba(40, 30, 15, .35);
	font-family: var(--ara-sans);
	color: var(--ara-body);
}
.ara-thanks__id { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--ara-brown); margin: 0 0 28px; }
.ara-thanks__id span { color: var(--ara-olive); }
.ara-thanks__summary { margin: 0 0 32px; display: grid; gap: 0; }
.ara-thanks__summary > div { display: flex; justify-content: space-between; gap: 24px; padding: 16px 0; border-top: 1px solid var(--ara-line); }
.ara-thanks__summary > div:last-child { border-bottom: 1px solid var(--ara-line); }
.ara-thanks__summary dt { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ara-brown); font-weight: 400; }
.ara-thanks__summary dd { margin: 0; text-align: right; font-size: 16px; color: var(--ara-brown); }
.ara-thanks__label { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ara-brown); margin: 0 0 12px; }
.ara-thanks__next ol { margin: 0 0 32px; padding-left: 20px; line-height: 1.7; font-size: 15.5px; }
.ara-thanks__next strong { font-weight: 500; color: var(--ara-brown); }
.ara-thanks__calendar a, .ara-thanks__calendar button { font-family: var(--ara-sans) !important; }
.e-con.ara-thanks-actions { --justify-content: center; }
@media (max-width: 767px) { .ara-thanks { padding: 28px 20px; } .ara-thanks__summary > div { flex-direction: column; gap: 4px; } .ara-thanks__summary dd { text-align: left; } }

/* ---------- Motion hooks for new sections ---------- */
.ara-motion .ara-choices .ara-choice { opacity: 0; visibility: hidden; transform: translateY(70px); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.e-con.ara-booking, .e-con.ara-enquire { --flex-direction: column; --row-gap: 48px; --align-items: stretch; }
	.e-con.ara-booking-aside, .e-con.ara-enquire-copy { flex: 1 1 auto; position: static; }
	/* Zero flex-basis inside a column breaks layout in Safari (see ara.css pillars). */
	.e-con.ara-booking-form, .e-con.ara-enquire-form { flex: 0 0 auto; }
}
@media (max-width: 767px) {
	.e-con.ara-hero.ara-hero--short { min-height: 560px; }
	.e-con.ara-choices { --padding-top: 70px; }
	.e-con.ara-choice { flex: 0 0 auto; }
	.e-con.ara-booking { --padding-top: 60px; --padding-bottom: 80px; }
	.e-con.ara-enquire { --padding-top: 80px; --padding-bottom: 90px; }
	.e-con.ara-enquire-form { padding: 28px 20px !important; }
	.e-con.ara-cta-actions { --flex-direction: column; --row-gap: 18px; }
}
