/*
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
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;
}

/* Two One Two Brand Overrides - Caracas Lights (Restyled) */

@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Manrope:wght@200..800&family=Geist+Mono:wght@100..900&display=swap');

body {
	font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-site-title a,
.wp-block-post-title {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
}

/* Sharp Corners for Caracas Lights Theme */
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],
.wp-block-button__link,
.wp-block-button a,
.wp-block-search__button,
.wp-block-search__input,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-post-featured-image,
.wp-block-avatar img,
.card-ventures,
.contact-form-container {
	border-radius: 0px !important;
}

/* Caracas Lights Developer Aesthetics (Outlines and Brand Glows) */
.developer-border-amber {
	border: 1px solid var(--wp--preset--color--accent-1) !important;
	box-shadow: 0 0 10px rgba(245, 158, 11, 0.15) !important;
}

.developer-border-violet {
	border: 1px solid var(--wp--preset--color--accent-2) !important;
	box-shadow: 0 0 10px rgba(124, 58, 237, 0.15) !important;
}

/* Custom interactive classes for Ventures card designs */
.card-ventures {
	background: #0f121f !important;
	border: 1px solid #1e293b !important;
	padding: 2.5rem !important;
	transition: all 0.3s ease !important;
	position: relative;
	overflow: hidden;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.card-ventures p {
	flex-grow: 1 !important;
}

.card-ventures::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--wp--preset--color--accent-2); /* Twilight Violet top border */
	opacity: 0;
	transition: opacity 0.3s ease;
}

.card-ventures:hover {
	border-color: var(--wp--preset--color--accent-2) !important;
	box-shadow: 0 0 20px rgba(124, 58, 237, 0.25) !important;
	transform: translateY(-4px);
}

.card-ventures:hover::before {
	opacity: 1;
}

.card-ventures.klov-app:hover {
	border-color: var(--wp--preset--color--accent-1) !important;
	box-shadow: 0 0 20px rgba(245, 158, 11, 0.25) !important;
}

.card-ventures.klov-app::before {
	background: var(--wp--preset--color--accent-1); /* Amber-Gold for Klov */
}

/* Buttons Glow Styles */
.wp-block-button__link {
	font-family: 'Geist Mono', monospace !important;
	font-size: 0.875rem !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: 1px solid var(--wp--preset--color--accent-1) !important;
	background-color: transparent !important;
	color: var(--wp--preset--color--accent-1) !important;
	transition: all 0.25s ease !important;
}

.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--accent-1) !important;
	color: #090b11 !important;
	box-shadow: 0 0 15px rgba(245, 158, 11, 0.4) !important;
	cursor: pointer;
}

/* Secondary Button style */
.is-style-outline .wp-block-button__link,
.button-secondary .wp-block-button__link {
	border-color: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--accent-2) !important;
}

.is-style-outline .wp-block-button__link:hover,
.button-secondary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--accent-2) !important;
	color: #ffffff !important;
	box-shadow: 0 0 15px rgba(124, 58, 237, 0.4) !important;
}

/* Form Inputs Styling */
.wp-block-search__input,
input[type=text], input[type=email], textarea {
	background-color: #0d121f !important;
	border: 1px solid #1e293b !important;
	color: #f8fafc !important;
	transition: all 0.3s ease !important;
}

.wp-block-search__input:focus,
input[type=text]:focus, input[type=email]:focus, textarea:focus {
	border-color: var(--wp--preset--color--accent-2) !important;
	box-shadow: 0 0 10px rgba(124, 58, 237, 0.3) !important;
	outline: none !important;
}

/* Hero Section Typography Adjustments */
.hero-headline {
	font-size: clamp(2.5rem, 5vw, 4.5rem) !important;
	line-height: 1.05 !important;
	font-weight: 900 !important;
	text-transform: uppercase;
}

.hero-subheadline {
	color: var(--wp--preset--color--accent-5) !important;
	font-size: clamp(1rem, 2.5vw, 1.25rem) !important;
	line-height: 1.6 !important;
	max-width: 700px;
}

/* Hero Video Background Styles */
.hero-video-container {
	position: relative !important;
	overflow: hidden !important;
	background-color: #090b11 !important;
}

.hero-video-bg {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	z-index: 1 !important;
	pointer-events: none !important;
	filter: blur(8px) !important;
	transform: scale(1.05) !important;
}

.hero-video-overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(9, 11, 17, 0.75) !important; /* 75% opacity dark overlay */
	z-index: 2 !important;
}

/* Ensure hero contents are above the video and overlay */
.hero-video-content {
	position: relative !important;
	z-index: 10 !important;
	width: 100% !important;
}

/* Header Vertical Alignment Fix */
header.wp-block-group .wp-block-group {
	display: flex !important;
	align-items: center !important;
	align-content: center !important;
	justify-content: space-between !important;
}

header .custom-logo-link,
header nav.wp-block-navigation,
header .wp-block-navigation__container,
header ul.wp-block-navigation__container,
header li.wp-block-navigation-item {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
}

header .custom-logo-link {
	margin-right: 1.5rem !important;
}

/* Page Side Margins & Layout Container Constraints */
.wp-site-blocks {
	padding-left: clamp(20px, 4vw, 40px) !important;
	padding-right: clamp(20px, 4vw, 40px) !important;
	box-sizing: border-box !important;
}

header.wp-block-group,
main.wp-block-group,
footer.wp-block-group,
.wp-block-group.alignwide,
.wp-block-group.alignfull,
.wp-block-columns.alignwide {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	box-sizing: border-box !important;
}