/*
Theme Name: Havenlytics Realty
Theme URI: 
Author: Havenlytics
Author URI: https://profiles.wordpress.org/havenlytics/
Description: Havenlytics Realty is a modern, lightweight, and SEO-optimized WordPress theme designed for real estate professionals, property bloggers, and real estate agencies. Perfect for sharing market insights, property tips, and industry expertise with fast performance and clean design.
Version: 1.0.3
Tested up to: 6.9
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: havenlytics-realty
Domain Path: /languages
Tags: two-columns, right-sidebar, custom-logo, custom-menu, featured-images, full-width-template, theme-options, translation-ready, block-styles, wide-blocks

Havenlytics Realty WordPress Theme, (C) 2026 Havenlytics
Havenlytics Realty Theme is distributed under the terms of the GNU GPL.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# CSS Variables (loaded from separate file)
# Reset & Base (loaded from separate file)
# Typography (loaded from separate file)
# Grid System (loaded from separate file)
# Components (loaded from separate files)
# Layouts (loaded from separate files)
# Pages (loaded from separate files)
# Utilities (loaded from separate files)
# Required WordPress Classes
--------------------------------------------------------------*/

/* Note: All CSS is organized in separate files within /assets/css/
   and enqueued via functions.php for better maintainability.
   
   File structure:
   - assets/css/base/variables.css
   - assets/css/base/reset.css
   - assets/css/base/typography.css
   - assets/css/layouts/grid.css
   - assets/css/components/buttons.css
   - assets/css/components/cards.css
   - assets/css/components/forms.css
   - assets/css/components/widgets.css
   - assets/css/components/pagination.css
   - assets/css/layouts/header.css
   - assets/css/layouts/navigation.css
   - assets/css/layouts/content.css
   - assets/css/layouts/sidebar.css
   - assets/css/layouts/comments.css
   - assets/css/layouts/footer.css
   - assets/css/pages/archive.css
   - assets/css/pages/single.css
   - assets/css/pages/404.css
   - assets/css/utilities/accessibility.css
   - assets/css/utilities/responsive.css
*/

/* Editor Style Support */
.editor-styles-wrapper {
    font-family: var(--hvn-theme-font-family-base, 'Plus Jakarta Sans', sans-serif);
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
    font-family: var(--hvn-theme-font-family-heading, 'Montserrat', sans-serif);
    display: block;
    line-break: anywhere;
}

h1, h2, h3, h4, h5, h6 {
    display: block;
    line-break: anywhere;
}

a {
    display: inline-block;
    line-break: anywhere;
}

/* Required WordPress Classes */
.wp-caption {
    max-width: 100%;
    margin-bottom: 1.5rem;
}

.wp-caption-text {
    font-size: 0.875rem;
    color: #6c757d;
    text-align: center;
    margin-top: 0.5rem;
}

.sticky {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 12px;
}

.gallery-caption {
    font-size: 0.875rem;
    color: #6c757d;
}

.alignright {
    float: right;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.alignleft {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
}

/* Clearfix for floated elements */
.alignright::after,
.alignleft::after {
    content: "";
    display: table;
    clear: both;
}

/* ============================================
   LINK UNDERLINING FOR CONTENT AREAS
   Required by WordPress.org theme review
   ============================================ */

/* Underline links in post content */
.entry-content a:not(.hvn-theme-btn):not(.wp-block-button__link),
.entry-content p a,
.entry-content li a,
.entry-content blockquote a {
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* Underline links in excerpts */
.entry-summary a,
.hvn-theme-post-card-excerpt a {
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* Underline links in comments */
.comment-content a {
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* Underline links in text widgets */
.textwidget a,
.widget_text a {
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* Keep button styles without underline */
.hvn-theme-btn,
.wp-block-button__link,
button,
input[type="submit"],
.hvn-theme-read-more,
.comment-reply-link,
.more-link {
    text-decoration: none !important;
}

/* Basic Print Styles */
@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    .hvn-theme-site-header,
    .hvn-theme-sidebar-area,
    .hvn-theme-site-footer,
    .hvn-theme-menu-toggle,
    .hvn-theme-breadcrumbs,
    .hvn-theme-post-navigation,
    .hvn-theme-comments-area,
    .hvn-theme-related-posts,
    .hvn-theme-back-to-top,
    .hvn-theme-search-overlay {
        display: none !important;
    }

    .hvn-theme-content-area {
        width: 100% !important;
        max-width: 100% !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

/* Posts and pages */
.sticky {
    display: block;
}

.post,
.page {
    margin: 0 0 1.5em;
}

.updated:not(.published) {
    display: none;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5em 0 0;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/* Comments */
.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

i, span {
    display: inline-block;
}