/*
 Theme Name: Prayag Pandits Theme
 Theme URI: https://prayagpandits.com
 Description: Custom standalone theme for Prayag Pandits — Hindu ritual booking platform. Features 18 custom PHP templates, WooCommerce integration, and a complete design system.
 Author: Prayag Pandits Dev Team
 Author URI: https://prayagpandits.com
 Version: 1.0.0
 Requires at least: 6.4
 Tested up to: 6.9
 Requires PHP: 8.1
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: ppn-theme
*/

/* =========================================
   Gutenberg / Default Page Template Styles
   Only targets non-Elementor pages
   ========================================= */

/* Content width and centering */
body.page-template-default main.site-main .page-content,
body.page-template-default main.site-main .page-header {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* Page title (H1) */
body.page-template-default .page-header .entry-title {
    font-family: 'Lora', serif;
    font-size: 38px;
    font-weight: 600;
    line-height: 1.3;
    color: #1a1a1a;
    margin-bottom: 8px;
    padding-top: 32px;
}

/* Body text */
body.page-template-default .page-content {
    font-size: 17px;
    line-height: 1.75;
    color: #333;
    padding-bottom: 48px;
}

body.page-template-default .page-content p {
    margin-bottom: 1.25em;
}

/* Headings */
body.page-template-default .page-content h2 {
    font-family: 'Lora', serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.35;
    color: #1a1a1a;
    margin-top: 2.5em;
    margin-bottom: 0.75em;
    padding-bottom: 8px;
    border-bottom: 2px solid #e8ddd0;
}

body.page-template-default .page-content h3 {
    font-family: 'Lora', serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    color: #2c2c2c;
    margin-top: 2em;
    margin-bottom: 0.6em;
}

/* Lists */
body.page-template-default .page-content ul,
body.page-template-default .page-content ol {
    padding-left: 1.5em;
    margin-bottom: 1.5em;
}

body.page-template-default .page-content li {
    margin-bottom: 0.6em;
    line-height: 1.7;
}

/* Links */
body.page-template-default .page-content a {
    color: #b5451b;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.page-template-default .page-content a:hover {
    color: #8a3414;
}

/* Images */
body.page-template-default .page-content figure.wp-block-image {
    margin: 2em 0;
}

body.page-template-default .page-content figure.wp-block-image img {
    border-radius: 8px;
    width: 100%;
    height: auto;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* Tables */
body.page-template-default .page-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
    font-size: 15px;
}

body.page-template-default .page-content table th,
body.page-template-default .page-content table td {
    padding: 10px 14px;
    border: 1px solid #ddd;
    text-align: left;
}

body.page-template-default .page-content table th {
    background: #f7f3ee;
    font-weight: 600;
    color: #1a1a1a;
}

body.page-template-default .page-content table tr:nth-child(even) {
    background: #faf9f7;
}

/* ACF Blocks — Callout Box */
body.page-template-default .page-content .ppn-callout-box {
    border-radius: 8px;
    padding: 20px 24px;
    margin: 1.5em 0;
}

/* ACF Blocks — CTA Card */
body.page-template-default .page-content .ppn-cta-card {
    margin: 2em 0;
    border-radius: 10px;
}

/* ACF Blocks — Info Banner */
body.page-template-default .page-content .ppn-info-banner {
    margin: 1.5em 0;
    border-radius: 8px;
}

/* ACF Blocks — FAQ Accordion */
body.page-template-default .page-content .ppn-faq-accordion {
    margin: 2em 0;
}

/* Blockquotes */
body.page-template-default .page-content blockquote {
    border-left: 4px solid #b5451b;
    padding: 12px 20px;
    margin: 1.5em 0;
    background: #faf7f4;
    border-radius: 0 6px 6px 0;
    font-style: italic;
    color: #555;
}

/* Fix flatpickr calendar rendering huge at page bottom */
.flatpickr-calendar {
    display: none !important;
}

.flatpickr-calendar.open {
    display: block !important;
}

/* Responsive */
@media (max-width: 768px) {
    body.page-template-default .page-header .entry-title {
        font-size: 28px;
        padding-top: 20px;
    }

    body.page-template-default .page-content h2 {
        font-size: 23px;
        margin-top: 2em;
    }

    body.page-template-default .page-content h3 {
        font-size: 19px;
    }

    body.page-template-default .page-content {
        font-size: 16px;
    }

    body.page-template-default main.site-main .page-content,
    body.page-template-default main.site-main .page-header {
        padding-left: 16px;
        padding-right: 16px;
    }
}
