/*
Theme Name: ZeroPlagAI Child
Theme URI: https://zeroplagai.com/
Description: Lightweight GeneratePress child theme for ZeroPlagAI SEO publishing.
Author: ZeroPlagAI
Template: generatepress
Version: 1.0.0
Text Domain: zeroplagai-child
*/

:root {
  --zp-ink: #1f1b18;
  --zp-muted: #60574f;
  --zp-accent: #136f63;
  --zp-accent-soft: #e3f1ee;
  --zp-highlight: #c87a3d;
  --zp-paper: #f7f2ea;
  --zp-paper-deep: #efe6d9;
  --zp-card: #fffdf9;
  --zp-border: #d7ccbc;
  --zp-radius: 14px;
  --zp-content-width: 780px;
  --zp-shadow-soft: 0 16px 42px rgba(20, 24, 31, 0.08);
  --zp-shadow-lift: 0 22px 48px rgba(20, 24, 31, 0.14);
}

@keyframes zp-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body {
  color: var(--zp-ink);
  background-color: var(--zp-paper);
  background-image: radial-gradient(circle at 14% -8%, #fff7eb 0, transparent 40%), radial-gradient(circle at 116% 2%, #dceee8 0, transparent 42%);
  font-family: 'Space Grotesk', 'Trebuchet MS', 'Helvetica Neue', sans-serif;
  letter-spacing: 0.002em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.main-title,
.entry-title,
.page-title {
  font-family: 'Fraunces', Georgia, serif;
  letter-spacing: 0.01em;
  color: #1c1815;
}

a {
  color: var(--zp-accent);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

a:hover,
a:focus {
  color: #0c4f47;
}

.grid-container {
  max-width: 1180px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247, 242, 234, 0.93);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(164, 146, 125, 0.22);
}

.main-title {
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  text-transform: none;
}

.site-description {
  color: var(--zp-muted);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-item > a {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.76rem;
  font-weight: 700;
}

.main-navigation .main-nav ul li a {
  transition: color 0.3s ease;
}

.main-navigation .main-nav ul li[class*='current-menu-'] > a {
  color: var(--zp-highlight);
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header,
.sidebar .widget {
  background: var(--zp-card);
  border: 1px solid rgba(141, 120, 98, 0.18);
  border-radius: var(--zp-radius);
  box-shadow: var(--zp-shadow-soft);
}

.blog .inside-article,
.archive .inside-article {
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
  animation: zp-rise 0.6s ease both;
}

.blog .inside-article:hover,
.archive .inside-article:hover {
  transform: translateY(-4px);
  box-shadow: var(--zp-shadow-lift);
  border-color: rgba(19, 111, 99, 0.32);
}

.entry-title {
  line-height: 1.2;
}

.entry-meta,
.entry-meta a {
  color: var(--zp-muted);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.single-post .entry-content,
.page .entry-content {
  max-width: var(--zp-content-width);
  line-height: 1.82;
  font-size: 1.06rem;
}

.single-post .entry-content > p,
.page .entry-content > p {
  color: #2b2521;
}

.single-post .entry-content h2,
.page .entry-content h2 {
  font-size: clamp(1.55rem, 2.7vw, 2rem);
  margin-top: 2.15em;
  margin-bottom: 0.45em;
}

.single-post .entry-content h2::after,
.page .entry-content h2::after {
  content: '';
  display: block;
  width: 56px;
  height: 2px;
  margin-top: 0.45rem;
  background: linear-gradient(90deg, var(--zp-highlight), transparent);
}

.single-post .entry-content h3,
.page .entry-content h3 {
  line-height: 1.35;
  margin-top: 1.65em;
}

.single-post .entry-content ul li,
.single-post .entry-content ol li,
.page .entry-content ul li,
.page .entry-content ol li {
  margin-bottom: 0.48rem;
}

blockquote {
  border-left: 3px solid var(--zp-highlight);
  background: #fff6ec;
  padding: 0.9rem 1rem;
  border-radius: 0 10px 10px 0;
}

.zp-last-updated {
  margin: 0.4rem 0 1rem;
  color: var(--zp-muted);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.zp-component {
  margin: 1.75rem 0;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--zp-border);
  border-radius: var(--zp-radius);
  background: #fff;
  position: relative;
}

.zp-component::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--zp-accent), var(--zp-highlight));
  border-radius: var(--zp-radius) var(--zp-radius) 0 0;
}

.zp-tldr,
.zp-callout,
.zp-verdict,
.zp-cta,
.zp-toc {
  background: linear-gradient(180deg, #ffffff 0%, #f9f6f0 100%);
}

.zp-pros,
.zp-cons {
  border: 1px solid var(--zp-border);
  border-radius: 10px;
  padding: 0.8rem 0.9rem;
  background: #fff;
}

.zp-pros {
  background: #f1f9f7;
}

.zp-cons {
  background: #fff3eb;
}

.zp-table-wrap {
  overflow-x: auto;
}

.zp-comparison-table,
.wp-block-table table,
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  background: #fff;
}

.zp-comparison-table th,
.zp-comparison-table td,
.wp-block-table th,
.wp-block-table td,
.entry-content th,
.entry-content td {
  border: 1px solid var(--zp-border);
  padding: 0.7rem 0.74rem;
  text-align: left;
  vertical-align: top;
}

.zp-comparison-table th,
.wp-block-table th,
.entry-content th {
  background: #f7efe5;
}

.zp-pros-cons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.9rem;
}

.zp-pros-cons h3,
.zp-faq h3,
.zp-related h3 {
  margin-top: 0;
}

.zp-cta-button {
  display: inline-block;
  background: linear-gradient(135deg, var(--zp-accent), #0e5a51);
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  padding: 0.68rem 1.08rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.zp-cta-button:hover,
.zp-cta-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(17, 71, 65, 0.24);
  color: #fff;
}

.zp-faq__item + .zp-faq__item {
  border-top: 1px dashed var(--zp-border);
  margin-top: 0.9rem;
  padding-top: 0.9rem;
}

.zp-faq__question {
  font-size: 1.08rem;
}

.zp-toc ol {
  margin: 0.55rem 0 0;
  padding-left: 1.15rem;
}

.zp-toc .zp-toc__level-3 {
  margin-left: 0.7rem;
}

.site-info {
  border-top: 1px solid rgba(164, 146, 125, 0.25);
}

@media (max-width: 1024px) {
  .grid-container {
    max-width: 95%;
  }

  .main-navigation .main-nav ul li a,
  .main-navigation .menu-toggle,
  .main-navigation .menu-bar-item > a {
    font-size: 0.72rem;
    letter-spacing: 0.05em;
  }
}

@media (max-width: 768px) {
  .inside-header,
  .inside-top-bar,
  .inside-site-info {
    padding-right: 20px;
    padding-left: 20px;
  }

  .separate-containers .inside-article,
  .separate-containers .comments-area,
  .separate-containers .page-header,
  .separate-containers .paging-navigation,
  .one-container .site-content,
  .inside-page-header {
    padding: 24px;
  }

  .single-post .entry-content,
  .page .entry-content {
    font-size: 1rem;
    line-height: 1.75;
  }

  .zp-component {
    padding: 0.95rem 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ===== Homepage Editorial Layout ===== */
.home .site-content {
  padding-top: 24px;
}

.zp-home-hero {
  border: 1px solid rgba(141, 120, 98, 0.22);
  border-radius: 18px;
  padding: clamp(1.35rem, 2.8vw, 2.2rem);
  background: linear-gradient(135deg, #fffef9 0%, #f3ede2 45%, #e7f4f0 100%);
  box-shadow: var(--zp-shadow-soft);
  margin-bottom: 1.55rem;
}

.zp-home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  background: #fbe8d5;
  color: #76411a;
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
}

.zp-home-hero h1 {
  margin: 0.72rem 0 0.7rem;
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1.06;
  text-wrap: balance;
}

.zp-home-lead {
  font-size: clamp(1.04rem, 1.7vw, 1.2rem);
  line-height: 1.7;
  max-width: 67ch;
  color: #332b25;
}

.zp-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.62rem;
  margin-top: 1rem;
}

.zp-home-button {
  display: inline-block;
  padding: 0.7rem 1.06rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.zp-home-button--primary {
  color: #fff;
  background: linear-gradient(135deg, var(--zp-accent), #0d5a51);
}

.zp-home-button--secondary {
  color: #273239;
  background: #fff;
  border: 1px solid #d5c8b7;
}

.zp-home-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.55rem;
  margin-top: 1rem;
}

.zp-home-badge {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(141, 120, 98, 0.23);
  border-radius: 12px;
  padding: 0.62rem 0.72rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: #453a32;
}

.zp-home-section {
  margin: 2rem 0;
}

.zp-home-section h2 {
  margin-bottom: 0.28rem;
  font-size: clamp(1.52rem, 2.8vw, 2.05rem);
}

.zp-home-section-intro {
  margin: 0 0 0.92rem;
  color: var(--zp-muted);
  max-width: 70ch;
}

.zp-home-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.78rem;
}

.zp-home-card {
  display: block;
  background: #fff;
  border: 1px solid rgba(141, 120, 98, 0.25);
  border-radius: 12px;
  padding: 0.9rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.zp-home-card:hover,
.zp-home-card:focus {
  transform: translateY(-2px);
  box-shadow: var(--zp-shadow-soft);
  border-color: rgba(19, 111, 99, 0.35);
}

.zp-home-card h3 {
  margin: 0 0 0.35rem;
  font-size: 1.07rem;
}

.zp-home-card p {
  margin: 0;
  color: #5a5047;
  font-size: 0.95rem;
  line-height: 1.6;
}

.zp-home-stack {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0.8rem;
}

.zp-home-panel {
  background: #fff;
  border: 1px solid rgba(141, 120, 98, 0.22);
  border-radius: 12px;
  padding: 1rem;
}

.zp-home-panel h3 {
  margin-top: 0;
}

.zp-home-steps {
  margin: 0;
  padding-left: 1.2rem;
}

.zp-home-steps li {
  margin-bottom: 0.42rem;
  color: #3d342e;
}

.zp-home-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.zp-home-links li + li {
  margin-top: 0.38rem;
}

.zp-home-links a {
  font-weight: 700;
}

.zp-home-bottom {
  background: linear-gradient(180deg, #fff 0%, #f6f1e7 100%);
  border: 1px solid rgba(141, 120, 98, 0.24);
  border-radius: 14px;
  padding: 1rem;
}

.zp-home-bottom h2 {
  margin-top: 0;
}

.zp-home-bottom-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.62rem;
}

.zp-home-small {
  margin-top: 0.65rem;
  color: #5f554d;
  font-size: 0.87rem;
}

@media (max-width: 900px) {
  .zp-home-stack {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .zp-home-hero {
    padding: 1rem;
  }

  .zp-home-section {
    margin: 1.6rem 0;
  }

  .zp-home-card {
    padding: 0.8rem;
  }
}

/* ===== Sitewide Home Design Rollout ===== */
:root {
  --zp-panel-bg: #fffdf9;
  --zp-panel-border: rgba(141, 120, 98, 0.24);
  --zp-panel-shadow: 0 14px 36px rgba(17, 22, 29, 0.08);
  --zp-panel-shadow-hover: 0 18px 44px rgba(17, 22, 29, 0.13);
}

.site-main article,
.search .inside-article,
.error404 .inside-article,
.page:not(.home) .inside-article,
.single-post .inside-article,
.archive .inside-article,
.blog .inside-article,
.sidebar .widget,
.separate-containers .comments-area,
.separate-containers .paging-navigation,
.one-container .container {
  background: var(--zp-panel-bg);
  border: 1px solid var(--zp-panel-border);
  border-radius: 14px;
  box-shadow: var(--zp-panel-shadow);
}

.blog .inside-article,
.archive .inside-article,
.search .inside-article {
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.blog .inside-article:hover,
.archive .inside-article:hover,
.search .inside-article:hover {
  transform: translateY(-2px);
  box-shadow: var(--zp-panel-shadow-hover);
  border-color: rgba(19, 111, 99, 0.35);
}

.page-header,
.inside-page-header {
  border-radius: 14px;
  border: 1px solid var(--zp-panel-border);
  background: linear-gradient(145deg, #fffef9 0%, #f4ede2 58%, #e8f4f0 100%);
  box-shadow: var(--zp-panel-shadow);
}

.entry-title,
.page-title,
h1,
h2,
h3 {
  text-wrap: balance;
}

.page:not(.home) .entry-content > h2,
.single-post .entry-content > h2 {
  margin-top: 2rem;
  padding-top: 0.2rem;
}

.page:not(.home) .entry-content > h2 + p,
.single-post .entry-content > h2 + p {
  color: #3d342e;
  font-size: 1.02rem;
}

.entry-content > .wp-block-group,
.entry-content > .wp-block-columns,
.entry-content > .wp-block-media-text,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-table,
.entry-content > .wp-block-quote,
.entry-content > .wp-block-pullquote,
.entry-content > .wp-block-separator {
  margin-top: 1.15rem;
  margin-bottom: 1.15rem;
}

.entry-content > .wp-block-group:not(.alignfull):not(.alignwide),
.entry-content > .wp-block-columns:not(.alignfull):not(.alignwide),
.entry-content > .wp-block-media-text:not(.alignfull):not(.alignwide),
.entry-content > .wp-block-table:not(.alignfull):not(.alignwide) {
  background: #fff;
  border: 1px solid var(--zp-panel-border);
  border-radius: 12px;
  padding: 0.9rem 1rem;
}

.entry-content > .wp-block-group .wp-block-group__inner-container > :first-child,
.entry-content > .wp-block-columns .wp-block-column > :first-child {
  margin-top: 0;
}

.entry-content > .wp-block-group .wp-block-group__inner-container > :last-child,
.entry-content > .wp-block-columns .wp-block-column > :last-child {
  margin-bottom: 0;
}

.wp-block-image img,
.entry-content img {
  border-radius: 10px;
}

.entry-content .wp-block-button__link,
button,
input[type='submit'],
input[type='button'],
input[type='reset'],
a.button {
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
}

input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='number'],
textarea,
select {
  border-radius: 10px;
  border: 1px solid rgba(141, 120, 98, 0.33);
  background: #fffefb;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='tel']:focus,
input[type='number']:focus,
textarea:focus,
select:focus {
  border-color: rgba(19, 111, 99, 0.45);
  box-shadow: 0 0 0 3px rgba(19, 111, 99, 0.12);
}

.widget-title {
  position: relative;
  margin-bottom: 0.85rem;
}

.widget-title::after {
  content: '';
  display: block;
  width: 54px;
  height: 2px;
  margin-top: 0.45rem;
  background: linear-gradient(90deg, var(--zp-highlight), transparent);
}

.main-navigation ul ul {
  border: 1px solid var(--zp-panel-border);
  border-radius: 10px;
  box-shadow: var(--zp-panel-shadow);
}

.main-navigation .main-nav ul li.menu-item-has-children:hover > a {
  color: var(--zp-highlight);
}

.site-info,
.footer-widgets {
  border-top: 1px solid rgba(141, 120, 98, 0.22);
}

.footer-widgets {
  background: linear-gradient(180deg, #f6f1e7 0%, #efe7da 100%);
}

.nav-links .page-numbers,
.pagination .page-numbers {
  border: 1px solid rgba(141, 120, 98, 0.35);
  border-radius: 999px;
  padding: 0.35rem 0.65rem;
  min-width: 2rem;
  text-align: center;
  background: #fff;
}

.nav-links .page-numbers.current,
.pagination .page-numbers.current {
  background: var(--zp-accent);
  color: #fff;
  border-color: var(--zp-accent);
}

/* Hub pages: make linked cards pop even when content is simple. */
.page .entry-content a[href*='/ai-detectors/'],
.page .entry-content a[href*='/ai-plagiarism-checkers/'],
.page .entry-content a[href*='/comparisons/'],
.page .entry-content a[href*='/reviews/'],
.page .entry-content a[href*='/guides/'],
.page .entry-content a[href*='/research/'],
.page .entry-content a[href*='/methodology/'],
.page .entry-content a[href*='/editorial-policy/'],
.page .entry-content a[href*='/affiliate-disclosure/'] {
  font-weight: 700;
}

@media (max-width: 768px) {
  .site-main article,
  .page:not(.home) .inside-article,
  .single-post .inside-article,
  .archive .inside-article,
  .blog .inside-article,
  .sidebar .widget,
  .separate-containers .comments-area,
  .separate-containers .paging-navigation {
    border-radius: 12px;
  }

  .entry-content > .wp-block-group:not(.alignfull):not(.alignwide),
  .entry-content > .wp-block-columns:not(.alignfull):not(.alignwide),
  .entry-content > .wp-block-media-text:not(.alignfull):not(.alignwide),
  .entry-content > .wp-block-table:not(.alignfull):not(.alignwide) {
    padding: 0.8rem 0.85rem;
  }
}

/* ===== Menu Simplification + Affiliate Aggregator UX ===== */
.main-navigation .inside-navigation {
  min-height: 72px;
}

.main-navigation .main-nav > ul {
  align-items: center;
  gap: 0.12rem;
}

.main-navigation .main-nav > ul > li > a {
  border-radius: 999px;
  padding: 0.44rem 0.8rem;
  line-height: 1.1;
  transition: background-color 0.24s ease, color 0.24s ease, transform 0.24s ease;
}

.main-navigation .main-nav > ul > li:not(.zp-menu-cta):hover > a,
.main-navigation .main-nav > ul > li:not(.zp-menu-cta):focus-within > a {
  background: rgba(19, 111, 99, 0.11);
  color: #12463f;
  transform: translateY(-1px);
}

.main-navigation .main-nav > ul > li.current-menu-item:not(.zp-menu-cta) > a,
.main-navigation .main-nav > ul > li.current-menu-ancestor:not(.zp-menu-cta) > a {
  background: rgba(200, 122, 61, 0.14);
  color: #7d4018;
}

.main-navigation .main-nav > ul > li.zp-menu-cta {
  margin-left: 0.28rem;
}

.main-navigation .main-nav > ul > li.zp-menu-cta > a {
  color: #fff !important;
  background: linear-gradient(135deg, var(--zp-accent), #0c5b50);
  border-radius: 999px;
  padding: 0.54rem 0.95rem;
  box-shadow: 0 8px 18px rgba(16, 82, 74, 0.28);
}

.main-navigation .main-nav > ul > li.zp-menu-cta > a:hover,
.main-navigation .main-nav > ul > li.zp-menu-cta > a:focus {
  background: linear-gradient(135deg, #0f7a6d, #0e5f55);
  transform: translateY(-1px);
}

.main-navigation ul ul {
  margin-top: 8px;
  padding: 0.4rem;
  min-width: 220px;
  border: 1px solid rgba(141, 120, 98, 0.24);
  border-radius: 12px;
  background: rgba(255, 253, 249, 0.98);
  backdrop-filter: blur(8px);
}

.main-navigation ul ul li a {
  border-radius: 8px;
  padding: 0.52rem 0.65rem;
  font-size: 0.76rem;
  letter-spacing: 0.03em;
  text-transform: none;
  font-weight: 600;
}

.main-navigation ul ul li:hover > a,
.main-navigation ul ul li:focus-within > a {
  background: rgba(19, 111, 99, 0.1);
  color: #12463f;
}

@media (max-width: 768px) {
  .main-navigation .inside-navigation {
    min-height: 64px;
  }

  .main-navigation .main-nav > ul > li > a {
    border-radius: 10px;
    padding: 0.66rem 0.72rem;
    margin-bottom: 0.2rem;
  }

  .main-navigation .main-nav > ul > li.zp-menu-cta {
    margin-left: 0;
    margin-top: 0.25rem;
  }

  .main-navigation .main-nav > ul > li.zp-menu-cta > a {
    text-align: center;
  }

  .main-navigation ul ul {
    margin-top: 0.2rem;
    border-radius: 10px;
    padding: 0.25rem;
  }
}

/* ===== Layout Fix: Remove Desktop Empty Sidebar Gap ===== */
body.right-sidebar .site-content .content-area,
body.left-sidebar .site-content .content-area,
body.no-sidebar .site-content .content-area {
  width: 100%;
}

body.right-sidebar .is-right-sidebar,
body.left-sidebar .is-left-sidebar {
  display: none;
}

/* ===== Article Format System (Home-Style Editorial) ===== */
.single-post .inside-article {
  padding-top: clamp(1.4rem, 2.4vw, 2rem);
  background: linear-gradient(180deg, #fffdf9 0%, #fbf6ed 100%);
}

.single-post .entry-header {
  border: 1px solid rgba(141, 120, 98, 0.24);
  border-radius: 14px;
  background: linear-gradient(140deg, #fffef9 0%, #f4ede2 56%, #e6f4ef 100%);
  padding: 1rem 1.1rem;
  margin-bottom: 1.15rem;
}

.single-post .entry-title {
  font-size: clamp(2rem, 4.2vw, 3rem);
  line-height: 1.08;
  margin-top: 0.45rem;
}

.single-post .entry-meta,
.single-post .entry-meta a {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.single-post .entry-content > p:first-of-type {
  font-size: clamp(1.16rem, 1.6vw, 1.34rem);
  line-height: 1.65;
  color: #2c2520;
  border-left: 3px solid rgba(200, 122, 61, 0.64);
  padding-left: 0.9rem;
  margin-top: 0.3rem;
}

.single-post .entry-content > h2 {
  margin-top: 2.2rem;
}

.single-post .entry-content hr,
.single-post .entry-content .wp-block-separator {
  border: 0;
  border-top: 1px dashed rgba(141, 120, 98, 0.45);
}

.single-post .entry-content .zp-article-note,
.single-post .entry-content .zp-article-box {
  border: 1px solid rgba(141, 120, 98, 0.24);
  border-radius: 12px;
  padding: 0.85rem 0.95rem;
  background: #fff;
  margin: 1rem 0;
}

.single-post .entry-content .zp-article-note {
  background: #fff5ea;
  border-left: 3px solid var(--zp-highlight);
}

.single-post .entry-content .zp-article-box {
  background: #f1f9f7;
  border-left: 3px solid var(--zp-accent);
}

.single-post .entry-content .zp-article-checklist {
  margin: 0.8rem 0;
  padding: 0.8rem 0.95rem;
  border: 1px solid rgba(141, 120, 98, 0.24);
  border-radius: 12px;
  background: #fff;
}

.single-post .entry-content .zp-article-checklist li {
  margin-bottom: 0.38rem;
}

.single-post .entry-content .zp-inline-kicker {
  display: inline-block;
  margin-bottom: 0.35rem;
  padding: 0.26rem 0.6rem;
  border-radius: 999px;
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  background: #fbe8d5;
  color: #7a4319;
}

@media (max-width: 768px) {
  .single-post .entry-header {
    padding: 0.85rem 0.9rem;
  }

  .single-post .entry-content > p:first-of-type {
    padding-left: 0.7rem;
    font-size: 1.08rem;
  }
}

/* ===== Home Popular Publications Block ===== */
.zp-popular-posts {
  background: linear-gradient(180deg, #fff 0%, #f7f1e6 100%);
}

.zp-popular-posts h2 {
  margin-top: 0;
}

.zp-popular-list {
  list-style: none;
  margin: 0.2rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.62rem;
}

.zp-popular-item {
  border: 1px solid rgba(141, 120, 98, 0.26);
  border-radius: 12px;
  background: #fff;
  padding: 0.82rem 0.88rem;
}

.zp-popular-link {
  display: block;
  font-weight: 700;
  line-height: 1.4;
  color: #1f1b18;
  text-decoration: none;
}

.zp-popular-link:hover,
.zp-popular-link:focus {
  color: var(--zp-accent);
}

.zp-popular-meta {
  margin-top: 0.45rem;
  font-size: 0.8rem;
  color: #63584f;
  letter-spacing: 0.02em;
}

/* ===== Width + Menu Responsiveness Tuning ===== */
.home .entry-content {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.page:not(.home) .entry-content {
  max-width: min(100%, 940px);
  margin-left: auto;
  margin-right: auto;
}

.single-post .entry-content {
  max-width: min(100%, 860px);
  margin-left: auto;
  margin-right: auto;
}

.entry-content > * {
  max-width: 100%;
}

@media (min-width: 1201px) {
  .page:not(.home) .inside-article,
  .single-post .inside-article {
    padding-left: clamp(28px, 3vw, 44px);
    padding-right: clamp(28px, 3vw, 44px);
  }
}

.main-navigation .main-nav > ul {
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 1260px) {
  .main-navigation .main-nav ul li a,
  .main-navigation .menu-toggle,
  .main-navigation .menu-bar-item > a {
    font-size: 0.72rem;
    letter-spacing: 0.045em;
  }

  .main-navigation .main-nav > ul > li > a {
    padding: 0.4rem 0.64rem;
  }
}

@media (max-width: 1024px) {
  .main-navigation .inside-navigation {
    min-height: 66px;
  }

  .main-navigation .main-nav > ul {
    gap: 0.05rem;
  }
}

@media (max-width: 768px) {
  .main-navigation .main-nav > ul {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  .home .inside-article,
  .page .inside-article,
  .single-post .inside-article {
    padding-left: 22px;
    padding-right: 22px;
  }
}

/* ===== Nav Wrap Refinement ===== */
.main-navigation .main-nav > ul {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

@media (max-width: 1260px) {
  .main-navigation .main-nav > ul {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 0.25rem;
  }
}

@media (max-width: 768px) {
  .main-navigation .main-nav > ul {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}

/* ===== Header Logo Size Guardrail ===== */
.site-header .inside-header {
  align-items: center;
}

.site-branding,
.site-logo,
.custom-logo-link {
  line-height: 1;
}

.site-header .site-branding img,
.site-header .site-logo img,
.site-header img.header-image.is-logo-image,
.site-header .custom-logo-link img.custom-logo {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(100%, 420px);
  max-height: 64px;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .site-header .site-branding img,
  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: min(100%, 320px);
    max-height: 56px;
  }
}

@media (max-width: 768px) {
  .site-header .site-branding img,
  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: min(100%, 250px);
    max-height: 48px;
  }
}

/* ===== Brand Lockup: Graphic Mark + Text Title ===== */
.site-branding-container {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.site-branding .main-title {
  margin: 0;
}

.site-header .site-logo img,
.site-header img.header-image.is-logo-image,
.site-header .custom-logo-link img.custom-logo {
  max-width: 64px !important;
  max-height: 64px !important;
}

@media (max-width: 1024px) {
  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: 56px !important;
    max-height: 56px !important;
  }
}

@media (max-width: 768px) {
  .site-branding-container {
    gap: 0.45rem;
  }

  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: 44px !important;
    max-height: 44px !important;
  }
}

/* ===== Article Image System (Editorial Fit) ===== */
.single-post .entry-content .wp-block-image,
.page .entry-content .wp-block-image {
  margin: 1.2rem 0 1.4rem;
}

.single-post .entry-content .wp-block-image img,
.page .entry-content .wp-block-image img,
.single-post .entry-content figure img,
.page .entry-content figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(141, 120, 98, 0.26);
  background: #fff;
  box-shadow: var(--zp-shadow-soft);
}

.single-post .entry-content .wp-block-image figcaption,
.page .entry-content .wp-block-image figcaption,
.single-post .entry-content figure figcaption,
.page .entry-content figure figcaption {
  margin-top: 0.5rem;
  padding: 0 0.2rem;
  color: #5f554d;
  font-size: 0.84rem;
  line-height: 1.55;
  text-align: left;
}

.single-post .entry-content .wp-block-image.alignwide,
.single-post .entry-content .wp-block-image.alignfull,
.page .entry-content .wp-block-image.alignwide,
.page .entry-content .wp-block-image.alignfull {
  background: #fff;
  border: 1px solid rgba(141, 120, 98, 0.24);
  border-radius: 14px;
  padding: 0.7rem;
  box-shadow: var(--zp-shadow-soft);
  overflow: hidden;
}

.single-post .entry-content .wp-block-image.alignwide,
.page .entry-content .wp-block-image.alignwide {
  max-width: min(100%, 900px);
  margin-left: auto;
  margin-right: auto;
}

.single-post .entry-content .wp-block-image.alignfull,
.page .entry-content .wp-block-image.alignfull {
  max-width: min(100%, 980px);
  margin-left: auto;
  margin-right: auto;
}

.single-post .entry-content .wp-block-gallery,
.page .entry-content .wp-block-gallery {
  gap: 0.6rem;
}

.single-post .entry-content .wp-block-gallery img,
.page .entry-content .wp-block-gallery img {
  border-radius: 10px;
  border: 1px solid rgba(141, 120, 98, 0.22);
}

@media (max-width: 768px) {
  .single-post .entry-content .wp-block-image.alignwide,
  .single-post .entry-content .wp-block-image.alignfull,
  .page .entry-content .wp-block-image.alignwide,
  .page .entry-content .wp-block-image.alignfull {
    padding: 0.45rem;
    border-radius: 12px;
  }

  .single-post .entry-content .wp-block-image figcaption,
  .page .entry-content .wp-block-image figcaption {
    font-size: 0.8rem;
  }
}

/* ===== Mobile Nav Collapse Fix (Remove Empty White Block) ===== */
@media (max-width: 1024px) {
  .has-inline-mobile-toggle #site-navigation:not(.toggled) {
    display: none;
  }

  .has-inline-mobile-toggle #site-navigation {
    background: transparent;
    flex-basis: auto;
    width: auto;
    margin: 0;
  }

  .has-inline-mobile-toggle #site-navigation .inside-navigation {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent;
  }

  .has-inline-mobile-toggle #site-navigation.toggled {
    display: block;
    flex-basis: 100%;
    width: 100%;
    margin-top: 0.45rem;
  }

  .has-inline-mobile-toggle #site-navigation.toggled .inside-navigation {
    background: #fffdf9;
    border: 1px solid rgba(141, 120, 98, 0.24);
    border-radius: 12px;
    box-shadow: var(--zp-shadow-soft);
    padding: 0.35rem;
  }
}

/* ===== Safety Override: Keep Desktop/Tablet Nav Visible ===== */
@media (min-width: 769px) {
  .has-inline-mobile-toggle #site-navigation:not(.toggled) {
    display: block !important;
  }

  .has-inline-mobile-toggle #site-navigation {
    flex-basis: 100%;
    width: 100%;
    margin-top: 0;
  }

  .has-inline-mobile-toggle #site-navigation .inside-navigation {
    min-height: 66px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
}

/* ===== Home Intent Icons ===== */
.home .zp-home-card[href*='/ai-detectors/']::before,
.home .zp-home-card[href*='/ai-plagiarism-checkers/']::before,
.home .zp-home-card[href*='/comparisons/']::before,
.home .zp-home-card[href*='/reviews/']::before,
.home .zp-home-card[href*='/guides/']::before,
.home .zp-home-card[href*='/research/']::before {
  content: '';
  display: block;
  width: 38px;
  height: 38px;
  margin-bottom: 0.62rem;
  border-radius: 10px;
  border: 1px solid rgba(141, 120, 98, 0.24);
  background-color: #fff8ef;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
}

.home .zp-home-card[href*='/ai-detectors/']::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-ai-detectors.svg');
}

.home .zp-home-card[href*='/ai-plagiarism-checkers/']::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-ai-plagiarism-checkers.svg');
}

.home .zp-home-card[href*='/comparisons/']::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-comparisons.svg');
}

.home .zp-home-card[href*='/reviews/']::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-reviews.svg');
}

.home .zp-home-card[href*='/guides/']::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-guides.svg');
}

.home .zp-home-card[href*='/research/']::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-research.svg');
}

.home .zp-home-card h3 {
  margin-top: 0;
}

@media (max-width: 768px) {
  .home .zp-home-card[href*='/ai-detectors/']::before,
  .home .zp-home-card[href*='/ai-plagiarism-checkers/']::before,
  .home .zp-home-card[href*='/comparisons/']::before,
  .home .zp-home-card[href*='/reviews/']::before,
  .home .zp-home-card[href*='/guides/']::before,
  .home .zp-home-card[href*='/research/']::before {
    width: 34px;
    height: 34px;
    background-size: 21px 21px;
    margin-bottom: 0.55rem;
  }
}

/* ===== Header Compactness Tune ===== */
.site-header .inside-header {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.main-navigation .inside-navigation {
  min-height: 52px !important;
}

.main-navigation .main-nav > ul {
  gap: 0.08rem;
}

.main-navigation .main-nav > ul > li > a {
  padding: 0.34rem 0.66rem;
  line-height: 1.05;
}

.site-header .site-logo img,
.site-header img.header-image.is-logo-image,
.site-header .custom-logo-link img.custom-logo {
  max-width: 50px !important;
  max-height: 50px !important;
}

.site-branding .main-title {
  font-size: clamp(1.65rem, 2.35vw, 2.15rem);
  line-height: 1;
}

@media (max-width: 1024px) {
  .site-header .inside-header {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }

  .main-navigation .inside-navigation {
    min-height: 48px !important;
  }

  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: 44px !important;
    max-height: 44px !important;
  }
}

@media (max-width: 768px) {
  .site-header .inside-header {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }

  .main-navigation .inside-navigation {
    min-height: 44px !important;
  }

  .main-navigation .menu-toggle,
  .main-navigation .mobile-bar-items a {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }

  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: 38px !important;
    max-height: 38px !important;
  }

  .site-branding .main-title {
    font-size: clamp(1.55rem, 7.6vw, 2rem);
  }
}

/* ===== Menu Background Cleanup (Remove White Underlay) ===== */
.site-header .main-navigation,
.site-header #mobile-menu-control-wrapper,
.site-header #site-navigation,
.site-header .main-navigation .inside-navigation {
  background: transparent !important;
}

.mobile-menu-control-wrapper .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle:hover,
.mobile-menu-control-wrapper .menu-toggle:focus,
.has-inline-mobile-toggle #site-navigation.toggled {
  background: transparent !important;
}

@media (max-width: 1024px) {
  .has-inline-mobile-toggle #site-navigation.toggled .inside-navigation {
    background: rgba(247, 242, 234, 0.96) !important;
    border-color: rgba(141, 120, 98, 0.24);
    box-shadow: var(--zp-shadow-soft);
  }
}

/* ===== Desktop Header Grid Alignment + Extra Compact Height ===== */
@media (min-width: 1025px) {
  .site-header .inside-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 1rem;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
  }

  .site-header .site-branding-container {
    min-width: 0;
  }

  .site-header #mobile-menu-control-wrapper {
    display: none;
  }

  .has-inline-mobile-toggle #site-navigation {
    flex-basis: auto !important;
    width: 100% !important;
    margin-top: 0 !important;
    justify-self: end;
  }

  .site-header #site-navigation .inside-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-header #site-navigation .main-nav > ul {
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.04rem;
  }

  .site-header #site-navigation .main-nav > ul > li > a {
    padding: 0.26rem 0.58rem;
    line-height: 1;
  }

  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: 42px !important;
    max-height: 42px !important;
  }

  .site-branding .main-title {
    font-size: clamp(1.5rem, 2.05vw, 1.95rem);
    line-height: 1;
  }
}

/* ===== Menu UX Stabilization: Unified Header + Reliable Dropdown ===== */
@media (min-width: 1025px) {
  body.home .site-header .inside-header,
  body:not(.home) .site-header .inside-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 0.85rem;
    padding-top: 0.16rem;
    padding-bottom: 0.16rem;
  }

  .site-header #site-navigation {
    flex-basis: auto !important;
    width: 100% !important;
    margin: 0 !important;
    justify-self: stretch;
    align-self: center;
  }

  .site-header #site-navigation .inside-navigation.grid-container {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    min-height: 34px !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .site-header #site-navigation .main-nav > ul {
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.01rem;
  }

  .site-header #site-navigation .main-nav > ul > li {
    position: relative;
  }

  .site-header #site-navigation .main-nav > ul > li > a {
    padding: 0.18rem 0.48rem;
    line-height: 1;
  }

  .site-header #site-navigation .main-nav > ul > li:not(.zp-menu-cta):hover > a,
  .site-header #site-navigation .main-nav > ul > li:not(.zp-menu-cta):focus-within > a,
  .site-header #site-navigation .main-nav > ul > li.zp-menu-cta > a:hover,
  .site-header #site-navigation .main-nav > ul > li.zp-menu-cta > a:focus {
    transform: none;
  }

  .site-header #site-navigation ul ul {
    margin-top: 0 !important;
    top: calc(100% - 1px);
    padding: 0.32rem;
  }

  .site-header #site-navigation ul ul li a {
    padding: 0.44rem 0.58rem;
  }

  .site-header .site-logo img,
  .site-header img.header-image.is-logo-image,
  .site-header .custom-logo-link img.custom-logo {
    max-width: 36px !important;
    max-height: 36px !important;
  }

  .site-branding .main-title {
    font-size: clamp(1.38rem, 1.86vw, 1.76rem);
    line-height: 1;
  }
}

/* ===== Home Tiles: Missing Icons + Latest Articles Cards ===== */
.home .zp-home-card.zp-home-card--publishers::before,
.home .zp-home-card.zp-home-card--agencies::before,
.home .zp-home-card.zp-home-card--education::before,
.home .zp-home-card.zp-home-card--methodology::before,
.home .zp-home-card[href*='/methodology/']::before,
.home .wp-block-latest-posts.zp-home-latest-tiles li::before {
  content: '';
  display: block;
  width: 38px;
  height: 38px;
  margin-bottom: 0.62rem;
  border-radius: 10px;
  border: 1px solid rgba(141, 120, 98, 0.24);
  background-color: #fff8ef;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
}

.home .zp-home-card.zp-home-card--publishers::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-publishers.svg');
}

.home .zp-home-card.zp-home-card--agencies::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-agencies.svg');
}

.home .zp-home-card.zp-home-card--education::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-education.svg');
}

.home .zp-home-card.zp-home-card--methodology::before,
.home .zp-home-card[href*='/methodology/']::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-methodology.svg');
}

.home .wp-block-latest-posts.zp-home-latest-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.75rem;
  padding: 0;
  list-style: none;
}

.home .wp-block-latest-posts.zp-home-latest-tiles li {
  margin: 0;
  border: 1px solid rgba(141, 120, 98, 0.24);
  border-radius: 14px;
  background: #fffef9;
  box-shadow: var(--zp-shadow-soft);
  padding: 1rem 1rem 0.95rem;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.home .wp-block-latest-posts.zp-home-latest-tiles li:hover,
.home .wp-block-latest-posts.zp-home-latest-tiles li:focus-within {
  transform: translateY(-2px);
  border-color: rgba(19, 111, 99, 0.28);
  box-shadow: var(--zp-shadow-lift);
}

.home .wp-block-latest-posts.zp-home-latest-tiles .wp-block-latest-posts__post-title {
  display: block;
  margin: 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(1.04rem, 1.45vw, 1.28rem);
  line-height: 1.25;
  color: #1f1b18;
  text-decoration: none;
}

.home .wp-block-latest-posts.zp-home-latest-tiles .wp-block-latest-posts__post-date {
  margin-top: 0.45rem;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  color: #6c6159;
}

.home .wp-block-latest-posts.zp-home-latest-tiles li::before {
  background-image: url('/wp-content/themes/zeroplagai-child/assets/icons/intent-latest.svg');
}

@media (max-width: 1024px) {
  .home .wp-block-latest-posts.zp-home-latest-tiles {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
}

@media (max-width: 768px) {
  .home .zp-home-card.zp-home-card--publishers::before,
  .home .zp-home-card.zp-home-card--agencies::before,
  .home .zp-home-card.zp-home-card--education::before,
  .home .zp-home-card.zp-home-card--methodology::before,
  .home .zp-home-card[href*='/methodology/']::before,
  .home .wp-block-latest-posts.zp-home-latest-tiles li::before {
    width: 34px;
    height: 34px;
    margin-bottom: 0.55rem;
    background-size: 21px 21px;
  }
}
