/*
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: 0.3.0
Requires at least: 6.6
Tested up to: 6.8
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);
}

.bp-messages-wrap-main.bm-initialized {
    max-width: unset !important;
}

/* Better Messages Chat Styles - Dark Theme */
.bp-messages-wrap-main {
    background: var(--light-color);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: var(--shadow);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Sidebar Threads */
.bp-messages-side-threads {
    background: var(--card-bg);
    border-right: 1px solid var(--border-color);
}

.chat-header {
    background: linear-gradient(135deg, var(--dark-color), #16213e);
    border-bottom: 1px solid var(--border-color);
    padding: 15px;
}

.chat-header .new-message,
.chat-header .settings {
    color: var(--text-color);
    background: rgba(108, 92, 231, 0.2);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px;
    transition: all 0.3s ease;
}

.chat-header .new-message:hover,
.chat-header .settings:hover {
    background: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

.bpbm-search input {
    background: var(--darker-color) !important;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    color: var(--text-color);
    padding: 10px;
}

.bpbm-search input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.2);
}

/* Threads List */
.threads-list {
    background: var(--card-bg);
}

.thread {
    border-bottom: 1px solid var(--border-color);
    padding: 15px;
    transition: all 0.3s ease;
    background: var(--card-bg);
}

.thread:hover {
    background: var(--card-hover);
    transform: translateX(5px);
}

.thread.bp-messages-active-thread {
    background: linear-gradient(135deg, rgba(108, 92, 231, 0.2), rgba(162, 155, 254, 0.1));
    border-left: 3px solid var(--primary-color);
}

.thread .name {
    color: var(--text-color);
    font-weight: 600;
}

.thread .last-message {
    color: var(--text-secondary);
    font-size: 13px;
}

.thread .time {
    color: var(--gray-color);
    font-size: 12px;
}

.bm-more-actions {
    color: var(--text-secondary);
    transition: color 0.3s ease;
}

.bm-more-actions:hover {
    color: var(--primary-color);
}

/* Chat Area */
.bp-messages-column {
    background: var(--card-bg);
}

.bpbm-chat-content {
    background: var(--darker-color);
}

/* Messages */
.bm-messages-stack {
    margin: 10px 0;
}

.bm-message.my {
    background: linear-gradient(135deg, var(--primary-color), #a29bfe);
    color: white;
    border-radius: 18px 18px 4px 18px;
    margin-left: auto;
    max-width: 70%;
}

.bm-message:not(.my) {
    background: var(--card-bg);
    color: var(--text-color);
    border: 1px solid var(--border-color);
    border-radius: 18px 18px 18px 4px;
    margin-right: auto;
    max-width: 70%;
}

.bm-message-content {
    padding: 12px 16px;
    position: relative;
}

.bm-message-info {
    opacity: 0.8;
    font-size: 11px;
    margin-top: 5px;
}

/* Message Controls */
.message-controls {
    position: absolute;
    top: -10px;
    right: 10px;
    background: var(--dark-color);
    border-radius: 20px;
    padding: 5px;
    opacity: 0;
    transition: all 0.3s ease;
    border: 1px solid var(--border-color);
}

.bm-message:hover .message-controls {
    opacity: 1;
}

.message-controls span {
    color: var(--text-secondary);
    padding: 5px;
    border-radius: 50%;
    transition: all 0.3s ease;
    cursor: pointer;
}

.message-controls span:hover {
    color: var(--primary-color);
    background: rgba(108, 92, 231, 0.1);
}

/* Reply/Input Area */
.bm-reply {
    background: var(--card-bg);
    border-top: 1px solid var(--border-color);
    padding: 15px;
}

.bm-editor-content {
    background: var(--darker-color);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    color: var(--text-color);
    padding: 12px;
    min-height: 50px;
    transition: all 0.3s ease;
}

.bm-editor-content:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.2);
}

.bm-attachment,
.bm-emojies,
.bm-send-message {
    color: var(--text-color);
    background: rgba(108, 92, 231, 0.2);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px;
    transition: all 0.3s ease;
}

.bm-attachment:hover,
.bm-emojies:hover,
.bm-send-message:hover {
    background: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

/* Scrollbars */
.bm-side-content ::-webkit-scrollbar,
.bm-list ::-webkit-scrollbar {
    width: 8px;
}

.bm-side-content ::-webkit-scrollbar-track,
.bm-list ::-webkit-scrollbar-track {
    background: var(--darker-color);
    border-radius: 4px;
}

.bm-side-content ::-webkit-scrollbar-thumb,
.bm-list ::-webkit-scrollbar-thumb {
    background: var(--gray-color);
    border-radius: 4px;
}

.bm-side-content ::-webkit-scrollbar-thumb:hover,
.bm-list ::-webkit-scrollbar-thumb:hover {
    background: var(--text-secondary);
}

/* Avatars */
.bbpm-avatar {
    border: 2px solid var(--border-color);
    transition: all 0.3s ease;
}

.thread:hover .bbpm-avatar {
    border-color: var(--primary-color);
}

/* Date Stacks */
.bm-sticky-date {
    background: var(--card-bg);
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 8px 16px;
    margin: 20px auto;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
}

/* Conversation Start */
.bm-conversation-start {
    color: var(--text-secondary);
    text-align: center;
    padding: 20px;
    font-size: 12px;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 20px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .bp-messages-wrap-main {
        border-radius: 0;
        border: none;
    }
    
    .bm-message.my,
    .bm-message:not(.my) {
        max-width: 85%;
    }
    
    .chat-header {
        padding: 10px;
    }
    
    .thread {
        padding: 12px;
    }
}

/* Animation for new messages */
@keyframes messageSlideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bm-message {
    animation: messageSlideIn 0.3s ease;
}

/* Rich content (attachments, etc) */
.last-message-rich {
    color: var(--primary-color);
}

.last-message-rich svg {
    margin-right: 5px;
}

/* Group chat avatars */
.thread.group .bbpm-avatar {
    border: 2px solid var(--card-bg);
}

.thread.group .bbpm-avatar:nth-child(1) {
    transform: translate(0, 0);
}
.thread.group .bbpm-avatar:nth-child(2) {
    transform: translate(-5px, 5px);
}
.thread.group .bbpm-avatar:nth-child(3) {
    transform: translate(-10px, 10px);
}