/*
Theme Name: Bluehost Blueprint
Theme URI: https://github.com/newfold-labs/wp-theme-bluehost-blueprint/
Author: Bluehost
Author URI: https://bluehost.com
Description: Bluehost Blueprint is a block-based, multi-purpose, WordPress theme. Compose your pages to fit any design you like with the power of Full Site Editing (FSE) and the included wide range of Block Patterns. The pre-built pages will help you populate and transform your website into a wonderful website. Customize colors and font pairings to create your own unique look and feel.
Version: 1.0.2
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bluehost-blueprint
Update URI: false
Tags: blog, e-commerce, portfolio, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, block-patterns, wide-blocks, full-site-editing, template-editing
 */


:root {
	--wp--preset--font-size--huge: clamp(6rem, 10vw, 10rem);
}

h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

select {
	min-height: 2.25em;
}

textarea, select, input[type=color], input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=reset], input[type=search], input[type=submit], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], .select2-container .select2-selection--single {
	border-radius: 2px;
	border: 1px solid;
	border-color: rgba(0,0,0,0.2);
	line-height: 1.7;
	padding: 0.3rem 1rem;
	display: block;
}

input[type="submit"] {
	background-color: var(--wp--preset--color--accent-1);
	border-width: 0;
	border-radius: 2px;
	color: var(--wp--preset--color--base);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	padding: calc(0.667em + 2px) calc(1.333em + 2px);
	text-decoration: none;
	cursor: pointer;
}

[class*="is-style-block-overlap"] + *:not([style*="margin-top"]) {
	margin-top: 0;
}

[class*="is-style-text-wrap-balance"],
[class*="is-style-text-wrap-balance"] p {
	text-wrap-style: balance;
}

div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--contrast-midtone);
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0;
	margin-top: 8px;
	text-align: center;
}

div[class*="wp-block-"] .wp-block-image figcaption a {
	width: auto;
}

.woocommerce-account .wp-block-post-title, .woocommerce-account main .woocommerce, .woocommerce-cart .wp-block-post-title, .woocommerce-cart main .woocommerce, .woocommerce-checkout .wp-block-post-title, .woocommerce-checkout main .woocommerce {
	max-width: var(--wp--style--global--content-size);
}

/* Sticky Footer */
.wp-site-blocks {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.admin-bar .wp-site-blocks {
    min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
}

.wp-site-blocks > main,
.wp-site-blocks > .entry-content {
    flex: 1;
}

/* Featured image: keep natural width (do not stretch to full content width). */
.wp-block-post-featured-image.bp-post-featured-image--intrinsic {
	width: fit-content;
	max-width: 100%;
}

.wp-block-post-featured-image.bp-post-featured-image--intrinsic img {
	width: auto !important;
	max-width: 100%;
	height: auto;
}

/* DYS Coaching page: clearer hero/intro distinction at wide widths only. */
@media (min-width: 901px) {
	.dys-site .dys-page-hero + .dys-section {
		background: #f1ebdf !important;
		border-top: 1px solid #d9c9b6;
	}
	.dys-site .dys-page-hero + .dys-section .dys-three article {
		background: #fffdf9 !important;
	}
}

/* DYS Meet the Coaches: make the origin photo taller on desktop so the
   centered photo balances the longer story column, with less blank space. */
@media (min-width: 1101px) {
	.dys-site .dys-origin .dys-origin__image {
		height: clamp(690px, 56vw, 760px);
	}
}

/* DYS Client Stories: editorial headings consistent with the site's
   strong sans-serif + italic serif headline system. */
body.page-id-47 .dys-client-stories-editorial {
	font-family: 'DM Sans', Arial, sans-serif;
	font-size: clamp(46px, 5.35vw, 76px) !important;
	font-weight: 900 !important;
	letter-spacing: -.045em;
	line-height: 1.06 !important;
	text-wrap: balance;
}
@media (max-width: 700px) {
	body.page-id-47 .dys-client-stories-editorial {
		font-size: clamp(30px, 8vw, 42px) !important;
	}
}

/* DYS Coaching page: distribute the three principles alongside the tall photo. */
@media (min-width: 851px) {
	.dys-site .dys-philosophy .dys-philosophy__grid {
		align-items: stretch;
	}
	.dys-site .dys-philosophy .dys-philosophy__steps {
		align-self: stretch !important;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin-top: 0;
	}
}

/* DYS candid coaching imagery. */
.dys-site .dys-modes-photos figure {
	margin: 0;
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0 12px 30px rgba(30, 27, 23, .1);
	background: #ded6ca;
}
.dys-site .dys-modes-photos img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center 25%;
}
.dys-site .dys-modes-photos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(14px, 2.5vw, 28px);
	width: min(100%, 850px);
	margin: clamp(34px, 4.6vw, 54px) auto 0;
}
.dys-site .dys-modes-photos img {
	aspect-ratio: 4 / 5;
	object-position: center 27%;
}
/* Homepage: portrait-framed two-coach image. Preserve both faces. */
.dys-site .dys-coaches {
	grid-template-columns: minmax(0, 52%) minmax(0, 48%) !important;
	min-height: 0 !important;
}
.dys-site .dys-coaches__copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
.dys-site .dys-coaches__photo {
	display: block !important;
	position: relative;
	overflow: hidden;
	min-width: 0;
	min-height: 0 !important;
	height: clamp(540px, 45vw, 690px);
	background: #d3c9bd;
}
.dys-site .dys-coaches__photo img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 17%;
}
@media (max-width: 1100px) {
	.dys-site .dys-coaches {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.dys-site .dys-coaches__copy {
		padding: clamp(44px, 6vw, 70px) clamp(24px, 6vw, 60px) 46px !important;
	}
	.dys-site .dys-coaches__photo {
		width: min(100%, 650px);
		margin-inline: auto;
		height: auto !important;
		aspect-ratio: 5 / 4;
	}
}
@media (max-width: 700px) {
	.dys-site .dys-coaches__copy {
		padding: 52px 20px 42px !important;
	}
	.dys-site .dys-coaches__photo {
		display: block !important;
		width: 100%;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		aspect-ratio: 4 / 5;
	}
}
/* Homepage personalized-training card: real coaching action, including mobile. */
.dys-site .dys-card:first-child .dys-card__photo img {
	object-position: center 26%;
}
@media (max-width: 700px) {
	.dys-site .dys-card:first-child .dys-card__photo {
		display: block !important;
		height: min(65vw, 350px);
	}
}
@media (max-width: 650px) {
	.dys-site .dys-modes-photos { gap: 10px; margin-top: 28px; }
	.dys-site .dys-modes-photos img { aspect-ratio: 3 / 4; }
}