/**
 * Pulmad.ee Theme - Main Stylesheet
 *
 * This file imports all CSS partials in the correct order.
 * The files are organized by:
 * 1. Base - Variables, resets, typography
 * 2. Components - Buttons, cards, forms, navigation
 * 3. Layouts - Header, footer, grid, sidebar
 * 4. Pages - Page-specific styles
 * 5. Plugins - Plugin CSS overrides
 */

/* ===========================
   Base
   =========================== */
@import url('base/_variables.css');
@import url('base/_reset.css');
@import url('base/_typography.css');

/* ===========================
   Components
   =========================== */
@import url('components/_buttons.css');
@import url('components/_cards.css');
@import url('components/_forms.css');
@import url('components/_navigation.css?v=1.3.1');
@import url('components/_breadcrumbs.css');
@import url('components/_guest-cta.css');
@import url('components/_gallery.css?v=1.1');
@import url('components/_modal.css?v=1.0');

/* ===========================
   Layouts
   =========================== */
@import url('layouts/_header.css?v=1.3.3');
@import url('layouts/_footer.css');
@import url('layouts/_grid.css');
@import url('layouts/_sidebar.css');

/* ===========================
   Pages
   =========================== */
@import url('pages/_home.css?v=1.4.0');
@import url('pages/_listing.css');
@import url('pages/_single-vendor.css');
@import url('pages/_account.css');
@import url('pages/_planning.css');
@import url('pages/_budget-calculator.css');

/* ===========================
   Plugin Overrides
   =========================== */
@import url('plugins/_pvd-overrides.css');
@import url('plugins/_pwf-overrides.css?v=2.0.2');

/* ===========================
   Site-wide Layout
   =========================== */
.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-main {
    flex: 1;
}

/* Entry content */
.entry-content {
    max-width: var(--container-lg);
    margin: 0 auto;
    padding: var(--space-6) var(--space-5);
}

.entry-content > *:first-child {
    margin-top: 0;
}

.entry-content > *:last-child {
    margin-bottom: 0;
}

/* Full width pages */
.page-template-full-width .entry-content,
.page-template-front-page .entry-content {
    max-width: none;
    padding: 0;
}

/* WordPress core blocks styling */
.wp-block-image {
    margin-bottom: var(--space-5);
}

.wp-block-image img {
    border-radius: var(--radius-md);
}

.wp-block-quote {
    font-family: var(--font-accent);
    font-size: var(--text-xl);
    font-style: italic;
    color: var(--charcoal);
    padding-left: var(--space-5);
    border-left: 4px solid var(--pulmad-blue-accent);
    margin: var(--space-6) 0;
}

.wp-block-button__link {
    padding: var(--space-3) var(--space-5);
    background: var(--pulmad-blue-accent);
    color: var(--white);
    border-radius: var(--radius-md);
    font-weight: var(--font-medium);
    transition: all var(--transition-normal);
}

.wp-block-button__link:hover {
    background: var(--pulmad-blue-mid);
    color: var(--white);
}

.wp-block-separator {
    border: none;
    border-top: 1px solid var(--light-gray);
    margin: var(--space-6) 0;
}

.wp-block-separator.is-style-wide {
    border-top-width: 2px;
}

.wp-block-separator.is-style-dots {
    border: none;
    text-align: center;
}

.wp-block-separator.is-style-dots::before {
    content: '...';
    color: var(--medium-gray);
    font-size: var(--text-xl);
    letter-spacing: 1em;
}

/* Alignments */
.alignwide {
    max-width: var(--container-xl);
    margin-left: auto;
    margin-right: auto;
}

.alignfull {
    max-width: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.aligncenter {
    text-align: center;
}

.alignleft {
    float: left;
    margin-right: var(--space-5);
    margin-bottom: var(--space-4);
}

.alignright {
    float: right;
    margin-left: var(--space-5);
    margin-bottom: var(--space-4);
}

/* Ad zones (Revive Adserver) */
.pulmad-ad-zone {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: var(--space-4, 16px) var(--space-5, 20px);
    max-width: var(--container-max, 1360px);
    margin: 0 auto;
}

.pulmad-ad-zone ins {
    display: block;
    margin: 0 auto;
}

/* Print styles */
@media print {
    .site-header,
    .site-footer,
    .breadcrumbs,
    .btn,
    .no-print {
        display: none !important;
    }

    body {
        font-size: 12pt;
        color: #000;
        background: #fff;
    }

    a {
        color: #000;
        text-decoration: underline;
    }

    .entry-content {
        max-width: none;
        padding: 0;
    }
}
