/*
Theme Name: Lalitaalaalitah Publication (Lavender)
Template: lalitaalaalitah-base
Description: Child theme for publication.lalitaalaalitah.org
Version: 1.0.1786057743
*/

/* --- Explicit @font-face Declarations --- */
@font-face {
    font-family: 'Adishila';
    src: url('../lalitaalaalitah-base/assets/fonts/adishila/AdishilaN.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Adishila';
    src: url('../lalitaalaalitah-base/assets/fonts/adishila/AdishilaBoldB.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Adishila';
    src: url('../lalitaalaalitah-base/assets/fonts/adishila/AdishilaItalicI.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Adishila';
    src: url('../lalitaalaalitah-base/assets/fonts/adishila/AdishilaBoldItalicBI.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Adishila Vedic';
    src: url('../lalitaalaalitah-base/assets/fonts/adishila-vedic/AdishilaVedic.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Adishila Vedic';
    src: url('../lalitaalaalitah-base/assets/fonts/adishila-vedic/AdishilaVedicBold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Dank Mono';
    src: url('../lalitaalaalitah-base/assets/fonts/dank-mono/DankMonoNerdFont-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Dank Mono';
    src: url('../lalitaalaalitah-base/assets/fonts/dank-mono/DankMonoNerdFont-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --ctp-primary: #7287fd;
    --font-english: 'Inter', sans-serif;
    --font-sanskrit: 'Adishila', 'Tiro Devanagari Sanskrit', serif;
    --font-code: 'Dank Mono', monospace;

    /* Catppuccin Latte (Light Mode Tokens) */
    --ctp-base: #eff1f5;
    --ctp-mantle: #e6e9ef;
    --ctp-crust: #dce0e8;
    --ctp-text: #4c4f69;
    --ctp-subtext1: #5c5f77;
    --ctp-subtext0: #6c6f85;
    --ctp-overlay2: #7c7f93;
    --ctp-overlay1: #8c8fa1;
    --ctp-overlay0: #9ca0b0;
    --ctp-surface2: #acb0be;
    --ctp-surface1: #bcc0cc;
    --ctp-surface0: #e6e9ef;
}

@media (prefers-color-scheme: dark) {
    :root {
        --ctp-primary: #b4befe;

        /* Catppuccin Mocha (Dark Mode Tokens) */
        --ctp-base: #1e1e2e;
        --ctp-mantle: #181825;
        --ctp-crust: #11111b;
        --ctp-text: #cdd6f4;
        --ctp-subtext1: #bac2de;
        --ctp-subtext0: #a6adc8;
        --ctp-overlay2: #9399b2;
        --ctp-overlay1: #7f849c;
        --ctp-overlay0: #6c7086;
        --ctp-surface2: #585b70;
        --ctp-surface1: #45475a;
        --ctp-surface0: #313244;
    }
}

/* --- Prevent & Hide WordPress Admin Bar --- */
#wpadminbar {
    display: none !important;
}
html, html.wp-toolbar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body, body.admin-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html {
    font-size: 112.5% !important;
}

body {
    font-size: 1.15rem !important;
    line-height: 1.8 !important;
}

body, p, h1, h2, h3, h4, h5, h6, .wp-block-site-title, .wp-block-post-title, .wp-block-heading, .wp-block-query-title, footer, header {
    font-family: 'Adishila', 'Adishila Vedic', var(--font-english);
}

.wp-block-post-content p, .wp-block-post-content div {
    font-size: 1.2rem !important;
    line-height: 1.85 !important;
}

/* --- Post Content Container Width: 80% of Device Screen --- */
.wp-block-post-content,
.entry-content,
.site-main,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.lalitaalaalitah,
.other-person,
.mUlam,
.TIkA,
.paramaTIkA,
.TippaNI {
    width: 80% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.footer-links-columns {
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-links-columns h2,
.footer-links-columns .wp-block-heading {
    text-align: left !important;
}

/* --- Inline & Block Code Styling --- */

/* Inline Code (inside paragraphs, lists, tables) */
:not(pre) > code,
p code,
li code,
td code {
    background-color: var(--ctp-surface0) !important;
    color: var(--ctp-primary) !important;
    border: 1px solid var(--ctp-surface1) !important;
    border-radius: 4px !important;
    padding: 0.15em 0.4em !important;
    font-size: 0.9em !important;
    font-family: var(--font-code), 'Dank Mono', monospace !important;
    word-break: break-word !important;
}

/* Block Code (Pre / Code blocks) */
.wp-block-code,
pre.wp-block-code,
pre {
    background-color: var(--ctp-surface0) !important;
    color: var(--ctp-text) !important;
    border: 1px solid var(--ctp-surface1) !important;
    border-left: 4px solid var(--ctp-primary) !important;
    border-radius: 8px !important;
    padding: 2.5rem 1.5rem 1.5rem 1.5rem !important; /* Extra top padding for buttons/label */
    margin-bottom: 1.5rem !important;
    position: relative !important;
    font-family: var(--font-code), 'Dank Mono', monospace !important;
    overflow-x: auto !important;
}

/* Code inside pre blocks should not inherit double padding/border */
pre code,
.wp-block-code code {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: 0.95em !important;
    font-family: var(--font-code), 'Dank Mono', monospace !important;
}

/* The <code> label on the top left */
pre.wp-block-code::before,
.wp-block-code::before {
    content: "<code>";
    position: absolute;
    top: 0;
    left: -4px; /* Align with the left border, taking the 4px border-left into account */
    background-color: var(--ctp-surface1);
    color: var(--ctp-subtext0);
    padding: 0.2rem 0.6rem;
    font-size: 0.85rem;
    border-bottom-right-radius: 8px;
    border-top-left-radius: 8px;
    font-family: var(--font-code);
}

/* The Copy Button */
.copy-code-btn {
    position: absolute !important;
    top: 0.4rem !important;
    right: 0.5rem !important;
    background-color: var(--ctp-surface1) !important;
    color: var(--ctp-text) !important;
    border: 1px solid var(--ctp-surface2) !important;
    border-radius: 4px !important;
    padding: 0.2rem 0.6rem !important;
    font-size: 0.8rem !important;
    cursor: pointer !important;
    transition: background-color 0.2s, color 0.2s !important;
    font-family: inherit !important;
    z-index: 10 !important;
}

.copy-code-btn:hover {
    background-color: var(--ctp-surface2) !important;
    color: var(--ctp-primary) !important;
}

/* --- High-Visibility Pill-Shaped Search Box (Pill shape & Lighter Border for Accessibility) --- */
.wp-block-search__input,
:where(.wp-block-search__input),
.wp-block-search input[type="search"] {
    border-radius: 9999px !important; /* Pill shape */
    border: 2px solid var(--ctp-primary, #89b4fa) !important; /* Lighter glowing border matching search button */
    background-color: var(--ctp-surface0) !important;
    color: var(--ctp-text) !important;
    padding: 0.75rem 1.5rem !important;
    font-size: 1.15rem !important;
    box-shadow: 0 0 12px 1px rgba(137, 180, 250, 0.25) !important;
    transition: all 0.3s ease !important;
    outline: none !important;
}

.wp-block-search__input:focus,
:where(.wp-block-search__input):focus,
.wp-block-search input[type="search"]:focus {
    border-color: var(--ctp-primary, #89b4fa) !important;
    box-shadow: 0 0 20px 3px rgba(137, 180, 250, 0.5), inset 0 0 10px 1px rgba(137, 180, 250, 0.2) !important;
}

.wp-block-search__input::placeholder,
.wp-block-search input[type="search"]::placeholder {
    color: var(--ctp-subtext0) !important;
    opacity: 0.85 !important;
}

.wp-block-search .wp-block-search__button,
:where(.wp-block-search .wp-block-search__button) {
    border-radius: 9999px !important;
    margin-left: 0.5rem !important;
}

/* --- Global Button Styling (Catppuccin Glowing Outline) --- */
.wp-block-button__link,
.wp-element-button,
button[type="submit"] {
    background-color: transparent !important; /* Don't fill the button */
    color: var(--ctp-text, #cdd6f4) !important; /* Shiny light text */
    border: 2px solid var(--ctp-blue, #89b4fa) !important;
    border-radius: 9999px !important; /* Pill shape */
    padding: 0.9rem 2.5rem !important;
    font-weight: 900 !important; /* Maximum boldness */
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 0 15px 2px rgba(137, 180, 250, 0.3), inset 0 0 10px 1px rgba(137, 180, 250, 0.2) !important; /* Outer and inner glow */
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.5), 0 0 15px rgba(137, 180, 250, 0.8) !important; /* Shiny text effect */
    text-transform: uppercase;
    letter-spacing: 1.5px !important;
    font-size: 1.1rem !important; /* Larger, more visible font */
}

.wp-block-button__link:hover,
.wp-element-button:hover,
button[type="submit"]:hover {
    background-color: rgba(137, 180, 250, 0.1) !important; /* Slight fill on hover */
    color: #ffffff !important; /* Even shinier on hover */
    border-color: var(--ctp-sapphire, #74c7ec) !important;
    box-shadow: 0 0 25px 5px rgba(137, 180, 250, 0.5), inset 0 0 15px 2px rgba(137, 180, 250, 0.4) !important; /* Stronger glow on hover */
    text-shadow: 0 0 12px rgba(255, 255, 255, 0.8), 0 0 20px rgba(137, 180, 250, 1) !important;
    transform: translateY(-2px) !important;
}

.wp-block-button__link:active,
.wp-element-button:active,
button[type="submit"]:active {
    transform: translateY(1px) !important;
    box-shadow: 0 0 8px 1px rgba(137, 180, 250, 0.3), inset 0 0 5px 1px rgba(137, 180, 250, 0.2) !important;
}

/* --- Jetpack Contact Form Styling --- */
.wp-block-jetpack-contact-form {
    background-color: var(--ctp-surface0) !important;
    padding: 2.5rem !important;
    border-radius: 16px !important;
    max-width: 600px;
    margin: 3rem auto !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

.wp-block-jetpack-contact-form label {
    color: var(--ctp-subtext1) !important;
    font-weight: 600 !important;
    margin-bottom: 0.75rem !important;
    display: block !important;
    font-size: 0.95rem !important;
}

.wp-block-jetpack-contact-form input[type="text"],
.wp-block-jetpack-contact-form input[type="email"],
.wp-block-jetpack-contact-form input[type="url"],
.wp-block-jetpack-contact-form textarea {
    width: 100% !important;
    background-color: var(--ctp-crust) !important;
    color: var(--ctp-text) !important;
    border: 1px solid var(--ctp-surface1) !important;
    border-radius: 8px !important;
    padding: 0.85rem 1rem !important;
    margin-bottom: 1.5rem !important;
    font-size: 1rem !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
}

.wp-block-jetpack-contact-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.wp-block-jetpack-contact-form input:focus,
.wp-block-jetpack-contact-form textarea:focus {
    border-color: var(--ctp-blue) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px var(--ctp-surface2) !important;
}

/* --- Neumorphic Box Styling --- */
.neumorphic-box {
    background-color: var(--ctp-surface0, #e6e9ef) !important;
    border: 1px solid var(--ctp-surface1, #bcc0cc) !important;
    border-radius: 8px !important;
    box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.1), -6px -6px 12px rgba(255, 255, 255, 0.4) !important;
    transition: all 0.3s ease !important;
}

.neumorphic-box:hover {
    box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.15), -8px -8px 16px rgba(255, 255, 255, 0.5) !important;
    transform: translateY(-2px) !important;
}

@media (prefers-color-scheme: dark) {
    .neumorphic-box {
        background-color: var(--ctp-surface0, #313244) !important;
        border: 1px solid var(--ctp-surface1, #45475a) !important;
        box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.4), -6px -6px 12px rgba(255, 255, 255, 0.05) !important;
    }
    .neumorphic-box:hover {
        box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.5), -8px -8px 16px rgba(255, 255, 255, 0.08) !important;
    }
}

/* --- Post Excerpt Line Clamping --- */
.wp-block-post-excerpt__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wp-block-post-excerpt__more-link {
    display: inline-block;
    margin-top: 10px;
    font-size: 0.9em;
    font-weight: bold;
    color: var(--ctp-primary);
    text-decoration: none;
}

.wp-block-post-excerpt__more-link:hover {
    text-decoration: underline;
}

/* --- Dialogue / Chat Styles --- */
.lalitaalaalitah {
    background-color: var(--ctp-crust) !important;
    border: 1px solid var(--ctp-surface0) !important;
    border-left: 6px solid var(--ctp-peach, #fe640b) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.other-person {
    background-color: var(--ctp-surface0) !important;
    border: 1px solid var(--ctp-surface1) !important;
    border-left: 6px solid var(--ctp-primary) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.lalitaalaalitah .lang-sa-gadyam,
.other-person .lang-sa-gadyam {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 1rem !important;
    width: 100% !important;
}

.lalitaalaalitah .lang-sa-padyam,
.other-person .lang-sa-padyam {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 1rem !important;
    text-align: center !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.lang-sa-gadyam p {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 1rem !important;
}
.lang-sa-gadyam p:last-child {
    margin-bottom: 0 !important;
}

.lang-sa-padyam p {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 1rem !important;
    text-align: center !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}
.lang-sa-padyam p:last-child {
    margin-bottom: 0 !important;
}

/* --- Language Specific Styles (Stotram etc.) --- */
.lang-sa-gadyam {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--font-sanskrit) !important;
    font-size: 1.25rem !important;
    line-height: 1.85 !important;
}

.lang-sa-padyam {
    display: table !important;
    background-color: var(--ctp-crust) !important;
    border: 1px solid var(--ctp-surface0) !important;
    border-left: 6px solid var(--ctp-green, #40a02b) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.12) !important;
    padding: 1.25rem 2rem !important;
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-family: var(--font-sanskrit) !important;
    font-size: 1.25rem !important;
    line-height: 1.85 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.lang-en {
    background-color: var(--ctp-mantle) !important;
    border: 1px solid var(--ctp-surface0) !important;
    border-left: 6px solid var(--ctp-peach, #fe640b) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    font-family: var(--font-english) !important;
}

/* --- Textual Layers (For Publishing) --- */
.mUlam {
    background-color: var(--ctp-surface0) !important;
    border: 1px solid var(--ctp-surface0) !important;
    border-left: 6px solid var(--ctp-maroon, #e64553) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.TIkA {
    background-color: var(--ctp-surface0) !important;
    border: 1px solid var(--ctp-surface0) !important;
    border-left: 6px solid var(--ctp-teal, #179299) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.paramaTIkA {
    background-color: var(--ctp-surface0) !important;
    border: 1px solid var(--ctp-surface0) !important;
    border-left: 6px solid var(--ctp-green, #40a02b) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.TippaNI {
    background-color: var(--ctp-surface0) !important;
    border: 1px solid var(--ctp-surface0) !important;
    border-left: 6px solid var(--ctp-mauve, #8839ef) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}
/* --- Universal Switch Content (Collapsible Sections) --- */
.handcursor {
    cursor: pointer !important;
    user-select: none;
    margin-top: 1.2rem;
    margin-bottom: 0.4rem;
    display: flex;
    align-items: center;
    font-size: 1.25rem;
    color: var(--ctp-maroon, #e64553);
}
.handcursor::before {
    content: "► ";
    display: inline-block;
    margin-right: 8px;
    font-size: 0.75em;
    transition: transform 0.2s ease;
}
.handcursor.open::before {
    content: "▼ ";
}
.switchgroup1, [class*="switchgroup"] {
    display: none;
    padding-left: 1.2rem;
    margin-bottom: 1.2rem;
}
.sitemap-controls {
    margin-bottom: 1rem;
    font-weight: bold;
}
.sitemap-controls a {
    cursor: pointer;
    text-decoration: underline;
}
