/*
 * Bedford Landings Blog Child global compatibility.
 * Keeps the parent theme responsible for header/footer while adding only
 * late-loading layout guards and room reservation card spacing.
 */

:root {
	--color-primary: #8B5E3C;
	--color-secondary: #5C3D1E;
	--color-accent: #C9963B;
	--color-header-bg: #ffffff;
	--color-header-text: #3f2f23;
	--color-footer-bg: #2f241c;
	--color-footer-text: #f4eadc;
}

body.home.page-id-547,
body.page-id-547 .elementor,
body.page-id-547 .elementor-section,
body.page-id-547 .e-con {
	--color-primary: #8B5E3C;
	--color-secondary: #5C3D1E;
	--color-accent: #C9963B;
	--color-header-bg: #ffffff;
	--color-header-text: #3f2f23;
	--color-footer-bg: #2f241c;
	--color-footer-text: #f4eadc;
}

.bedford-footer,
.bedford-footer * {
	box-sizing: border-box;
}

.bedford-footer {
	clear: both;
	display: block;
	width: 100%;
	margin: 0;
	padding: 48px 24px 22px;
	background: var(--color-footer-bg, #2f241c);
	color: var(--color-footer-text, #f4eadc);
	font-family: Outfit, Lato, Arial, sans-serif;
	line-height: 1.6;
}

body .site-header {
	background: var(--color-header-bg, #ffffff);
	color: var(--color-header-text, #3f2f23);
}

body .site-header a,
body .site-header button {
	color: inherit;
}

.bedford-footer__inner,
.bedford-footer__column,
.bedford-footer__logo,
.bedford-footer__menu,
.bedford-footer-button {
	min-width: 0;
}

.bedford-footer__inner {
	display: grid;
	grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(150px, 1fr));
	gap: 32px;
	align-items: start;
	width: min(1180px, 100%);
	margin: 0 auto;
}

.bedford-footer__column {
	display: block;
	margin: 0;
	padding: 0;
}

.bedford-footer__brand {
	max-width: 340px;
}

.bedford-footer__contact address {
	margin: 0 0 12px;
	color: rgba(244, 234, 220, 0.82);
	font-size: 15px;
	font-style: normal;
	line-height: 1.55;
}

.bedford-footer__contact address strong {
	display: block;
	margin-bottom: 2px;
	color: #f4eadc;
	font-weight: 800;
}

.bedford-footer__logo {
	display: block;
	max-width: 190px;
	margin: 0 0 16px;
}

.bedford-footer__logo img,
.bedford-footer .custom-logo {
	display: block;
	max-width: 190px;
	height: auto;
}

.bedford-footer__heading,
.bedford-footer h2,
.bedford-footer h3 {
	margin: 0 0 14px;
	color: #f4eadc;
	font-family: Fraunces, Georgia, serif;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.2;
}

.bedford-footer p {
	margin: 0 0 10px;
	color: rgba(244, 234, 220, 0.82);
	font-size: 15px;
	line-height: 1.6;
}

.bedford-footer__menu {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bedford-footer__menu li {
	margin: 0;
	padding: 0;
	line-height: 1.35;
	list-style: none;
}

.bedford-footer a {
	color: rgba(244, 234, 220, 0.88);
	text-decoration: none;
}

.bedford-footer a:hover,
.bedford-footer a:focus {
	color: var(--color-accent, #c9963b);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bedford-footer-button,
.bedford-footer a.bedford-footer-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-top: 8px;
	padding: 11px 18px;
	border: 1px solid rgba(244, 234, 220, 0.36);
	border-radius: 6px;
	background: var(--color-accent, #c9963b);
	color: #2c1a0e !important;
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none !important;
}

.bedford-footer-button:hover,
.bedford-footer-button:focus,
.bedford-footer a.bedford-footer-button:hover,
.bedford-footer a.bedford-footer-button:focus {
	background: #e1b77f;
	color: #2c1a0e !important;
}

.bedford-footer__bottom {
	width: min(1180px, 100%);
	margin: 22px auto 0;
	padding-top: 18px;
	border-top: 1px solid rgba(244, 234, 220, 0.18);
	color: rgba(244, 234, 220, 0.76);
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}

.bedford-footer__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: center;
	justify-content: center;
	width: min(1180px, 100%);
	margin: 32px auto 0;
	padding-top: 24px;
	border-top: 1px solid rgba(244, 234, 220, 0.18);
}

.bedford-footer__badges a,
.bedford-footer__badges span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 8px 12px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.9);
}

.bedford-footer__badges img {
	display: block;
	width: auto;
	max-width: 190px;
	max-height: 58px;
	height: auto;
	object-fit: contain;
}

.bedford-footer__bottom address,
.bedford-footer__bottom p {
	margin: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	font-style: normal;
}

.bedford-footer__bottom address {
	margin-bottom: 12px;
}

.bedford-footer__bottom address strong {
	color: #f4eadc;
	font-weight: 800;
}

.blb-main + .bedford-footer,
.site-main + .bedford-footer,
main + .bedford-footer {
	margin-top: 0;
}

.bedford-footer__bottom a {
	color: var(--color-accent, #c9963b);
	font-weight: 700;
	text-decoration: none;
}

.bedford-footer__bottom a:hover,
.bedford-footer__bottom a:focus {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.page-id-547 .elementor-button,
body.page-id-547 .elementor-button-link,
body.page-id-547 a.elementor-button {
	background-color: var(--color-primary, #8B5E3C);
	border-color: var(--color-primary, #8B5E3C);
	color: #ffffff;
}

body.page-id-547 .elementor-button:hover,
body.page-id-547 .elementor-button-link:hover,
body.page-id-547 a.elementor-button:hover {
	background-color: var(--color-secondary, #5C3D1E);
	border-color: var(--color-secondary, #5C3D1E);
	color: #ffffff;
}

body.page-id-547 .elementor-heading-title {
	color: inherit;
}

.bl-room-reservation-card,
.bl-room-reservation-card *,
.bl-reserve-card-live,
.bl-reserve-card-live * {
	box-sizing: border-box;
}

.bl-room-reservation-card,
.bl-reserve-card-live {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	max-width: 380px;
	margin: 0;
	padding: 24px;
	border-radius: 8px;
}

.bl-room-overview-layout,
.bl-room-overview-layout.e-con,
.bl-room-overview-layout > .e-con-inner,
.bl-room-overview-layout .elementor-container {
	align-items: flex-start !important;
}

.bl-room-overview-layout > .e-con-inner,
.bl-room-overview-layout.e-con {
	gap: clamp(24px, 4vw, 48px) !important;
}

.bl-room-overview-layout .bl-reserve-card-live {
	align-self: flex-start !important;
	margin-top: 0 !important;
}

.bl-reserve-card-live,
.bl-reserve-card-live.e-con,
.bl-reserve-card-live.elementor-element {
	position: relative;
	top: auto !important;
	align-self: flex-start !important;
	justify-content: flex-start !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 24px !important;
	gap: 12px !important;
}

.bl-room-reservation-card h2,
.bl-room-reservation-card h3,
.bl-room-reservation-card p,
.bl-room-reservation-card ul,
.bl-reserve-card-live h2,
.bl-reserve-card-live h3,
.bl-reserve-card-live p,
.bl-reserve-card-live ul,
.bl-reserve-card-live .elementor-widget,
.bl-reserve-card-live .elementor-widget-container {
	margin-top: 0;
	margin-bottom: 0;
}

.bl-reserve-card-live .elementor-widget,
.bl-reserve-card-live .elementor-widget:not(:last-child) {
	margin-block-end: 0 !important;
}

.bl-room-reservation-card h2,
.bl-room-reservation-card h3,
.bl-reserve-card-live h2,
.bl-reserve-card-live h3,
.bl-reserve-card-live .elementor-heading-title {
	margin-bottom: 0;
	line-height: 1.18;
}

.bl-room-reservation-card .price,
.bl-room-reservation-card .bl-room-price,
.bl-room-reservation-card [class*="price"],
.bl-reserve-card-live .price,
.bl-reserve-card-live .bl-room-price,
.bl-reserve-card-live [class*="price"] {
	display: flex;
	align-items: baseline;
	gap: 7px;
	margin: 0;
	line-height: 1;
}

.bl-room-reservation-card .per-night,
.bl-room-reservation-card .bl-room-per-night,
.bl-room-reservation-card [class*="per-night"],
.bl-reserve-card-live .per-night,
.bl-reserve-card-live .bl-room-per-night,
.bl-reserve-card-live [class*="per-night"] {
	font-size: 14px;
	line-height: 1.25;
}

.bl-room-reservation-card .elementor-button,
.bl-room-reservation-card .button,
.bl-room-reservation-card a[class*="button"],
.bl-reserve-card-live .elementor-button,
.bl-reserve-card-live .button,
.bl-reserve-card-live a[class*="button"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 13px 18px;
	border-radius: 6px;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
}

.bl-room-reservation-card ul,
.bl-reserve-card-live ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 16px 0 0;
	list-style: none;
}

.bl-room-reservation-card li,
.bl-reserve-card-live li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	margin: 0;
	padding: 0;
	line-height: 1.42;
}

.bl-room-reservation-card li::before,
.bl-reserve-card-live li::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: 7px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.45;
}

.bl-room-reservation-card li svg,
.bl-room-reservation-card li i,
.bl-room-reservation-card li .elementor-icon,
.bl-reserve-card-live li svg,
.bl-reserve-card-live li i,
.bl-reserve-card-live li .elementor-icon {
	width: 18px;
	min-width: 18px;
	margin-top: 2px;
}

.bl-reserve-card-live > * + *,
.bl-reserve-card-live .elementor-widget + .elementor-widget,
.bl-reserve-card-live .e-con + .e-con {
	margin-top: 10px !important;
}

.bl-reserve-card-live .elementor-icon-list-items {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 16px 0 0;
	border-top: 1px solid rgba(92, 61, 30, 0.14);
}

.bl-reserve-card-live .elementor-button-wrapper {
	margin: 0 !important;
}

.bl-reserve-card-live .elementor-button {
	margin-top: 2px !important;
}

.bl-reserve-card-live .elementor-icon-list-item {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0;
	padding: 0;
	line-height: 1.42;
}

.bl-reserve-card-live .elementor-icon-list-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	min-width: 18px;
	margin-top: 3px;
}

@media (max-width: 900px) {
	.bedford-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bedford-footer__brand {
		max-width: none;
	}

	.bl-room-reservation-card {
		max-width: none;
	}

	.bl-reserve-card-live {
		max-width: none;
	}
}

@media (max-width: 640px) {
	.bedford-footer {
		padding: 40px 18px 20px;
	}

	.bedford-footer__inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.bedford-footer__logo,
	.bedford-footer__logo img,
	.bedford-footer .custom-logo {
		max-width: 170px;
	}

	.bedford-footer__bottom {
		margin-top: 28px;
	}

	.bedford-footer__badges {
		gap: 12px;
		margin-top: 26px;
		justify-content: center;
	}

	.bedford-footer__badges a,
	.bedford-footer__badges span {
		width: auto;
		max-width: 100%;
	}

	.bl-room-reservation-card {
		gap: 14px;
		padding: 20px;
	}

	.bl-reserve-card-live {
		gap: 14px;
		padding: 20px !important;
	}
}
