/* La Casita de Dylan - Custom Styles */

/* ============================================
   General
   ============================================ */
body
{
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	line-height: 1.6;
	color: #1a1a2e;
}

/* ============================================
   Layout
   ============================================ */

.wp-site-blocks > main
{
	margin-block-start: 0;
}


/* ============================================
   Header
   ============================================ */
header.wp-block-template-part
{
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

header.wp-block-template-part .wp-block-site-title a
{
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.5px;
}

header.wp-block-template-part .wp-block-navigation a
{
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9rem;
	transition: opacity 0.2s ease;
}

header.wp-block-template-part .wp-block-navigation a:hover
{
	opacity: 0.8;
}

/* ============================================
   Hero Sections
   ============================================ */


.wp-block-group.alignfull .wp-block-heading
{
	letter-spacing: -0.5px;
}


main.wp-block-group
{
	margin-top: 0;
}


/* ============================================
   Feature Cards / Columns
   ============================================ */
.wp-block-columns
{
	gap: 1.5rem;
}

.wp-block-column
{
	padding: 0;
}


/* ============================================
   Buttons
   ============================================ */
.wp-block-button__link
{
	border-radius: 6px;
	padding: 0.75rem 1.75rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
	letter-spacing: 0.3px;
}

.wp-block-button__link:hover
{
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 119, 182, 0.3);
}

/* Outline button style */
.wp-block-button.is-style-outline .wp-block-button__link
{
	border-width: 2px;
}

/* ============================================
   HTML
   ============================================ */

:root :where(.wp-block-post-content-is-layout-constrained) > p
{
	margin-block-start: 10px;
	margin-block-end: 10px;
}

:root :where(.wp-block-post-content-is-layout-constrained) > hr
{
	margin-block-start: 20px;
	margin-block-end: 20px;
}



/* ============================================
   Headings
   ============================================ */
h1,
.wp-block-heading:where(h1)
{
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.2;
}

h2,
.wp-block-heading:where(h2)
{
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 700;
	line-height: 1.3;
}

h3,
.wp-block-heading:where(h3)
{
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 600;
	line-height: 1.4;
}

/* ============================================
   Separator
   ============================================ */
.wp-block-separator
{
	opacity: 0.3;
}

/* ============================================
   Footer
   ============================================ */
footer.wp-block-template-part
{
	margin-top: 0;
}

footer.wp-block-template-part .wp-block-heading
{
	margin-bottom: 0.75rem;
}

footer.wp-block-template-part .wp-block-navigation a
{
	text-decoration: none;
	font-size: 0.9rem;
}

footer.wp-block-template-part .wp-block-navigation a:hover
{
	text-decoration: underline;
}

/* ============================================
   Lists
   ============================================ */
.wp-block-list
{
	padding-left: 1.25rem;
}

.wp-block-list li
{
	margin-bottom: 0.5rem;
}

/* ============================================
   Booking Calendar
   ============================================ */

.calendar_loader_frame
{
	height: 425px;
}

.calendar_loader_frame,
.wpbc_no_custom_width.months_num_in_row_2,
.wpbc_no_custom_width.cal_month_num_2
{
	width: 100% !important;
	max-width: 100% !important;
}

.is-layout-constrained .wpbc_form
{
	max-width: Min(1200px, 100%) !important;
	margin: 60px auto !important;
}

@media (max-width: 500px)
{
	.is-layout-constrained .wpbc_form
	{
		width: 116% !important;
		max-width: 116% !important;
		margin-left: -11% !important;
	}
}


.bk_calendar_frame .datepick-one-month
{
	width: 33% !important;
	min-width: Min(290px, 100%) !important;
	flex: none;
}

@media (max-width: 340px)
{
	.wpbc_wizard__border_container
	{
		padding: 10px 10px !important;
	}
}


.date_available.rate_60 .wpbc-cell-box
{
	background: rgba(104, 184, 48, 0.8) !important;
}

.wpbc-cell-box
{
	min-height: 50px !important;
	aspect-ratio: auto !important;
}

@media (min-width: 781px)
{

	/* Override WP Booking Calendar cost text size */
	:root
	{
		--wpbc_cal-text-cost-size: 11px !important;
	}

	.datepick-inline .datepick-days-cell .date-cell-content .date-content-bottom
	{}
}


/* ============================================
   Responsive
   ============================================ */
@media (max-width: 781px)
{
	.wp-block-columns
	{
		gap: 1rem;
	}

	header.wp-block-template-part .wp-block-group
	{
		flex-wrap: wrap;
		gap: 0.5rem;
	}
}

@media (max-width: 600px)
{
	.wp-block-button__link
	{
		padding: 0.6rem 1.25rem;
		font-size: 0.9rem;
	}
}