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

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

@font-face {
    font-family: 'Dank Mono';
    src: url('../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('../fonts/dank-mono/DankMonoNerdFont-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Dank Mono';
    src: url('../fonts/dank-mono/DankMonoNerdFont-Italic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

:root {
  /* Day Mode (Latte) Variables */
  --ctp-base: #eff1f5;
  --ctp-mantle: #e6e9ef;
  --ctp-crust: #dce0e8;
  --ctp-text: #4c4f69;
  --ctp-subtext1: #5c5f77;
  --ctp-subtext0: #6c6f85;
  --ctp-surface0: #ccd0da;

  --shadow-light: rgba(255, 255, 255, 0.8);
  --shadow-dark: rgba(204, 208, 218, 0.7); /* Based on surface0 */
  --shadow-inset-light: rgba(255, 255, 255, 0.8);
  --shadow-inset-dark: rgba(204, 208, 218, 0.7);

  /* Primary Accent - Defaulting to Mauve (can be overridden by child themes) */
  --ctp-primary: #8839ef;
  
  /* Green Accent */
  --ctp-green: #40a02b;

  /* Peach & Flamingo Accents */
  --ctp-peach: #fe640b;
  --ctp-flamingo: #dd7878;

  /* Yellow & Teal Accents */
  --ctp-yellow: #df8e1d;
  --ctp-teal: #179299;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Night Mode (Mocha) Variables */
    --ctp-base: #1e1e2e;
    --ctp-mantle: #181825;
    --ctp-crust: #11111b;
    --ctp-text: #cdd6f4;
    --ctp-subtext1: #bac2de;
    --ctp-subtext0: #a6adc8;
    --ctp-surface0: #313244;

    --shadow-light: rgba(69, 71, 90, 0.4); /* surface1 */
    --shadow-dark: rgba(17, 17, 27, 0.8); /* crust */
    --shadow-inset-light: rgba(69, 71, 90, 0.4);
    --shadow-inset-dark: rgba(17, 17, 27, 0.8);

    /* Green Accent */
    --ctp-green: #a6e3a1;

    /* Peach & Flamingo Accents */
    --ctp-peach: #fab387;
    --ctp-flamingo: #f2cdcd;

    /* Yellow & Teal Accents */
    --ctp-yellow: #f9e2af;
    --ctp-teal: #94e2d5;
  }
}

/* Base Document Styles to support Neumorphism */
body {
  background-color: var(--ctp-base);
  color: var(--ctp-text);
  font-family: "Adishila", "Adishila Vedic", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Global Typography Colors */
h1, h2, h3, h4, h5, h6 {
  color: var(--ctp-text);
}
a {
  color: var(--ctp-primary);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

/* --- Neumorphism Utilities --- */

.neu-flat {
  background: var(--ctp-base);
  box-shadow: 8px 8px 16px var(--shadow-dark), -8px -8px 16px var(--shadow-light);
  border-radius: 16px;
  padding: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.05); /* Slight border for crispness */
}

.neu-pressed {
  background: var(--ctp-base);
  box-shadow: inset 8px 8px 16px var(--shadow-inset-dark), inset -8px -8px 16px var(--shadow-inset-light);
  border-radius: 16px;
  padding: 2rem;
}

/* Standard WP Blocks overridden for Neumorphism */

/* Group & Column Blocks */
/* Neumorphism shadows should be explicitly applied using .neu-flat or .neu-pressed via the Site Editor,
   otherwise nested groups will have excessive stacking shadows. */
/* Button Styles */
.wp-block-button__link {
  background: var(--ctp-base) !important;
  color: var(--ctp-primary) !important;
  font-weight: 600;
  border-radius: 8px !important;
  border: none;
  padding: 0.75rem 1.5rem;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.wp-block-button__link:hover {
  transform: translateY(2px);
  text-decoration: none;
}

.wp-block-button__link:active {
  transform: translateY(4px);
}

/* Input Fields */
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea {
  background: var(--ctp-base);
  color: var(--ctp-text);
  border: 1px solid var(--ctp-surface0);
  box-shadow: inset 4px 4px 8px var(--shadow-inset-dark), inset -4px -4px 8px var(--shadow-inset-light);
  border-radius: 8px;
  padding: 10px 15px;
  width: 100%;
  box-sizing: border-box;
}

input:focus, textarea:focus {
  outline: 2px solid var(--ctp-primary);
  outline-offset: 2px;
}

/* Search Button inside Search Block */
.wp-block-search__button {
  background: var(--ctp-base) !important;
  color: var(--ctp-primary) !important;
  border: 1px solid var(--ctp-surface0) !important;
  box-shadow: 4px 4px 8px var(--shadow-dark), -4px -4px 8px var(--shadow-light) !important;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.wp-block-search__button:hover {
  transform: translateY(2px);
}
.wp-block-search__button:active {
  transform: translateY(4px);
  box-shadow: inset 2px 2px 4px var(--shadow-inset-dark), inset -2px -2px 4px var(--shadow-inset-light) !important;
}

/* Images */
/* Neumorphism shadows should be explicitly applied using .neu-flat via the Site Editor */
img {
  border-radius: 12px;
}

/* Typography and Alignment Overrides */
.wp-block-site-title {
  text-align: center !important;
  width: 100% !important;
  justify-content: center !important;
}

/* Force header layout to center logo and title */
header.wp-block-template-part .wp-block-group.is-content-justification-space-between {
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

header.wp-block-template-part .wp-block-group.is-layout-flex:has(.wp-block-site-title) {
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100%;
}


/* Post text justified */
.wp-block-post-content p:not(.has-text-align-center):not(.has-text-align-left):not(.has-text-align-right), 
.wp-block-post-content .wp-block-paragraph:not(.has-text-align-center):not(.has-text-align-left):not(.has-text-align-right) {
  text-align: justify;
}

/* Posts blocks centered */
.wp-block-post {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Ensure post content text itself remains justified even if the block is centered */
.wp-block-post .wp-block-post-content {
  text-align: justify;
}

/* Pill-like decoration with Neumorphic shadows for the quote block */
.quote-box {
  background: var(--ctp-base);
  box-shadow: 6px 6px 12px var(--shadow-dark), -6px -6px 12px var(--shadow-light);
  border-radius: 50px;
  padding: 1.2rem 2.5rem;
  margin: 1.5rem auto;
  border: 1px solid rgba(255, 255, 255, 0.05);
  max-width: fit-content;
  display: block;
  color: var(--ctp-green);
  font-size: 1.1rem;
}

/* Header and Footer shadow separators */
header {
  box-shadow: 0px 8px 15px -10px var(--shadow-dark);
  position: relative;
  z-index: 10;
  /* Prevent margin collapse of child elements like .quote-box */
  display: flex;
  flex-direction: column;
}

header:has(.quote-box) {
  padding-bottom: 2rem;
}

footer {
  box-shadow: 0px -8px 15px -10px var(--shadow-dark);
  position: relative;
  z-index: 10;
}

/* Posts and Comments get boxes with shadows */
.wp-block-post,
.wp-block-post-content,
.wp-block-comments,
.comment-respond {
  background: var(--ctp-base);
  box-shadow: 6px 6px 12px var(--shadow-dark), -6px -6px 12px var(--shadow-light);
  border-radius: 16px;
  padding: 2rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Remove box shadow from the post content block on the Directory page template so empty pages don't show an orphan box */
.directory-page-main > .wp-block-post-content {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* Bilingual Content Formatting Rules (Stotram/Network) */
.wp-block-group.lang-sa-padyam {
  background-color: var(--ctp-surface0);
  color: var(--ctp-text);
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  text-align: center;
  box-shadow: inset 2px 2px 5px var(--shadow-inset-dark), inset -2px -2px 5px var(--shadow-inset-light);
}

.wp-block-group.lang-sa-padyam p {
  text-align: center !important;
}

.wp-block-group.lang-sa-gadyam {
  background-color: var(--ctp-surface0);
  color: var(--ctp-text);
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  text-align: justify;
  box-shadow: inset 2px 2px 5px var(--shadow-inset-dark), inset -2px -2px 5px var(--shadow-inset-light);
}

.wp-block-group.lang-en {
  background-color: var(--ctp-mantle);
  color: var(--ctp-text);
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  text-align: justify;
  box-shadow: 3px 3px 6px var(--shadow-dark), -3px -3px 6px var(--shadow-light);
}

/* Q&A / Debate Formatting (Main Website) */
.wp-block-group.lalitaalaalitah {
  background-color: var(--ctp-crust);
  color: var(--ctp-text);
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  text-align: justify;
  box-shadow: inset 2px 2px 5px var(--shadow-inset-dark), inset -2px -2px 5px var(--shadow-inset-light);
}

.wp-block-group.other-person {
  background-color: var(--ctp-surface0);
  color: var(--ctp-text);
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  text-align: justify;
  box-shadow: 3px 3px 6px var(--shadow-dark), -3px -3px 6px var(--shadow-light);
}

/* Hide WordPress accessibility links that are visible due to missing base styles */
.skip-link,
.screen-reader-text {
  display: none !important;
}

/* Footer Links Styling */
footer a,
.wp-block-template-part footer a {
  color: var(--ctp-peach) !important;
  text-decoration: none !important;
  transition: color 0.2s ease-in-out;
}

footer a:hover,
.wp-block-template-part footer a:hover {
  color: var(--ctp-flamingo) !important;
}

/* Site Title and Logo Styling */
.wp-block-site-title {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.wp-block-site-title a {
  color: var(--ctp-primary) !important;
  /* Add a vibrant Neumorphic gradient to the title */
  background: linear-gradient(90deg, var(--ctp-primary), var(--ctp-peach));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: opacity 0.3s ease;
}

.wp-block-site-title a:hover {
  opacity: 0.8;
}

@supports not (-webkit-background-clip: text) {
  .wp-block-site-title a {
    color: var(--ctp-primary) !important;
  }
}

.custom-logo {
  border-radius: 50% !important;
  box-shadow: 4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light) !important;
  border: 2px solid var(--ctp-base);
  transition: transform 0.3s ease;
}

.custom-logo:hover {
  transform: scale(1.05);
}

/* Post Titles */
h1.wp-block-post-title,
h2.wp-block-post-title,
.wp-block-post-title,
.wp-block-post-title a {
  color: var(--ctp-yellow) !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: color 0.2s ease-in-out;
}

.wp-block-post-title a:hover {
  color: var(--ctp-teal) !important;
}

/* Center Aksharamukha Plugin */
#aksharamukha-navbar {
  float: none !important;
  margin: 0 auto 15px auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 15px;
  width: fit-content;
}

/* Global Heading Adjustments */
h1, h2, h3, h4, h5, h6, 
.wp-block-heading, 
.wp-block-query-title {
  text-align: center !important;
  font-style: normal !important;
}

/* Hide Jetpack Sharing and Likes on Directory Pattern */
.directory-page-main .sharedaddy,
.directory-page-main .jetpack-likes-widget-wrapper,
.directory-wrapper .sharedaddy,
.directory-wrapper .jetpack-likes-widget-wrapper {
  display: none !important;
}

h1, .wp-block-heading h1, .wp-block-query-title {
  font-size: clamp(1.8rem, 4vw, 2.2rem) !important;
}
h2, .wp-block-heading h2 {
  font-size: clamp(1.5rem, 3.5vw, 1.8rem) !important;
}
h3, .wp-block-heading h3 {
  font-size: clamp(1.3rem, 3vw, 1.5rem) !important;
}
h4, .wp-block-heading h4 {
  font-size: clamp(1.1rem, 2vw, 1.25rem) !important;
}

/* Ensure query title span is also not italic */
.wp-block-query-title span {
  font-style: normal !important;
}


/* --- Font Definitions & Typography Overrides --- */
.lang-sa-padyam, .wp-block-group.lang-sa-padyam, p.lang-sa-padyam {
  font-family: var(--wp--preset--font-family--devanagari), "Adishila", "Tiro Devanagari Sanskrit", serif;
}

.lang-sa-gadyam, .wp-block-group.lang-sa-gadyam, p.lang-sa-gadyam {
  font-family: var(--wp--preset--font-family--devanagari), "Adishila", "Tiro Devanagari Sanskrit", serif;
}

.lang-sa-vedic, .wp-block-group.lang-sa-vedic, p.lang-sa-vedic {
  font-family: var(--wp--preset--font-family--devanagari-vedic), "Adishila Vedic", "Adishila", serif;
}

code, kbd, samp, pre, .wp-block-code, .wp-block-code code {
  font-family: var(--wp--preset--font-family--monospace), "Dank Mono", monospace !important;
}

/* Global Adishila Devanagari Override for All Site Elements */
body, p, h1, h2, h3, h4, h5, h6, 
.wp-block-site-title, .wp-block-site-title a, .wp-block-post-title, .wp-block-post-title a, 
.wp-block-heading, .wp-block-query-title, .wp-block-post-content, .wp-block-group, 
footer, header, button, input, textarea {
  font-family: "Adishila", "Adishila Vedic", "Inter", sans-serif;
}

/* --- Global Font Scale Up for Devanagari Readability --- */
html {
  font-size: 112.5% !important; /* Base 18px */
}

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

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

.wp-block-group.lang-sa-padyam, .wp-block-group.lang-sa-gadyam, .lang-sa-padyam, .lang-sa-gadyam, .lalitaalaalitah, .other-person {
  font-size: 1.25rem !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)),
.lang-sa-padyam,
.lang-sa-gadyam,
.lalitaalaalitah,
.other-person,
.mUlam,
.TIkA,
.paramaTIkA,
.TippaNI {
    width: 80% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- 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;
}
