/*
Theme Name:   Monogram Child
Theme URI:    https://monogram-theme.jkdevstudio.com/
Author:       jkdevstudio
Author URI:   https://themeforest.net/user/jkdevstudio
Description:  Child theme for Monogram. Put your custom CSS and PHP here so theme updates don't overwrite them.
Template:     monogram
Version:      1.4.12
Text Domain:  monogram-child
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
*/

/*
 * Blog typography
 * Keep long-form articles readable without altering pages or portfolios.
 */
body.single-post .entry-title {
  font-size: clamp(2.25rem, 3.4vw, 3.75rem);
  letter-spacing: -0.025em;
  line-height: 1.06 !important;
  text-wrap: balance;
}

body.single-post .entry-content {
  hyphens: auto;
  text-align: justify;
  text-justify: inter-word;
}

body.single-post .entry-content p,
body.single-post .entry-content li,
body.single-post .entry-content blockquote {
  text-align: justify;
  text-justify: inter-word;
}

body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6 {
  hyphens: none;
  text-align: left;
  text-wrap: balance;
}

body.single-post .entry-content h2 {
  font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  line-height: 1.15 !important;
}

body.single-post .entry-content h3 {
  font-size: clamp(1.55rem, 2vw, 2rem);
  line-height: 1.2 !important;
}

body.single-post .entry-content h4 {
  font-size: clamp(1.3rem, 1.6vw, 1.6rem);
  line-height: 1.25 !important;
}

body.single-post .entry-content h5 {
  font-size: clamp(1.15rem, 1.35vw, 1.35rem);
  line-height: 1.3 !important;
}

body.single-post .entry-content h6 {
  font-size: 1.05rem;
  line-height: 1.35 !important;
}

body.single-post .entry-content figcaption,
body.single-post .entry-content .wp-caption-text {
  hyphens: none;
  text-align: left;
}

/*
 * Footer breathing room
 * Keep the final row clear of desktop taskbars and mobile safe areas.
 */
body .site-footer .footer-inner {
  padding-bottom: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
}

/*
 * Home globe neural network
 * Confined to Monogram's wireframe globe widget (1e6a99e).
 */
body.home .elementor-element-1e6a99e {
  isolation: isolate;
  overflow: hidden;
  pointer-events: none;
}

body.home .elementor-element-1e6a99e > .elementor-widget-container {
  position: relative;
  z-index: 1;
}

body.home .elementor-element-1e6a99e > .germa-neural-network {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

body.home .germa-neural-network canvas {
  display: block;
  height: 100%;
  opacity: 0.62;
  width: 100%;
  -webkit-mask-image: radial-gradient(circle, #000 0%, #000 72%, transparent 98%);
  mask-image: radial-gradient(circle, #000 0%, #000 72%, transparent 98%);
}

@media (prefers-reduced-motion: reduce) {
  body.home .germa-neural-network canvas {
    opacity: 0.38;
  }
}

@media (max-width: 767px) {
  body.single-post .entry-title {
    font-size: clamp(2rem, 9vw, 2.75rem);
    line-height: 1.08 !important;
  }

  body.single-post .entry-content {
    hyphens: none;
    text-align: left;
  }

  body.single-post .entry-content p,
  body.single-post .entry-content li,
  body.single-post .entry-content blockquote {
    text-align: left;
  }

  body.single-post .entry-content h2 {
    font-size: clamp(1.65rem, 7vw, 2rem);
  }

  body.single-post .entry-content h3 {
    font-size: clamp(1.4rem, 6vw, 1.75rem);
  }

  body .site-footer .footer-inner {
    padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)) !important;
  }

}

/* Home introduction: portrait and signature beside the existing biography. */
body.home .germa-about-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: 40px;
  align-items: center !important;
  width: 100%;
  position: relative;
  z-index: 2;
}

body.home .germa-about-layout > .e-con {
  --width: 100%;
  width: 100% !important;
  min-width: 0;
  max-width: 100%;
  padding: 0;
}

body.home .germa-about-media {
  flex-direction: column;
  align-items: center !important;
  gap: 22px;
}

body.home .germa-about-photo,
body.home .germa-about-copy .elementor-widget-text-editor {
  width: 100%;
}

body.home .germa-about-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 12px;
}

body.home .germa-about-signature {
  text-align: center;
}

@media (min-width: 768px) and (max-width: 1024px) {
  body.home .germa-about-layout {
    grid-template-columns: minmax(0, 210px) minmax(0, 1fr);
    gap: 28px;
  }
}

@media (max-width: 767px) {
  body.home .germa-about-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  body.home .germa-about-layout > .germa-about-media {
    max-width: 300px;
    justify-self: center;
  }
}

/* GERMA PORTFOLIO PAGINATION FIX — remove this block to revert.
 * Monogram's portfolio entrance animation can leave the navigation at opacity 0.
 * Navigation must remain usable even when the scroll animation does not run.
 * Scoped to archive portfolios; blog and Home widget animations stay unchanged.
 */
.portfolio-archive .jkd-portfolio .jkd-pagination {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* GERMA BLOG CARDS — complete images, no zoom/parallax, date without author.
 * Remove this block to revert. No effect on individual post content.
 */
.blog-archive .blog-item__media {
  --blog-card-fit: contain;
}
.blog-archive--default .blog-item__media {
  aspect-ratio: 16 / 9;
  height: auto;
}
.blog-archive .blog-item__media img {
  object-fit: contain !important;
  object-position: center;
  width: 100%;
  height: 100% !important;
  transform: none !important;
  transition: none !important;
}
.blog-archive .blog-item__media picture {
  width: 100%;
  height: 100%;
  transform: none !important;
}
.blog-archive .post-meta .author-wrp {
  display: none !important;
}
