/*
 * Ace Site redesign — homepage component styles
 *
 * Scoped under .ace-rd (ace-redesign) so the styles do not leak into other
 * Elementor widgets, the existing booking page, the WP admin, etc. Every
 * selector starts with .ace-rd. Each widget renders its root as
 *   <div class="ace-rd ace-rd-<section>">…</div>
 * which lets shared utilities (.h2, .label, .btn) work across all widgets.
 */

.ace-rd{
	--navy:#0d1f2d;
	--aegean:#1a6b9a;
	--sky:#5fb3d4;
	--sand:#ebe0cb;
	--stone:#a89b82;
	--gold:#c9913c;
	--white:#faf8f4;
	--ink:#0d1f2d;
	--accent:#c9913c;
	--accent-deep:#a87726;
	--pad-lg:7rem;
	--pad-md:6rem;
	--pad-sm:3rem;

	font-family:'Inter',sans-serif;
	color:var(--ink);
	font-weight:300;
	line-height:1.5;
}
.ace-rd *{box-sizing:border-box}
.ace-rd a{color:inherit;text-decoration:none}

/* ── shared utilities ─────────────────────────────────────────── */
.ace-rd .ace-h2{
	font-family:'Cormorant Garamond',serif;
	font-size:clamp(2.2rem,3.8vw,3.4rem);
	font-weight:300;
	line-height:1.1;
	color:var(--navy);
	margin:0 0 1.6rem;
}
.ace-rd .ace-h2 em{font-style:italic;color:var(--aegean);font-weight:400}
.ace-rd .ace-body{font-size:.97rem;line-height:1.85;color:#3a4f5e;max-width:440px;margin:0}
.ace-rd .ace-label{
	font-size:.68rem;
	letter-spacing:.26em;
	text-transform:uppercase;
	color:var(--accent);
	margin:0 0 1.4rem;
	display:flex;
	align-items:center;
	gap:.8rem;
	font-weight:500;
}
.ace-rd .ace-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.ace-rd .ace-label.ace-label--center{justify-content:center}
.ace-rd .ace-label.ace-label--center::before{display:none}

.ace-rd .ace-btn{
	padding:1rem 2.4rem;
	border:none;
	cursor:pointer;
	font-family:'Inter',sans-serif;
	font-size:.78rem;
	letter-spacing:.16em;
	text-transform:uppercase;
	font-weight:500;
	transition:.25s;
	display:inline-block;
	text-align:center;
}
.ace-rd .ace-btn--primary{background:var(--accent);color:var(--navy)}
.ace-rd .ace-btn--primary:hover{background:var(--accent-deep);transform:translateY(-2px);color:#fff}
.ace-rd .ace-btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.ace-rd .ace-btn--ghost:hover{border-color:var(--sky);color:var(--sky)}

/* ── HERO ─────────────────────────────────────────────────────── */
.ace-rd-hero{
	min-height:100vh;
	position:relative;
	display:flex;
	align-items:flex-end;
	padding:0 3rem 12rem;
	overflow:hidden;
	background:#0a1825;
}
.ace-rd-hero .hero-bg{
	position:absolute;inset:0;z-index:0;
	background:
		linear-gradient(180deg,rgba(13,31,45,.15) 0%,rgba(13,31,45,.55) 55%,rgba(13,31,45,.92) 100%),
		radial-gradient(ellipse at 75% 35%,#2580ad 0%,#15425e 35%,#0a1825 75%);
}
.ace-rd-hero .hero-bg::before{
	content:'';position:absolute;inset:0;
	background:
		radial-gradient(circle at 78% 28%,rgba(255,210,150,.35) 0%,rgba(255,180,90,.12) 8%,transparent 18%),
		radial-gradient(ellipse at 60% 90%,rgba(95,179,212,.25) 0%,transparent 60%);
}
.ace-rd-hero .horizon{
	position:absolute;left:0;right:0;bottom:0;height:48%;z-index:1;
	background:linear-gradient(180deg,transparent 0%,rgba(13,31,45,.4) 60%,rgba(13,31,45,.85) 100%);
	pointer-events:none;
}
.ace-rd-hero .horizon::before{
	content:'';position:absolute;left:-5%;right:-5%;bottom:30%;height:1px;
	background:linear-gradient(90deg,transparent,rgba(255,210,150,.5),transparent);
}
.ace-rd-hero .island{
	position:absolute;bottom:25%;left:8%;right:55%;height:40px;z-index:1;
	background:linear-gradient(180deg,#0a1f2e,#06121c);
	clip-path:polygon(0 100%,8% 60%,15% 70%,28% 40%,40% 55%,52% 30%,65% 50%,78% 35%,90% 60%,100% 50%,100% 100%);
	opacity:.7;
}
/* Photo background mode: when the widget's `bg_image` control is set,
 * the widget adds .ace-rd-hero--photo and ditches the horizon/island
 * artwork. The .hero-bg layer carries the photo (inline style) and a
 * separate .hero-overlay layer carries the tint (inline style).
 * The decorative gradient/glow on .hero-bg::before is suppressed so the
 * photo reads cleanly. */
.ace-rd-hero--photo .hero-bg{
	background-size:cover !important;
	background-repeat:no-repeat;
}
.ace-rd-hero--photo .hero-bg::before{display:none}
.ace-rd-hero--photo .hero-overlay{
	position:absolute;inset:0;z-index:1;pointer-events:none;
}
.ace-rd-hero .hero-content{position:relative;z-index:3;max-width:780px}
.ace-rd-hero .hero-eyebrow{
	display:flex;align-items:center;gap:.9rem;
	font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
	color:var(--accent);margin-bottom:1.4rem;
}
.ace-rd-hero .hero-eyebrow::before{content:'';width:42px;height:1px;background:var(--accent)}
.ace-rd-hero .hero-title{
	font-family:'Cormorant Garamond',serif;
	font-size:clamp(2.6rem,6.8vw,6.4rem);
	font-weight:300;line-height:1.02;color:#fff;margin:0 0 1.6rem;letter-spacing:-.01em;
}
.ace-rd-hero .hero-title em{font-style:italic;color:var(--sky);font-weight:400}
.ace-rd-hero .hero-sub{
	font-size:1.02rem;color:rgba(255,255,255,.72);
	max-width:500px;line-height:1.75;margin:0 0 2.8rem;
}
.ace-rd-hero .hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.ace-rd-hero .hero-stats{
	position:absolute;right:3rem;bottom:14rem;z-index:3;
	display:flex;flex-direction:column;gap:1.6rem;text-align:right;
}
.ace-rd-hero .stat-num{
	font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;color:#fff;line-height:1;
}
.ace-rd-hero .stat-num em{
	font-style:italic;color:var(--accent);font-size:1.4rem;
	margin-right:.2rem;vertical-align:.4em;
}
.ace-rd-hero .stat-label{
	font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
	color:rgba(255,255,255,.45);margin-top:.3rem;
}

/* ─────────────────────────────────────────────────────────────────
 * SAND FRAME — drop-in styling for an Elementor SECTION that contains
 * VikRentCar's "VikRentCar Search Form" widget (mod_vikrentcar_search).
 *
 * USAGE:
 *   1. In Elementor, edit the section that holds the booking form.
 *   2. Advanced tab → CSS Classes → enter:  ace-rd-sand-frame
 *   3. Inside that section, the official VikRentCar widget keeps doing
 *      ALL the form work — submission, validation, calendar JS, field
 *      names. We never touch them.
 *   4. Optional inner widgets to add eyebrow / title / help text:
 *        Heading widget,   CSS class:  ace-rd-eyebrow
 *        Heading widget,   CSS class:  ace-rd-title       (use <em>x</em> in the heading text for the gold italic)
 *        Text widget,      CSS class:  ace-rd-help
 * ───────────────────────────────────────────────────────────────── */
.ace-rd-sand-frame,
.ace-rd-vrc-funnel .vrcdivsearch{
	font-family:'Inter',sans-serif;
	color:var(--ink, #0d1f2d);
	position:relative;
	z-index:1;
	background:linear-gradient(180deg,#fffbef,#f5ead0);
	border-radius:6px;
	overflow:hidden;
	box-shadow:
		0 1px 0 rgba(255,255,255,.9) inset,
		0 30px 60px -25px rgba(13,31,45,.55),
		0 60px 90px -45px rgba(13,31,45,.4),
		0 0 0 1px rgba(168,155,130,.18);
}
/* ─────────────────────────────────────────────────────────────────
 * BACKGROUND UTILITY CLASSES — apply directly to any Elementor SECTION
 * via Advanced tab → CSS Classes. These replace the previous
 * `margin-top:-7.5rem` overlap on the booking card (which crossed
 * section boundaries and broke on pages where the section above
 * wasn't tall enough — e.g., the Fleet page).
 *
 * Recommended pattern for the booking card:
 *   • Section ABOVE the booking card (hero):      ace-rd-bg-navy
 *   • Section WITH the booking card:              (no bg class, just the
 *                                                  ace-rd-sand-frame class
 *                                                  it already has)
 *   • Section BELOW the booking card (promise):   ace-rd-bg-cream
 *
 * That gives you a clean three-section stack — navy → booking card →
 * cream — with no negative margins and no nesting of sections. */
.ace-rd-bg-navy{
	background:#0d1f2d !important;
	color:#fffbef;
}
.ace-rd-bg-cream{
	background:linear-gradient(180deg,#fffbef,#f5ead0) !important;
	color:#0d1f2d;
}
.ace-rd-bg-sand{
	background:#f5ead0 !important;
	color:#0d1f2d;
}

/* Zero the column's inner widget-wrap horizontal + bottom padding so the
 * form (and the SEARCH button) fills the card edge-to-edge with no cream
 * strips on the sides or below. Top padding stays for breathing room above
 * the eyebrow. The eyebrow / title widgets get their own left+right padding
 * below so they stay nicely indented from the card edge. */
.ace-rd-sand-frame.elementor-top-column > .elementor-widget-wrap,
.ace-rd-sand-frame > .elementor-widget-wrap{
	padding-left:0 !important;
	padding-right:0 !important;
	padding-bottom:0 !important;
	padding-top:1.6rem !important;
}
.ace-rd-sand-frame .ace-rd-eyebrow,
.ace-rd-sand-frame .ace-rd-title{
	padding-left:2.2rem !important;
	padding-right:2.2rem !important;
}

/* The booking card lifts above the hero (z-index:1) but the sticky header
 * must always win over both. Force Elementor's sticky elements to a clearly
 * higher z-index so the lifted booking never paints over the navigation. */
.elementor-sticky.elementor-sticky--active,
nav.elementor-section.elementor-sticky--active{
	z-index:9999 !important;
}

/* Optional inner heading / text helpers ──────────────────────────
 * Selectors widened to cover BOTH Elementor core's heading widget
 * (.elementor-heading-title) AND Jeg Elementor Kit's heading widget
 * (.heading-title). text-transform:none !important on the title so
 * theme styles can't force uppercase. */
.ace-rd-sand-frame .ace-rd-eyebrow .elementor-heading-title,
.ace-rd-sand-frame .ace-rd-eyebrow .heading-title,
.ace-rd-sand-frame .ace-rd-eyebrow h1,
.ace-rd-sand-frame .ace-rd-eyebrow h2,
.ace-rd-sand-frame .ace-rd-eyebrow h3,
.ace-rd-sand-frame .ace-rd-eyebrow h4{
	font-family:'Inter',sans-serif !important;
	font-size:.7rem !important;
	letter-spacing:.26em !important;
	text-transform:uppercase !important;
	color:#a87726 !important;
	font-weight:500 !important;
	display:inline-flex !important;
	align-items:center;
	gap:.7rem;
	margin:0 0 .4rem !important;
	line-height:1 !important;
}
.ace-rd-sand-frame .ace-rd-eyebrow .elementor-heading-title::before,
.ace-rd-sand-frame .ace-rd-eyebrow .heading-title::before,
.ace-rd-sand-frame .ace-rd-eyebrow h1::before,
.ace-rd-sand-frame .ace-rd-eyebrow h2::before,
.ace-rd-sand-frame .ace-rd-eyebrow h3::before,
.ace-rd-sand-frame .ace-rd-eyebrow h4::before{
	content:'';width:24px;height:1px;background:#a87726;
}

.ace-rd-sand-frame .ace-rd-title .elementor-heading-title,
.ace-rd-sand-frame .ace-rd-title .heading-title,
.ace-rd-sand-frame .ace-rd-title h1,
.ace-rd-sand-frame .ace-rd-title h2,
.ace-rd-sand-frame .ace-rd-title h3,
.ace-rd-sand-frame .ace-rd-title h4{
	font-family:'Cormorant Garamond',serif !important;
	font-size:clamp(1.6rem, 2.5vw, 2.2rem) !important;
	font-weight:400 !important;
	line-height:1.1 !important;
	color:#0d1f2d !important;
	text-transform:none !important;
	letter-spacing:.005em !important;
	margin:0 !important;
}
.ace-rd-sand-frame .ace-rd-title .elementor-heading-title em,
.ace-rd-sand-frame .ace-rd-title .heading-title em,
.ace-rd-sand-frame .ace-rd-title h1 em,
.ace-rd-sand-frame .ace-rd-title h2 em,
.ace-rd-sand-frame .ace-rd-title h3 em,
.ace-rd-sand-frame .ace-rd-title h4 em{
	font-style:italic !important;
	color:#a87726 !important;
	text-transform:none !important;
}

/* Help text — positioned absolutely top-right of the sand card so it
 * sits in the same row as the eyebrow + title instead of stacking
 * below them and adding height. */
.ace-rd-sand-frame .ace-rd-help{
	position:absolute;
	top:1.6rem;
	right:2rem;
	max-width:280px;
	text-align:right;
	font-style:italic;
	font-family:'Cormorant Garamond',serif !important;
	font-size:1rem !important;
	color:rgba(13,31,45,.55) !important;
	z-index:2;
}
.ace-rd-sand-frame .ace-rd-help .elementor-widget-container,
.ace-rd-sand-frame .ace-rd-help p{
	margin:0 !important;
}
.ace-rd-sand-frame .ace-rd-help p,
.ace-rd-sand-frame .ace-rd-help{
	font-style:italic !important;
	color:rgba(13,31,45,.55) !important;
}
@media (max-width:860px){
	.ace-rd-sand-frame .ace-rd-help{
		position:static;
		text-align:left;
		max-width:none;
		margin-top:.5rem;
	}
}

/* ── VikRentCar Search Form widget output (we restyle, never replace) ─
 * Strategy: outer 3-column grid on <form> for the three sibling sections
 * (pickup / datetimes / submit). Each section is itself a sub-grid so its
 * inner .vrcsfentrycont children become equal cells. Total visible cells: 5.
 * We use !important on display because VikRentCar's own CSS sometimes wins
 * the cascade (loads after ours, identical specificity) and forces flex.
 *
 * NO JS modifications to VikRentCar — we never replace its <select> with
 * custom dropdowns or attach handlers that could break its validation
 * (vrcValidateSearch810) or calendar picker. Pure CSS only.
 */
.ace-rd-sand-frame .elementor-widget-wp-widget-mod_vikrentcar_search > .elementor-widget-container,
.ace-rd-vrc-funnel .elementor-widget-shortcode > .elementor-widget-container{padding:0}
.ace-rd-sand-frame .vrcdivsearch{padding:0;margin:0;overflow:visible}
/* Inner wrappers can overflow (so native select popups paint outside),
 * but the .ace-rd-sand-frame itself uses overflow:hidden so the card's
 * border-radius corners stay rounded. Native select popups render at
 * the OS level, not as DOM children, so they are NOT clipped by hidden. */
.ace-rd-sand-frame .elementor-widget-wp-widget-mod_vikrentcar_search,
.ace-rd-sand-frame .vrcdivsearchmodule,
.ace-rd-vrc-funnel .elementor-widget-shortcode,
.ace-rd-vrc-funnel .vrcdivsearch-inner{overflow:visible}
/* OS-native popup gets light chrome on light cards */
.ace-rd-sand-frame .vrcdivsearchmodule,
.ace-rd-vrc-funnel .vrcdivsearch-inner{color-scheme:light}
.ace-rd-sand-frame .vrcdivsearchmodule form,
.ace-rd-vrc-funnel .vrcdivsearch-inner > form{
	display:grid !important;
	/* Pickup section : datetime section : submit.
	 * Pickup section is 1.4fr (locations need ~280px each so the label
	 * "DROP OFF LOCATION" with its uppercase letter-spacing fits on a
	 * single line and "AOK Karpathos Airport" doesn't truncate).
	 * Datetime section is 1fr (~200px each, plenty for date+time stacked).
	 * minmax(0,…) lets sections shrink if the card is narrow.
	 * min-content on submit = button takes only what it needs. */
	grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) min-content;
	align-items:stretch;
	gap:1px;
	background:transparent;
	margin:0;
	padding:0;
}
.ace-rd-sand-frame .vrc-searchmod-section-pickup,
.ace-rd-sand-frame .vrc-searchmod-section-datetimes,
.ace-rd-vrc-funnel .vrc-searchf-section-locations,
.ace-rd-vrc-funnel .vrc-searchf-section-datetimes{
	display:grid !important;
	/* minmax(0, 1fr) is critical — bare `1fr` defaults to `minmax(auto,
	 * 1fr)` which lets cells be at least their min-content size. The
	 * date <input> has an intrinsic 10-character min-content (~150px)
	 * and once VikRentCar's JS populates it (e.g. "13/05/2026"), the
	 * cell cannot shrink below that, so the wrapper extends past the
	 * cell boundary into SEARCH. minmax(0, 1fr) breaks that floor and
	 * lets the cells split the section's width exactly evenly. */
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:1px;
	background:transparent;
	align-items:stretch;
	padding:0;
	margin:0;
}
.ace-rd-sand-frame .vrc-searchmod-section-sbmt,
.ace-rd-vrc-funnel .vrc-searchf-section-sbmt{
	display:flex !important;
	align-items:stretch;
	padding:0;
	margin:0;
}
/* Submit cell: zero padding + no border so the dark navy button fills
 * edge-to-edge as in the mockup (no cream gap around the button). */
.ace-rd-sand-frame .vrc-searchmod-section-sbmt .vrcsfentrycont,
.ace-rd-vrc-funnel .vrc-searchf-section-sbmt .vrcsfentrycont{
	padding:0 !important;
	border-right:none !important;
	display:flex !important;
	align-items:stretch !important;
}
.ace-rd-sand-frame .vrc-searchmod-section-sbmt .vrcsfentrycont:hover,
.ace-rd-vrc-funnel .vrc-searchf-section-sbmt .vrcsfentrycont:hover{
	background:transparent !important;
}
.ace-rd-sand-frame .vrcsfentrysubmit{
	height:100% !important;
	width:100% !important;
	display:flex !important;
	align-items:stretch !important;
	padding:0 !important;
	margin:0 !important;
}
/* Hidden inputs on the form should never become grid items */
.ace-rd-sand-frame .vrcdivsearchmodule form > input[type=hidden],
.ace-rd-vrc-funnel .vrcdivsearch-inner > form > input[type=hidden]{display:none !important}

/* VikRentCar wraps its fields in intermediate elements that VRC's own
 * CSS gives intrinsic min-widths (e.g., .vrcsfentrylabsel has
 * min-width:200px hard-coded; .vrcsfentrytime inherits min-content from
 * the time-row spans). These intermediate wrappers are between our
 * .vrcsfentrycont (cell) and the actual .vrcsfentrydate /
 * .vrc-sf-time-container leaf elements, so styling only the leaves
 * doesn't help — they just inherit the parent's 200/210 floor. The only
 * reliable fix is to force every descendant of a search-form cell to be
 * shrinkable, with a width ceiling of 100%, so the booking widget always
 * fits its grid track no matter what HTML VRC injects after JS settles. */
.ace-rd-sand-frame .vrcsfentrycont *{
	min-width:0 !important;
	max-width:100% !important;
	box-sizing:border-box !important;
}
.ace-rd-sand-frame .vrcsfentrylabsel,
.ace-rd-sand-frame .vrcsfentrytime{
	width:100% !important;
}
/* The wrapping <span>s inside .vrc-sf-time-container have flex:1 1 0%
 * from VRC's CSS, which makes them grow to fill available space once
 * VRC's JS populates options. Force them to size by content only. The
 * earlier `> *` selector missed these because they're nested deeper. */
.ace-rd-sand-frame .vrc-sf-time-container span{
	flex:0 0 auto !important;
	width:auto !important;
}
.ace-rd-sand-frame .vrcsfentrycont{
	padding:1.5rem 1.8rem;display:flex;flex-direction:column;justify-content:center;
	position:relative;background:transparent;border-right:1px solid rgba(168,155,130,.25);
	transition:background .2s;
	min-width:0;
	overflow:hidden;
}
.ace-rd-sand-frame .vrcsfentrycont:hover{background:rgba(255,255,255,.45)}
.ace-rd-sand-frame .vrcsfentrycont label{
	font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
	color:#a87726;margin:0 0 .55rem;display:block;font-weight:600;
	/* Defensive: labels are designed to be one line. If the cell happens
	 * to be narrower than the rendered label width (e.g. on a mid-size
	 * tablet viewport), let the label overflow rather than wrap awkwardly
	 * onto a second line which throws off vertical alignment. */
	white-space:nowrap;
}
.ace-rd-sand-frame .vrcsfentrycont select,
.ace-rd-sand-frame .vrcsfentrydate input[type=text]{
	width:100%;background:transparent;border:none;font-family:'Inter',sans-serif;font-weight:400;
	font-size:1rem;padding:0;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;
	color:#0d1f2d;
}
.ace-rd-sand-frame .vrcsfentryselect{position:relative}
/* Hide VikRentCar's default ▾ glyph if it ever renders one — we use SVG below */
.ace-rd-sand-frame .vrcsfentryselect::after{display:none}

/* Custom amber chevron on every select inside the sand frame. Painted via
 * background-image so we don't touch VikRentCar's HTML. Force transparent
 * background, hide native chrome, no border (we add border-bottom separately
 * for the inline time-row selects). */
.ace-rd-sand-frame .vrcsfentrycont select,
.ace-rd-sand-frame .vrc-sf-time-container select{
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	background-color:transparent !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23a87726' stroke-width='1.6'><path d='M1 1.5l5 5 5-5'/></svg>") !important;
	background-repeat:no-repeat !important;
	background-position:right .2rem center !important;
	background-size:10px !important;
	border:none !important;
	box-shadow:none !important;
	padding-right:1.2rem !important;
}
/* Smaller chevron + faint underline for the inline hour/minute selects */
.ace-rd-sand-frame .vrc-sf-time-container select{
	background-size:8px !important;
	padding-right:.9rem !important;
	border-bottom:1px solid rgba(13,31,45,.18) !important;
}

/* Style native <option> chrome — Firefox + Chromium respect this; Safari
 * partly. Sets the popup background and text to match the cream card. */
.ace-rd-sand-frame .vrcsfentrycont select option,
.ace-rd-sand-frame .vrcsfentrycont select optgroup,
.ace-rd-sand-frame .vrc-sf-time-container select option{
	background:#fffbef;
	color:#0d1f2d;
	font-family:'Inter',sans-serif;
	font-weight:400;
	padding:8px 12px;
}
.ace-rd-sand-frame .vrcsfentrycont select option:checked,
.ace-rd-sand-frame .vrc-sf-time-container select option:checked{
	background:#c9913c;
	color:#0d1f2d;
	font-weight:500;
}
/* Date input — subtle amber outline so users see the click target.
 * Background stays transparent (cream-on-cream), border is faint amber.
 * width:100% + box-sizing:border-box + min-width:0 are all required so
 * the wrapper shrinks to its cell. Without min-width:0 it inherits an
 * intrinsic min-content from the <input> child (~150px once populated)
 * and pokes past the cell into the SEARCH column. */
.ace-rd-sand-frame .vrcsfentrydate{
	position:relative;display:flex;align-items:center;gap:.4rem;
	width:100% !important;
	max-width:100% !important;
	min-width:0 !important;
	box-sizing:border-box !important;
	background:transparent !important;
	background-color:transparent !important;
	border:1px solid rgba(168,119,38,.25) !important;
	border-radius:3px !important;
	box-shadow:none !important;
	padding:.4rem 1.8rem .4rem .6rem !important;
	transition:border-color .2s !important;
}
/* Hide the FontAwesome calendar <i> sibling — its glyph fails to render
 * on the live frontend (FA cascade quirk; works fine in the Elementor
 * editor iframe). Replaced by the ::after pseudo-element below, which
 * paints an inline SVG calendar icon and has no dependency on FA. */
.ace-rd-sand-frame .vrcsfentrydate .vrc-caltri,
.ace-rd-sand-frame .vrcsfentrydate .vrc-caltrigger{
	display:none !important;
}
/* Calendar glyph as a pseudo-element layered on top of the wrapper.
 * Using ::after instead of background-image on the wrapper itself
 * because VikRentCar's CSS sometimes wins the bg-image cascade and
 * forces it back to none — a separate element with its own bg can't
 * be overridden by sibling rules. */
.ace-rd-sand-frame .vrcsfentrydate::after{
	content:"";
	position:absolute;
	top:50%;
	right:.55rem;
	width:14px;
	height:14px;
	transform:translateY(-50%);
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9913c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	pointer-events:none;
	opacity:.85;
}
.ace-rd-sand-frame .vrcsfentrydate:hover,
.ace-rd-sand-frame .vrcsfentrydate:focus-within{
	border-color:rgba(168,119,38,.55) !important;
}
.ace-rd-sand-frame .vrcsfentrydate input[type=text],
.ace-rd-sand-frame .vrcsfentrydate input.hasDatepicker{
	flex:1 1 0% !important;
	width:100% !important;
	min-width:0 !important;
	max-width:100% !important;
	box-sizing:border-box !important;
	background:transparent !important;
	background-color:transparent !important;
	border:none !important;
	box-shadow:none !important;
	cursor:pointer;
}
.ace-rd-sand-frame .vrc-caltrigger{color:#a87726;font-size:.95rem;cursor:pointer}
.ace-rd-sand-frame .vrcsfentrytime{margin-top:.55rem}
.ace-rd-sand-frame .vrcsfentrytime label{margin-bottom:.3rem}
/* Time row sizing: VikRentCar wraps each <select> in a flex-growing
 * <span> (flex:1 1 0%). Once VikRentCar's JS finishes populating the
 * <option> children, those wrapper spans expand to ~93px each to fill
 * available space (NOT the selects themselves — those stay 31px). Two
 * 93px spans + separator → 210px row, which overflows the ~200px cell
 * and bleeds into the SEARCH column. Pinning the spans to
 * `flex:0 0 auto` keeps them at their intrinsic width regardless of
 * what JS injects later, so the row stays compact and matches what the
 * Elementor editor iframe shows on first paint.
 *
 * The `> *` selector deliberately covers every direct child, including
 * the .vrctimesep ":" separator (which already had flex:0 0 auto, but
 * being explicit here avoids relying on cascade order with VRC's CSS). */
.ace-rd-sand-frame .vrc-sf-time-container{
	display:flex !important;
	flex-flow:row nowrap;
	align-items:center;
	gap:.3rem;
	max-width:100%;
	overflow:hidden;
}
.ace-rd-sand-frame .vrc-sf-time-container > *{
	flex:0 0 auto !important;
	min-width:0 !important;
	width:auto !important;
}
.ace-rd-sand-frame .vrc-sf-time-container select{
	font-size:.85rem !important;
	padding:0 .8rem .15rem 0 !important;
	color:rgba(13,31,45,.78);
	border-bottom:1px solid rgba(13,31,45,.18);
}
.ace-rd-sand-frame .vrctimesep{
	font-size:.85rem;opacity:.5;color:#0d1f2d;
}
.ace-rd-sand-frame .vrcsfentrysubmit,
.ace-rd-vrc-funnel .vrcsfentrysubmit{height:100%;display:flex;align-items:center;position:relative}
.ace-rd-sand-frame button.vrcsearch,
.ace-rd-sand-frame .vrcsfentrysubmit button[type=submit],
.ace-rd-sand-frame .btn.vrcsearch,
.ace-rd-vrc-funnel input.vrc-search-btn,
.ace-rd-vrc-funnel .vrcsfentrysubmit input[type=submit],
.ace-rd-vrc-funnel input.btn.vrc-search-btn{
	border:none !important;cursor:pointer;
	padding:1.5rem 2.4rem !important;
	font-family:'Inter',sans-serif !important;font-size:.78rem !important;
	letter-spacing:.16em !important;text-transform:uppercase !important;font-weight:600 !important;
	transition:.2s !important;background:#0d1f2d !important;color:#fff !important;
	/* match the card's 6px corner radius on the right side only */
	border-radius:0 6px 6px 0 !important;
	width:100% !important;height:100% !important;
	min-height:100% !important;
	min-width:160px !important;
	margin:0 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:.6rem;
}
.ace-rd-sand-frame button.vrcsearch:hover,
.ace-rd-sand-frame .vrcsfentrysubmit button[type=submit]:hover,
.ace-rd-vrc-funnel input.vrc-search-btn:hover,
.ace-rd-vrc-funnel .vrcsfentrysubmit input[type=submit]:hover{
	background:#000 !important;transform:translateX(2px);
}
/* Add a → arrow after the Search label without touching VikRentCar's button HTML.
 * On home the search element is a <button>, so the arrow rides inside as ::after.
 * On the funnel the element is <input type="submit"> which cannot have ::after,
 * so the arrow lives on the .vrcsfentrysubmit wrapper, positioned absolutely. */
.ace-rd-sand-frame button.vrcsearch::after,
.ace-rd-sand-frame .vrcsfentrysubmit button[type=submit]::after{
	content:'\2192';
	display:inline-block;
	margin-left:.6rem;
	font-weight:400;
}
.ace-rd-vrc-funnel .vrcsfentrysubmit:has(input[type=submit])::after{
	content:'\2192';
	position:absolute;
	right:1.6rem;
	top:50%;
	transform:translateY(-50%);
	color:#fff;
	font-family:'Inter',sans-serif;
	font-size:1rem;
	font-weight:400;
	pointer-events:none;
}
.ace-rd-vrc-funnel input.vrc-search-btn{
	padding-right:3rem !important;
}
.ace-rd-sand-frame .vrcsfentrycont select option{background:#0d1f2d;color:#fff}

/* ═════════════════════════════════════════════════════════════════
 * ACE-RD-VRC-FUNNEL — unified styling for VikRentCar's full booking
 * pipeline as rendered by  [vikrentcar view="vikrentcar"]  on a
 * dedicated host page (e.g. /car-search/).
 *
 * USAGE:
 *   1. Edit the Elementor section that holds the [vikrentcar …] shortcode.
 *   2. Advanced tab → CSS Classes → enter:  ace-rd-vrc-funnel
 *   3. Inside that section, the VikRentCar shortcode keeps doing ALL its
 *      work — POST routing, validation, calendar JS. We never touch
 *      VRC's HTML or JS; we only restyle the markup it renders.
 *
 * VRC routes every step of the funnel through POSTs back to the SAME
 * URL (no `?view=…` query param), so the wrapper class lives on the WP
 * page itself and our descendant rules target each step's distinctive
 * root selector:
 *     1. vikrentcar  — search form (.vrcdivsearch)
 *     2. carslist    — results grid (.vrc-search-results-block-list)
 *     3. showprc     — options/extras (form.vrc-showprc-form)
 *     4. oconfirm    — customer info + payment (.vrc-rental-summary-title)
 *     5. order       — confirmation (styling deferred to a later pass)
 *
 * The funnel intentionally does NOT use .ace-rd-sand-frame: sand-frame
 * is the lifted "card" treatment for the home/mini-widget search form,
 * the funnel is a full-section page treatment for the dedicated booking
 * URL. Brand palette is identical; only the layout language differs.
 *
 * Three VRC theme hooks appear on every step (.vrc-pref-color-btn,
 * .vrc-pref-color-btn-secondary, .vrc-pref-color-text) — themed once
 * here and inherited by every subsequent view automatically.
 *
 * See snapshots: ai/research/vrc-html-snapshots/{01-04}-*.html
 * ───────────────────────────────────────────────────────────────── */

/* ── Container & typography reset ───────────────────────────────── */
.ace-rd-vrc-funnel{
	font-family:'Inter',sans-serif;
	color:#0d1f2d;
	background:linear-gradient(180deg,#fffbef 0%, #f5ead0 100%);
	position:relative;
	padding:4rem 0;
}
.ace-rd-vrc-funnel,
.ace-rd-vrc-funnel input,
.ace-rd-vrc-funnel select,
.ace-rd-vrc-funnel textarea,
.ace-rd-vrc-funnel button{
	font-family:'Inter',sans-serif !important;
}
.ace-rd-vrc-funnel h1,
.ace-rd-vrc-funnel h2,
.ace-rd-vrc-funnel h3,
.ace-rd-vrc-funnel h4,
.ace-rd-vrc-funnel h5{
	font-family:'Cormorant Garamond',serif !important;
	font-weight:400 !important;
	color:#0d1f2d !important;
	line-height:1.15 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	margin-top:0 !important;
}
.ace-rd-vrc-funnel a{
	color:#a87726;
	text-decoration:none;
	transition:color .2s;
}
.ace-rd-vrc-funnel a:hover{ color:#c9913c }

/* VRC's "page heading" classes — h3.vrc-main-title on step 1, and
 * h2.vrc-rental-summary-title on step 4. Treat both as the funnel's H1
 * with a Cormorant treatment + an amber eyebrow row rendered via
 * ::before (matches the home-page sand-frame: "— MAKE YOUR RESERVATION
 * HERE" above the title). The eyebrow text differs per view; we set
 * it per-step further below. */
.ace-rd-vrc-funnel .vrc-main-title,
.ace-rd-vrc-funnel .vrc-rental-summary-title{
	font-family:'Cormorant Garamond',serif !important;
	font-size:clamp(1.8rem, 3.2vw, 2.6rem) !important;
	color:#0d1f2d !important;
	margin:0 0 1.2rem !important;
	font-weight:400 !important;
	letter-spacing:.005em !important;
	line-height:1.1 !important;
	text-transform:none !important;
	display:block;
	position:relative;
}
.ace-rd-vrc-funnel .vrc-main-title::before,
.ace-rd-vrc-funnel .vrc-rental-summary-title::before{
	display:inline-flex;
	align-items:center;
	gap:.7rem;
	font-family:'Inter',sans-serif;
	font-size:.7rem;
	letter-spacing:.26em;
	text-transform:uppercase;
	color:#a87726;
	font-weight:500;
	margin-bottom:.5rem;
	line-height:1;
}
/* Per-view eyebrow text (mirrors sand-frame's .ace-rd-eyebrow widget) */
.ace-rd-vrc-funnel .vrc-main-title::before{
	content:'— Make your reservation here';
}
.ace-rd-vrc-funnel .vrc-rental-summary-title::before{
	content:'— Final step — your details';
}
/* Stack the eyebrow above the title text */
.ace-rd-vrc-funnel .vrc-main-title,
.ace-rd-vrc-funnel .vrc-rental-summary-title{
	white-space:normal;
}
.ace-rd-vrc-funnel .vrc-main-title::before,
.ace-rd-vrc-funnel .vrc-rental-summary-title::before{
	display:block;
}

/* ── Global VRC theme hooks ─────────────────────────────────────── */
/* These three appear on every step. Theme once → brand cascades. */
.ace-rd-vrc-funnel .vrc-pref-color-btn,
.ace-rd-vrc-funnel input[type=submit].vrc-pref-color-btn,
.ace-rd-vrc-funnel .btn.vrc-pref-color-btn{
	background:#0d1f2d !important;
	color:#fff !important;
	border:1px solid #0d1f2d !important;
	border-radius:3px !important;
	padding:1rem 2.4rem !important;
	font-family:'Inter',sans-serif !important;
	font-size:.78rem !important;
	letter-spacing:.18em !important;
	text-transform:uppercase !important;
	font-weight:600 !important;
	cursor:pointer !important;
	transition:background .25s, transform .25s !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:.6rem;
}
.ace-rd-vrc-funnel .vrc-pref-color-btn:hover{
	background:#000 !important;
	border-color:#000 !important;
	transform:translateX(2px) !important;
}
.ace-rd-vrc-funnel .vrc-pref-color-btn-secondary{
	background:transparent !important;
	color:#a87726 !important;
	border:1px solid #c9913c !important;
	border-radius:3px !important;
	padding:.85rem 1.8rem !important;
	font-family:'Inter',sans-serif !important;
	font-size:.78rem !important;
	letter-spacing:.18em !important;
	text-transform:uppercase !important;
	font-weight:500 !important;
	cursor:pointer !important;
	transition:.25s !important;
}
.ace-rd-vrc-funnel .vrc-pref-color-btn-secondary:hover{
	background:#c9913c !important;
	color:#0d1f2d !important;
}
.ace-rd-vrc-funnel .vrc-pref-color-text{
	color:#a87726 !important;
}

/* ── Step bar (top progress indicator, steps 2/3/4) ─────────────── */
.ace-rd-vrc-funnel .vrcstepsbarcont{
	margin:0 0 2.5rem;
	padding:0;
	background:transparent;
}
.ace-rd-vrc-funnel .vrcstepbar{
	display:flex;
	list-style:none;
	margin:0;
	padding:0;
	gap:.5rem;
	border:none;
	background:transparent;
}
.ace-rd-vrc-funnel .vrcstepbar .vrc-step{
	flex:1 1 0;
	padding:.85rem 1rem;
	text-align:center;
	font-size:.62rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	font-weight:500;
	color:rgba(13,31,45,.5);
	background:rgba(255,255,255,.5);
	border-bottom:2px solid rgba(168,155,130,.25);
	transition:.25s;
}
.ace-rd-vrc-funnel .vrcstepbar .vrc-step-complete{
	color:#a87726;
	background:rgba(201,145,60,.08);
	border-bottom-color:#c9913c;
}
.ace-rd-vrc-funnel .vrcstepbar .vrc-step-current{
	color:#0d1f2d;
	background:#fff;
	border-bottom-color:#0d1f2d;
	font-weight:600;
}
.ace-rd-vrc-funnel .vrcstepbar .vrc-step-next{
	color:rgba(13,31,45,.35);
}

/* ── Itinerary summary (shared by carslist + oconfirm) ──────────── */
.ace-rd-vrc-funnel .vrc-itinerary-summary,
.ace-rd-vrc-funnel .vrc-itinerary-confirmation{
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	padding:1.5rem 2rem;
	margin:0 0 2rem;
	display:flex;
	gap:2rem;
	flex-wrap:wrap;
	align-items:center;
	box-shadow:0 1px 0 rgba(255,255,255,.9) inset,
		0 10px 30px -15px rgba(13,31,45,.2);
}
.ace-rd-vrc-funnel .vrc-itinerary-pickup,
.ace-rd-vrc-funnel .vrc-itinerary-dropoff{
	flex:1 1 220px;
	display:flex;
	flex-direction:column;
	gap:.4rem;
}
.ace-rd-vrc-funnel .vrc-itinerary-pickup::before,
.ace-rd-vrc-funnel .vrc-itinerary-dropoff::before{
	content:'Pickup';
	font-size:.62rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:#a87726;
	font-weight:600;
	margin-bottom:.2rem;
}
.ace-rd-vrc-funnel .vrc-itinerary-dropoff::before{ content:'Drop Off' }
.ace-rd-vrc-funnel .vrc-itinerary-duration{
	flex:0 0 auto;
	padding:0 1.5rem;
	border-left:1px solid rgba(168,155,130,.25);
	border-right:1px solid rgba(168,155,130,.25);
	font-family:'Cormorant Garamond',serif;
	font-size:1.4rem;
	color:#0d1f2d;
	font-style:italic;
	text-align:center;
	line-height:1.3;
}
.ace-rd-vrc-funnel .vrc-itinerary-pickup-locname,
.ace-rd-vrc-funnel .vrc-itinerary-dropoff-locname{
	font-family:'Cormorant Garamond',serif;
	font-size:1.15rem;
	color:#0d1f2d;
	line-height:1.2;
}
.ace-rd-vrc-funnel .vrc-itinerary-pickup-locaddr,
.ace-rd-vrc-funnel .vrc-itinerary-dropoff-locaddr,
.ace-rd-vrc-funnel .vrc-itinerary-pickup-locdet,
.ace-rd-vrc-funnel .vrc-itinerary-dropfff-locdet{
	font-size:.78rem;
	color:rgba(13,31,45,.6);
	line-height:1.5;
}
.ace-rd-vrc-funnel .vrc-itinerary-pickup-date,
.ace-rd-vrc-funnel .vrc-itinerary-dropoff-date{
	font-size:.88rem;
	color:#0d1f2d;
}
.ace-rd-vrc-funnel .vrc-itinerary-pickup-date-day,
.ace-rd-vrc-funnel .vrc-itinerary-dropoff-date-day{ font-weight:600 }
.ace-rd-vrc-funnel .vrc-itinerary-pickup-date-time,
.ace-rd-vrc-funnel .vrc-itinerary-dropoff-date-time{
	color:rgba(13,31,45,.55);
	margin-left:.4rem;
}

/* ── Step 1: search form — outer card + grid styles come from the
 * SAND-FRAME block above. Sand-frame's selectors were extended to
 * ALSO match the funnel's DOM (`.vrcdivsearch-inner > form`,
 * `.vrc-searchf-section-*`, `input.vrc-search-btn`, the search-button
 * arrow ::after on the wrapper via :has(), etc.) so the home-page
 * rules style step 1 of the funnel byte-identically. The ONLY funnel-
 * specific rule for step 1 is the inner-wrapper padding below, because
 * VRC renders its own `.vrcdivsearch-inner` div (not present on the
 * mini-widget) and we need some room for the auto-rendered
 * `<h3 class="vrc-main-title">`. */
.ace-rd-vrc-funnel .vrcdivsearch-inner{
	padding:1.8rem 2.2rem 0;
}

/* Leaf-cell rules — same defensive descendant shrink as sand-frame.
 * Stops VRC's hard-coded min-width:200px on .vrcsfentrylabsel from
 * overflowing the cell once the JS populates the date inputs. */
.ace-rd-vrc-funnel .vrcsfentrycont *{
	min-width:0 !important;
	max-width:100% !important;
	box-sizing:border-box !important;
}
.ace-rd-vrc-funnel .vrcsfentrylabsel,
.ace-rd-vrc-funnel .vrcsfentrytime{ width:100% !important }
.ace-rd-vrc-funnel .vrc-sf-time-container span{
	flex:0 0 auto !important;
	width:auto !important;
}
.ace-rd-vrc-funnel .vrcsfentrycont{
	padding:1.4rem 1.6rem;
	display:flex; flex-direction:column; justify-content:center;
	position:relative;
	background:transparent;
	border-right:1px solid rgba(168,155,130,.25);
	transition:background .2s;
	min-width:0;
	overflow:hidden;
}
.ace-rd-vrc-funnel .vrcsfentrycont:hover{ background:rgba(255,255,255,.55) }
.ace-rd-vrc-funnel .vrcsfentrycont label{
	font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
	color:#a87726; margin:0 0 .55rem; display:block; font-weight:600;
	white-space:nowrap;
}
.ace-rd-vrc-funnel .vrcsfentrycont select,
.ace-rd-vrc-funnel .vrcsfentrydate input[type=text]{
	width:100%; background:transparent !important; border:none !important;
	font-family:'Inter',sans-serif !important;
	font-size:1rem !important; padding:0 !important; outline:none;
	appearance:none; -webkit-appearance:none; cursor:pointer;
	color:#0d1f2d !important;
}
.ace-rd-vrc-funnel .vrcsfentryselect{position:relative}
.ace-rd-vrc-funnel .vrcsfentryselect::after{display:none}
.ace-rd-vrc-funnel .vrcsfentrycont select,
.ace-rd-vrc-funnel .vrc-sf-time-container select{
	-webkit-appearance:none !important;
	appearance:none !important;
	background-color:transparent !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23a87726' stroke-width='1.6'><path d='M1 1.5l5 5 5-5'/></svg>") !important;
	background-repeat:no-repeat !important;
	background-position:right .2rem center !important;
	background-size:10px !important;
	border:none !important;
	padding-right:1.2rem !important;
}
.ace-rd-vrc-funnel .vrc-sf-time-container select{
	background-size:8px !important;
	padding-right:.9rem !important;
	border-bottom:1px solid rgba(13,31,45,.18) !important;
}
.ace-rd-vrc-funnel .vrcsfentrydate{
	position:relative; display:flex; align-items:center; gap:.4rem;
	width:100% !important; max-width:100% !important; min-width:0 !important;
	box-sizing:border-box !important;
	background:transparent !important;
	border:1px solid rgba(168,119,38,.25) !important;
	border-radius:3px !important;
	padding:.4rem 1.8rem .4rem .6rem !important;
	transition:border-color .2s !important;
}
.ace-rd-vrc-funnel .vrcsfentrydate:hover,
.ace-rd-vrc-funnel .vrcsfentrydate:focus-within{
	border-color:rgba(168,119,38,.55) !important;
}
.ace-rd-vrc-funnel .vrcsfentrydate .vrc-caltri,
.ace-rd-vrc-funnel .vrcsfentrydate .vrc-caltrigger{ display:none !important }
.ace-rd-vrc-funnel .vrcsfentrydate::after{
	content:""; position:absolute; top:50%; right:.55rem;
	width:14px; height:14px; transform:translateY(-50%);
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9913c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");
	background-repeat:no-repeat; background-position:center; background-size:contain;
	pointer-events:none; opacity:.85;
}
.ace-rd-vrc-funnel .vrcsfentrydate input[type=text]{
	flex:1 1 0% !important; width:100% !important; min-width:0 !important;
	background:transparent !important; border:none !important;
}
.ace-rd-vrc-funnel .vrc-sf-time-container{
	display:flex !important;
	align-items:center;
	gap:.3rem;
	max-width:100%;
	overflow:hidden;
}
.ace-rd-vrc-funnel .vrc-sf-time-container > *{
	flex:0 0 auto !important;
	min-width:0 !important;
	width:auto !important;
}
.ace-rd-vrc-funnel .vrc-sf-time-container select{
	font-size:.85rem !important;
	padding:0 .8rem .15rem 0 !important;
	color:rgba(13,31,45,.78);
}
.ace-rd-vrc-funnel .vrctimesep{ font-size:.85rem; opacity:.5 }
.ace-rd-vrc-funnel .vrcsfentrycont select option{
	background:#fffbef; color:#0d1f2d;
	font-family:'Inter',sans-serif; padding:8px 12px;
}
.ace-rd-vrc-funnel .vrcsfentrycont select option:checked{
	background:#c9913c; color:#0d1f2d;
}

/* ── Step 2: cars list (.vrc-search-results-block-list, .car_result) ─ */
.ace-rd-vrc-funnel .vrcarsfound{
	font-family:'Cormorant Garamond',serif;
	font-style:italic;
	font-size:1.1rem;
	color:rgba(13,31,45,.65);
	margin:0 0 1.5rem;
}
.ace-rd-vrc-funnel .vrc-search-results-block{
	display:grid;
	gap:1.5rem;
	margin:0;
}
.ace-rd-vrc-funnel .vrc-search-results-block-list{
	grid-template-columns:1fr;
}
.ace-rd-vrc-funnel .car_result{
	display:grid;
	grid-template-columns:280px 1fr;
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	overflow:hidden;
	box-shadow:0 10px 30px -20px rgba(13,31,45,.25);
	transition:transform .25s, box-shadow .25s;
}
.ace-rd-vrc-funnel .car_result:hover{
	transform:translateY(-2px);
	box-shadow:0 20px 40px -20px rgba(13,31,45,.35);
}
.ace-rd-vrc-funnel .vrc-car-result-left{
	background:#f5ead0;
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
}
.ace-rd-vrc-funnel .vrc-car-result-left .imgresult,
.ace-rd-vrc-funnel .vrc-car-result-left img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.ace-rd-vrc-funnel .vrc-car-result-right,
.ace-rd-vrc-funnel .vrc-car-result-rightinner,
.ace-rd-vrc-funnel .vrc-car-result-rightinner-deep{
	display:flex;
	flex-direction:column;
	flex:1 1 auto;
}
.ace-rd-vrc-funnel .vrc-car-result-inner{
	padding:2rem 2rem 1.2rem;
	flex:1 1 auto;
	min-height:0 !important; /* override VRC's inline style="min-height:116.95px" */
}
.ace-rd-vrc-funnel .vrc-car-name{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.7rem !important;
	color:#0d1f2d !important;
	margin:0 0 .3rem !important;
	font-weight:400 !important;
}
.ace-rd-vrc-funnel .vrc-car-category{
	font-family:'Inter',sans-serif;
	font-size:.6rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:#a87726;
	font-weight:600;
	display:inline-block;
	margin-bottom:1rem;
}
.ace-rd-vrc-funnel .vrc-car-result-description{
	font-size:.92rem;
	line-height:1.65;
	color:rgba(13,31,45,.65);
	margin-bottom:1rem;
}
.ace-rd-vrc-funnel .vrc-car-result-characteristics{ margin:0 }
.ace-rd-vrc-funnel .vrccaratsdiv{
	display:flex;
	flex-wrap:wrap;
	gap:.6rem;
}
.ace-rd-vrc-funnel .vrccarcarat{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	padding:.4rem .8rem;
	background:#fffbef;
	border:1px solid rgba(168,155,130,.25);
	border-radius:999px;
	font-size:.75rem;
	color:#0d1f2d;
}
.ace-rd-vrc-funnel .vrc-carat-cont .vrc-expl{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
}
/* Replace FontAwesome <i> with the data-vrc-expl text label.
 * Same root cause as sand-frame trap #5: FA5 glyphs fail to render
 * on the live frontend even when the stylesheet loads. Print the
 * human-readable label from the data attribute via ::before, and
 * hide the broken <i>. */
.ace-rd-vrc-funnel .vrc-carat-cont .vrc-expl::before{
	content:attr(data-vrc-expl);
	font-family:'Inter',sans-serif;
	font-size:.75rem;
	color:#0d1f2d;
	font-weight:500;
}
.ace-rd-vrc-funnel .vrc-carat-cont .vrc-expl i.fas,
.ace-rd-vrc-funnel .vrc-carat-cont .vrc-expl i.far,
.ace-rd-vrc-funnel .vrc-carat-cont .vrc-expl i.fab{
	display:none !important;
}

/* Per-car price + booking-button strip */
.ace-rd-vrc-funnel .vrc-car-lastblock{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:2rem;
	padding:1.2rem 2rem;
	border-top:1px solid rgba(168,155,130,.18);
	background:rgba(255,251,239,.55);
}
.ace-rd-vrc-funnel .vrcsrowpricediv{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	line-height:1.1;
}
.ace-rd-vrc-funnel .vrcstartfrom{
	font-size:.6rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:#a87726;
	font-weight:600;
	margin-bottom:.15rem;
}
.ace-rd-vrc-funnel .vrc_price,
.ace-rd-vrc-funnel .vrcprice{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.8rem !important;
	color:#0d1f2d !important;
	font-weight:500 !important;
}
.ace-rd-vrc-funnel .vrc_currency,
.ace-rd-vrc-funnel .vrccurrency{
	font-family:'Cormorant Garamond',serif;
	font-size:1rem;
	color:rgba(13,31,45,.55);
	margin-left:.2rem;
	font-style:italic;
}
.ace-rd-vrc-funnel .vrc-car-bookingbtn{ margin:0; flex:0 0 auto }
.ace-rd-vrc-funnel .vrc-car-bookingbtn form{ margin:0 }
.ace-rd-vrc-funnel input.booknow,
.ace-rd-vrc-funnel input[name=goon]{
	padding:.95rem 2.4rem !important;
	min-width:180px !important;
}

/* "Go back" link (carslist / showprc / oconfirm) */
.ace-rd-vrc-funnel .vrc-goback-block{ margin:1.5rem 0 0 }
.ace-rd-vrc-funnel .vrc-goback-block a{
	color:#a87726;
	font-size:.78rem;
	letter-spacing:.18em;
	text-transform:uppercase;
	font-weight:500;
}
.ace-rd-vrc-funnel .vrc-goback-block a::before{
	content:'\2190'; margin-right:.4rem;
}

/* ── Step 3: showprc (.vrc-showprc-*) ───────────────────────────── */
.ace-rd-vrc-funnel .vrc-showprc-container{
	display:grid;
	grid-template-columns:1fr 1.4fr;
	gap:2rem;
	margin:0 0 2rem;
}
.ace-rd-vrc-funnel .vrc-showprc-left,
.ace-rd-vrc-funnel .vrc-showprc-right{
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	padding:1.8rem 2rem;
	box-shadow:0 10px 30px -20px rgba(13,31,45,.2);
}
.ace-rd-vrc-funnel .car_title{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.5rem !important;
	color:#0d1f2d !important;
	margin:0 0 1rem !important;
	font-weight:400 !important;
}
.ace-rd-vrc-funnel .vrc-showprc-title{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.3rem !important;
	color:#0d1f2d !important;
	margin:0 0 1rem !important;
	font-weight:400 !important;
	border-bottom:1px solid rgba(168,155,130,.18);
	padding-bottom:.5rem;
}
.ace-rd-vrc-funnel .vrc-showprc-prices-wrap,
.ace-rd-vrc-funnel .vrc-showprc-options-wrap{
	margin-bottom:1.5rem;
}
.ace-rd-vrc-funnel .vrc-showprc-prices-inner,
.ace-rd-vrc-funnel .vrc-showprc-options-inner{
	display:flex; flex-direction:column; gap:.6rem;
}
.ace-rd-vrc-funnel .vrc-showprc-price-row{
	display:grid;
	grid-template-columns:1fr auto;
	gap:1rem;
	padding:1rem 1.2rem;
	background:#fffbef;
	border:1px solid rgba(168,155,130,.2);
	border-radius:4px;
	align-items:center;
	cursor:pointer;
	transition:.2s;
}
.ace-rd-vrc-funnel .vrc-showprc-price-row:hover{
	background:#fff;
	border-color:rgba(168,119,38,.4);
}
.ace-rd-vrc-funnel .vrc-showprc-price-selected{
	background:#fff !important;
	border-color:#c9913c !important;
	box-shadow:0 0 0 1px #c9913c;
}
.ace-rd-vrc-funnel .vrc-showprc-pricename{
	font-family:'Cormorant Garamond',serif;
	font-size:1.05rem;
	color:#0d1f2d;
	font-weight:500;
}
.ace-rd-vrc-funnel .vrc-showprc-priceinfo{
	display:block;
	font-size:.78rem;
	color:rgba(13,31,45,.55);
	font-style:italic;
	margin-top:.2rem;
}
.ace-rd-vrc-funnel .vrc-showprc-pricecost{
	font-family:'Cormorant Garamond',serif;
	font-size:1.3rem;
	color:#a87726;
	font-weight:500;
}
.ace-rd-vrc-funnel .vrc-showprc-option-row{
	display:grid;
	grid-template-columns:1fr auto auto;
	gap:1rem;
	padding:1rem 1.2rem;
	background:#fffbef;
	border:1px solid rgba(168,155,130,.2);
	border-radius:4px;
	align-items:center;
}
.ace-rd-vrc-funnel .vrc-showprc-option-name{
	font-family:'Inter',sans-serif;
	font-size:.95rem;
	color:#0d1f2d;
	font-weight:500;
}
.ace-rd-vrc-funnel .vrc-showprc-option-name-descr,
.ace-rd-vrc-funnel .vrcoptionaldescr{
	display:block;
	font-size:.78rem;
	color:rgba(13,31,45,.55);
	margin-top:.2rem;
	font-style:italic;
}
.ace-rd-vrc-funnel .vrc-showprc-option-cell-price{
	font-family:'Cormorant Garamond',serif;
	font-size:1.1rem;
	color:#a87726;
	font-weight:500;
}
.ace-rd-vrc-funnel .vrc-showprc-option-cell-price-descr{
	display:block;
	font-size:.7rem;
	color:rgba(13,31,45,.5);
	text-align:right;
}

/* ── Step 4: oconfirm (.vrc-oconfirm-*) ─────────────────────────── */
.ace-rd-vrc-funnel .vrcinfocarcontainer{
	display:flex;
	gap:1.5rem;
	align-items:center;
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	padding:1.5rem 2rem;
	margin-bottom:1.5rem;
}
.ace-rd-vrc-funnel .vrc-summary-car-img{
	flex:0 0 120px;
	height:80px;
	object-fit:cover;
	border-radius:4px;
}
.ace-rd-vrc-funnel .vrcrentalforone,
.ace-rd-vrc-funnel .vrcrentalfor{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.4rem !important;
	color:#0d1f2d !important;
	margin:0 0 .3rem !important;
	font-weight:400 !important;
}
.ace-rd-vrc-funnel .vrcrentforlocs{
	font-size:.85rem;
	color:rgba(13,31,45,.6);
	font-style:italic;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-container{
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	overflow:hidden;
	margin-bottom:1.5rem;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-wrapper{ width:100% }
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-head{
	display:grid;
	grid-template-columns:2fr 1fr 1fr 1fr 1fr;
	background:#0d1f2d;
	color:#fff;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-head-cell{
	padding:.85rem 1rem;
	font-size:.62rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	font-weight:600;
	color:#fffbef;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-head-cell-responsive{ display:none }
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-row{
	display:grid;
	grid-template-columns:2fr 1fr 1fr 1fr 1fr;
	border-top:1px solid rgba(168,155,130,.18);
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-row > *{
	padding:1.1rem 1rem;
	font-size:.92rem;
	color:#0d1f2d;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-cell-descr{
	font-family:'Cormorant Garamond',serif;
	font-size:1rem;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-cell-tot{
	font-weight:600;
	color:#a87726;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-total-wrapper{
	background:#fffbef;
	border-top:2px solid #c9913c;
}
.ace-rd-vrc-funnel .vrc-oconfirm-summary-total-row{
	display:grid;
	grid-template-columns:1fr auto;
	padding:1.2rem 1.5rem;
	align-items:center;
	font-family:'Cormorant Garamond',serif;
	font-size:1.4rem;
	color:#0d1f2d;
}
.ace-rd-vrc-funnel .vrc-oconfirm-middlep{
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	padding:1.5rem 2rem;
	margin-bottom:1.5rem;
}

/* Custom-fields form (Driver Information) */
.ace-rd-vrc-funnel .vrccustomfields{
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	padding:1.5rem 2rem;
	margin-bottom:1.5rem;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1rem 1.2rem;
}
.ace-rd-vrc-funnel .vrcdivcustomfield{
	display:flex;
	flex-direction:column;
	gap:.3rem;
}
.ace-rd-vrc-funnel .vrc-customfield-label,
.ace-rd-vrc-funnel .vrccustomfldinfo{
	font-size:.62rem !important;
	letter-spacing:.22em !important;
	text-transform:uppercase !important;
	color:#a87726 !important;
	font-weight:600 !important;
	margin:0 0 .2rem !important;
	line-height:1 !important;
}
.ace-rd-vrc-funnel .vrcrequired{
	color:#c9913c !important;
	margin-left:.2rem;
}
.ace-rd-vrc-funnel .vrc-customfield-input,
.ace-rd-vrc-funnel .vrc-customfield-input-date,
.ace-rd-vrc-funnel .vrcinput,
.ace-rd-vrc-funnel .vrctextarea,
.ace-rd-vrc-funnel .vrcf-countryinp,
.ace-rd-vrc-funnel .vrcdivcustomfield input[type=text],
.ace-rd-vrc-funnel .vrcdivcustomfield input[type=email],
.ace-rd-vrc-funnel .vrcdivcustomfield input[type=tel],
.ace-rd-vrc-funnel .vrcdivcustomfield input[type=date],
.ace-rd-vrc-funnel .vrcdivcustomfield select,
.ace-rd-vrc-funnel .vrcdivcustomfield textarea{
	background:#fffbef !important;
	border:1px solid rgba(168,155,130,.3) !important;
	border-radius:3px !important;
	padding:.65rem .85rem !important;
	font-family:'Inter',sans-serif !important;
	font-size:.92rem !important;
	color:#0d1f2d !important;
	width:100% !important;
	box-sizing:border-box !important;
	outline:none !important;
	transition:border-color .2s !important;
}
.ace-rd-vrc-funnel .vrcdivcustomfield input:focus,
.ace-rd-vrc-funnel .vrcdivcustomfield select:focus,
.ace-rd-vrc-funnel .vrcdivcustomfield textarea:focus,
.ace-rd-vrc-funnel .vrc-customfield-input:focus{
	border-color:#c9913c !important;
}
.ace-rd-vrc-funnel .vrctextarea,
.ace-rd-vrc-funnel .vrcdivcustomfield textarea{
	min-height:80px;
	resize:vertical;
}
.ace-rd-vrc-funnel .vrcseparatorcf{
	grid-column:1/-1;
	border:none;
	border-top:1px solid rgba(168,155,130,.18);
	margin:.6rem 0;
}

/* Coupon block */
.ace-rd-vrc-funnel .vrchaveacoupon{
	color:#a87726;
	font-size:.85rem;
	cursor:pointer;
	margin:1rem 0;
	display:inline-block;
}
.ace-rd-vrc-funnel .vrc-coupon-outer{
	background:#fffbef;
	border:1px solid rgba(168,155,130,.25);
	border-radius:4px;
	padding:1rem;
	display:flex;
	gap:.5rem;
	align-items:center;
	margin-bottom:1rem;
}
.ace-rd-vrc-funnel .vrcinputcoupon{ flex:1 1 auto }

/* Payment block */
.ace-rd-vrc-funnel .vrc-oconfirm-paym-block{
	background:#fff;
	border:1px solid rgba(168,155,130,.25);
	border-radius:6px;
	padding:1.5rem 2rem;
	margin-bottom:1.5rem;
}
.ace-rd-vrc-funnel .vrc-medium-header{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.3rem !important;
	color:#0d1f2d !important;
	margin:0 0 1rem !important;
	font-weight:400 !important;
}
.ace-rd-vrc-funnel .vrc-paymeth-info{
	font-size:.85rem;
	color:rgba(13,31,45,.65);
	margin-top:.5rem;
	font-style:italic;
}
.ace-rd-vrc-funnel .vrc-gpay-licont{
	border:1px solid rgba(168,155,130,.3);
	border-radius:4px;
	padding:.9rem 1.2rem;
	margin-bottom:.5rem;
	cursor:pointer;
	transition:.2s;
	list-style:none;
}
.ace-rd-vrc-funnel .vrc-gpay-licont:hover{ background:#fffbef }
.ace-rd-vrc-funnel .vrc-gpay-licont-active{
	background:#fffbef !important;
	border-color:#c9913c !important;
	box-shadow:0 0 0 1px #c9913c;
}
.ace-rd-vrc-funnel .vrc-noliststyletype{
	list-style:none !important;
	padding-left:0 !important;
}

/* T&C / consent checkbox */
.ace-rd-vrc-funnel .vrc-oconfirm-cfield-entry-checkbox{
	margin:1rem 0;
	font-size:.9rem;
	color:rgba(13,31,45,.75);
	line-height:1.5;
}
.ace-rd-vrc-funnel .vrc-oconfirm-cfield-entry-checkbox input[type=checkbox]{
	margin-right:.5rem;
	accent-color:#c9913c;
}

/* Total + footer */
.ace-rd-vrc-funnel .vrc-oconfirm-total-block{
	background:#0d1f2d;
	color:#fff;
	border-radius:6px;
	padding:1.5rem 2rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:2rem;
	margin-bottom:1rem;
}
.ace-rd-vrc-funnel .vrc-oconfirm-priceinfo{
	font-family:'Cormorant Garamond',serif;
	font-size:1.8rem;
	color:#c9913c;
	font-weight:500;
}
.ace-rd-vrc-funnel .vrc-oconfirm-carname{
	font-size:.78rem;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:rgba(255,251,239,.7);
}
.ace-rd-vrc-funnel .vrc-oconfirm-footer,
.ace-rd-vrc-funnel .vrc-save-order-block{
	text-align:right;
	margin-top:1rem;
}

/* Confirm modal (hidden by default; surfaced by VRC JS) */
.ace-rd-vrc-funnel .vrc-alert-container-confirm,
.ace-rd-vrc-funnel .vrcmodal{
	background:rgba(13,31,45,.7) !important;
	backdrop-filter:blur(4px);
}
.ace-rd-vrc-funnel .vrc-alert-close{ color:#c9913c !important }

/* TODO: extend with view=order (step 6, confirmation) once captured. */

/* ── VRC funnel — responsive (tablet ≤1100px, mobile ≤640px) ───── */
@media (max-width:1100px){
	/* Search form stacks to single column */
	.ace-rd-vrc-funnel .vrcdivsearch-inner > form,
	.ace-rd-vrc-funnel .vrcdivsearchmodule form{
		grid-template-columns:1fr !important;
	}
	.ace-rd-vrc-funnel .vrcsfentrycont{
		border-right:none;
		border-bottom:1px solid rgba(168,155,130,.25);
	}
	.ace-rd-vrc-funnel .vrc-searchf-section-sbmt{
		width:100% !important;
		grid-column:1 / -1 !important;
	}
	.ace-rd-vrc-funnel .vrc-searchf-section-sbmt .vrcsfentrycont{
		width:100% !important;
		border-bottom:none !important;
	}
	.ace-rd-vrc-funnel input.vrc-search-btn{
		border-radius:0 0 6px 6px !important;
		padding:1.3rem !important;
		width:100% !important;
	}
	/* Cars list: image collapses to top */
	.ace-rd-vrc-funnel .car_result{ grid-template-columns:1fr }
	.ace-rd-vrc-funnel .vrc-car-result-left{ height:200px }
	/* Showprc: single column */
	.ace-rd-vrc-funnel .vrc-showprc-container{ grid-template-columns:1fr }
	/* Itinerary stacks */
	.ace-rd-vrc-funnel .vrc-itinerary-summary,
	.ace-rd-vrc-funnel .vrc-itinerary-confirmation{
		flex-direction:column;
		align-items:flex-start;
	}
	.ace-rd-vrc-funnel .vrc-itinerary-duration{
		border-left:none; border-right:none;
		border-top:1px solid rgba(168,155,130,.25);
		border-bottom:1px solid rgba(168,155,130,.25);
		padding:.8rem 0;
		width:100%;
		text-align:left;
	}
	/* Order-summary table: hide head row, render rows as 2-col stacked */
	.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-head{ display:none }
	.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-head-cell-responsive{
		display:block;
		font-size:.55rem;
		letter-spacing:.22em;
		text-transform:uppercase;
		color:#a87726;
		font-weight:600;
		margin-bottom:.2rem;
	}
	.ace-rd-vrc-funnel .vrc-oconfirm-summary-car-row{
		grid-template-columns:1fr 1fr;
		gap:.5rem;
	}
	/* Custom-fields: single column */
	.ace-rd-vrc-funnel .vrccustomfields{ grid-template-columns:1fr }
}

@media (max-width:640px){
	.ace-rd-vrc-funnel{ padding:2rem 0 }
	.ace-rd-vrc-funnel .vrc-searchf-section-locations,
	.ace-rd-vrc-funnel .vrc-searchf-section-datetimes{
		grid-template-columns:1fr !important;
	}
	.ace-rd-vrc-funnel .vrc-searchf-section-locations .vrcsfentrycont,
	.ace-rd-vrc-funnel .vrc-searchf-section-datetimes .vrcsfentrycont{
		border-right:none !important;
	}
	.ace-rd-vrc-funnel .vrcstepbar .vrc-step{
		font-size:.55rem;
		padding:.6rem .4rem;
		letter-spacing:.12em;
	}
	.ace-rd-vrc-funnel .vrc-car-lastblock{
		flex-direction:column;
		align-items:stretch;
		gap:1rem;
	}
	.ace-rd-vrc-funnel input.booknow,
	.ace-rd-vrc-funnel input[name=goon]{ width:100% }
	.ace-rd-vrc-funnel .vrc-oconfirm-total-block{
		flex-direction:column;
		align-items:flex-start;
	}
}

/* ── ace-rd-vrc-funnel end ──────────────────────────────────────── */

/* ── PROMISE ──────────────────────────────────────────────────── */
.ace-rd-promise{display:grid;grid-template-columns:5fr 7fr;min-height:600px}
.ace-rd-promise .promise-text{
	background:var(--sand);
	padding:var(--pad-md) 4rem;
	display:flex;flex-direction:column;justify-content:center;
}
.ace-rd-promise .signature{margin-top:2.5rem;display:flex;align-items:center;gap:1rem}
.ace-rd-promise .sig-line{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--navy)}
.ace-rd-promise .sig-role{
	font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
	color:var(--stone);margin-top:.2rem;
}
.ace-rd-promise .promise-visual{
	background:linear-gradient(135deg,#1a6b9a 0%,#0d2a3e 100%);
	position:relative;overflow:hidden;display:flex;align-items:center;
}
.ace-rd-promise .promise-visual::before{
	content:'';position:absolute;inset:0;
	background:
		radial-gradient(ellipse at 25% 40%,rgba(95,179,212,.3) 0%,transparent 60%),
		radial-gradient(ellipse at 80% 80%,rgba(201,145,60,.15) 0%,transparent 50%);
}
.ace-rd-promise .pillars{position:relative;z-index:1;width:100%}
.ace-rd-promise .pillar{
	padding:2rem 3.5rem;border-bottom:1px solid rgba(255,255,255,.08);
	display:flex;align-items:flex-start;gap:1.8rem;transition:.2s;
}
.ace-rd-promise .pillar:last-child{border-bottom:none}
.ace-rd-promise .pillar:hover{background:rgba(255,255,255,.05);padding-left:4rem}
.ace-rd-promise .p-num{
	font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--accent);
	font-weight:300;min-width:30px;font-style:italic;
}
.ace-rd-promise .p-title{font-size:1rem;color:#fff;font-weight:400;margin:0 0 .3rem}
.ace-rd-promise .p-desc{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.55;margin:0}

/* ── FEATURES STRIP ───────────────────────────────────────────── */
.ace-rd-features{
	background:var(--navy);padding:3rem;
	display:grid;grid-template-columns:repeat(5,1fr);position:relative;
}
.ace-rd-features .feature{
	padding:.5rem 1.8rem;border-right:1px solid rgba(255,255,255,.08);
	display:flex;align-items:center;gap:1rem;
}
.ace-rd-features .feature:last-child{border-right:none}
.ace-rd-features .feat-icon{width:36px;height:36px;flex-shrink:0;color:var(--accent)}
.ace-rd-features .feat-icon svg{width:100%;height:100%}
.ace-rd-features .feat-text{display:flex;flex-direction:column}
.ace-rd-features .feat-title{font-size:.82rem;color:#fff;font-weight:400;margin:0 0 .15rem}
.ace-rd-features .feat-desc{font-size:.7rem;color:rgba(255,255,255,.45);line-height:1.4;margin:0}

/* ── FLEET ────────────────────────────────────────────────────── */
.ace-rd-fleet{padding:var(--pad-lg) 3rem;background:var(--white)}
.ace-rd-fleet .fleet-header{
	display:flex;justify-content:space-between;align-items:flex-end;
	margin:0 auto 4rem;max-width:1400px;
}
.ace-rd-fleet .fleet-link{
	font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
	color:var(--aegean);border-bottom:1px solid var(--aegean);
	padding-bottom:3px;transition:.2s;
}
.ace-rd-fleet .fleet-link:hover{color:var(--accent);border-color:var(--accent)}
.ace-rd-fleet .fleet-grid{
	display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
	background:#e8e2d4;max-width:1400px;margin:0 auto;
}
.ace-rd-fleet .car{
	background:var(--white);padding:2.4rem 2rem 2rem;cursor:pointer;
	transition:.3s;position:relative;display:flex;flex-direction:column;
}
.ace-rd-fleet .car:hover{background:#fdfbf5}
.ace-rd-fleet .car:hover .car-cta{color:var(--accent)}
.ace-rd-fleet .car:hover .car-cta::after{transform:translateX(6px)}
.ace-rd-fleet .car-cat{
	font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
	color:var(--stone);margin-bottom:.7rem;
}
.ace-rd-fleet .car-name{
	font-family:'Cormorant Garamond',serif;font-size:1.85rem;
	font-weight:400;color:var(--navy);margin:0 0 .2rem;line-height:1.1;
}
.ace-rd-fleet .car-tag{
	font-size:1rem;color:var(--stone);margin-bottom:1.6rem;
	font-style:italic;font-family:'Cormorant Garamond',serif;
}
.ace-rd-fleet .car-img{
	height:170px;background:linear-gradient(135deg,#f0e6d2,#e8dcc8);
	border-radius:2px;margin-bottom:1.6rem;position:relative;overflow:hidden;
}
.ace-rd-fleet .car-img img{width:100%;height:100%;object-fit:cover;display:block}
.ace-rd-fleet .car-badge{
	position:absolute;top:.75rem;right:.75rem;background:var(--navy);color:#fff;
	font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
	padding:.3rem .6rem;font-weight:500;z-index:2;
}
.ace-rd-fleet .car-badge.gold{background:var(--accent);color:var(--navy)}
.ace-rd-fleet .car-specs{
	display:flex;gap:1.6rem;font-size:.78rem;color:#5a6e7a;
	margin-bottom:1.4rem;padding-bottom:1.4rem;
	border-bottom:1px solid #eee5d4;flex-wrap:wrap;
}
.ace-rd-fleet .spec{display:flex;flex-direction:column}
.ace-rd-fleet .spec-l{
	font-size:.6rem;color:var(--stone);margin-bottom:.2rem;
	letter-spacing:.1em;text-transform:uppercase;
}
.ace-rd-fleet .spec-v{color:var(--navy);font-weight:400}
.ace-rd-fleet .car-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}
.ace-rd-fleet .car-cta{
	font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
	color:var(--aegean);font-weight:500;transition:.2s;
}
.ace-rd-fleet .car-cta::after{content:' →';display:inline-block;transition:transform .25s}

/* ── STEPS ────────────────────────────────────────────────────── */
.ace-rd-steps{
	padding:var(--pad-lg) 3rem;background:var(--sand);
	position:relative;overflow:hidden;
}
.ace-rd-steps::before{
	content:'';position:absolute;top:-100px;right:-100px;
	width:300px;height:300px;border-radius:50%;
	background:radial-gradient(circle,rgba(201,145,60,.12) 0%,transparent 70%);
}
.ace-rd-steps .steps-header{text-align:center;margin-bottom:4.5rem;position:relative}
.ace-rd-steps .steps-grid{
	display:grid;grid-template-columns:repeat(4,1fr);
	max-width:1100px;margin:0 auto;position:relative;gap:0;
}
.ace-rd-steps .step{padding:0 2rem;position:relative}
.ace-rd-steps .step:not(:last-child)::after{
	content:'';position:absolute;top:1.5rem;right:0;
	width:1px;height:calc(100% - 1.5rem);background:rgba(13,31,45,.1);
}
.ace-rd-steps .step-num{
	font-family:'Cormorant Garamond',serif;font-size:3.6rem;font-weight:300;
	color:var(--accent);line-height:1;margin-bottom:1.2rem;font-style:italic;
}
.ace-rd-steps .step-title{
	font-family:'Cormorant Garamond',serif;font-size:1.45rem;
	color:var(--navy);margin:0 0 .7rem;font-weight:500;
}
.ace-rd-steps .step-body{font-size:.85rem;color:#5a6e7a;line-height:1.7;margin:0}

/* ── REVIEWS ──────────────────────────────────────────────────── */
.ace-rd-reviews{padding:var(--pad-lg) 3rem;background:var(--white);position:relative}
.ace-rd-reviews .reviews-header{text-align:center;margin-bottom:4rem}
.ace-rd-reviews .reviews-grid{
	display:grid;grid-template-columns:repeat(2,1fr);gap:2px;
	background:#eee5d4;max-width:1100px;margin:0 auto;
}
.ace-rd-reviews .review{
	background:var(--white);padding:3rem 2.8rem;
	display:flex;flex-direction:column;gap:1.2rem;
}
.ace-rd-reviews .stars{color:var(--accent);font-size:.85rem;letter-spacing:.15em}
.ace-rd-reviews .quote{
	font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:300;
	font-style:italic;line-height:1.6;color:var(--navy);flex-grow:1;margin:0;
}
.ace-rd-reviews .quote::before{
	content:'\201C';font-size:2.5rem;color:var(--accent);
	font-family:'Cormorant Garamond',serif;line-height:0;margin-right:.2rem;
	position:relative;top:.4rem;
}
.ace-rd-reviews .author{
	display:flex;justify-content:space-between;align-items:center;
	padding-top:1rem;border-top:1px solid #eee5d4;
}
.ace-rd-reviews .author-name{
	font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
	color:var(--navy);font-weight:500;
}
.ace-rd-reviews .author-source{font-size:.7rem;color:var(--stone);font-style:italic}

/* ─────────────────────────────────────────────────────────────────
 * CONTACT FRAME — drop-in styling for an Elementor SECTION that holds
 * Elementor Pro Forms widget (the same one used on /contact/).
 *
 * USAGE:
 *   1. In Elementor, edit the section that holds the contact form.
 *   2. Advanced tab → CSS Classes → enter:  ace-rd-contact-frame
 *   3. Inside the section build a 2-column layout:
 *        Left column  → text widgets for label / heading / body / contact details
 *                        (use .ace-rd-info-label, .ace-rd-info-h, .ace-rd-info-body
 *                         CSS classes on those widgets for design typography)
 *        Right column → the official Elementor Pro Forms widget (no class needed —
 *                        we target .elementor-widget-form descendants automatically)
 * ───────────────────────────────────────────────────────────────── */
.ace-rd-contact-frame{
	background:#0d1f2d;
	color:#fff;
	font-family:'Inter',sans-serif;
	position:relative;
	overflow:hidden;
}

/* Google reCAPTCHA v3 badge — by default ships with `right:-186px` so only
 * the small icon peeks out from the viewport's right edge (the full
 * "protected by reCAPTCHA" pill only animates fully-visible on hover).
 * On wide desktop viewports this looks like the badge is being cut off
 * by the page edge. Force it fully into view with a flush 14px gutter,
 * so the entire pill is always readable next to the contact form. */
.grecaptcha-badge{
	right:14px !important;
	z-index:99 !important;
}
.ace-rd-contact-frame::before{
	content:'';position:absolute;top:-200px;right:-200px;
	width:550px;height:550px;border-radius:50%;
	background:radial-gradient(circle,rgba(95,179,212,.12) 0%,transparent 70%);
	pointer-events:none;
}

/* Optional info-column helpers ──────────────── */
.ace-rd-contact-frame .ace-rd-info-label .elementor-heading-title{
	font-family:'Inter',sans-serif !important;
	font-size:.68rem !important;letter-spacing:.26em !important;
	text-transform:uppercase !important;color:#c9913c !important;
	font-weight:500 !important;
	display:inline-flex;align-items:center;gap:.8rem;
}
.ace-rd-contact-frame .ace-rd-info-label .elementor-heading-title::before{
	content:'';width:32px;height:1px;background:#c9913c;
}
.ace-rd-contact-frame .ace-rd-info-h .elementor-heading-title{
	font-family:'Cormorant Garamond',serif !important;
	font-size:clamp(2.2rem,3.8vw,3.4rem) !important;
	font-weight:300 !important;line-height:1.1 !important;color:#fff !important;
}
.ace-rd-contact-frame .ace-rd-info-h .elementor-heading-title em{
	font-style:italic;color:#5fb3d4;
}
/* Form heading + subtitle (above the Elementor Pro Form widget).
 * User adds:
 *   - Heading widget,    CSS class:  ace-rd-form-title  → "Send a quick note"
 *   - Text Editor widget, CSS class: ace-rd-form-sub    → "Or just say <em>γειά σας</em>."
 */
.ace-rd-contact-frame .ace-rd-form-title .elementor-heading-title,
.ace-rd-contact-frame .ace-rd-form-title .heading-title,
.ace-rd-contact-frame .ace-rd-form-title h1,
.ace-rd-contact-frame .ace-rd-form-title h2,
.ace-rd-contact-frame .ace-rd-form-title h3,
.ace-rd-contact-frame .ace-rd-form-title h4{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.6rem !important;
	font-weight:400 !important;
	color:#fff !important;
	margin:0 0 .4rem !important;
	text-transform:none !important;
	line-height:1.2 !important;
	letter-spacing:0 !important;
}
.ace-rd-contact-frame .ace-rd-form-sub,
.ace-rd-contact-frame .ace-rd-form-sub p{
	font-size:.85rem !important;
	color:rgba(255,255,255,.55) !important;
	margin:0 0 1.6rem !important;
	font-family:'Inter',sans-serif !important;
	font-style:normal !important;
}
.ace-rd-contact-frame .ace-rd-form-sub em{
	font-style:italic !important;
	color:#c9913c !important;
}

/* Contact details list — used inside an HTML widget with markup:
 *   <div class="c-details">
 *     <div class="c-item">
 *       <div class="c-label">Phone</div>
 *       <div class="c-val"><a href="tel:…">+30 …</a></div>
 *     </div>
 *     ...
 *   </div>
 */
.ace-rd-contact-frame .c-details{
	margin-top:3rem;
	display:flex;
	flex-direction:column;
	gap:1.6rem;
}
.ace-rd-contact-frame .c-item{
	display:flex;
	flex-direction:column;
}
.ace-rd-contact-frame .c-label{
	font-size:.62rem !important;
	letter-spacing:.22em !important;
	text-transform:uppercase !important;
	color:#c9913c !important;
	margin-bottom:.4rem !important;
	font-weight:500 !important;
	line-height:1 !important;
}
.ace-rd-contact-frame .c-val{
	font-size:1.05rem !important;
	color:#fff !important;
	font-weight:300 !important;
	font-family:'Cormorant Garamond',serif !important;
	line-height:1.4 !important;
}
.ace-rd-contact-frame .c-val a{
	color:inherit !important;
	text-decoration:none !important;
	transition:color .2s !important;
}
.ace-rd-contact-frame .c-val a:hover{
	color:#5fb3d4 !important;
}

.ace-rd-contact-frame .ace-rd-info-body{
	font-size:.97rem;line-height:1.85;color:rgba(255,255,255,.55);
}

/* Elementor Pro Forms widget (re-styled, never replaced) */
.ace-rd-contact-frame .elementor-widget-form > .elementor-widget-container{
	background:rgba(255,255,255,.04);
	padding:3rem;
	border:1px solid rgba(255,255,255,.08);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.ace-rd-contact-frame .elementor-form-fields-wrapper{
	display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;
}
.ace-rd-contact-frame .elementor-field-group{
	display:flex;flex-direction:column;margin-bottom:1.1rem;
}
.ace-rd-contact-frame .elementor-col-100{grid-column:1 / -1}
.ace-rd-contact-frame .elementor-field-label{
	font-size:.62rem !important;letter-spacing:.2em !important;
	text-transform:uppercase !important;color:#c9913c !important;
	margin-bottom:.4rem !important;
	font-weight:500 !important;
	display:block !important;
	text-align:left !important;
	width:100% !important;
	align-self:stretch !important;
}
.ace-rd-contact-frame .elementor-field-group{
	align-items:stretch !important;
}
/* The Elementor form widget on /contact/ uses screen-only labels (visually
 * hidden). For our redesign we want them VISIBLE above each field, matching
 * the mockup. Force them out of the screen-reader-only state. */
.ace-rd-contact-frame .elementor-field-label.elementor-screen-only{
	position:static !important;
	width:100% !important;
	height:auto !important;
	padding:0 !important;
	margin:0 0 .4rem 0 !important;
	overflow:visible !important;
	clip:auto !important;
	white-space:normal !important;
	border:0 !important;
	display:block !important;
	text-align:left !important;
	align-self:stretch !important;
}
.ace-rd-contact-frame .elementor-field{
	background:transparent !important;border:none !important;
	border-bottom:1px solid rgba(255,255,255,.18) !important;
	color:#fff !important;padding:.5rem 0 !important;
	font-family:'Inter',sans-serif !important;font-size:.92rem !important;
	font-weight:300 !important;border-radius:0 !important;box-shadow:none !important;
	transition:border-color .2s !important;width:100%;
}
.ace-rd-contact-frame .elementor-field::placeholder{color:rgba(255,255,255,.3)}
.ace-rd-contact-frame .elementor-field:focus{outline:none;border-bottom-color:#c9913c !important}
.ace-rd-contact-frame textarea.elementor-field{resize:none;min-height:90px}
.ace-rd-contact-frame .e-form__buttons{
	margin-top:1.5rem !important;
	width:100% !important;
	display:block !important;
}
.ace-rd-contact-frame .elementor-field-type-submit,
.ace-rd-contact-frame .e-form__buttons{
	width:100% !important;
	max-width:100% !important;
	flex:1 1 100% !important;
	grid-column:1 / -1 !important;
}
/* Override Elementor's default 30% / 50% / etc width classes on the submit column */
.ace-rd-contact-frame .elementor-field-type-submit.elementor-col-30,
.ace-rd-contact-frame .elementor-field-type-submit.elementor-col-50,
.ace-rd-contact-frame .elementor-field-type-submit.elementor-col-100{
	width:100% !important;
	grid-column:1 / -1 !important;
}
.ace-rd-contact-frame .elementor-button{
	margin-top:0;
	width:100% !important;
	padding:1.1rem 1.5rem !important;
	background:transparent !important;
	color:#c9913c !important;
	border:1px solid #c9913c !important;
	border-radius:0 !important;
	cursor:pointer;
	font-family:'Inter',sans-serif !important;font-size:.78rem !important;
	letter-spacing:.18em !important;text-transform:uppercase !important;
	font-weight:500 !important;transition:.25s !important;
}
.ace-rd-contact-frame .elementor-button:hover{
	background:#c9913c !important;
	color:#0d1f2d !important;
	border-color:#c9913c !important;
}
.ace-rd-contact-frame .elementor-button .elementor-button-icon{display:none !important}

/* ── Booking form responsive (tablet + mobile) ────────────────
 * Triggers at <=1100px so Elementor's tablet preview (typical iframe
 * width 768-1024) gets the reshaped layout, AND real desktop screens
 * <1100px wide also reshape. Above this width the original 5-cell
 * horizontal row layout applies.
 *
 * Pulled into its own media query (separate from the 980px rule that
 * handles other widgets) because the booking form has the most
 * aggressive horizontal layout in the plugin and benefits from
 * collapsing earlier. */
@media (max-width:1100px){
	/* Outer form stacks into 3 rows: pickup section / datetime section
	 * / submit, each full-width. Inner section pairs keep their
	 * 2-column sub-grid so locations sit side-by-side on row 1 and
	 * date+time cells sit side-by-side on row 2. The <=640 rule
	 * below further collapses those pairs to single column for true
	 * narrow viewports. */
	.ace-rd-sand-frame .vrcdivsearchmodule form{grid-template-columns:1fr !important;gap:1px}
	.ace-rd-sand-frame .vrcsfentrycont{
		border-right:none;border-bottom:1px solid rgba(168,155,130,.25);
	}
	/* Submit row: force the section AND its inner cell to fill the
	 * full row, then the button fills the cell. Without these the
	 * submit section was sizing to its `min-content` button width
	 * and ended up as a small left-aligned chip instead of a full-
	 * width primary action. */
	.ace-rd-sand-frame .vrc-searchmod-section-sbmt{
		width:100% !important;
		grid-column:1 / -1 !important;
	}
	.ace-rd-sand-frame .vrc-searchmod-section-sbmt .vrcsfentrycont{
		width:100% !important;
		border-bottom:none !important;
	}
	.ace-rd-sand-frame .vrcsfentrysubmit{width:100% !important}
	.ace-rd-sand-frame button.vrcsearch,
	.ace-rd-sand-frame .vrcsfentrysubmit button[type=submit]{
		padding:1.3rem !important;
		width:100% !important;
		font-size:.78rem !important;
		letter-spacing:.18em !important;
	}
}

/* ── Other-widget responsive (real, not preview) ──────────────── */
@media (max-width:980px){
	.ace-rd-hero{padding:0 1.5rem 8rem}
	.ace-rd-hero .hero-stats{display:none}
	.ace-rd-promise{grid-template-columns:1fr;gap:0}
	.ace-rd-promise .promise-text{padding:3rem 1.5rem}
	.ace-rd-fleet,.ace-rd-steps,.ace-rd-reviews{padding:3rem 1.5rem}
	.ace-rd-fleet .fleet-grid,
	.ace-rd-reviews .reviews-grid,
	.ace-rd-steps .steps-grid{grid-template-columns:1fr}
	.ace-rd-features{grid-template-columns:1fr;padding:1.5rem}
	.ace-rd-features .feature{
		border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:1rem;
	}
	.ace-rd-steps .step:not(:last-child)::after{display:none}
	.ace-rd-steps .step{padding:1.5rem 0;border-bottom:1px solid rgba(13,31,45,.1)}
	.ace-rd-promise .pillar{padding:1.5rem 1.5rem}
	.ace-rd-promise .pillar:hover{padding-left:2rem}
	.ace-rd-contact-frame .elementor-form-fields-wrapper{grid-template-columns:1fr;gap:0}
}
@media (min-width:981px) and (max-width:1180px){
	.ace-rd-fleet .fleet-grid{grid-template-columns:repeat(2,1fr)}
	.ace-rd-steps .steps-grid{grid-template-columns:repeat(2,1fr)}
	.ace-rd-features{grid-template-columns:repeat(3,1fr)}
}

/* Narrow-mobile booking form: at <=640px the section-pair sub-grids
 * (.vrc-searchmod-section-pickup, -datetimes) also collapse to a
 * single column, so every cell stacks vertically. Above this width
 * (the 641-980 tablet range) the section pairs stay 2-column —
 * locations side-by-side, dates+times side-by-side — which fits
 * comfortably on iPad-portrait + small landscape tablets without
 * stretching everything tall. */
@media (max-width:640px){
	.ace-rd-sand-frame .vrc-searchmod-section-pickup,
	.ace-rd-sand-frame .vrc-searchmod-section-datetimes{
		grid-template-columns:1fr !important;
	}
	.ace-rd-sand-frame .vrc-searchmod-section-pickup .vrcsfentrycont,
	.ace-rd-sand-frame .vrc-searchmod-section-datetimes .vrcsfentrycont{
		border-right:none !important;
	}
}

/* ─────────────────────────────────────────────────────────────────
 * NAV RESTYLE — drop-in styling for the existing Header Footer Elementor
 * navigation. Add the CSS class `ace-rd-nav` to the section that holds
 * the menu in the Header Footer Elementor template (Advanced → CSS Classes).
 * Functionality (sticky, menu items, links) stays untouched — we only
 * re-skin typography and link colours to match the redesign.
 * ───────────────────────────────────────────────────────────────── */
.ace-rd-nav .menu-item > a,
.ace-rd-nav .jkit-menu .menu-item > a,
.ace-rd-nav .elementor-nav-menu li > a{
	font-family:'Inter',sans-serif !important;
	font-size:.78rem !important;
	letter-spacing:.16em !important;
	text-transform:uppercase !important;
	font-weight:400 !important;
	color:rgba(255,255,255,.85) !important;
	transition:color .2s !important;
}
.ace-rd-nav .menu-item > a:hover,
.ace-rd-nav .jkit-menu .menu-item > a:hover,
.ace-rd-nav .elementor-nav-menu li > a:hover{
	color:#c9913c !important;
}
/* highlight the current page in amber, matching the design */
.ace-rd-nav .menu-item.current-menu-item > a,
.ace-rd-nav .menu-item.current_page_item > a{
	color:#c9913c !important;
}
/* item with class `nav-cta` becomes a button (add via WP Menu → screen-options → CSS classes) */
.ace-rd-nav .menu-item.nav-cta > a{
	background:#c9913c !important;
	color:#0d1f2d !important;
	padding:.65rem 1.4rem !important;
	font-weight:500 !important;
	transition:background .25s !important;
}
.ace-rd-nav .menu-item.nav-cta > a:hover{
	background:#a87726 !important;
	color:#fff !important;
}

/* ─────────────────────────────────────────────────────────────────
 * FOOTER — site-wide footer matching the redesign aesthetic.
 * Drop the Footer widget once into the Header Footer Elementor "Footer"
 * template. Renders on every page.
 * ───────────────────────────────────────────────────────────────── */
.ace-rd-footer{
	background:#070f17;
	color:rgba(255,255,255,.5);
	padding:4rem 3rem 2rem;
	font-family:'Inter',sans-serif;
}
.ace-rd-footer a{color:inherit;text-decoration:none}
.ace-rd-footer .foot-grid{
	display:grid;
	grid-template-columns:2fr 1fr 1fr 1fr;
	gap:3rem;
	max-width:1400px;
	margin:0 auto;
	padding-bottom:3rem;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.ace-rd-footer .foot-brand .logo-nav{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.8rem !important;
	font-weight:500 !important;
	color:#fff !important;
	letter-spacing:.04em !important;
	text-transform:none !important;
	display:inline-block;
}
.ace-rd-footer .foot-brand .logo-nav span{
	color:#c9913c !important;
	font-style:italic;
	margin:0 .15em;
}
.ace-rd-footer .foot-tag{
	margin-top:1rem;
	font-size:1rem;
	line-height:1.7;
	max-width:280px;
	font-style:italic;
	font-family:'Cormorant Garamond',serif;
	color:rgba(255,255,255,.55);
}
.ace-rd-footer .foot-h{
	font-size:.7rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:#c9913c;
	margin:0 0 1.4rem;
	font-weight:600;
}
.ace-rd-footer .foot-list{
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:.7rem;
	padding:0;
	margin:0;
}
.ace-rd-footer .foot-list a{
	font-size:.85rem;
	color:rgba(255,255,255,.55);
	transition:color .2s;
}
.ace-rd-footer .foot-list a:hover{
	color:#c9913c;
}
.ace-rd-footer .foot-bot{
	max-width:1400px;
	margin:2rem auto 0;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:1rem;
	font-size:.72rem;
	letter-spacing:.1em;
	color:rgba(255,255,255,.3);
}
.ace-rd-footer .socials{
	display:flex;
	gap:1rem;
	list-style:none;
	margin:0;
	padding:0;
}
.ace-rd-footer .socials a{
	width:32px;
	height:32px;
	border:1px solid rgba(255,255,255,.15);
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	color:rgba(255,255,255,.55);
	transition:.2s;
}
.ace-rd-footer .socials a:hover{
	border-color:#c9913c;
	color:#c9913c;
}

@media (max-width:860px){
	.ace-rd-footer{padding:3rem 1.5rem 1.5rem}
	.ace-rd-footer .foot-grid{
		grid-template-columns:1fr 1fr;
		gap:2rem;
	}
	.ace-rd-footer .foot-brand{grid-column:1 / -1}
	.ace-rd-footer .foot-bot{
		flex-direction:column;
		text-align:center;
	}
}

/* ─────────────────────────────────────────────────────────────────
 * HEADER — fixed-top site header matching the redesign aesthetic.
 * Drop the Header widget once into a HFE Header template OR directly
 * onto a page. Transparent over the hero, frosted-blur navy on scroll.
 * ───────────────────────────────────────────────────────────────── */
.ace-rd-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:1.6rem;
	padding:2rem 3rem;
	font-family:'Inter',sans-serif;
	transition:background .3s, padding .3s;
	/* Solid dark-navy bg + sticky-in-flow. Header stays in document flow
	 * (so it pushes the Hero down naturally) and sticks to the top of the
	 * viewport once scrolled past. */
	background:#0d1f2d;
	position:sticky;
	top:0;
	z-index:9999;
}
.ace-rd-header.ace-rd-header--static{
	position:static;
}
/* On scroll, slightly tighten padding for compactness — bg stays solid. */
.ace-rd-header.scrolled{
	padding:1.4rem 3rem;
}
.ace-rd-header .logo-nav{
	font-family:'Cormorant Garamond',serif !important;
	font-size:1.6rem !important;
	font-weight:500 !important;
	color:#fff !important;
	letter-spacing:.04em !important;
	text-decoration:none;
	text-transform:none !important;
}
.ace-rd-header .logo-nav span{
	color:#c9913c;
	font-style:italic;
	margin:0 .15em;
}
/* Image logo variant — sizes the <img> for the header */
.ace-rd-header .logo-nav--image{
	display:inline-flex;
	align-items:center;
	padding:0;
}
.ace-rd-header .logo-img{
	display:block;
	height:38px;
	width:auto;
	max-height:54px;
	object-fit:contain;
	transition:height .3s;
}
.ace-rd-header.scrolled .logo-img{
	height:32px;
}
/* Right-side cluster: links + standalone Book Now CTA + hamburger. On
 * desktop the links list is visible; on tablet/mobile the hamburger
 * collapses the links into a dropdown panel, while the CTA always
 * stays visible next to the hamburger. */
.ace-rd-header .nav-actions{
	display:flex;
	align-items:center;
	gap:1.4rem;
}
.ace-rd-header .nav-links{
	display:flex;
	gap:2.4rem;
	list-style:none;
	align-items:center;
	margin:0;
	padding:0;
}
.ace-rd-header .nav-links a{
	color:rgba(255,255,255,.85);
	font-size:.78rem;
	letter-spacing:.16em;
	text-transform:uppercase;
	font-weight:400;
	transition:color .2s;
	text-decoration:none;
}
.ace-rd-header .nav-links a:hover{
	color:#c9913c;
}
/* Always-visible Book Now button — sits in .nav-actions alongside
 * the hamburger so the primary booking action is reachable from
 * every viewport without expanding the menu. */
.ace-rd-header .nav-cta{
	background:#c9913c;
	color:#0d1f2d !important;
	padding:.65rem 1.4rem;
	font-family:'Inter',sans-serif;
	font-size:.78rem;
	letter-spacing:.16em;
	text-transform:uppercase;
	font-weight:500;
	text-decoration:none;
	transition:background .2s, color .2s;
	white-space:nowrap;
}
.ace-rd-header .nav-cta:hover{
	background:#a87726;
	color:#fff !important;
}

/* Hamburger button — three stacked bars that animate into an X when
 * the menu is open. Hidden on desktop, shown on tablet/mobile. */
.ace-rd-header .nav-toggle{
	display:none;
	flex-direction:column;
	justify-content:center;
	gap:5px;
	width:42px;
	height:42px;
	padding:10px 8px;
	background:transparent;
	border:1px solid rgba(255,255,255,.25);
	border-radius:2px;
	cursor:pointer;
	transition:border-color .2s, background .2s;
}
.ace-rd-header .nav-toggle:hover{
	border-color:#c9913c;
}
.ace-rd-header .nav-toggle-bar{
	display:block;
	height:2px;
	width:100%;
	background:#fff;
	border-radius:1px;
	transition:transform .25s ease, opacity .2s ease;
	transform-origin:center;
}
.ace-rd-header.is-open .nav-toggle-bar:nth-child(1){
	transform:translateY(7px) rotate(45deg);
}
.ace-rd-header.is-open .nav-toggle-bar:nth-child(2){
	opacity:0;
}
.ace-rd-header.is-open .nav-toggle-bar:nth-child(3){
	transform:translateY(-7px) rotate(-45deg);
}

/* Tablet + mobile (<=1024px): nav-links collapse into a dropdown
 * panel anchored below the header. Hamburger toggles `.is-open` on
 * .ace-rd-header (set by ace-site.js) to slide the panel into view. */
@media (max-width:1024px){
	.ace-rd-header .nav-toggle{display:flex}
	.ace-rd-header .nav-links{
		position:absolute;
		top:100%;
		left:0;
		right:0;
		flex-direction:column;
		align-items:stretch;
		gap:0;
		background:#0d1f2d;
		padding:0 1.5rem;
		max-height:0;
		overflow:hidden;
		transition:max-height .35s ease, padding .25s ease;
		border-top:1px solid rgba(255,255,255,.08);
		box-shadow:0 18px 32px -20px rgba(0,0,0,.6);
	}
	.ace-rd-header.is-open .nav-links{
		max-height:80vh;
		padding:.8rem 1.5rem 1.4rem;
	}
	.ace-rd-header .nav-links li{
		border-bottom:1px solid rgba(255,255,255,.06);
	}
	.ace-rd-header .nav-links li:last-child{
		border-bottom:none;
	}
	.ace-rd-header .nav-links a{
		display:block;
		padding:1.1rem .4rem;
		font-size:.82rem;
		letter-spacing:.2em;
	}
}

@media (max-width:860px){
	.ace-rd-header{padding:1rem 1.5rem}
	.ace-rd-header.scrolled{padding:.8rem 1.5rem}
	.ace-rd-header .nav-actions{gap:.8rem}
	.ace-rd-header .nav-cta{
		padding:.55rem 1rem;
		font-size:.7rem;
		letter-spacing:.14em;
	}
	.ace-rd-header .nav-toggle{width:38px;height:38px;padding:8px 6px}
}
