/* =============================================================
   KIKE CALVO BLOG â€” CINEMATIC EDITORIAL v3.0
   COMPLETE replacement for v1.1 / v2.0
   Scope: standard SINGLE POSTS only (not homepage/pages/archives).
   Intent: remove sidebar AND reclaim its column; center article;
   editorial typography, image/video storytelling, mobile polish.
   ============================================================= */

body.single-post {
  --kc-paper: #fffefa;
  --kc-ink: #28332e;
  --kc-forest: #183e35;
  --kc-green: #236556;
  --kc-muted: #66746d;
  --kc-gold: #ab9065;
  --kc-rule: #e3e5dd;
  --kc-prose: 750px;
  --kc-wide: 1120px;
  --kc-shell: 1220px;
}

/* 01 / Remove sidebar widgets and reclaim the layout column.
   A hidden sidebar alone can leave its GRID track or FLEX width. */
body.single-post :is(#secondary, #sidebar, #sidebar-primary,
  .sidebar-primary, .sidebar-secondary, aside.sidebar,
  .widget-area.sidebar, .primary-sidebar, .secondary-sidebar,
  .sidebar.widget-area) {
  display: none !important;
}
/* Common WordPress theme two-column structural wrappers. */
body.single-post :is(.content-sidebar-wrap, .site-content,
  .site-content-inside, .content-sidebar, .sidebar-content,
  .site-main-wrap, .site-main-wrapper) {
  grid-template-columns: minmax(0, 1fr) !important;
  column-gap: 0 !important;
}
body.single-post :is(.content-sidebar-wrap, .content-sidebar,
  .sidebar-content, .site-content-inside) {
  flex-wrap: wrap;
}
/* Do NOT force .site-content itself to display:grid: theme may
   contain headers/footer elements that must keep their flow. */
body.single-post :is(#primary, #main, .content-area,
  .postarea, .post-area, .primary-content, .main-content,
  .site-main, main.site-main) {
  box-sizing: border-box;
  min-width: 0 !important;
  width: 100% !important;
  max-width: var(--kc-shell) !important;
  flex: 1 1 100% !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.single-post :is(.content-sidebar-wrap, .site-content,
  .site-content-inside) > :is(#primary, #main, .content-area,
  .site-main, .main-content) {
  grid-column: 1 / -1 !important;
}
/* Some themes apply widths directly to the article container. */
body.single-post article.post,
body.single-post article.type-post,
body.single-post .hentry.type-post {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--kc-shell);
  margin-left: auto;
  margin-right: auto;
}

/* 02 / Center title and metadata area without changing site header. */
body.single-post :is(.entry-header, .post-header) {
  box-sizing: border-box;
  width: min(100% - 36px, var(--kc-prose));
  margin-left: auto;
  margin-right: auto;
}
body.single-post :is(.entry-header, .post-header) :is(.entry-title, .post-title) {
  color: var(--kc-forest);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(35px, 5.2vw, 65px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.1;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body.single-post :is(.entry-header, .post-header) :is(.entry-meta, .post-meta) {
  color: var(--kc-muted);
  font: 11px/1.7 Arial, Helvetica, sans-serif;
  letter-spacing: .09em;
}

/* 03 / Outer content canvas and prose width. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--kc-shell);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 34px);
  padding-right: clamp(16px, 3vw, 34px);
  text-align: left;
  overflow-wrap: break-word;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) > :is(
  p, h2, h3, h4, h5, h6, ul, ol, blockquote, hr,
  .wp-block-paragraph, .wp-block-heading, .wp-block-list,
  .wp-block-quote, .wp-block-pullquote, .wp-block-separator,
  .wp-block-table, .wp-block-footnotes
):not(.alignwide):not(.alignfull) {
  box-sizing: border-box;
  max-width: var(--kc-prose);
  margin-left: auto;
  margin-right: auto;
}
/* Gutenberg groups containing long-form content (opt-in). */
body.single-post .kc-prose {
  max-width: var(--kc-prose) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 04 / Magazine reading typography. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) :is(p, li) {
  color: var(--kc-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(17px, 1.5vw, 19px);
  line-height: 1.85;
  font-weight: 400;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) p {
  margin-top: 0;
  margin-bottom: 1.5em;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) h2 {
  color: var(--kc-forest);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(29px, 3.4vw, 43px);
  font-weight: 400;
  line-height: 1.24;
  letter-spacing: -.025em;
  text-transform: none;
  margin-top: 2em;
  margin-bottom: .72em;
  text-wrap: balance;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) h3 {
  color: var(--kc-forest);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(23px, 2.5vw, 30px);
  font-weight: 400;
  line-height: 1.33;
  letter-spacing: -.015em;
  text-transform: none;
  margin-top: 1.75em;
  margin-bottom: .66em;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) h4 {
  color: var(--kc-forest);
  font-size: clamp(19px, 2vw, 23px);
  margin-top: 1.4em;
  margin-bottom: .6em;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) a {
  color: var(--kc-green);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) a:hover {
  color: var(--kc-forest);
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) a:focus-visible {
  outline: 2px solid var(--kc-gold);
  outline-offset: 3px;
}
/* Editorial lead paragraph: add class kc-lead to the paragraph. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) p.kc-lead {
  color: var(--kc-forest);
  font-size: clamp(21px, 2.2vw, 25px);
  line-height: 1.66;
  letter-spacing: -.009em;
  margin-bottom: 1.8em;
}
/* Optional subtle first-letter treatment; only for p.kc-dropcap. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) p.kc-dropcap::first-letter {
  float: left;
  color: var(--kc-forest);
  font: 3.9em/.77 Georgia, 'Times New Roman', serif;
  padding: .11em .11em 0 0;
}

/* 05 / Photographs, galleries, film: visually wider than prose. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) > :is(
  figure.wp-block-image, .wp-block-gallery, figure.wp-block-embed,
  .wp-block-embed, .wp-block-video, .wp-block-cover,
  .wp-block-columns, .wp-block-media-text
) {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--kc-wide);
  margin: 48px auto 58px;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) img {
  max-width: 100%;
  height: auto;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) figure.wp-block-image img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) :is(figcaption, .wp-element-caption) {
  color: var(--kc-muted);
  font: 12px/1.7 Arial, Helvetica, sans-serif;
  text-align: left;
  margin-top: 12px;
  letter-spacing: .015em;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .wp-block-gallery {
  gap: clamp(8px, 1.5vw, 18px);
}
/* Videos: YouTube/Vimeo iframe only, preserve other embeds. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) :is(
  .wp-block-embed-youtube, .wp-block-embed-vimeo
) .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) :is(
  .wp-block-embed-youtube, .wp-block-embed-vimeo
) iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) video {
  max-width: 100%;
  height: auto;
}
/* Explicitly opted-in panoramic photo; never crops by default. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .kc-cinematic-photo img {
  width: 100%;
  height: auto;
}

/* 06 / Pull quotes, lists, separators and tables. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .wp-block-quote {
  padding: 10px 0 10px 27px;
  border-left: 2px solid var(--kc-gold);
  background: transparent;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .wp-block-quote p {
  color: var(--kc-forest);
  font-size: clamp(22px, 2.6vw, 30px);
  font-style: italic;
  line-height: 1.55;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .wp-block-quote cite {
  color: var(--kc-muted);
  font: 12px/1.6 Arial, Helvetica, sans-serif;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) :is(hr, .wp-block-separator) {
  border: 0;
  border-top: 1px solid var(--kc-rule);
  margin-top: 42px;
  margin-bottom: 42px;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) :is(ul, ol) {
  padding-left: 1.5em;
  margin-bottom: 1.5em;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) li + li { margin-top: .35em; }
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .wp-block-table {
  max-width: var(--kc-prose);
  overflow-x: auto;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .wp-block-table :is(td, th) {
  border-color: var(--kc-rule);
  padding: 12px 14px;
  text-align: left;
}

/* 07 / Native Gutenberg wide/full semantics. */
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) > .alignwide {
  max-width: var(--kc-wide);
  margin-left: auto;
  margin-right: auto;
}
body.single-post :is(.entry-content, .post-content, .wp-block-post-content) > .alignfull {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* 08 / Keep after-post content centered as well. */
body.single-post :is(.entry-footer, .post-footer, .post-navigation,
  .comments-area, #comments, .related-posts, .relatedposts,
  .sharedaddy, .jp-relatedposts) {
  box-sizing: border-box;
  width: min(100% - 32px, var(--kc-wide));
  margin-left: auto;
  margin-right: auto;
}

/* 09 / Mobile and accessibility. */
@media (max-width: 767px) {
  body.single-post { --kc-prose: 100%; }
  body.single-post :is(.entry-content, .post-content, .wp-block-post-content) {
    padding-left: 16px;
    padding-right: 16px;
  }
  body.single-post :is(.entry-content, .post-content, .wp-block-post-content) > :is(
    figure.wp-block-image, .wp-block-gallery, .wp-block-embed,
    .wp-block-video, .wp-block-cover, .wp-block-columns, .wp-block-media-text
  ) { margin-top: 30px; margin-bottom: 38px; }
  body.single-post :is(.entry-content, .post-content, .wp-block-post-content) h2 { margin-top: 1.5em; }
  body.single-post :is(.entry-content, .post-content, .wp-block-post-content) .wp-block-quote { padding-left: 18px; }
  body.single-post :is(.entry-header, .post-header) { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  body.single-post *, body.single-post *::before, body.single-post *::after {
    scroll-behavior: auto !important;
  }
}


/* =============================================================
   v3.1 / ARTICLE DIVIDER CLEANUP + CINEMATIC LÅªM CONNECTIONS
   ============================================================= */
/* The theme's abandoned right-hand sidebar separator. Restrict to
   article-side wrappers; do not remove menu separators. */
body.single-post :is(#primary, #main, .site-main, .content-area,
  .postarea, .post-area, .main-content, .primary-content,
  .content-sidebar-wrap, article.post, article.type-post,
  .entry-content, .post-content, .wp-block-post-content) {
  border-right: 0 !important;
  border-left: 0 !important;
  box-shadow: none;
}
body.single-post :is(#primary, .content-area, .site-main, article.type-post,
  .entry-content)::before,
body.single-post :is(#primary, .content-area, .site-main, article.type-post,
  .entry-content)::after { border-right: 0 !important; }

/* Reusable editorial footer. Visual styles intentionally scoped to .kc-crossroads */
body.single-post .kc-crossroads {
  box-sizing: border-box;
  width: min(100%, 1120px);
  max-width: 1120px !important;
  margin: clamp(64px,8vw,112px) auto 50px !important;
  padding: clamp(26px,4vw,56px);
  background: #f7f6f0;
  border: 1px solid #e6e5dd;
  border-radius: 3px;
  color: #193f36;
  text-align: left;
}
body.single-post .kc-crossroads *,
body.single-post .kc-crossroads *::before,
body.single-post .kc-crossroads *::after {box-sizing:border-box;}
body.single-post .kc-crossroads .kc-eyebrow {font: 600 11px/1.5 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#937a53;margin:0 0 12px;}
body.single-post .kc-crossroads .kc-crossroads-title {font:400 clamp(28px,3vw,43px)/1.15 Georgia,serif;color:#193f36;letter-spacing:-.025em;margin:0 0 12px;max-width:800px;}
body.single-post .kc-crossroads .kc-intro {font:400 16px/1.75 Georgia,serif;color:#53645d;margin:0 0 29px;max-width:740px;}
body.single-post .kc-crossroads .kc-card-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
body.single-post .kc-crossroads .kc-card {display:flex;flex-direction:column;min-width:0;min-height:225px;padding:25px 22px 22px;text-decoration:none!important;background:#fffefa;border:1px solid #dfdfd6;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;}
body.single-post .kc-crossroads .kc-card:hover {transform:translateY(-4px);border-color:#aa926d;box-shadow:0 12px 25px rgba(25,63,54,.08);}
body.single-post .kc-crossroads .kc-card:focus-visible {outline:3px solid #ad9469;outline-offset:4px;}
body.single-post .kc-crossroads .kc-card-index {font:600 10px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#a58b62;margin:0 0 21px;}
body.single-post .kc-crossroads .kc-card-heading {display:block;font:400 clamp(20px,2vw,25px)/1.22 Georgia,serif;color:#193f36;margin:0 0 11px;}
body.single-post .kc-crossroads .kc-card-copy {display:block;font:400 14px/1.6 Arial,sans-serif;color:#66756e;margin:0 0 18px;}
body.single-post .kc-crossroads .kc-card-cta {display:block;margin-top:auto;font:600 11px/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#236a5b;}
body.single-post .kc-crossroads .kc-journey {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;margin-top:26px;border-top:1px solid #d9dbd1;}
body.single-post .kc-crossroads .kc-journey p {font:400 14px/1.6 Arial,sans-serif;color:#53645d;margin:0;max-width:600px;}
body.single-post .kc-crossroads .kc-journey a {display:inline-block;padding:12px 20px;background:#193f36;color:#fff!important;text-decoration:none!important;font:600 11px/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;}
body.single-post .kc-crossroads .kc-journey a:hover {background:#276759;}
body.single-post .kc-crossroads .kc-journey a:focus-visible {outline:3px solid #ad9469;outline-offset:3px;}
@media(max-width:800px){body.single-post .kc-crossroads .kc-card-grid {grid-template-columns:1fr;}body.single-post .kc-crossroads .kc-card {min-height:0;}body.single-post .kc-crossroads {padding:25px 18px;}}
@media(prefers-reduced-motion:reduce){body.single-post .kc-crossroads .kc-card {transition:none;}body.single-post .kc-crossroads .kc-card:hover {transform:none;}}