/* SOURCE:pp-title-media.css */
/* =========================================================
   PP STYLE LAYERS v1.20.0 — TITLE & MEDIA SOURCE

   Human-readable authority for shared page/article/listing titles and
   featured-image polish formerly stored in WordPress Additional CSS.
   Non-Gateway public routes receive this source through the generated
   pp-global-late.css bundle. The scoped Homepage Gateway does not need it.
========================================================= */

/* =========================================================
   3A. SHARED TITLES AND FEATURED IMAGES — OWNED
========================================================= */

.entry-title,
.page-title,
.hero-section h1 {
  font-family: var(--pp-serif);
  color: var(--pp-ivory);
  text-shadow: 0 0 18px rgba(214, 167, 57, 0.15);
}

.single-post .entry-title,
.page .entry-title,
.page-title,
.hero-section .page-title,
.hero-section .entry-title {
  font-size: clamp(38px, 4.1vw, 64px) !important;
  line-height: 1.04 !important;
  letter-spacing: 0.005em !important;
}

.entries .entry-title,
.archive .entry-title,
.blog .entry-title,
.search .entry-title,
.home .entries .entry-title,
.ct-posts-container .entry-title,
.ct-related-posts .entry-title {
  font-size: clamp(24px, 2.1vw, 34px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0.005em !important;
}

.entries .entry-title a,
.archive .entry-title a,
.blog .entry-title a,
.search .entry-title a,
.home .entries .entry-title a,
.ct-posts-container .entry-title a,
.ct-related-posts .entry-title a {
  color: var(--pp-ivory) !important;
  text-decoration: none;
}

.entries .entry-title a:hover,
.archive .entry-title a:hover,
.blog .entry-title a:hover,
.search .entry-title a:hover,
.home .entries .entry-title a:hover,
.ct-posts-container .entry-title a:hover,
.ct-related-posts .entry-title a:hover {
  color: var(--pp-gold-bright) !important;
  text-shadow: 0 0 16px rgba(244, 208, 111, 0.24);
}
@media (max-width: 767px) {
  .hero-section .page-title,
  .hero-section .entry-title,
  .page-title,
  .entry-title,
  article h1 {
    font-size: clamp(28px, 7.5vw, 36px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0.005em !important;
  }

  .entries .entry-title,
  .archive .entry-title,
  .blog .entry-title,
  .search .entry-title,
  .home .entries .entry-title,
  .ct-posts-container .entry-title,
  .ct-related-posts .entry-title {
    font-size: clamp(21px, 5.6vw, 27px) !important;
    line-height: 1.14 !important;
  }
}

/* Featured image treatment remains shared until the dedicated media/archive audit. */
.wp-post-image {
  border-radius: 8px;
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.36),
    0 0 0 1px rgba(214, 167, 57, 0.12);
}

/* =========================================================
   19. TITLE SYSTEM — CONTEXTUAL SAFETY
   Keeps Blocksy title color stable without over-targeting every article title.
========================================================= */

/* Single post/page title safety */
.entry-header .entry-title,
.entry-header .page-title,
.single-post .entry-title,
.single-post h1.entry-title,
.page .entry-title,
.page h1.entry-title,
.hero-section .entry-title,
.hero-section .page-title,
.ct-entry-title {
  color: var(--pp-ivory) !important;
  -webkit-text-fill-color: var(--pp-ivory) !important;
  text-shadow: var(--pp-title-glow) !important;
}

.entry-header .entry-title a,
.entry-header .page-title a,
.single-post .entry-title a,
.page .entry-title a,
.hero-section .entry-title a,
.hero-section .page-title a {
  color: var(--pp-ivory) !important;
  -webkit-text-fill-color: var(--pp-ivory) !important;
  text-decoration: none !important;
}

.entry-header .entry-title a:hover,
.entry-header .page-title a:hover,
.single-post .entry-title a:hover,
.page .entry-title a:hover,
.hero-section .entry-title a:hover,
.hero-section .page-title a:hover {
  color: var(--pp-gold-bright) !important;
  -webkit-text-fill-color: var(--pp-gold-bright) !important;
}

/* Archive/blog/card title safety */
.entries article .entry-title,
.ct-posts-container article .entry-title,
.ct-related-posts .entry-title {
  color: var(--pp-ivory) !important;
  -webkit-text-fill-color: var(--pp-ivory) !important;
}

.entries article .entry-title a,
.ct-posts-container article .entry-title a,
.ct-related-posts .entry-title a {
  color: var(--pp-ivory) !important;
  -webkit-text-fill-color: var(--pp-ivory) !important;
  text-decoration: none !important;
}

.entries article .entry-title a:hover,
.ct-posts-container article .entry-title a:hover,
.ct-related-posts .entry-title a:hover {
  color: var(--pp-gold-bright) !important;
  -webkit-text-fill-color: var(--pp-gold-bright) !important;
}

@media (max-width: 767px) {
  .wp-post-image {
    box-shadow:
      0 10px 24px rgba(0, 0, 0, 0.28),
      0 0 0 1px rgba(214, 167, 57, 0.10) !important;
  }

  .entry-title,
  .page-title,
  .hero-section h1,
  .hero-section .entry-title,
  .hero-section .page-title,
  body.category .hero-section .page-title,
  body.category .hero-section .entry-title,
  body.category .ct-page-title .page-title,
  body.category .ct-page-title .entry-title {
    text-shadow: var(--pp-title-glow-mobile) !important;
  }
}

/* SOURCE:pp-shared-ui.css */
/* =========================================================
   PARANOID PROPHET — SHARED UI v1.0.0
   PP Style Layers Phase 11A

   Owns sitewide form controls, search fields, breadcrumbs, pagination,
   content-link focus visibility, global reduced-motion behavior, and
   shared contrast/forced-colors safeguards formerly stored in Additional CSS.
========================================================= */

/* Form buttons remain shared; Article Content Core owns Gutenberg content buttons only. */
.form-submit input[type="submit"],
.wpcf7-submit {
  min-height: 44px;
  color: #FFFFFF !important;
  background: linear-gradient(180deg, #C98210, #A36308) !important;
  border: 1px solid rgba(244, 208, 111, 0.24) !important;
  border-radius: 6px !important;
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(244, 208, 111, 0.18);
  font-weight: 700;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.form-submit input[type="submit"]:hover,
.wpcf7-submit:hover {
  background: linear-gradient(180deg, #D99618, #6B3F08) !important;
  border-color: rgba(244, 208, 111, 0.50) !important;
  transform: translateY(-1px);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.36),
    0 0 18px rgba(244, 208, 111, 0.16);
}

.entry-content a:focus-visible {
  outline: 2px solid rgba(244, 208, 111, 0.72);
  outline-offset: 3px;
  border-radius: 6px;
}

/* =========================================================
   20. PERFORMANCE / ACCESSIBILITY — CORE (NO LIVE SURFACE BLUR)
========================================================= */


@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Form, search, and comment field polish */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="password"],
textarea,
select,
.wp-block-search__input,
.ct-search-form input[type="search"] {
  min-height: 44px;
  width: 100%;

  color: var(--pp-ivory) !important;
  -webkit-text-fill-color: var(--pp-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 248, 220, 0.035),
      rgba(3, 3, 3, 0.34)
    ) !important;

  border: 1px solid rgba(214, 167, 57, 0.22) !important;
  border-radius: 12px !important;

  box-shadow:
    inset 0 1px 0 rgba(244, 208, 111, 0.06),
    0 8px 18px rgba(0, 0, 0, 0.14);

  font-family: var(--pp-sans);
  line-height: 1.35;
}

textarea {
  min-height: 132px;
  padding-top: 13px !important;
  resize: vertical;
}

input::placeholder,
textarea::placeholder,
.wp-block-search__input::placeholder {
  color: rgba(167, 155, 130, 0.86) !important;
  -webkit-text-fill-color: rgba(167, 155, 130, 0.86) !important;
  opacity: 1;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus,
.wp-block-search__input:focus,
.ct-search-form input[type="search"]:focus {
  border-color: rgba(244, 208, 111, 0.58) !important;
  outline: 2px solid rgba(244, 208, 111, 0.22) !important;
  outline-offset: 2px;

  box-shadow:
    0 0 0 1px rgba(244, 208, 111, 0.16),
    0 0 18px rgba(244, 208, 111, 0.10),
    inset 0 1px 0 rgba(244, 208, 111, 0.09);
}

label,
.wp-block-search__label,
.comment-form label {
  color: rgba(242, 232, 208, 0.90);
  font-family: var(--pp-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.035em;
}

.wp-block-search,
.search-form,
.comment-form,
.wpcf7-form {
  max-width: 780px;
}

.wp-block-search .wp-block-search__button,
.search-submit {
  min-height: 44px;
  color: #090805 !important;
  -webkit-text-fill-color: #090805 !important;
  background: linear-gradient(180deg, rgba(255, 236, 164, 0.98), rgba(214, 167, 57, 0.88)) !important;
  border: 1px solid rgba(244, 208, 111, 0.55) !important;
  border-radius: 12px !important;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

/* Breadcrumb polish for common WordPress/SEO plugin outputs */
.ct-breadcrumbs,
.rank-math-breadcrumb,
.yoast-breadcrumb,
.breadcrumbs {
  max-width: 1120px;
  margin: 12px auto 18px;
  padding: 0 16px;

  color: rgba(167, 155, 130, 0.90);
  font-family: var(--pp-sans);
  font-size: 12.5px;
  line-height: 1.45;
}

.ct-breadcrumbs a,
.rank-math-breadcrumb a,
.yoast-breadcrumb a,
.breadcrumbs a {
  color: rgba(232, 214, 162, 0.88) !important;
  -webkit-text-fill-color: rgba(232, 214, 162, 0.88) !important;
  text-decoration: none !important;
}

.ct-breadcrumbs a:hover,
.rank-math-breadcrumb a:hover,
.yoast-breadcrumb a:hover,
.breadcrumbs a:hover {
  color: var(--pp-gold-bright) !important;
  -webkit-text-fill-color: var(--pp-gold-bright) !important;
}

/* Pagination / archive navigation polish */
.ct-pagination,
.pagination,
.posts-navigation,
.post-navigation,
nav.navigation {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.ct-pagination,
.pagination .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.ct-pagination a,
.ct-pagination span,
.pagination .page-numbers,
.nav-links .page-numbers,
.post-navigation a,
.posts-navigation a {
  min-height: 40px;
  padding: 10px 14px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: rgba(242, 232, 208, 0.92) !important;
  -webkit-text-fill-color: rgba(242, 232, 208, 0.92) !important;
  background:
    linear-gradient(
      180deg,
      rgba(255, 248, 220, 0.035),
      rgba(3, 3, 3, 0.22)
    );

  border: 1px solid rgba(214, 167, 57, 0.18);
  border-radius: 999px;

  font-family: var(--pp-sans);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
}

.ct-pagination .current,
.pagination .current,
.nav-links .current {
  color: #090805 !important;
  -webkit-text-fill-color: #090805 !important;
  background: linear-gradient(180deg, rgba(255, 236, 164, 0.98), rgba(214, 167, 57, 0.88));
  border-color: rgba(244, 208, 111, 0.55);
}

.ct-pagination a:hover,
.pagination .page-numbers:hover,
.nav-links .page-numbers:hover,
.post-navigation a:hover,
.posts-navigation a:hover {
  color: var(--pp-gold-bright) !important;
  -webkit-text-fill-color: var(--pp-gold-bright) !important;
  border-color: rgba(244, 208, 111, 0.36);
}

/* High-contrast support without changing normal design */
@media (prefers-contrast: more) {
  :root {
    --pp-ivory: #FFF7DF;
    --pp-ivory-soft: #F8E8B8;
    --pp-gold-bright: #FFE38A;
  }

  body.category .hero-section,
  body.category .ct-page-title,
  body.search .hero-section,
  body.search .ct-page-title,
  body.error404 .hero-section,
  body.error404 .ct-page-title {
    border-color: rgba(255, 227, 138, 0.46) !important;
  }
}

@media (forced-colors: active) {
  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  button,
  input,
  textarea,
  select {
    forced-color-adjust: auto;
  }

  body.category .hero-section,
  body.category .ct-page-title {
    border: 1px solid CanvasText !important;
  }
}

@media (max-width: 767px) {
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="search"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  textarea,
  select,
  .wp-block-search__input,
  .ct-search-form input[type="search"] {
    box-shadow:
      inset 0 1px 0 rgba(244, 208, 111, 0.05),
      0 6px 14px rgba(0, 0, 0, 0.12);
  }

  .ct-breadcrumbs,
  .rank-math-breadcrumb,
  .yoast-breadcrumb,
  .breadcrumbs {
    margin-top: 8px;
    margin-bottom: 12px;
    font-size: 11.5px;
  }
}
