/* ==========================================================================
   Homeani brand layer
   Design system: Brand & Design System Guide.
   Primary  Sunset Coral     #FF6B4A  Search, Reserve, "ani", wishlist heart
   Secondary Ocean Trust Blue #0171EA  Book Now, verified, links, active pills, map pins, payment
   Ink      #1E242B          headings, "Home", price figures, dark surfaces, secondary button
   Canvas   #FAF9F6          page / search-bar backgrounds
   Muted    #64748B          secondary labels
   Fonts    Nunito (display) + Plus Jakarta Sans (text). Nunito stands in for
            Cera Round Pro, which is a paid face.

   This layer overrides the Staybnb theme's own CSS custom properties so the
   brand applies through the theme's variables, then styles the few components
   the variables don't reach (Book Now button, badges, verified, logo sizing).
   ========================================================================== */

:root,
body {
	/* Brand tokens (single source of truth) */
	--homeani-coral: #ff6b4a;
	--homeani-coral-600: #ec5733;
	--homeani-blue: #0171ea;
	--homeani-blue-600: #0a63c4;
	--homeani-ink: #1e242b;
	--homeani-canvas: #faf9f6;
	--homeani-muted: #64748b;
	--homeani-font-display: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
	--homeani-font-text: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Map onto the Staybnb theme variables (see include/dynamic-css.php). */
	--primary-color: var(--homeani-coral);
	--secondary-color: var(--homeani-blue);
	---secondary-color: rgba(1, 113, 234, 0.27);
	--a-hover-color: var(--homeani-coral-600);
	--heading-color: var(--homeani-ink);
	--primary-font: var(--homeani-font-text);
}

/* --------------------------------------------------------------------------
   Typography
   `html body` (0,0,2) / `html body h1` (0,0,3) outrank CubeWP's generated
   `body` / `h1` rules (0,0,1), whose multi-word font name ships unquoted and
   is therefore invalid. These quoted stacks are the authoritative fonts.
   -------------------------------------------------------------------------- */
html body,
html .cwp-single-group,
html input,
html select,
html textarea,
html button {
	font-family: var(--homeani-font-text);
}

html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6,
html .staybnb-section-title,
html .cwp-widget-title,
html .staybnb-single-post-title {
	font-family: var(--homeani-font-display);
	font-weight: 700;
	color: var(--homeani-ink);
	letter-spacing: -0.01em;
}

/* Price and action figures: text face, bold. */
.staybnb-loop-price,
.cwp-booking-price,
#cwp-booking-total-amount,
.staybnb-single-price {
	font-family: var(--homeani-font-text);
	font-weight: 700;
	color: var(--homeani-ink);
	font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   Consistent header height on every page.
   The homepage header carries the search bar (~56px) inside a container with
   8px top/bottom padding (72px total). Pages that render a shorter header
   (e.g. no search bar) are padded up to the same height, with their content
   vertically centred, so the header never changes height between pages.
   -------------------------------------------------------------------------- */
.staybnb-header-container .staybnb-header-top-container {
	min-height: 0;
	padding-top: 8px;
	padding-bottom: 8px;
}
.staybnb-header-top-container .container,
.staybnb-header-top-container .container-fluid {
	min-height: 56px;
	display: flex;
	align-items: center;
}

/* --------------------------------------------------------------------------
   Logo sizing (brand spec: 38px desktop, 30px mobile)
   -------------------------------------------------------------------------- */
/* The theme sizes the logo from its container (object-fit:cover, max-height
   100%), so it renders at a different height per page and makes the header row
   taller on some pages than the homepage. Pin it to a fixed height at higher
   specificity than the theme's container rule so every header is the same. */
.staybnb-header-container .staybnb-header-logo img,
.staybnb-home-header .staybnb-header-logo img,
.staybnb-inner-header .staybnb-header-logo img,
.staybnb-site-logo img {
	height: 38px;
	max-height: 38px;
	width: auto;
	max-width: none;
	object-fit: contain;
}
@media (max-width: 782px) {
	.staybnb-header-container .staybnb-header-logo img,
	.staybnb-site-logo img {
		height: 30px;
		max-height: 30px;
	}
}

/* Header search form: show immediately instead of revealing on window-load,
   and reserve its height so the row does not jump while select2 and the date
   picker initialise (the "form loads with a delay" flash). */
.staybnb-header-search.staybnb-visible-on-load,
.staybnb-header-search {
	opacity: 1 !important;
	visibility: visible !important;
}
.staybnb-header-search .cwp-search-form {
	min-height: 52px;
}

/* --------------------------------------------------------------------------
   Primary action — Sunset Coral (Search + Reserve)
   -------------------------------------------------------------------------- */
.staybnb-search-btn,
.cwp-search-submit,
.cwp-submit-search,
.staybnb-reserve-btn {
	background-color: var(--homeani-coral);
	border-color: var(--homeani-coral);
	color: #fff;
	border-radius: 999px;
	font-weight: 700;
	transition: background-color 0.15s ease;
}
.staybnb-search-btn:hover,
.cwp-search-submit:hover,
.cwp-submit-search:hover,
.staybnb-reserve-btn:hover {
	background-color: var(--homeani-coral-600);
	border-color: var(--homeani-coral-600);
}

/* Wishlist / save heart, active state. */
.cwp-saved .cwp-main svg,
.staybnb-save-post.cwp-saved svg {
	color: var(--homeani-coral);
	fill: var(--homeani-coral);
}

/* --------------------------------------------------------------------------
   Secondary action — Book Now (booking submit) solid Ocean Trust Blue.
   The theme styles the booking submit through a 3-class selector
   (.cwp-frontend-form-container .cwp-custom-form .cwp-from-submit), so these
   rules carry (0,3,1) specificity to win cleanly without !important.
   -------------------------------------------------------------------------- */
input.cwp-booking-submitBTN,
.cwp-frontend-form-container .cwp-custom-form input.cwp-booking-submitBTN {
	background-color: var(--homeani-blue);
	border-color: var(--homeani-blue);
	color: #fff;
	border-radius: 999px;
	font-weight: 700;
	transition: background-color 0.15s ease;
}
input.cwp-booking-submitBTN:hover,
.cwp-frontend-form-container .cwp-custom-form input.cwp-booking-submitBTN:hover {
	background-color: var(--homeani-blue-600);
	border-color: var(--homeani-blue-600);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Links + secondary (outline) buttons
   -------------------------------------------------------------------------- */
a {
	color: var(--homeani-blue);
}
a:hover {
	color: var(--homeani-blue-600);
}

/* "Show all amenities" / "Show all reviews" read as a secondary button:
   ink outline + ink text, not a blue link. */
a.staybnb-show-all-terms,
a.staybnb-single-reviews.staybnb-show-all-terms {
	color: var(--homeani-ink);
	border-color: var(--homeani-ink);
}
a.staybnb-show-all-terms:hover {
	color: var(--homeani-ink);
	background-color: rgba(30, 36, 43, 0.04);
}

.homeani-btn-secondary {
	background: transparent;
	border: 2px solid var(--homeani-ink);
	color: var(--homeani-ink);
	border-radius: 999px;
	font-weight: 700;
	padding: 0.55em 1.4em;
}

/* --------------------------------------------------------------------------
   Trust — verified host / Superhost in Ocean Trust Blue
   -------------------------------------------------------------------------- */
.staybnb-super-host,
.homeani-verified {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	color: var(--homeani-blue);
}
.staybnb-super-host svg,
.homeani-verified svg {
	color: var(--homeani-blue);
	fill: var(--homeani-blue);
}

/* Active filter pills / active tabs. */
.cwp-active-tab-content,
.staybnb-filter-pill.is-active,
.cwp-filter-active {
	border-color: var(--homeani-blue);
	color: var(--homeani-blue);
}

/* --------------------------------------------------------------------------
   Badges (Plus Jakarta Sans, bold, +0.04em tracking per spec)
   -------------------------------------------------------------------------- */
.homeani-badge {
	display: inline-block;
	font-family: var(--homeani-font-text);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
	line-height: 1;
	padding: 0.4em 0.7em;
	border-radius: 999px;
}
.homeani-badge--new {
	background: var(--homeani-blue);
	color: #fff;
}
.homeani-badge--online {
	background: transparent;
	color: var(--homeani-coral);
	border: 1px solid var(--homeani-coral);
}
.homeani-badge--favourite {
	background: transparent;
	color: var(--homeani-ink);
	border: 1px solid var(--homeani-ink);
}

/* --------------------------------------------------------------------------
   Header layout (logo | search | actions)
   The header row sits inside a flex container (see "Consistent header
   height" above), so it shrank to its content and the theme's
   space-between had no room: the search bar ran straight into
   "List your property". Let the row span the container, then lay it out as
   three columns on desktop so the search stays centred with clear gaps.
   -------------------------------------------------------------------------- */
.staybnb-header-top-container .container-fluid > .staybnb-header-top,
.staybnb-header-top-container .container > .staybnb-header-top {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

@media (min-width: 1200px) {
	.staybnb-header-top {
		display: grid;
		grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
		align-items: center;
		column-gap: 24px;
	}
	.staybnb-header-top > .staybnb-header-logo {
		grid-column: 1;
		justify-self: start;
		width: auto;
		margin: 0;
	}
	.staybnb-header-top > .staybnb-header-search {
		grid-column: 2;
		min-width: 0;
	}
	.staybnb-header-top > .staybnb-header-menus {
		grid-column: 3;
		justify-self: end;
	}
}

/* Search pill: even field spacing, thin dividers, aligned label/value. */
@media (min-width: 992px) {
	.staybnb-header-search .cwp-search-form .search-form-fields {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field {
		position: relative;
		padding: 8px 20px;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field:first-child {
		padding-left: 26px;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field + .cwp-search-field::before {
		content: "";
		position: absolute;
		left: 0;
		top: 25%;
		height: 50%;
		width: 1px;
		background: #e2e2e2;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field label {
		font-weight: 700;
		color: var(--homeani-ink);
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field.cwp-search-field-dropdown span.select2-selection.select2-selection--single {
		min-width: 130px;
	}
	/* Check-in / Check-out sit side by side with a gap instead of a stray "-". */
	.staybnb-header-search .cwp-booking-search-date-range {
		display: flex;
		align-items: flex-end;
		gap: 20px;
	}
	.staybnb-header-search .cwp-booking-search-date-range .cwp-booking-search-date-range-field-seprator {
		display: none;
	}
	.staybnb-header-search .cwp-booking-search-date-range .cwp-booking-search-date-range-from,
	.staybnb-header-search .cwp-booking-search-date-range .cwp-booking-search-date-range-to {
		max-width: 80px;
		cursor: pointer;
	}
	.staybnb-header-search #staybnb-guests-details {
		width: 90px;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-field-button {
		width: auto !important;
		padding: 0 7px 0 4px;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container button.cwp-submit-search {
		height: 44px;
		padding: 0 20px;
		white-space: nowrap;
	}
}

/* Narrow desktops: tighten the pill so the three columns still fit. */
@media (min-width: 1200px) and (max-width: 1439px) {
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field {
		padding: 8px 14px;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field:first-child {
		padding-left: 20px;
	}
	.staybnb-header-search .cwp-search-form .cwp-field-container.cwp-search-field.cwp-search-field-dropdown span.select2-selection.select2-selection--single {
		min-width: 110px;
	}
	.staybnb-header-search .cwp-booking-search-date-range {
		gap: 12px;
	}
	.staybnb-header-search .cwp-booking-search-date-range .cwp-booking-search-date-range-from,
	.staybnb-header-search .cwp-booking-search-date-range .cwp-booking-search-date-range-to {
		max-width: 72px;
	}
}

/* Right-hand actions: "List your property" as a pill matching the menu pill. */
.staybnb-header-menus {
	gap: 10px;
	flex-wrap: nowrap;
}
a.staybnb-your-home {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 18px;
	border: 1px solid #dddddd;
	border-radius: 999px;
	background: #fff;
	color: var(--homeani-ink);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
a.staybnb-your-home::before {
	content: "\f015";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 13px;
}
a.staybnb-your-home:hover,
a.staybnb-your-home:focus-visible {
	background: #f7f7f7;
	border-color: var(--homeani-ink);
	color: var(--homeani-ink);
}
#staybnb-header-toggle-menu {
	height: 44px;
	box-sizing: border-box;
}
#staybnb-header-toggle-menu:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* --------------------------------------------------------------------------
   Footer (widget columns: brand, contact, links)
   -------------------------------------------------------------------------- */
#staybnb-footer {
	min-height: 0;
	padding: 56px 0 40px;
}
#staybnb-footer .staybnb-footer-column {
	margin-bottom: 24px;
}
.homeani-footer-brand img {
	height: 34px;
	width: auto;
	margin-bottom: 14px;
}
#staybnb-footer .homeani-footer-tagline {
	font-family: var(--homeani-font-display);
	font-weight: 800;
	font-size: 20px;
	color: var(--homeani-coral);
	margin: 0 0 6px;
}
#staybnb-footer h3 {
	font-family: var(--homeani-font-text);
	font-size: 16px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 16px;
	color: var(--homeani-ink);
}
#staybnb-footer p,
#staybnb-footer address {
	font-size: 15px;
	line-height: 1.7;
	color: var(--homeani-muted);
	font-style: normal;
	margin: 0 0 10px;
}
#staybnb-footer a {
	color: var(--homeani-ink);
}
#staybnb-footer a:hover,
#staybnb-footer a:focus-visible,
#staybnb-footer .staybnb-widget a:hover,
#staybnb-footer .staybnb-widget a:focus-visible,
#staybnb-sub-footer a:hover,
#staybnb-sub-footer a:focus-visible {
	color: var(--homeani-coral-600);
}
.homeani-footer-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.homeani-footer-links li {
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 4px;
}
/* Columns: brand | Explore | For hosts | Get in touch. Tablet puts the brand
   on its own row; phones pair the two link lists. */
#staybnb-footer > .container > .row {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 32px 56px;
	margin: 0;
}
#staybnb-footer > .container > .row > [class*="col-"] {
	width: auto;
	max-width: none;
	padding: 0;
}
#staybnb-footer .staybnb-footer-column {
	margin-bottom: 0;
}
.homeani-footer-brand p {
	max-width: 340px;
}
@media (max-width: 991px) {
	#staybnb-footer > .container > .row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 32px;
	}
	#staybnb-footer > .container > .row > :first-child {
		grid-column: 1 / -1;
	}
	.homeani-footer-brand p {
		max-width: 520px;
	}
}
@media (max-width: 575px) {
	#staybnb-footer {
		padding: 40px 0 28px;
	}
	#staybnb-footer > .container > .row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}
	#staybnb-footer > .container > .row > :last-child {
		grid-column: 1 / -1;
	}
}

/* --------------------------------------------------------------------------
   One content width for header, page body and footer (1400px, 40px gutters;
   16px on phones) so their edges line up.
   -------------------------------------------------------------------------- */
:root {
	--homeani-page-width: 1400px;
}
.staybnb-header-top-container .container,
.staybnb-header-top-container .container-fluid,
#staybnb-footer > .container,
#staybnb-sub-footer > .container {
	box-sizing: border-box;
	max-width: var(--homeani-page-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px !important;
	padding-right: 40px !important;
}
@media (max-width: 991px) {
	.staybnb-header-top-container .container,
	.staybnb-header-top-container .container-fluid,
	#staybnb-footer > .container,
	#staybnb-sub-footer > .container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
/* Footer menus (nav menu widgets) share the column heading style. */
#staybnb-footer .staybnb-widget > h5 {
	font-family: var(--homeani-font-text);
	font-size: 16px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0 0 16px;
	color: var(--homeani-ink);
}
#staybnb-footer .staybnb-widget ul {
	padding: 0;
	margin: 0;
	gap: 10px;
}
#staybnb-footer .staybnb-widget ul a {
	font-size: 15px;
	line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Header: keep the account dropdown above page content (the start page hero
   has its own stacking layer), and the inline main menu.
   -------------------------------------------------------------------------- */
.staybnb-header {
	position: relative;
	z-index: 1030;
}
.staybnb-header-top > .homeani-main-nav {
	grid-column: 2;
	justify-self: start;
	margin-left: 16px;
}
/* With the main menu next to the logo the middle column takes the slack. */
@media (min-width: 1200px) {
	.staybnb-header-top:has(> .homeani-main-nav) {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}
}
.homeani-main-nav__list {
	display: flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.homeani-main-nav__list a {
	display: block;
	padding: 10px 16px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--homeani-ink);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease;
}
.homeani-main-nav__list a:hover,
.homeani-main-nav__list a:focus-visible {
	background: #fff0ec;
	color: var(--homeani-coral);
}

/* --------------------------------------------------------------------------
   Text pages (templates/homeani-page.php): About, Contact, Privacy, Terms.
   -------------------------------------------------------------------------- */
.homeani-page {
	box-sizing: border-box;
	max-width: var(--homeani-page-width);
	margin: 0 auto;
	padding: 56px 40px 80px;
}
.homeani-page__header,
.homeani-page__content {
	max-width: 780px;
	margin: 0 auto;
}
.homeani-page__header {
	padding-bottom: 24px;
	margin-bottom: 32px;
	border-bottom: 1px solid #e6e3dd;
}
html body .homeani-page__title {
	margin: 0;
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.15;
	font-weight: 800;
	color: var(--homeani-ink);
}
.homeani-page__content,
.homeani-page__content p,
.homeani-page__content li {
	font-size: 17px;
	line-height: 1.7;
	color: var(--homeani-ink);
}
html body .homeani-page__content h2 {
	margin: 40px 0 12px;
	font-size: 22px;
	line-height: 1.3;
}
.homeani-page__content p,
.homeani-page__content ul {
	margin: 0 0 16px;
}
.homeani-page__content ul {
	list-style: disc;
	padding-left: 22px;
}
.homeani-page__content li {
	margin-bottom: 8px;
}
.homeani-page__content a {
	font-size: inherit;
	color: var(--homeani-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.homeani-page__content a:hover {
	color: var(--homeani-blue-600);
}
.homeani-page__content .wp-block-jetpack-contact-form {
	margin: 8px 0 24px;
}
@media (max-width: 991px) {
	.homeani-page {
		padding: 32px 16px 56px;
	}
}

/* --------------------------------------------------------------------------
   Search results page: line the category bar and the results up with the
   header's content edge; the map stays full-bleed on the right.
   -------------------------------------------------------------------------- */
.staybnb-archive-container {
	--homeani-edge: max(40px, calc((100vw - var(--homeani-page-width)) / 2 + 40px));
}
.staybnb-archive-container .staybnb-archive-top-filters {
	padding-left: var(--homeani-edge);
	padding-right: var(--homeani-edge);
}
.staybnb-archive-container .staybnb-archive-inner .staybnb-archive-content {
	padding-left: var(--homeani-edge);
	padding-right: 24px;
}
@media (max-width: 991px) {
	.staybnb-archive-container {
		--homeani-edge: 16px;
	}
	.staybnb-archive-container .staybnb-archive-inner .staybnb-archive-content {
		padding-right: 16px;
	}
}

/* --------------------------------------------------------------------------
   Sub-footer: payment methods (child footer-style-2 override).
   -------------------------------------------------------------------------- */
.homeani-payment-methods {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}
.homeani-payment-methods__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--homeani-muted);
	white-space: nowrap;
}
.homeani-payment-methods__lock {
	width: 11px;
	height: 12px;
}
.homeani-payment-methods__cards {
	display: flex;
	gap: 8px;
}
.homeani-payment-methods__card {
	display: block;
	width: 38px;
	height: 34px;
}
#staybnb-sub-footer {
	padding: 14px 0;
}
@media (max-width: 991px) {
	#staybnb-sub-footer .staybnb-sub-footer-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.staybnb-sub-footer-menus-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	.staybnb-sub-footer-menu li:first-child a::before {
		display: none;
	}
	.homeani-payment-methods {
		margin: 0;
		flex-wrap: wrap;
	}
}

/* --------------------------------------------------------------------------
   Shared bits for the Destinations and Contact templates.
   -------------------------------------------------------------------------- */
.homeani-dest,
.homeani-contact {
	box-sizing: border-box;
	max-width: var(--homeani-page-width);
	margin: 0 auto;
	padding: 56px 40px 88px;
	color: var(--homeani-ink);
}
.homeani-eyebrow {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--homeani-coral-600);
}
html body .homeani-dest__title,
html body .homeani-contact__title {
	margin: 0 0 14px;
	font-family: var(--homeani-font-text);
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--homeani-ink);
	text-wrap: balance;
}
.homeani-dest__lead,
.homeani-dest__lead p,
.homeani-contact__lead {
	max-width: 640px;
	margin: 0;
	font-size: 18px;
	line-height: 1.6;
	color: var(--homeani-muted);
}
.homeani-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 26px;
	border-radius: 999px;
	background: var(--homeani-coral);
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}
.homeani-btn:hover,
.homeani-btn:focus-visible {
	background: var(--homeani-coral-600);
	color: #fff;
}

/* Destinations (templates/homeani-destinations.php). */
.homeani-dest__header {
	margin-bottom: 40px;
}
.homeani-dest__meta {
	margin: 18px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--homeani-ink);
}
.homeani-dest__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.homeani-dest-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 20px;
	background: #e9e5df;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}
.homeani-dest-card__img {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: #d9d4cc center / cover no-repeat;
	transition: transform 0.5s ease;
}
.homeani-dest-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(16, 20, 26, 0) 40%, rgba(16, 20, 26, 0.72) 100%);
}
.homeani-dest-card:hover .homeani-dest-card__img,
.homeani-dest-card:focus-visible .homeani-dest-card__img {
	transform: scale(1.05);
}
.homeani-dest-card:focus-visible {
	outline: 3px solid var(--homeani-blue);
	outline-offset: 3px;
}
.homeani-dest-card__icon {
	position: absolute;
	top: 16px;
	left: 16px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--homeani-coral-600);
	font-size: 18px;
}
.homeani-dest-card__body {
	display: grid;
	gap: 4px;
	width: 100%;
	padding: 20px 22px;
}
.homeani-dest-card__name {
	font-size: 24px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
}
.homeani-dest-card__count {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	opacity: 0.92;
}
.homeani-dest-card__count i {
	font-size: 12px;
	transition: transform 0.2s ease;
}
.homeani-dest-card:hover .homeani-dest-card__count i {
	transform: translateX(4px);
}
.homeani-dest-card__desc {
	font-size: 14px;
	line-height: 1.5;
	opacity: 0.9;
}
.homeani-dest__empty {
	font-size: 17px;
	color: var(--homeani-muted);
}
.homeani-cta-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 64px;
	padding: 36px 40px;
	border-radius: 24px;
	background: #fff0ec;
}
html body .homeani-cta-band h2 {
	margin: 0 0 6px;
	font-family: var(--homeani-font-text);
	font-size: 26px;
	font-weight: 800;
	color: var(--homeani-ink);
}
.homeani-cta-band p {
	margin: 0;
	font-size: 16px;
	color: var(--homeani-muted);
}

/* Contact (templates/homeani-contact.php). */
.homeani-contact__hero {
	margin-bottom: 40px;
}
.homeani-contact__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 48px;
	padding: 0;
	list-style: none;
}
.homeani-contact-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px;
	border: 1px solid #e6e3dd;
	border-radius: 20px;
	background: #fff;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.homeani-contact-card:hover {
	box-shadow: 0 12px 32px rgba(16, 20, 26, 0.08);
	transform: translateY(-2px);
}
.homeani-contact-card__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-bottom: 18px;
	border-radius: 14px;
	background: #fff0ec;
	color: var(--homeani-coral-600);
	font-size: 20px;
}
html body .homeani-contact-card h2 {
	margin: 0 0 6px;
	font-family: var(--homeani-font-text);
	font-size: 18px;
	font-weight: 700;
	color: var(--homeani-ink);
}
.homeani-contact-card p {
	flex: 1;
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--homeani-muted);
}
.homeani-contact-card a {
	font-size: 16px;
	font-weight: 700;
	color: var(--homeani-ink);
	text-decoration: underline;
	text-decoration-color: var(--homeani-coral);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	word-break: break-word;
}
.homeani-contact-card a:hover {
	color: var(--homeani-coral-600);
}
.homeani-contact__main {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.homeani-contact__form {
	padding: 40px;
	border-radius: 24px;
	background: var(--homeani-canvas);
	border: 1px solid #ece8e1;
}
html body .homeani-contact__form h2,
html body .homeani-contact__help h2 {
	margin: 0 0 6px;
	font-family: var(--homeani-font-text);
	font-size: 24px;
	font-weight: 800;
	color: var(--homeani-ink);
}
.homeani-contact__form-lead {
	margin: 0 0 24px;
	font-size: 15px;
	color: var(--homeani-muted);
}
/* Jetpack form fields. */
.homeani-contact__form .wp-block-jetpack-contact-form {
	gap: 18px;
	margin: 0;
	padding: 0;
}
.homeani-contact__form .grunion-field-wrap label,
.homeani-contact__form .wp-block-jetpack-contact-form label {
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--homeani-ink);
}
.homeani-contact__form input[type="text"],
.homeani-contact__form input[type="email"],
.homeani-contact__form input[type="tel"],
.homeani-contact__form textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 13px 16px;
	border: 1px solid #d9d4cc;
	border-radius: 12px;
	background: #fff;
	font-family: var(--homeani-font-text);
	font-size: 16px;
	color: var(--homeani-ink);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.homeani-contact__form textarea {
	min-height: 160px;
	resize: vertical;
}
.homeani-contact__form input:focus,
.homeani-contact__form textarea:focus {
	outline: none;
	border-color: var(--homeani-blue);
	box-shadow: 0 0 0 3px rgba(1, 113, 234, 0.15);
}
.homeani-contact__form .wp-block-button__link,
.homeani-contact__form button[type="submit"] {
	padding: 14px 30px;
	border: 0;
	border-radius: 999px;
	background: var(--homeani-coral);
	color: #fff;
	font-family: var(--homeani-font-text);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.homeani-contact__form .wp-block-button__link:hover,
.homeani-contact__form button[type="submit"]:hover {
	background: var(--homeani-coral-600);
}
.homeani-contact__form .entry-content > p {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--homeani-muted);
}
.homeani-contact__form .entry-content > p a {
	color: inherit;
	text-decoration: underline;
}
.homeani-contact__help {
	padding: 8px 0 0;
}
.homeani-contact__help ul {
	display: grid;
	gap: 12px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}
.homeani-contact__help a {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border: 1px solid #e6e3dd;
	border-radius: 16px;
	background: #fff;
	color: var(--homeani-ink);
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.homeani-contact__help a:hover {
	border-color: var(--homeani-coral);
	background: #fffaf8;
	color: var(--homeani-ink);
}
.homeani-contact__help i {
	width: 20px;
	margin-top: 3px;
	color: var(--homeani-coral-600);
	text-align: center;
}
.homeani-contact__help span {
	display: grid;
	gap: 2px;
	font-size: 14px;
	color: var(--homeani-muted);
}
.homeani-contact__help strong {
	font-size: 15px;
	color: var(--homeani-ink);
}

@media (max-width: 991px) {
	.homeani-dest,
	.homeani-contact {
		padding: 32px 16px 64px;
	}
	.homeani-contact__cards {
		gap: 12px;
		margin-bottom: 32px;
	}
	.homeani-contact-card {
		padding: 22px;
	}
	.homeani-contact__main {
		grid-template-columns: 1fr;
	}
	.homeani-cta-band {
		flex-direction: column;
		align-items: flex-start;
		margin-top: 48px;
		padding: 28px 24px;
	}
}
@media (max-width: 767px) {
	.homeani-contact__cards {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	.homeani-contact__form {
		padding: 24px 18px;
		border-radius: 20px;
	}
	.homeani-dest-card__name {
		font-size: 22px;
	}
}

/* Footer "Get in touch": icon + text rows (widget block 8). */
.homeani-footer-contact__list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.homeani-footer-contact__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--homeani-ink);
}
.homeani-footer-contact__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: #fff0ec;
	color: var(--homeani-coral-600);
	font-size: 14px;
}
#staybnb-footer .homeani-footer-contact__list a {
	font-size: 15px;
	line-height: 1.45;
	color: var(--homeani-ink);
	word-break: break-word;
}
#staybnb-footer .homeani-footer-contact__list a:hover {
	color: var(--homeani-coral-600);
}

/* Jetpack submit button: full-size pill. */
.homeani-contact__form .wp-block-jetpack-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	height: auto;
	padding: 14px 32px;
	line-height: 1.2;
}

/* Search results category bar: one line per label (the list itself is trimmed
   in inc/hooks.php). */
.staybnb-archive-category-filter .staybnb-filter-category label span {
	white-space: nowrap;
}

/* Listing page: "Contact Host" reads as an ink outline button. */
.staybnb-single-contact-host a.staybnb-contact-host {
	color: #1e242b;
	border-color: #1e242b;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.staybnb-single-contact-host a.staybnb-contact-host:hover,
.staybnb-single-contact-host a.staybnb-contact-host:focus-visible {
	background-color: #1e242b;
	border-color: #1e242b;
	color: #fff;
}

/* Listing page: in-place expand for "See more" / "Show all amenities"
   (assets/js/child.js), and the amenities button's ink hover. */
.homeani-expand {
	overflow: hidden;
	transition: height 0.45s ease;
}
@media (prefers-reduced-motion: reduce) {
	.homeani-expand {
		transition: none;
	}
}
a.staybnb-show-all-terms {
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}
a.staybnb-show-all-terms:hover,
a.staybnb-show-all-terms:focus-visible {
	background-color: #1e242b;
	border-color: #1e242b;
	color: #fff;
}
/* Amenities: "Show all N Amenities" is a text link like "See more", on its
   own row under the list. */
.staybnb-single-post-terms-list li.staybnb-show-all-terms-container {
	width: 100%;
	flex-basis: 100%;
	grid-column: 1 / -1;
}
.staybnb-show-all-terms-container a.staybnb-show-all-terms,
.staybnb-show-all-terms-container a.staybnb-show-all-terms:hover,
.staybnb-show-all-terms-container a.staybnb-show-all-terms:focus-visible {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	margin-top: 16px;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--homeani-blue);
	font-size: 16px;
	font-weight: 500;
	text-align: left;
}
.staybnb-show-all-terms-container a.staybnb-show-all-terms:hover {
	color: var(--homeani-blue-600);
}
.staybnb-show-all-terms-container a.staybnb-show-all-terms i {
	font-size: 13px;
}

/* Listing page map (built in child.js) */
.cpt-single-map .homeani-single-map {
	height: 100%;
	border-radius: 12px;
	z-index: 0;
}
.leaflet-marker-icon.homeani-map-pin {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #1e242b;
	color: #fff;
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
	font-size: 15px;
	line-height: 1;
}
.homeani-map-pin i {
	display: block;
}

/* Listing page: "More stays in …" row above the footer */
.homeani-related {
	padding: 48px 0 88px;
	border-top: 1px solid #e6e8eb;
	margin-top: 24px;
}
.homeani-related__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}
.homeani-related__title {
	font-size: 24px;
	line-height: 1.25;
	margin: 0;
}
.homeani-related__all {
	color: #1e242b;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}
.homeani-related__all i {
	font-size: 12px;
	margin-left: 4px;
}
.homeani-related__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 20px;
}
.homeani-related__grid .homeani-card-col {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}
@media (max-width: 991px) {
	.homeani-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
	.homeani-related { padding: 36px 0 64px; }
	.homeani-related__title { font-size: 20px; }
	.homeani-related__grid { grid-template-columns: 1fr; }
}

/* Listing page reviews: easier to read, long ones clipped (child.js) */
.cwp-cpt-single-review-container .cwp-single-review-author_name a,
.cwp-cpt-single-review-container .cwp-single-review-author_name {
	font-size: 16px;
}
.cwp-cpt-single-review-container .cwp-review-time {
	font-size: 14px;
}
.cwp-cpt-single-review-container .cwp-review-title {
	font-size: 17px;
	line-height: 1.4;
	margin-bottom: 8px;
}
.cwp-cpt-single-review-container .cwp-review-desc,
.cwp-cpt-single-review-container .cwp-review-desc p {
	font-size: 16px;
	line-height: 1.65;
}
.cwp-review-desc.homeani-review-clamp {
	position: relative;
	overflow: hidden;
	transition: height 0.45s ease;
}
.cwp-review-desc.homeani-review-clamp::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2.4em;
	background: linear-gradient(rgba(255, 255, 255, 0), #fff);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}
.cwp-review-desc.homeani-review-clamp.is-clamped::after {
	opacity: 1;
}
a.homeani-review-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	color: var(--homeani-blue);
	font-size: 16px;
	font-weight: 500;
}
a.homeani-review-more:hover {
	color: var(--homeani-blue-600);
}
a.homeani-review-more i {
	font-size: 13px;
}
@media (prefers-reduced-motion: reduce) {
	.cwp-review-desc.homeani-review-clamp {
		transition: none;
	}
}

/* Review form: Title and Content are the same boxed field, label inside
   the box at the top, input below it. */
#cwp-from-cwp_reviews [data-id="the_title"],
#cwp-from-cwp_reviews [data-id="the_content"] {
	position: relative;
	padding: 10px 14px 10px !important;
	border: 1px solid #b0b0b0 !important;
	border-radius: 10px !important;
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#cwp-from-cwp_reviews [data-id="the_title"]:focus-within,
#cwp-from-cwp_reviews [data-id="the_content"]:focus-within {
	border-color: #1e242b !important;
	box-shadow: 0 0 0 1px #1e242b;
}
#cwp-from-cwp_reviews [data-id="the_title"] > label,
#cwp-from-cwp_reviews [data-id="the_content"] > label {
	position: static !important;
	display: block;
	margin: 0 0 4px !important;
	padding: 0 !important;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.3;
	color: #222;
	transform: none !important;
}
#cwp-from-cwp_reviews #the_title,
#cwp-from-cwp_reviews #the_content {
	display: block;
	width: 100%;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0;
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: #222;
}
#cwp-from-cwp_reviews #the_title {
	height: 26px !important;
	min-height: 0 !important;
}
#cwp-from-cwp_reviews #the_content {
	height: 96px !important;
	min-height: 72px !important;
	resize: vertical;
}
#cwp-from-cwp_reviews [data-id="the_content"] .wp-editor-container,
#cwp-from-cwp_reviews [data-id="the_content"] .wp-editor-wrap {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}
#cwp-from-cwp_reviews #the_title::placeholder,
#cwp-from-cwp_reviews #the_content::placeholder {
	color: #8a9099;
	opacity: 1;
}
#cwp-from-cwp_reviews [data-id="the_content"] {
	margin-bottom: 24px !important;
}

/* Search results: category bar as a plain row (carousel removed in child.js) */
.staybnb-archive-category-filter .staybnb-category-field-container.homeani-cat-row {
	display: flex;
	align-items: flex-end;
	gap: 8px 32px;
	margin: 0;
	padding: 0 0 4px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.staybnb-archive-category-filter .staybnb-category-field-container.homeani-cat-row::-webkit-scrollbar {
	display: none;
}
.staybnb-archive-category-filter .staybnb-category-field-container.homeani-cat-row > li {
	flex: 0 0 auto;
	width: auto;
}

/* "More places to stay" cards: room between the photo and the text */
.homeani-related .staybnb-post.staybnb-post-style-1 .staybnb-post-content {
	margin-top: 14px;
}

/* Footer intro text: darker and a touch larger, same font as the links */
#staybnb-footer .homeani-footer-brand p {
	font-size: 16px;
	line-height: 1.65;
	color: #3d4652;
	max-width: 360px;
}

/* Review form Content: plain textarea (TinyMCE off, inc/hooks.php) */
#cwp-from-cwp_reviews [data-id="the_content"] .wp-editor-tools,
#cwp-from-cwp_reviews [data-id="the_content"] .quicktags-toolbar {
	display: none;
}
/* Category row: spread across the bar; space before the "Your Search" divider */
.staybnb-archive-category-filter .staybnb-category-field-container.homeani-cat-row {
	flex: 1 1 auto;
	justify-content: space-between;
	gap: 8px 24px;
	margin-right: 40px;
}
.staybnb-archive-category-filter .homeani-cat-row .staybnb-archive-your-search-container {
	padding-right: 24px;
}
/* Listing cards: the heart's wrapper took 16px above the photo, pushing the
   photo out of its 270px box and onto the text below. */
.staybnb-post.staybnb-post-style-1 .staybnb-post-head > div.staybnb-post-save {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	padding: 0;
	margin: 0;
	z-index: 2;
}
/* Destination cards: text stays white on hover (not the global blue link hover) */
a.homeani-dest-card,
a.homeani-dest-card:hover,
a.homeani-dest-card:focus-visible,
a.homeani-dest-card:hover .homeani-dest-card__name,
a.homeani-dest-card:hover .homeani-dest-card__count,
a.homeani-dest-card:hover .homeani-dest-card__desc {
	color: #fff;
}
/* Contact page "Quick help": larger icons in a tinted square, like the footer */
.homeani-contact__help a {
	align-items: center;
}
.homeani-contact__help i {
	flex: 0 0 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 12px;
	background: #fff0ec;
	font-size: 19px;
}
/* Page titles (Privacy, Terms, About…) in the same face as the other headings */
html body .homeani-page__title {
	font-family: var(--homeani-font-text);
	font-weight: 800;
	letter-spacing: -0.02em;
}

/* --------------------------------------------------------------------------
   Search "Filters" popup: rounded card, sticky header, left-aligned
   two-column checkbox lists, boxed number fields, brand-coloured checks.
   -------------------------------------------------------------------------- */
#staybnb-filters .modal-dialog {
	max-width: 680px;
}
#staybnb-filters .modal-content {
	border: 0;
	border-radius: 16px;
	box-shadow: 0 24px 60px rgba(10, 13, 18, 0.25);
}
#staybnb-filters .modal-body {
	padding: 0;
	max-height: calc(100vh - 96px);
	overflow-y: auto;
	border-radius: 16px;
}
#staybnb-filters .cwp-reset-search-filters {
	position: sticky;
	top: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 18px 24px;
	background: #fff;
	border-bottom: 1px solid #ebebeb;
	border-radius: 16px 16px 0 0;
}
#staybnb-filters .cwp-reset-search-filters p {
	margin: 0;
	font-family: var(--homeani-font-display);
	font-size: 20px;
	font-weight: 800;
	color: var(--homeani-ink);
}
#staybnb-filters .cwp-reset-search-filters .clear-filters {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--homeani-font-text);
	font-size: 15px;
	font-weight: 600;
	color: var(--homeani-coral-600);
}
#staybnb-filters .cwp-reset-search-filters .clear-filters:hover {
	color: var(--homeani-ink);
}
#staybnb-filters .cwp-search-filters-fields {
	padding: 0 24px 8px;
}
#staybnb-filters .cwp-search-filters-fields > .cwp-field-container {
	width: 100% !important;
	max-width: none;
	margin: 0;
	padding: 22px 0;
	border-bottom: 1px solid #ebebeb;
}
#staybnb-filters .cwp-search-filters-fields > .cwp-field-container:last-child {
	border-bottom: 0;
}
#staybnb-filters .cwp-search-filters-fields > .cwp-field-container > label,
#staybnb-filters .cwp-search-field-checkbox > label,
#staybnb-filters .cwp-radio-container > label {
	display: block;
	margin: 0 0 14px;
	font-family: var(--homeani-font-text);
	font-size: 17px;
	font-weight: 700;
	color: var(--homeani-ink);
}
#staybnb-filters ul.cwp-field-checkbox-container,
#staybnb-filters ul.cwp-field-radio-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 24px;
	align-items: start;
	margin: 0;
	padding: 0;
	list-style: none;
}
#staybnb-filters ul.cwp-field-radio-container {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
#staybnb-filters ul.cwp-field-checkbox-container > li,
#staybnb-filters ul.cwp-field-radio-container > li {
	width: auto;
	margin: 0;
	padding: 0;
}
#staybnb-filters .cwp-field-checkbox-container .cwp-field-checkbox,
#staybnb-filters .cwp-field-radio-container .cwp-field-radio {
	margin: 0;
	padding: 0;
}
#staybnb-filters .cwp-field-checkbox-container .cwp-field-checkbox label,
#staybnb-filters .cwp-field-radio-container .cwp-field-radio label {
	display: inline-block;
	margin: 0;
	padding-left: 32px;
	font-family: var(--homeani-font-text);
	font-size: 15px;
	line-height: 22px;
	letter-spacing: 0;
	color: var(--homeani-ink);
}
#staybnb-filters .cwp-field-checkbox-container .cwp-field-checkbox label:before,
#staybnb-filters .cwp-field-radio-container .cwp-field-radio label:before {
	width: 20px;
	height: 20px;
	top: 1px;
	left: 0;
	border: 1.5px solid #b0b0b0;
	border-radius: 6px;
	background: #fff;
}
#staybnb-filters .cwp-field-radio-container .cwp-field-radio label:before {
	border-radius: 50%;
}
#staybnb-filters .cwp-field-checkbox-container .cwp-field-checkbox label:hover:before,
#staybnb-filters .cwp-field-radio-container .cwp-field-radio label:hover:before {
	border-color: var(--homeani-ink);
}
#staybnb-filters .cwp-field-checkbox-container .cwp-field-checkbox input[type=checkbox]:checked ~ label:before {
	content: '\f00c';
	background-color: var(--homeani-coral-600);
	border-color: var(--homeani-coral-600);
	color: #fff;
	font-size: 11px;
}
#staybnb-filters .cwp-field-radio-container .cwp-field-radio input[type=radio]:checked ~ label:before {
	content: '';
	background-color: var(--homeani-coral-600);
	border-color: var(--homeani-coral-600);
	box-shadow: inset 0 0 0 4px #fff;
}
#staybnb-filters .cwp-range-number-fields {
	display: flex;
	align-items: center;
	gap: 12px;
}
#staybnb-filters .cwp-range-number-field {
	flex: 1 1 0;
	min-width: 0;
}
#staybnb-filters .cwp-range-number-field .form-control {
	height: 46px;
	padding: 0 14px;
	border: 1px solid #b0b0b0;
	border-radius: 10px;
	box-shadow: none;
	font-family: var(--homeani-font-text);
	font-size: 15px;
	color: var(--homeani-ink);
}
#staybnb-filters .cwp-range-number-field .form-control:focus {
	border-color: var(--homeani-ink);
	box-shadow: 0 0 0 1px var(--homeani-ink);
	outline: 0;
}
#staybnb-filters .cwp-range-number-field-seprator {
	color: #8a8f98;
}
@media (max-width: 575px) {
	#staybnb-filters .modal-dialog {
		width: auto;
		max-width: none;
		margin: 12px;
		padding: 0;
	}
	#staybnb-filters .modal-content {
		width: 100%;
		max-width: none;
	}
	#staybnb-filters .staybnb-close-modal {
		top: 20px;
		right: 20px;
		z-index: 4;
		color: var(--homeani-ink);
		font-size: 20px;
	}
	#staybnb-filters .cwp-reset-search-filters {
		padding-right: 56px;
	}
	#staybnb-filters ul.cwp-field-radio-container {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 400px) {
	#staybnb-filters ul.cwp-field-checkbox-container {
		grid-template-columns: 1fr;
	}
}
