/*
Theme Name: PLANA
Theme URI: https://planahoy.com
Author: PLANA
Description: Un tema editorial de bloques para contar la inteligencia artificial en español. Tipografía local, portada dinámica y edición nativa de WordPress.
Version: 1.0.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: plana
Tags: news, blog, full-site-editing, block-patterns, custom-colors, custom-logo, editor-style, featured-images, wide-blocks
*/

/* The shared visual system lives in theme.json; this file supplies editorial layout. */
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
::selection { background: #c93628; color: #fff; }
:focus-visible { outline: 2px solid #c93628; outline-offset: 5px; }
a { text-underline-offset: .16em; text-decoration-thickness: 1px; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button, .wp-element-button, input[type="submit"] { cursor: pointer; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.plana-site-header, .plana-site-footer { width: 100%; }
.plana-masthead, .plana-footer, .wp-site-blocks > main { width: calc(100% - clamp(40px, 6vw, 80px)); max-width: 1280px; margin-left: auto; margin-right: auto; }
.wp-site-blocks > main.has-global-padding { padding-left: 0; padding-right: 0; }
.plana-masthead { border-top: 3px solid var(--wp--preset--color--red); }
.plana-brand-row { padding: 34px 0 30px; gap: 32px; }
.plana-brand-lockup { gap: 26px; }
.plana-wordmark { line-height: 0; margin: 0; flex-shrink: 0; }
.plana-wordmark a { display: inline-block; }
.plana-wordmark img { aspect-ratio: 3371 / 760; height: auto; vertical-align: middle; }
.plana-descriptor { margin: 0; color: var(--wp--preset--color--muted); font-size: 17px; line-height: 1.35; }
.plana-masthead-claim { margin: 0; font-size: 17px; color: var(--wp--preset--color--muted); }
.plana-navigation-row { border-bottom: 1px solid var(--wp--preset--color--ink); padding-bottom: 13px; gap: 24px; }
.plana-navigation { gap: 24px; flex: 1; }
.plana-navigation .wp-block-navigation__container { gap: clamp(14px, 1.6vw, 26px); }
.plana-navigation a { padding: 10px 0; }
.plana-navigation .current-menu-item > a { color: var(--wp--preset--color--red); }
.plana-navigation .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper); padding: 32px 24px; }
.plana-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 14px; }
.plana-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--wp--preset--font-family--manrope); font-size: 26px; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.plana-header-search { flex-shrink: 0; }
.wp-block-search__inside-wrapper { border: 1px solid var(--wp--preset--color--line); border-radius: 0; padding: 0; background: transparent; }
.wp-block-search__input { width: 100%; min-width: 0; border: 0; background: transparent; padding: 10px 12px; font-size: 16px; color: var(--wp--preset--color--ink); border-radius: 0; }
.wp-block-search__input::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
.wp-block-search__button { margin: 0; min-width: 44px; min-height: 44px; padding: 10px 16px; border: 0; border-radius: 0; }
.plana-header-search .wp-block-search__button { background: transparent; color: var(--wp--preset--color--ink); padding: 8px; }
.plana-eyebrow { font-size: 14px; line-height: 1.4; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; color: var(--wp--preset--color--red); }
.plana-eyebrow a { color: inherit; text-decoration: none; }
.plana-eyebrow a:hover { text-decoration: underline; }
.plana-red { color: var(--wp--preset--color--red); }

/* Before the first article, a deliberate publication introduction replaces empty cards. */
.plana-home-heading { position: relative; padding: 62px 0 60px; border-bottom: 1px solid var(--wp--preset--color--line); }
.plana-home-eyebrow { margin: 0 0 24px; }
.plana-home-title { margin: 0; max-width: 9ch; font-size: clamp(62px, 8vw, 112px); line-height: 1.02; letter-spacing: -.055em; }
.plana-home-deck { position: absolute; right: 0; bottom: 60px; width: 31%; margin: 0; font-size: clamp(22px, 2.5vw, 32px); line-height: 1.3; }
.plana-launch { padding-top: 52px; }
.plana-launch-intro { display: grid; grid-template-columns: 1fr 2fr; column-gap: 48px; }
.plana-launch-intro > * { margin-block-start: 0; }
.plana-launch-intro > .plana-eyebrow { grid-row: 1 / 4; padding-top: 7px; }
.plana-launch-intro h2 { max-width: 28ch; margin: 0 0 18px; font-size: clamp(26px, 3vw, 38px); }
.plana-launch-intro > p:not(.plana-eyebrow) { grid-column: 2; max-width: 54ch; }
.plana-launch-intro > .plana-text-link { margin-top: 8px; margin-bottom: 0; font-size: 18px; font-weight: 600; }
.plana-scope { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 32px; margin-top: 64px; }
.plana-scope > .plana-scope-item { margin-top: 0; }
.plana-scope-item { border-top: 2px solid var(--wp--preset--color--ink); padding-top: 18px; }
.plana-scope-item > * { margin-block-start: 0; }
.plana-scope-number { color: var(--wp--preset--color--muted); font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.plana-scope-item h3 { font-size: 23px; max-width: 20ch; margin: 24px 0 16px; }
.plana-scope-item > p:last-child { color: var(--wp--preset--color--muted); font-size: 18px; line-height: 1.45; margin-bottom: 0; }
.plana-home:not(.plana-has-posts *) .wp-block-query-no-results { margin-top: 0; }
.plana-story-query:has(.wp-block-query-no-results) > .plana-stories { display: none; }
.plana-has-posts .plana-home-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding: 28px 0; border-bottom: 0; }
.plana-has-posts .plana-home-title { font-size: 32px; letter-spacing: -.04em; max-width: none; }
.plana-has-posts .plana-home-title br { display: none; }
.plana-has-posts .plana-home-eyebrow { display: none; }
.plana-has-posts .plana-home-deck { position: static; width: auto; font-size: 17px; color: var(--wp--preset--color--muted); }
.plana-has-posts .plana-home-deck br { display: none; }
.plana-has-posts .plana-story-query { margin-top: 0; }

/* A single native query: no duplicate stories, offset bugs or competing pagination. */
.plana-stories { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px 32px; margin: 0; padding: 0; list-style: none; }
.plana-stories > li { min-width: 0; margin: 0; }
.plana-story-card { height: 100%; border-bottom: 1px solid var(--wp--preset--color--line); padding-bottom: 28px; }
.plana-card-image { margin: 0 0 20px; overflow: hidden; }
.plana-card-image img { width: 100%; object-fit: cover; display: block; }
.plana-story-text > * { margin-top: 0; }
.plana-story-text .plana-eyebrow { margin-bottom: 12px; }
.plana-story-text .wp-block-post-title { font-size: clamp(23px, 2.25vw, 30px); line-height: 1.18; letter-spacing: -.035em; margin-bottom: 14px; overflow-wrap: anywhere; }
.plana-story-text .wp-block-post-excerpt { margin-bottom: 18px; }
.wp-block-post-excerpt__excerpt { margin: 0; }
.wp-block-post-excerpt__more-text:empty { display: none; }
.plana-meta { margin-top: 16px; }
.home:not(.plana-paged) .plana-stories { grid-template-columns: repeat(6, minmax(0,1fr)); }
.home:not(.plana-paged) .plana-stories > li { grid-column: span 2; }
.home:not(.plana-paged) .plana-stories > li:first-child { grid-column: 1 / 5; grid-row: 1 / 3; }
.home:not(.plana-paged) .plana-stories > li:nth-child(2) { grid-column: 5 / 7; grid-row: 1; }
.home:not(.plana-paged) .plana-stories > li:nth-child(3) { grid-column: 5 / 7; grid-row: 2; }
.home:not(.plana-paged) .plana-stories > li:first-child .wp-block-post-title { font-size: clamp(30px, 3.1vw, 44px); }
.home:not(.plana-paged) .plana-stories > li:nth-child(2) .plana-card-image,
.home:not(.plana-paged) .plana-stories > li:nth-child(3) .plana-card-image { max-height: 180px; }
.home:not(.plana-paged) .plana-stories > li:nth-child(2) .wp-block-post-excerpt,
.home:not(.plana-paged) .plana-stories > li:nth-child(3) .wp-block-post-excerpt { display: none; }
.home:not(.plana-paged) .plana-stories > li:first-child:last-child { grid-column: 1 / 7; max-width: 900px; }
.wp-block-query-pagination { border-top: 1px solid var(--wp--preset--color--line); margin-top: 48px; padding-top: 24px; gap: 20px; font-size: 18px; }
.wp-block-query-pagination:empty { display: none; }
.wp-block-query-pagination a, .wp-block-query-pagination span.current { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.wp-block-query-pagination-numbers { display: flex; gap: 8px; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.plana-page-heading { padding-top: 48px; padding-bottom: 28px; margin-top: 0; }
.plana-page-heading h1 { margin-top: 0; margin-bottom: 20px; }
.plana-page-heading .wp-block-term-description { color: var(--wp--preset--color--muted); font-size: 22px; }
.plana-page-heading .wp-block-term-description > p { margin: 0; }
.plana-archive, .plana-search { min-height: 50vh; }
.plana-empty-message { max-width: 56ch; padding: 36px 0 60px; border-top: 1px solid var(--wp--preset--color--line); }
.plana-not-found { min-height: 54vh; padding-top: 64px; padding-bottom: 48px; }
.plana-not-found h1 { max-width: 19ch; }

/* Reading: generous measure, clear byline, native blocks and image captions. */
.plana-article-header { padding-top: 48px; }
.plana-article-header h1 { max-width: 27ch; margin-top: 18px; margin-bottom: 22px; font-size: clamp(34px, 4.25vw, 56px); line-height: 1.1; letter-spacing: -.04em; overflow-wrap: anywhere; }
.plana-article-deck { max-width: 57ch; font-size: 24px !important; line-height: 1.4; }
.plana-byline { gap: 12px 20px; margin-top: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--wp--preset--color--line); font-size: 16px; }
.plana-byline .wp-block-post-author-name { font-weight: 600; }
.plana-article-image { margin-top: 32px; margin-bottom: 40px; }
.plana-article-image img { display: block; width: 100%; height: auto; }
.wp-block-post-content { margin-top: 36px; }
.wp-block-post-content > p { line-height: 1.6; }
.wp-block-post-content h2 { margin-top: 48px; margin-bottom: 24px; }
.wp-block-post-content h3 { margin-top: 36px; margin-bottom: 18px; }
.wp-block-post-content > ul, .wp-block-post-content > ol { padding-left: 1.4em; }
.wp-block-post-content li + li { margin-top: 8px; }
.wp-block-post-content figure { margin-top: 32px; margin-bottom: 32px; }
.wp-block-post-content pre { overflow-x: auto; }
.wp-block-post-content table { border-collapse: collapse; }
.wp-block-post-content td, .wp-block-post-content th { padding: 12px; border-color: var(--wp--preset--color--line); }
.wp-block-post-content blockquote { margin-top: 32px; margin-bottom: 32px; }
.plana-article-tags { margin-top: 40px; border-top: 1px solid var(--wp--preset--color--line); padding-top: 20px; font-size: 16px !important; }
.plana-article-end { margin-top: 32px; padding: 24px 0; border-top: 2px solid var(--wp--preset--color--ink); border-bottom: 1px solid var(--wp--preset--color--line); font-size: 18px; }
.plana-article-end > p { margin: 0; }
.plana-post-navigation { gap: 24px; font-size: 17px; }
.plana-post-navigation > div { flex: 1 1 240px; }
.plana-post-navigation > div:last-child { text-align: right; }
.plana-page { min-height: 50vh; }
.plana-page > .wp-block-post-title { padding-bottom: 0; }

.plana-footer { border-top: 2px solid var(--wp--preset--color--ink); margin-top: 96px; padding-top: 40px; padding-bottom: 28px; }
.plana-footer-top { gap: 48px; }
.plana-footer-description { margin-top: 20px; font-size: 21px; line-height: 1.35; }
.plana-footer-links { min-width: 260px; }
.plana-footer-links > p { margin-top: 12px; margin-bottom: 0; font-size: 18px; }
.plana-footer-links > .plana-eyebrow { margin-top: 0; margin-bottom: 20px; font-size: 13px; }
.plana-footer-links a { color: var(--wp--preset--color--ink); }
.plana-footer-bottom { border-top: 1px solid var(--wp--preset--color--line); margin-top: 36px; padding-top: 18px; gap: 16px; font-size: 14px; color: var(--wp--preset--color--muted); }
.plana-footer-bottom p { margin: 0; }
.plana-footer-bottom a { color: inherit; }

@media (max-width: 1100px) {
  .plana-navigation-row { flex-wrap: wrap !important; gap: 8px; }
  .plana-navigation { width: 100%; flex-basis: 100%; }
  .plana-header-search { width: 210px !important; }
  .plana-navigation-row .plana-header-search { margin-left: auto; }
}
@media (min-width: 700px) and (max-width: 1023px) {
  .plana-stories, .home:not(.plana-paged) .plana-stories { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home:not(.plana-paged) .plana-stories > li { grid-column: auto; grid-row: auto; }
  .home:not(.plana-paged) .plana-stories > li:first-child { grid-column: 1 / -1; grid-row: auto; }
  .home:not(.plana-paged) .plana-stories > li:nth-child(2), .home:not(.plana-paged) .plana-stories > li:nth-child(3) { grid-column: auto; grid-row: auto; }
}
@media (max-width: 699px) {
  .plana-brand-row { padding: 26px 0 22px; }
  .plana-brand-lockup { gap: 16px; }
  .plana-brand-row .plana-wordmark img { width: 180px !important; }
  .plana-descriptor { font-size: 13px; }
  .plana-masthead-claim { display: none; }
  .plana-navigation-row { flex-wrap: nowrap !important; padding-bottom: 10px; gap: 18px; }
  .plana-navigation { flex-basis: auto; width: auto; }
  .plana-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .plana-navigation .wp-block-navigation__responsive-container-open { display: flex; }
  .plana-header-search { width: min(240px, calc(100% - 62px)) !important; }
  .plana-home-heading { padding: 38px 0 36px; }
  .plana-home-eyebrow { max-width: 28ch; font-size: 12px; margin-bottom: 20px; }
  .plana-home-title { font-size: clamp(60px, 16vw, 88px); }
  .plana-home-deck { position: static; width: 100%; margin-top: 28px; font-size: 24px; }
  .plana-launch { padding-top: 34px; }
  .plana-launch-intro { display: block; }
  .plana-launch-intro > .plana-eyebrow { padding-top: 0; margin-bottom: 24px; font-size: 13px; }
  .plana-launch-intro h2 { font-size: 29px; }
  .plana-launch-intro > p:not(.plana-eyebrow) { font-size: 20px; }
  .plana-launch-intro > .plana-text-link { margin-top: 24px; font-size: 18px !important; }
  .plana-scope { grid-template-columns: 1fr; gap: 32px; margin-top: 48px; }
  .plana-scope-item h3 { max-width: 24ch; font-size: 26px; margin-top: 18px; margin-bottom: 12px; }
  .plana-has-posts .plana-home-heading { display: block; padding: 28px 0; }
  .plana-has-posts .plana-home-title { font-size: 28px; }
  .plana-has-posts .plana-home-deck { margin-top: 12px; font-size: 16px; }
  .plana-stories, .home:not(.plana-paged) .plana-stories { display: block; }
  .plana-stories > li + li { margin-top: 28px; }
  .plana-story-card { padding-bottom: 28px; }
  .plana-story-text .wp-block-post-title { font-size: 28px; }
  .home:not(.plana-paged) .plana-stories > li:first-child .wp-block-post-title { font-size: 34px; }
  .home:not(.plana-paged) .plana-stories > li:nth-child(2) .plana-card-image,
  .home:not(.plana-paged) .plana-stories > li:nth-child(3) .plana-card-image { max-height: none; }
  .home:not(.plana-paged) .plana-stories > li:nth-child(2) .wp-block-post-excerpt,
  .home:not(.plana-paged) .plana-stories > li:nth-child(3) .wp-block-post-excerpt { display: block; }
  .plana-page-heading, .plana-article-header { padding-top: 32px; }
  .plana-article-header h1 { font-size: 36px; }
  .plana-article-deck { font-size: 22px !important; }
  .plana-article-image { margin-top: 24px; margin-bottom: 28px; }
  .wp-block-post-content { margin-top: 28px; }
  .plana-post-navigation { display: block; }
  .plana-post-navigation > div + div { margin-top: 24px; }
  .plana-post-navigation > div:last-child { text-align: left; }
  .plana-footer { margin-top: 64px; padding-top: 32px; }
  .plana-footer-top { display: block; }
  .plana-footer-links { margin-top: 32px; }
  .plana-footer-bottom { display: block; line-height: 1.5; }
  .plana-footer-bottom > p + p { margin-top: 12px; }
}
@media (max-width: 370px) {
  .plana-descriptor { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  .plana-navigation-row, .plana-site-footer, .plana-post-navigation, .plana-article-end { display: none; }
  body { background: white; color: black; }
  .plana-brand-row { padding: 16px 0; }
  .wp-block-post-content { max-width: 100%; }
}
