/*
Theme Name:   Prometeus Child
Theme URI:    https://www.prometeusjournal.eu
Description:  Child theme of Twenty Twenty-Five for Prometeus – A Journal of Financial Technology
Author:       Prometeus Journal
Template:     twentytwentyfive
Version:      1.0.0
License:      GNU General Public License v2 or later
Text Domain:  prometeus-child
*/

/* ============================================================
   GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@300;400;500&display=swap');

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --prom-ink:         #1a1a18;
  --prom-ink-mid:     #3d3c38;
  --prom-ink-muted:   #6b6a64;
  --prom-ink-faint:   #9e9d96;
  --prom-paper:       #faf9f5;
  --prom-paper-warm:  #f4f2ec;
  --prom-rule:        rgba(26, 26, 24, 0.12);
  --prom-rule-bold:   rgba(26, 26, 24, 0.25);

  --prom-serif: 'Playfair Display', Georgia, serif;
  --prom-body:  'EB Garamond', Georgia, serif;
  --prom-sans:  'DM Sans', sans-serif;
}

/* ============================================================
   GLOBAL RESET & BASE
   ============================================================ */
body {
  font-family: var(--prom-body) !important;
  background-color: var(--prom-paper) !important;
  color: var(--prom-ink) !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  -webkit-font-smoothing: antialiased;
}

/* ============================================================
   SITE HEADER
   ============================================================ */
.wp-block-template-part[data-slug="header"],
header.wp-block-template-part,
.site-header,
#masthead {
  background-color: var(--prom-paper) !important;
  border-bottom: 1px solid var(--prom-rule-bold) !important;
  padding: 0 !important;
}

/* ── Site title / logo ── */
.wp-block-site-title,
.wp-block-site-title a,
.site-title,
.site-title a {
  font-family: var(--prom-serif) !important;
  font-size: clamp(32px, 6vw, 52px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  color: var(--prom-ink) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.wp-block-site-title a:hover,
.site-title a:hover {
  opacity: 0.72 !important;
}

/* ── Tagline ── */
.wp-block-site-tagline,
.site-description {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink-muted) !important;
  margin-top: 6px !important;
}

/* ── Navigation ── */
.wp-block-navigation,
.wp-block-navigation__container,
nav.wp-block-navigation {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.wp-block-navigation-item__content,
.wp-block-navigation a {
  color: var(--prom-ink-muted) !important;
  text-decoration: none !important;
  padding: 4px 0 !important;
  border-bottom: 1px solid transparent !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.wp-block-navigation-item__content:hover,
.wp-block-navigation a:hover,
.wp-block-navigation-item.current-menu-item > a {
  color: var(--prom-ink) !important;
  border-bottom-color: var(--prom-rule-bold) !important;
}

/* ── Nav sub-menus ── */
.wp-block-navigation__submenu-container {
  background: var(--prom-paper) !important;
  border: 1px solid var(--prom-rule-bold) !important;
  border-top: 2px solid var(--prom-ink) !important;
  box-shadow: 0 4px 16px rgba(26,26,24,0.08) !important;
  padding: 8px 0 !important;
}

.wp-block-navigation__submenu-container a {
  padding: 8px 20px !important;
  font-size: 11px !important;
}

/* ============================================================
   ISSUE BANNER (custom HTML block with class .prom-issue-banner)
   ============================================================ */
.prom-issue-banner {
  background-color: var(--prom-ink) !important;
  color: var(--prom-paper) !important;
  text-align: center !important;
  padding: 9px 24px !important;
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  width: 100% !important;
}

/* ============================================================
   CONTENT AREA & CONTAINER
   ============================================================ */
.wp-site-blocks,
.entry-content,
.wp-block-post-content {
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Full-width override for header/footer */
.wp-block-template-part {
  max-width: 100% !important;
}

/* ============================================================
   BLOG / POST LIST (homepage)
   ============================================================ */

/* Section label above posts */
.prom-section-label {
  font-family: var(--prom-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink-faint) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
  margin-top: 36px !important;
}
.prom-section-label::after {
  content: '' !important;
  flex: 1 !important;
  height: 1px !important;
  background: var(--prom-rule) !important;
}

/* Post list wrapper */
.wp-block-query,
.wp-block-post-template {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 1px solid var(--prom-rule) !important;
}

/* Individual post row */
.wp-block-post,
.wp-block-post-template > li {
  padding: 28px 0 !important;
  border-bottom: 1px solid var(--prom-rule) !important;
  transition: background 0.15s !important;
}

.wp-block-post:hover,
.wp-block-post-template > li:hover {
  background: var(--prom-paper-warm) !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  margin-left: -16px !important;
  margin-right: -16px !important;
}

/* Post title in list */
.wp-block-post-title,
.wp-block-post-title a,
h2.wp-block-post-title {
  font-family: var(--prom-serif) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  color: var(--prom-ink) !important;
  text-decoration: none !important;
  margin-bottom: 10px !important;
  display: block !important;
}

.wp-block-post-title a:hover {
  opacity: 0.72 !important;
}

/* Post excerpt */
.wp-block-post-excerpt,
.wp-block-post-excerpt__excerpt,
.entry-summary {
  font-family: var(--prom-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
  color: var(--prom-ink-mid) !important;
  margin-bottom: 12px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Post date & meta */
.wp-block-post-date,
.wp-block-post-date time,
.posted-on,
.entry-date {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  color: var(--prom-ink-faint) !important;
  text-transform: uppercase !important;
}

/* Categories / tags in list */
.wp-block-post-terms,
.cat-links,
.tags-links {
  font-family: var(--prom-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink-muted) !important;
}

.wp-block-post-terms a {
  border: 1px solid var(--prom-rule-bold) !important;
  padding: 2px 8px !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  color: var(--prom-ink-muted) !important;
  transition: background 0.15s !important;
}

.wp-block-post-terms a:hover {
  background: var(--prom-paper-warm) !important;
}

/* ============================================================
   FEATURED / LEAD ESSAY (first post — add class .prom-featured)
   ============================================================ */
.prom-featured {
  padding: 44px 0 36px !important;
  border-bottom: 1px solid var(--prom-rule-bold) !important;
  margin-bottom: 0 !important;
}

.prom-featured .wp-block-post-title,
.prom-featured .wp-block-post-title a {
  font-size: clamp(24px, 4.5vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}

.prom-featured .wp-block-post-excerpt,
.prom-featured .wp-block-post-excerpt__excerpt {
  font-size: 17px !important;
  -webkit-line-clamp: 5 !important;
  margin-bottom: 20px !important;
}

.prom-kicker {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink-muted) !important;
  margin-bottom: 12px !important;
  display: block !important;
}

/* ============================================================
   SINGLE POST / ARTICLE PAGE
   ============================================================ */
.single .entry-header,
.single .wp-block-post-title,
article.post .entry-header {
  text-align: left !important;
  margin-bottom: 0 !important;
}

/* Article headline */
.single h1.entry-title,
.single h1.wp-block-post-title,
.page h1.entry-title {
  font-family: var(--prom-serif) !important;
  font-size: clamp(26px, 4.5vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  color: var(--prom-ink) !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.01em !important;
}

/* Article dateline */
.single .wp-block-post-date,
.single .entry-date,
.single .posted-on {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  color: var(--prom-ink-faint) !important;
  text-transform: uppercase !important;
  margin-bottom: 28px !important;
  display: block !important;
}

/* Thin rule below header */
.single .entry-header::after,
.prom-article-rule {
  content: '' !important;
  display: block !important;
  width: 40px !important;
  height: 2px !important;
  background: var(--prom-ink) !important;
  margin: 20px 0 28px !important;
}

/* Body text */
.single .entry-content,
.single .wp-block-post-content,
article.post .entry-content {
  font-family: var(--prom-body) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: var(--prom-ink-mid) !important;
}

/* Paragraphs */
.single .entry-content p,
.single .wp-block-post-content p {
  margin-bottom: 1.4em !important;
}

/* Drop cap on first paragraph */
.single .entry-content > p:first-of-type::first-letter,
.single .wp-block-post-content > p:first-of-type::first-letter {
  font-family: var(--prom-serif) !important;
  font-size: 4.8em !important;
  font-weight: 700 !important;
  float: left !important;
  line-height: 0.82 !important;
  margin: 0.08em 0.08em 0 0 !important;
  color: var(--prom-ink) !important;
}

/* Headings inside article */
.single .entry-content h2,
.single .wp-block-post-content h2 {
  font-family: var(--prom-serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--prom-ink) !important;
  margin: 2em 0 0.6em !important;
  line-height: 1.3 !important;
}

.single .entry-content h3,
.single .wp-block-post-content h3 {
  font-family: var(--prom-serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--prom-ink) !important;
  margin: 1.6em 0 0.5em !important;
}

/* Bold */
.single .entry-content strong,
.single .wp-block-post-content strong {
  font-weight: 600 !important;
  color: var(--prom-ink) !important;
}

/* Blockquote / pullquote */
.single .entry-content blockquote,
.single .wp-block-post-content blockquote,
.wp-block-pullquote,
.wp-block-quote {
  border-left: 2px solid var(--prom-ink) !important;
  border-right: none !important;
  background: none !important;
  padding: 6px 0 6px 20px !important;
  margin: 2em 0 !important;
  font-family: var(--prom-body) !important;
  font-size: 19px !important;
  font-style: italic !important;
  color: var(--prom-ink) !important;
  line-height: 1.55 !important;
}

.wp-block-pullquote {
  text-align: left !important;
  border-top: none !important;
  border-bottom: none !important;
}

.wp-block-pullquote blockquote::before {
  display: none !important;
}

/* Links in body */
.single .entry-content a,
.single .wp-block-post-content a {
  color: var(--prom-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: var(--prom-rule-bold) !important;
  transition: text-decoration-color 0.2s !important;
}

.single .entry-content a:hover,
.single .wp-block-post-content a:hover {
  text-decoration-color: var(--prom-ink) !important;
}

/* ============================================================
   HEADINGS — GLOBAL
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--prom-serif) !important;
  color: var(--prom-ink) !important;
}

/* ============================================================
   BUTTONS & READ MORE
   ============================================================ */
.wp-block-button__link,
.wp-block-read-more,
a.wp-block-read-more {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink) !important;
  background: transparent !important;
  border: 1px solid var(--prom-rule-bold) !important;
  padding: 8px 18px !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
}

.wp-block-button__link:hover,
a.wp-block-read-more:hover {
  background: var(--prom-ink) !important;
  color: var(--prom-paper) !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.wp-block-query-pagination,
.navigation.pagination {
  font-family: var(--prom-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-top: 48px !important;
  border-top: 1px solid var(--prom-rule-bold) !important;
  padding-top: 24px !important;
}

.wp-block-query-pagination a,
.navigation.pagination a {
  color: var(--prom-ink-muted) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.wp-block-query-pagination a:hover,
.navigation.pagination a:hover {
  color: var(--prom-ink) !important;
}

.wp-block-query-pagination-numbers .current,
.navigation.pagination .current {
  color: var(--prom-ink) !important;
  font-weight: 500 !important;
}

/* ============================================================
   SIDEBAR & WIDGETS
   ============================================================ */
.widget-area,
.wp-block-group.is-style-sidebar {
  border-left: 1px solid var(--prom-rule-bold) !important;
  padding-left: 28px !important;
}

.widget-title,
.wp-block-heading {
  font-family: var(--prom-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink-faint) !important;
  margin-bottom: 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--prom-rule) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.wp-block-template-part[data-slug="footer"],
footer.wp-block-template-part,
.site-footer,
#colophon {
  background-color: var(--prom-paper) !important;
  border-top: 1px solid var(--prom-rule-bold) !important;
  padding: 28px 0 !important;
  margin-top: 48px !important;
}

.site-footer .wp-block-site-title,
.site-footer .site-title {
  font-family: var(--prom-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: var(--prom-ink-mid) !important;
}

.site-footer p,
.site-footer .wp-block-paragraph {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em !important;
  color: var(--prom-ink-faint) !important;
}

/* ============================================================
   SEARCH
   ============================================================ */
.wp-block-search__input,
.search-field {
  font-family: var(--prom-body) !important;
  font-size: 16px !important;
  background: var(--prom-paper-warm) !important;
  border: 1px solid var(--prom-rule-bold) !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  color: var(--prom-ink) !important;
}

.wp-block-search__button,
.search-submit {
  font-family: var(--prom-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: var(--prom-ink) !important;
  color: var(--prom-paper) !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
}

/* ============================================================
   UTILITIES (add these classes to WP blocks via "Additional CSS class")
   ============================================================ */

/* .prom-rule  → sottile separatore orizzontale */
.prom-rule {
  border: none !important;
  border-top: 1px solid var(--prom-rule-bold) !important;
  margin: 0 !important;
}

/* .prom-rule-gold → riga dorata (per uso futuro) */
.prom-rule-gold {
  border: none !important;
  border-top: 1px solid rgba(160,130,60,0.35) !important;
}

/* .prom-sans-label → etichetta uppercase sans */
.prom-sans-label {
  font-family: var(--prom-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink-faint) !important;
}

/* .prom-tag → pill stile tag articolo */
.prom-tag {
  display: inline-block !important;
  background: var(--prom-paper-warm) !important;
  border: 1px solid var(--prom-rule-bold) !important;
  padding: 2px 10px !important;
  border-radius: 2px !important;
  font-family: var(--prom-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--prom-ink-muted) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 640px) {
  body { font-size: 17px !important; }

  .wp-site-blocks,
  .entry-content,
  .wp-block-post-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .single h1.entry-title,
  .single h1.wp-block-post-title {
    font-size: 26px !important;
  }

  .wp-block-post-title,
  .wp-block-post-title a {
    font-size: 19px !important;
  }

  .prom-featured .wp-block-post-title,
  .prom-featured .wp-block-post-title a {
    font-size: 24px !important;
  }
}
